:root{
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --ink:#202124;--muted:#8a8f98;--line:#e8e9ec;--soft:#f6f7f8;--white:#fff;
  --red:#df2f35;--green:#23834a;--shadow:0 12px 36px rgba(20,24,32,.06);
}
*{box-sizing:border-box}
html{font-family:var(--font);color:var(--ink);background:#f8f8f7;scroll-behavior:smooth}
body{margin:0;min-height:100vh}button,input{font:inherit}a,button,input{-webkit-tap-highlight-color:transparent}
button{appearance:none;border:0;cursor:pointer}.is-hidden{display:none!important}
.notice,.success{padding:11px 13px;border:1px solid #e2e3e5;border-radius:10px;font-size:13px;line-height:1.6}.notice{background:#fff5f4;color:#8e2e28}.success{background:#f1fbf4;color:#247044}.empty{color:#9a9da3;font-size:13px}

/* ========================= Front-end · reference dark list ========================= */
.front-html{background:#111;color-scheme:dark}
.site-home{--front-bg:#111111;--front-line:#262626;--front-ink:#f3f3f3;--front-muted:#a4a4a8;margin:0;min-height:100vh;background:var(--front-bg);color:var(--front-ink)}
.site-topbar{height:47px;border-bottom:1px solid var(--front-line);background:#111}
.site-topbar-inner{width:min(calc(100% - 32px),976px);height:100%;margin:0 auto;display:flex;align-items:center}
.site-brand{color:#f2f2f2;text-decoration:none;font-size:21px;font-weight:500;line-height:1;letter-spacing:.01em}
.page{width:min(calc(100% - 32px),976px);margin:24px auto 0;position:relative}
.resource-filter-bar{display:flex;align-items:flex-start;gap:13px;margin:0 0 13px;padding:0 4px 14px;border-bottom:1px solid var(--front-line)}
.filter-label{flex:0 0 auto;padding-top:6px;color:#d0d0d3;font-size:12px;font-weight:650;line-height:1.2}
.front-tag-nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.front-tag-chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:0 11px;border:1px solid #333336;border-radius:999px;background:#18181a;color:#99999e;font-size:11.5px;line-height:1;white-space:nowrap;transition:background .16s,border-color .16s,color .16s,transform .16s}
.front-tag-chip small{color:#68686d;font-size:9px;transition:color .16s}.front-tag-chip:hover{background:#202022;border-color:#444448;color:#e8e8eb}.front-tag-chip.is-active{background:#f0f0f1;border-color:#f0f0f1;color:#111;font-weight:650}.front-tag-chip.is-active small{color:#646468}.front-tag-chip:active{transform:scale(.97)}
.links{display:block}.link-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px;padding:12px 7px 12px 5px;border-bottom:1px solid var(--front-line);color:inherit;text-decoration:none;animation:linkIn .3s both;animation-delay:calc(min(var(--i),12)*18ms);transition:background .16s,padding-left .16s,opacity .18s,transform .18s}
.link-item:hover{background:#141414;padding-left:8px}.link-item:active{background:#171717}.link-item:focus-visible{outline:1px solid #676767;outline-offset:-1px}.link-item.is-filtered-out{display:none}
.resource-main{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;justify-content:center;gap:6px}.resource-title-line{display:flex;align-items:center;min-width:0;gap:7px;color:#f7f7f7;font-size:15px;line-height:1.35;font-weight:560}.resource-emoji{flex:0 0 auto;min-width:18px;text-align:center;font-size:14px;line-height:1;white-space:nowrap}.link-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-meta{padding-left:31px;color:#b2b2b6;font-size:11.5px;line-height:1.3}
.quark-pill{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;height:26px;padding:0 11px;border:1px solid #37373a;border-radius:999px;background:#202022;color:#e8e8eb;font-size:11.5px;line-height:1;white-space:nowrap;transition:background .16s,border-color .16s,transform .16s}.link-item:hover .quark-pill{background:#262628;border-color:#4a4a4d}.link-item:active .quark-pill{transform:scale(.98)}.quark-logo{display:block;width:15px;height:15px;object-fit:contain;border-radius:3px;flex:0 0 auto}
.site-footer{padding:45px 0 36px;text-align:center;color:#8e8e93;font-size:11px;line-height:1.5}.front-empty{margin:0;padding:48px 4px;border-bottom:1px solid var(--front-line);text-align:center;color:#77777c;font-size:12px}.front-notice{margin:0;border-color:#513532;background:#241918;color:#d9aaa5}
@keyframes linkIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:1180px){.page,.site-topbar-inner{width:min(calc(100% - 64px),976px)}.site-brand{font-size:21px}.link-item{min-height:74px}}
@media(max-width:640px){.site-topbar{height:50px}.site-topbar-inner{width:calc(100% - 26px)}.site-brand{font-size:18.5px}.page{width:calc(100% - 24px);margin-top:12px}.resource-filter-bar{align-items:center;gap:9px;margin-bottom:7px;padding:0 2px 10px}.filter-label{padding-top:0;font-size:11px}.front-tag-nav{flex:1;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:1px;scrollbar-width:none}.front-tag-nav::-webkit-scrollbar{display:none}.front-tag-chip{min-height:26px;padding:0 9px;font-size:10px}.front-tag-chip small{font-size:8px}.link-item{min-height:68px;padding:10px 2px;gap:12px}.link-item:hover{padding-left:2px;background:transparent}.resource-title-line{font-size:13.5px;gap:6px}.resource-emoji{min-width:20px;font-size:12px}.resource-meta{padding-left:27px;font-size:10.5px}.quark-pill{height:24px;padding:0 8px;font-size:10px}.quark-logo{width:13px;height:13px}.site-footer{padding:36px 0 28px;font-size:10px}}
@media(max-width:390px){.link-item{gap:8px}.quark-pill{padding:0 7px}.quark-pill>span:last-child{display:none}.quark-pill{width:28px}.resource-title-line{font-size:12.5px}}
@media(prefers-reduced-motion:reduce){.link-item{animation:none;transition:none}.front-tag-chip,.quark-pill{transition:none}}

/* ========================= Shared admin controls ========================= */
.button,.admin-page button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:10px;background:#222428;color:#fff;text-decoration:none;font-size:12px;font-weight:650;white-space:nowrap;transition:transform .14s,background .14s,box-shadow .14s}.button:hover,.admin-page button[type=submit]:hover{background:#111316;box-shadow:0 6px 18px rgba(17,19,22,.12)}.button:active,.admin-page button[type=submit]:active{transform:scale(.98)}.button.secondary{background:#f1f2f3;color:#303238;box-shadow:none}.button.secondary:hover{background:#e7e8ea}
.form-grid{display:grid;gap:14px}.form-grid label,.settings-field{display:grid;gap:7px;color:#454950;font-size:12px;font-weight:650}.form-grid input[type=text],.form-grid input[type=url],.form-grid input[type=number],.form-grid input[type=password]{width:100%;min-height:43px;padding:9px 12px;border:1px solid #dfe1e4;border-radius:10px;background:#fff;color:#222428;outline:none;font:inherit;font-size:13px;transition:border-color .16s,box-shadow .16s}.form-grid input:focus{border-color:#aeb2b8;box-shadow:0 0 0 3px rgba(58,62,68,.07)}.form-grid textarea{width:100%;min-height:156px;padding:10px 12px;border:1px solid #dfe1e4;border-radius:10px;background:#fff;color:#222428;outline:none;resize:vertical;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;transition:border-color .16s,box-shadow .16s}.form-grid textarea:focus{border-color:#aeb2b8;box-shadow:0 0 0 3px rgba(58,62,68,.07)}.form-grid small{color:#969aa1;font-size:10.5px;font-weight:400;line-height:1.55}.checks{display:flex;gap:18px;flex-wrap:wrap}.checkline{display:flex!important;align-items:center;gap:8px!important;white-space:nowrap}.actions{display:flex;align-items:center;gap:9px}

/* ========================= Admin v3.3 completely rebuilt ========================= */
.admin-page{--adm-bg:#f4f5f7;--adm-panel:#fff;--adm-line:#e7e8eb;--adm-ink:#202226;--adm-muted:#8d929a;--adm-dark:#191b1f;--adm-radius:16px;background:var(--adm-bg);color:var(--adm-ink)}
.admin-sidebar-page .admin-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
.admin-sidebar-page .admin-sidebar{position:sticky;top:0;height:100vh;padding:20px 14px 16px;background:#fff;border-right:1px solid var(--adm-line);display:flex;flex-direction:column;z-index:80}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:4px 8px 20px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--adm-dark);color:#fff;font-size:17px;font-weight:800;box-shadow:0 7px 20px rgba(25,27,31,.14)}.brand-copy{display:grid;gap:2px;min-width:0}.brand-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy span{font-size:9px;color:#9da1a8;letter-spacing:.08em;white-space:nowrap}
.sidebar-group-label{padding:7px 11px 8px;color:#b0b3b8;font-size:9px;font-weight:750;letter-spacing:.12em}.sidebar-nav{display:grid;gap:4px}.sidebar-link{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 10px;border-radius:10px;color:#686d75;text-decoration:none;font-size:12px;font-weight:650;white-space:nowrap;transition:.16s}.sidebar-link:hover{background:#f5f6f7;color:#303238}.sidebar-link.is-active{background:#202226;color:#fff;box-shadow:0 6px 16px rgba(32,34,38,.10)}.nav-icon{display:grid;place-items:center;width:19px;height:19px;flex:0 0 auto}.nav-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-link:first-child .nav-icon svg{fill:currentColor;stroke:none}.sidebar-spacer{flex:1}.sidebar-status{display:flex;align-items:center;gap:9px;margin:12px 5px;padding:11px;border:1px solid #ececef;border-radius:11px;background:#fafafa}.status-dot{width:7px;height:7px;border-radius:50%;background:#2ba55a;box-shadow:0 0 0 4px rgba(43,165,90,.10)}.sidebar-status div{display:grid;gap:2px}.sidebar-status strong{font-size:10px}.sidebar-status small{font-size:9px;color:#a1a4aa}.sidebar-bottom{display:grid;gap:3px;padding-top:7px;border-top:1px solid #f0f0f1}.sidebar-bottom a{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 10px;border-radius:9px;color:#777b82;text-decoration:none;font-size:11px;font-weight:600}.sidebar-bottom a:hover{background:#f5f5f6;color:#24262a}
.admin-main{min-width:0}.admin-mobile-head{display:none}.admin-content{width:min(calc(100% - 48px),1280px);margin:0 auto;padding:26px 0 62px}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid #e4e5e8}.workspace-toolbar>div:first-child{display:grid;gap:3px}.workspace-kicker{font-size:9px;font-weight:800;color:#9a9ea5;letter-spacing:.12em}.workspace-toolbar strong{font-size:16px;letter-spacing:-.015em}.workspace-desc{font-size:10px;color:#a2a6ad;font-weight:400}.workspace-actions{display:flex;align-items:center;gap:8px}.toolbar-link{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid #dfe1e4;border-radius:10px;background:#fff;color:#4c5057;text-decoration:none;font-size:11px;font-weight:650;white-space:nowrap}.toolbar-link:hover{border-color:#cfd2d6;color:#25272b;background:#fafafa}
.admin-section{scroll-margin-top:24px}.section-overview{margin-bottom:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}.section-heading>div{min-width:0}.eyebrow{display:block;margin-bottom:5px;color:#9fa3aa;font-size:9px;font-weight:800;letter-spacing:.11em}.section-heading h1,.panel-heading h2{margin:0;color:#24262a;letter-spacing:-.025em}.section-heading h1{font-size:25px}.section-heading p,.muted{margin:6px 0 0;color:#92969e;font-size:11px;line-height:1.55}
.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.stat-card{position:relative;min-width:0;min-height:105px;padding:16px 17px;border:1px solid var(--adm-line);border-radius:14px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 16px rgba(25,28,34,.025)}.stat-card::after{content:"";position:absolute;left:17px;right:17px;bottom:0;height:2px;border-radius:2px;background:#edeef0}.stat-label{color:#8d929a;font-size:10px;font-weight:650;white-space:nowrap}.stat-card strong{font-size:27px;line-height:1;font-weight:730;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stat-card small{color:#afb2b7;font-size:9px}
.panel{margin-bottom:18px;border:1px solid var(--adm-line);border-radius:var(--adm-radius);background:#fff;box-shadow:0 5px 20px rgba(25,28,34,.025);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;border-bottom:1px solid #ececef}.panel-heading>div:first-child{min-width:0}.panel-heading h2{font-size:17px}.panel-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.click-total,.sort-state{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:#f5f5f6;color:#777b82;font-size:10px;font-weight:650;white-space:nowrap}.sort-state:empty{display:none}.sort-state.saved{background:#edf8f1;color:#267344}.sort-state.error{background:#fff1ef;color:#9a322a}.sort-state.saving{background:#f3f3f4;color:#777b82}
.table-wrap{width:100%;overflow:auto;overscroll-behavior:contain}.table-wrap table{width:100%;min-width:1030px;border-collapse:collapse;table-layout:auto;font-size:12px}.table-wrap th,.table-wrap td{text-align:left;vertical-align:middle}.table-wrap thead th{position:sticky;top:0;z-index:2;padding:10px 10px;background:#fafafb;border-bottom:1px solid #e9eaed;color:#8f939a;font-size:9.5px;font-weight:720;white-space:nowrap}.table-wrap td{padding:11px 10px;border-bottom:1px solid #f0f0f2;color:#555960}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tbody tr{transition:background .14s}.table-wrap tbody tr:hover{background:#fafafa}.admin-pinned{background:#fffdfd}.drag-col{width:48px;text-align:center}.drag-handle{display:grid;place-items:center;width:32px;height:30px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:#9ca0a7;font-size:15px;font-weight:800;letter-spacing:-2px;cursor:grab;touch-action:none}.drag-handle:hover{border-color:#e2e3e6;background:#fff;color:#45484e}.dragging{opacity:.42;background:#f4f4f5}.title-cell{min-width:130px;max-width:220px;font-weight:650;color:#2d3035!important;white-space:normal;overflow-wrap:anywhere}.url-cell{min-width:245px;max-width:360px}.url-cell a{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7b7f86;text-decoration:none}.url-cell a:hover{color:#2f3237;text-decoration:underline}.sort-number,.click-count{font-variant-numeric:tabular-nums}.status-chip,.pin-chip{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:3px 7px;border-radius:999px;font-size:9.5px;font-weight:700;white-space:nowrap}.status-chip.on{background:#edf8f1;color:#28784a}.status-chip.off{background:#f1f2f3;color:#858991}.pin-chip{border-radius:7px;background:#fff0ef;color:#bd302b}.row-actions{display:flex;align-items:center;gap:5px;min-width:238px;flex-wrap:nowrap}.row-actions .link-button{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:0 8px!important;margin:0!important;border:0;border-radius:7px!important;background:#f4f5f6;color:#474b51;text-decoration:none!important;font-size:10.5px;font-weight:620;white-space:nowrap;cursor:pointer}.row-actions .link-button:hover{background:#e9eaec}.row-actions .link-button.danger{background:#fff1f0;color:#a9332b}.row-actions .link-button.danger:hover{background:#ffe8e5}
.appearance-panel .settings-form{padding:18px}.settings-block{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(280px,1.45fr);gap:22px;align-items:start;padding:16px;border:1px solid #e9eaed;border-radius:13px;background:#fafafa}.settings-block-copy{display:grid;gap:5px}.settings-block-copy strong{font-size:12px;color:#34373c}.settings-block-copy span{color:#9a9ea5;font-size:10px;line-height:1.55}.wallpaper-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wallpaper-setting-card{display:grid;align-content:start;gap:11px;padding:15px;border:1px solid #e9eaed;border-radius:13px;background:#fafafa}.wallpaper-preview{position:relative;min-height:150px;border:1px solid #e4e5e8;border-radius:11px;overflow:hidden;background:#f0f1f2}.wallpaper-preview::before{content:"";position:absolute;inset:0;background-image:var(--preview-url);background-size:cover;background-position:center;filter:grayscale(1) saturate(0) contrast(.78) brightness(1.15)}.wallpaper-preview::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.58)}.wallpaper-preview span{position:absolute;z-index:2;left:10px;bottom:9px;padding:4px 7px;border-radius:6px;background:rgba(255,255,255,.82);color:#696d74;font-size:9px;font-weight:650}.wallpaper-preview.is-empty::before{display:none}.desktop-preview{aspect-ratio:16/7}.mobile-preview{width:min(100%,190px);aspect-ratio:9/15;margin-inline:auto}.settings-form>.actions{padding-top:2px}
.flash-message{position:fixed;z-index:150;top:18px;left:50%;transform:translateX(-50%);min-width:220px;max-width:min(90vw,520px);box-shadow:0 12px 38px rgba(20,24,30,.12);animation:flashIn .2s ease both}.flash-message.is-leaving{animation:flashOut .26s ease both}@keyframes flashIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes flashOut{to{opacity:0;transform:translate(-50%,-8px)}}
.modal-open{overflow:hidden}.modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:20px}.modal.is-open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(20,22,26,.34);backdrop-filter:blur(5px);animation:fadeIn .18s ease both}.modal-card{position:relative;z-index:1;width:min(100%,510px);max-height:min(88vh,760px);overflow:auto;padding:20px;border:1px solid #e4e5e8;border-radius:17px;background:#fff;box-shadow:0 28px 90px rgba(20,22,28,.22);animation:modalIn .22s cubic-bezier(.2,.8,.2,1) both}.modal-card-small{width:min(100%,420px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.modal-head h2{margin:0 0 5px;font-size:17px}.modal-head p{margin:0;color:#92969e;font-size:11px;line-height:1.55}.modal-close{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;padding:0;border-radius:9px;background:#f1f2f3;color:#656970;font-size:21px;line-height:1}.modal-close:hover{background:#e8e9eb;color:#25272b}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.danger-button{background:#a93028!important}.danger-button:hover{background:#8e2821!important}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.sidebar-backdrop{display:none}

/* Login */
.admin-login-page{display:grid;place-items:start center;min-height:100vh;padding:9vh 16px 32px;background:#f3f4f6}.admin-login-page .admin-wrap.small{width:min(100%,410px);margin:0}.admin-login-page .login-panel{padding:25px;border:1px solid #e4e5e8;border-radius:18px;background:#fff;box-shadow:0 16px 55px rgba(20,24,30,.07)}.admin-login-page .login-panel h1{margin:0 0 18px;font-size:21px;letter-spacing:-.025em}.admin-login-page .login-panel .form-grid{gap:13px}

/* ========================= Admin breakpoints ========================= */
@media(min-width:1500px){.admin-sidebar-page .admin-shell{grid-template-columns:250px minmax(0,1fr)}.admin-sidebar-page .admin-content{width:min(calc(100% - 64px),1380px);padding-top:32px}.admin-sidebar-page .admin-stats{gap:13px}.admin-sidebar-page .stat-card{min-height:112px;padding:18px 19px}.admin-sidebar-page .stat-card strong{font-size:30px}.admin-sidebar-page .table-wrap table{font-size:12.5px}.admin-sidebar-page .table-wrap td{padding-block:12px}.admin-sidebar-page .panel-heading{padding:18px 20px}.admin-sidebar-page .appearance-panel .settings-form{padding:20px}}
@media(max-width:1180px){.admin-sidebar-page .admin-shell{grid-template-columns:210px minmax(0,1fr)}.admin-sidebar-page .admin-sidebar{padding-inline:11px}.admin-sidebar-page .admin-content{width:min(calc(100% - 32px),1120px)}.admin-sidebar-page .admin-stats{gap:9px}.admin-sidebar-page .stat-card{padding:14px;min-height:98px}.admin-sidebar-page .stat-card strong{font-size:24px}.admin-sidebar-page .table-wrap table{min-width:980px}.admin-sidebar-page .row-actions{min-width:226px}.admin-sidebar-page .row-actions .link-button{padding-inline:7px!important}.admin-sidebar-page .settings-block{grid-template-columns:1fr;gap:12px}}
@media(max-width:920px){.admin-sidebar-page .admin-shell{display:block}.admin-sidebar-page .admin-sidebar{position:fixed;left:0;top:0;width:250px;height:100dvh;transform:translateX(-104%);transition:transform .24s cubic-bezier(.2,.8,.2,1);box-shadow:18px 0 50px rgba(0,0,0,.14);z-index:110}.admin-sidebar-page .admin-sidebar.is-open{transform:none}.admin-sidebar-page .sidebar-backdrop{position:fixed;inset:0;display:block;z-index:100;background:rgba(18,20,24,.30);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .18s}.admin-sidebar-page.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.admin-sidebar-page .admin-mobile-head{position:sticky;top:0;z-index:90;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;padding:9px 15px;border-bottom:1px solid rgba(0,0,0,.06);background:rgba(248,249,250,.94);backdrop-filter:blur(16px)}.admin-mobile-head>div{display:grid;gap:1px;min-width:0}.admin-mobile-head strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-mobile-head span{font-size:9px;color:#a1a4aa}.sidebar-toggle{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e1e3e6;border-radius:9px;background:#fff;color:#36393e}.sidebar-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.mobile-primary{min-width:56px;min-height:36px;padding-inline:10px}.admin-sidebar-page .admin-content{width:min(calc(100% - 28px),900px);padding-top:18px}.workspace-toolbar{display:none}.admin-sidebar-page .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sidebar-page .wallpaper-setting-grid{grid-template-columns:1fr}.admin-sidebar-page .mobile-preview{width:min(100%,210px)}}
@media(max-width:720px){.admin-sidebar-page .admin-content{width:100%;padding:14px 12px 38px}.admin-sidebar-page .section-heading{align-items:center;margin-bottom:12px}.admin-sidebar-page .section-heading h1{font-size:21px}.admin-sidebar-page .section-heading p{font-size:10.5px}.admin-sidebar-page .desktop-add{display:none}.admin-sidebar-page .admin-stats{gap:8px;margin-bottom:0}.admin-sidebar-page .stat-card{min-height:86px;padding:12px 13px;border-radius:12px}.admin-sidebar-page .stat-card strong{font-size:22px}.admin-sidebar-page .stat-label{font-size:9.5px}.admin-sidebar-page .stat-card small{font-size:8.5px}.admin-sidebar-page .panel{border-radius:14px;margin-bottom:12px}.admin-sidebar-page .panel-heading{display:grid;gap:9px;padding:14px}.admin-sidebar-page .panel-heading h2{font-size:15px}.admin-sidebar-page .panel-meta{justify-content:flex-start}.admin-sidebar-page .click-total,.admin-sidebar-page .sort-state{font-size:9.5px}.admin-sidebar-page .table-wrap{padding:0 9px 9px;overflow:visible}.admin-sidebar-page .table-wrap table,.admin-sidebar-page .table-wrap tbody{display:block;min-width:0}.admin-sidebar-page .table-wrap thead{display:none}.admin-sidebar-page .table-wrap tbody{display:grid;gap:9px}.admin-sidebar-page .table-wrap tbody tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e8e9ec;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 2px 10px rgba(20,24,30,.025)}.admin-sidebar-page .table-wrap td{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;padding:9px 10px;border-bottom:1px solid #f0f0f2;white-space:normal;text-align:right}.admin-sidebar-page .table-wrap td::before{content:attr(data-label);margin-right:auto;color:#a0a4aa;font-size:9px;font-weight:680;white-space:nowrap}.admin-sidebar-page .table-wrap td.drag-col{grid-column:1/2;justify-content:flex-start}.admin-sidebar-page .table-wrap td.drag-col::before{display:none}.admin-sidebar-page .table-wrap td:nth-child(2){grid-column:2/3}.admin-sidebar-page .table-wrap td.title-cell,.admin-sidebar-page .table-wrap td.url-cell,.admin-sidebar-page .table-wrap td.row-actions{grid-column:1/-1}.admin-sidebar-page .table-wrap td.title-cell{justify-content:flex-start;max-width:none;text-align:left;font-size:13px}.admin-sidebar-page .table-wrap td.title-cell::before{display:none}.admin-sidebar-page .table-wrap td.url-cell{align-items:flex-start;max-width:none;text-align:left}.admin-sidebar-page .table-wrap td.url-cell a{font-size:10px}.admin-sidebar-page .table-wrap td.row-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:8px;border-bottom:0}.admin-sidebar-page .table-wrap td.row-actions::before{display:none}.admin-sidebar-page .row-actions{min-width:0}.admin-sidebar-page .row-actions .link-button{width:100%;min-width:0;min-height:33px;padding:0 4px!important;font-size:10px}.admin-sidebar-page .appearance-panel .settings-form{padding:13px}.admin-sidebar-page .settings-block{padding:13px}.admin-sidebar-page .wallpaper-setting-card{padding:12px}.admin-sidebar-page .wallpaper-preview{min-height:140px}.admin-sidebar-page .settings-form>.actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.admin-sidebar-page .settings-form>.actions>*{width:100%;justify-content:center}.admin-sidebar-page .modal{padding:8px;align-items:flex-end}.admin-sidebar-page .modal-card{width:100%;max-height:90dvh;padding:16px;border-radius:17px 17px 10px 10px}.admin-sidebar-page .modal-actions{position:sticky;bottom:-16px;margin:16px -16px -16px;padding:11px 16px;background:#fff;border-top:1px solid #ececef}}
@media(max-width:430px){.admin-sidebar-page .admin-mobile-head{grid-template-columns:38px minmax(0,1fr) 52px;padding-inline:10px}.admin-sidebar-page .mobile-primary{min-width:52px;padding-inline:7px}.admin-sidebar-page .admin-content{padding-inline:9px}.admin-sidebar-page .admin-stats{grid-template-columns:1fr 1fr;gap:7px}.admin-sidebar-page .stat-card{padding:11px}.admin-sidebar-page .table-wrap td.row-actions{grid-template-columns:1fr 1fr}.admin-sidebar-page .row-actions .link-button{font-size:10.5px}.admin-sidebar-page .settings-form>.actions{grid-template-columns:1fr}.admin-sidebar-page .page-subtitle{max-width:250px}}
@media(max-width:350px){.admin-sidebar-page .admin-content{padding-inline:7px}.admin-sidebar-page .admin-mobile-head{padding-inline:7px}.admin-sidebar-page .stat-card{min-height:80px;padding:10px}.admin-sidebar-page .stat-card strong{font-size:20px}.admin-sidebar-page .section-heading h1{font-size:19px}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* v3.4 true separated admin views + wheel-safe resource list */
.admin-sidebar-page .admin-content{min-height:100vh}
.admin-sidebar-page .admin-section{scroll-margin-top:20px}
.admin-sidebar-page .table-wrap{overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-y pan-x}
.admin-sidebar-page .links-panel{overflow:visible}
.admin-sidebar-page .links-panel .panel-heading{border:1px solid var(--adm-line);border-bottom:0;border-radius:var(--adm-radius) var(--adm-radius) 0 0;background:#fff}
.admin-sidebar-page .links-panel .table-wrap{border:1px solid var(--adm-line);border-top:0;border-radius:0 0 var(--adm-radius) var(--adm-radius);background:#fff}
.admin-sidebar-page .compact-add{min-height:30px;padding:0 10px;font-size:10px;border-radius:8px}
.admin-sidebar-page .section-overview{max-width:1120px}
.admin-sidebar-page .appearance-panel{max-width:1120px}
@media(max-width:920px){.admin-sidebar-page .admin-content{min-height:calc(100dvh - 60px)}}
@media(max-width:720px){
  .admin-sidebar-page .table-wrap{overflow:visible!important;overscroll-behavior:auto!important;touch-action:auto}
  .admin-sidebar-page .links-panel{border:0;background:transparent;box-shadow:none;overflow:visible}
  .admin-sidebar-page .links-panel .panel-heading{border:1px solid var(--adm-line);border-radius:14px;margin-bottom:9px;background:#fff}
  .admin-sidebar-page .links-panel .table-wrap{border:0;border-radius:0;background:transparent}
  .admin-sidebar-page .compact-add{min-height:30px;font-size:10px}
}


/* v3.6 overview horizontal click chart */
.overview-chart-card{margin-top:14px;padding:18px 19px 20px;border:1px solid var(--adm-line);border-radius:15px;background:#fff;box-shadow:0 4px 18px rgba(25,28,34,.025)}
.overview-chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.overview-chart-head>div{min-width:0}.overview-chart-head .eyebrow{margin-bottom:5px}.overview-chart-head h2{margin:0;color:#24262a;font-size:17px;letter-spacing:-.02em}.overview-chart-head p{margin:5px 0 0;color:#9599a0;font-size:10.5px;line-height:1.55}.chart-unit{flex:0 0 auto;color:#a1a5ab;font-size:9.5px;white-space:nowrap}
.horizontal-bar-chart{display:grid;gap:10px}.bar-chart-row{display:grid;grid-template-columns:minmax(150px,230px) minmax(180px,1fr) 54px;align-items:center;gap:12px;min-width:0}.bar-chart-label{display:flex;align-items:center;gap:8px;min-width:0}.bar-rank{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:6px;background:#f1f2f4;color:#858a92;font-size:9px;font-weight:750;font-variant-numeric:tabular-nums}.bar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4a4e55;font-size:11px;font-weight:620}.bar-chart-track{position:relative;height:15px;overflow:hidden;border-radius:999px;background:#f1f2f4}.bar-chart-fill{position:absolute;left:0;top:0;bottom:0;width:var(--bar-width);min-width:3px;border-radius:inherit;background:linear-gradient(90deg,#2f3339,#5f6670);transform-origin:left center;animation:barGrow .55s cubic-bezier(.2,.8,.2,1) both}.bar-chart-value{text-align:right;color:#35383d;font-size:11px;font-variant-numeric:tabular-nums}.chart-empty{display:grid;place-items:center;gap:5px;min-height:160px;border:1px dashed #e3e5e8;border-radius:12px;background:#fafafa;text-align:center}.chart-empty strong{font-size:12px;color:#62666d}.chart-empty span{font-size:10px;color:#a1a5ab}@keyframes barGrow{from{transform:scaleX(0);opacity:.45}to{transform:scaleX(1);opacity:1}}
@media(min-width:1500px){.overview-chart-card{padding:21px 22px 23px}.overview-chart-head h2{font-size:18px}.bar-chart-row{grid-template-columns:minmax(190px,270px) minmax(220px,1fr) 64px;gap:14px}.bar-title,.bar-chart-value{font-size:12px}.bar-chart-track{height:16px}}
@media(max-width:920px){.overview-chart-card{margin-top:12px}.bar-chart-row{grid-template-columns:minmax(130px,210px) minmax(120px,1fr) 48px;gap:9px}}
@media(max-width:720px){.overview-chart-card{margin-top:10px;padding:14px 13px 15px;border-radius:13px}.overview-chart-head{align-items:flex-start;margin-bottom:14px}.overview-chart-head h2{font-size:15px}.overview-chart-head p{font-size:9.5px}.chart-unit{font-size:8.5px}.horizontal-bar-chart{gap:9px}.bar-chart-row{grid-template-columns:minmax(92px,36%) minmax(80px,1fr) 42px;gap:7px}.bar-rank{flex-basis:19px;width:19px;height:19px;font-size:8px}.bar-chart-label{gap:5px}.bar-title{font-size:9.5px}.bar-chart-track{height:13px}.bar-chart-value{font-size:9.5px}.chart-empty{min-height:130px}}
@media(max-width:430px){.overview-chart-head{display:grid;gap:5px}.bar-chart-row{grid-template-columns:minmax(78px,34%) minmax(70px,1fr) 38px;gap:6px}.bar-title{font-size:9px}.bar-chart-value{font-size:9px}}
@media(prefers-reduced-motion:reduce){.bar-chart-fill{animation:none}}


/* v3.7 chart repair + persistent login + immediate logout */
.admin-login-page .login-panel{padding:24px}.admin-login-page .login-panel h1{margin-bottom:5px}.login-desc{margin:0 0 18px;color:#8d9299;font-size:11px;line-height:1.6}.login-form{gap:14px}.remember-login{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;padding:10px 11px;border:1px solid #e5e7ea;border-radius:10px;background:#fafafa;cursor:pointer}.remember-login input{width:16px;height:16px;margin:2px 0 0;accent-color:#26292e;flex:0 0 auto}.remember-login span{display:grid;gap:2px;min-width:0}.remember-login strong{font-size:11px;color:#3d4147}.remember-login small{font-size:9.5px;color:#9b9fa5;line-height:1.45}.logout-form{margin:0}.sidebar-logout{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:38px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:#8c3a36;font-size:10.5px;cursor:pointer;text-align:left;box-shadow:none}.sidebar-logout:hover{background:#fff1f0;color:#a52b24}.sidebar-logout:active{transform:none}

/* Horizontal bar chart: self-contained styles so module cannot inherit broken table/layout rules. */
.overview-chart-card{display:block;width:100%;margin:14px 0 0;padding:19px 20px 20px;border:1px solid #e5e7ea;border-radius:15px;background:#fff;box-shadow:0 4px 18px rgba(25,28,34,.025);overflow:hidden}.overview-chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 18px}.overview-chart-head>div{min-width:0}.overview-chart-head h2{margin:0;color:#24262a;font-size:17px;line-height:1.3;letter-spacing:-.02em}.overview-chart-head p{margin:5px 0 0;color:#9599a0;font-size:10.5px;line-height:1.55}.chart-unit{flex:0 0 auto;color:#a1a5ab;font-size:9.5px;white-space:nowrap}.horizontal-bar-chart{display:grid!important;width:100%;gap:11px}.bar-chart-row{display:grid!important;grid-template-columns:minmax(150px,230px) minmax(160px,1fr) 58px;align-items:center;gap:12px;width:100%;min-width:0}.bar-chart-label{display:flex!important;align-items:center;gap:8px;min-width:0}.bar-rank{display:grid!important;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:6px;background:#f1f2f4;color:#858a92;font-size:9px;font-weight:750;font-variant-numeric:tabular-nums}.bar-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4a4e55;font-size:11px;font-weight:620}.bar-chart-track{position:relative;display:block;width:100%;height:15px;overflow:hidden;border-radius:999px;background:#eef0f2}.bar-chart-fill{position:absolute;display:block;left:0;top:0;bottom:0;width:var(--bar-width,0%);min-width:3px;border-radius:inherit;background:linear-gradient(90deg,#2d3137,#656c75);transform-origin:left center;animation:barGrow .55s cubic-bezier(.2,.8,.2,1) both}.bar-chart-value{display:block;text-align:right;color:#35383d;font-size:11px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.chart-empty{display:grid;place-items:center;gap:5px;min-height:150px;border:1px dashed #e3e5e8;border-radius:12px;background:#fafafa;text-align:center}.chart-empty strong{font-size:12px;color:#62666d}.chart-empty span{font-size:10px;color:#a1a5ab}
@media(max-width:920px){.bar-chart-row{grid-template-columns:minmax(125px,200px) minmax(110px,1fr) 50px;gap:9px}}
@media(max-width:720px){.overview-chart-card{padding:14px 13px 15px;border-radius:13px}.overview-chart-head{align-items:flex-start;margin-bottom:14px}.overview-chart-head h2{font-size:15px}.horizontal-bar-chart{gap:10px}.bar-chart-row{grid-template-columns:minmax(90px,35%) minmax(72px,1fr) 42px;gap:7px}.bar-rank{flex-basis:19px;width:19px;height:19px;font-size:8px}.bar-chart-label{gap:5px}.bar-title,.bar-chart-value{font-size:9.5px}.bar-chart-track{height:13px}}
@media(max-width:430px){.overview-chart-head{display:grid;gap:5px}.bar-chart-row{grid-template-columns:minmax(78px,34%) minmax(64px,1fr) 38px;gap:6px}.bar-title,.bar-chart-value{font-size:9px}.admin-login-page .login-panel{padding:19px}}

/* v3.8 automatic tags + front-end tag filtering */
.tag-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-2px 0 18px;padding:0;transition:opacity .18s}
.tag-filter.is-loading{opacity:.58;pointer-events:none}
.tag-chip{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:0 10px;border:1px solid rgba(214,216,220,.9);border-radius:999px;background:rgba(255,255,255,.62);color:#6e737b;font-size:11px;font-weight:620;line-height:1;white-space:nowrap;box-shadow:0 2px 8px rgba(20,24,30,.018);transition:background .16s,border-color .16s,color .16s,transform .16s,box-shadow .16s}
.tag-chip small{font-size:9px;font-weight:650;color:#a2a6ac;font-variant-numeric:tabular-nums}
.tag-chip:hover{background:rgba(255,255,255,.9);border-color:#cfd2d6;color:#30343a;transform:translateY(-1px)}
.tag-chip.is-active{background:#25282d;border-color:#25282d;color:#fff;box-shadow:0 5px 14px rgba(31,34,39,.12)}
.tag-chip.is-active small{color:rgba(255,255,255,.65)}
.admin-custom-tags{display:block;margin-top:4px;color:#9ca0a7;font-size:9.5px;font-weight:500;line-height:1.45;white-space:normal;word-break:keep-all}
.admin-sidebar-page .title-cell>span{display:block}
@media(min-width:1180px){.tag-filter{gap:8px;margin-bottom:21px}.tag-chip{min-height:31px;padding-inline:11px;font-size:12px}.tag-chip small{font-size:9.5px}}
@media(max-width:640px){.tag-filter{gap:6px;margin:-1px 0 15px}.tag-chip{min-height:28px;padding:0 9px;font-size:10.5px}.tag-chip small{font-size:8.5px}}


/* v3.9 custom tag editor */
.tag-editor-field{display:grid;gap:10px;padding:14px;border:1px solid #e7e9ed;border-radius:12px;background:#fafbfc}
.tag-editor-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.tag-editor-head>span{font-size:14px;font-weight:650;color:#25282d}.tag-editor-head small{font-size:11px;color:#999}
.existing-tag-options{display:flex;flex-wrap:wrap;gap:7px;max-height:130px;overflow:auto;padding:2px;scrollbar-width:thin}
.tag-option{position:relative;display:inline-flex!important;align-items:center;gap:5px!important;cursor:pointer}
.tag-option input{position:absolute;opacity:0;pointer-events:none}
.tag-option span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #dfe2e6;border-radius:999px;background:#fff;color:#666;font-size:12px;white-space:nowrap;transition:.16s}
.tag-option small{margin-left:-10px;margin-right:7px;font-size:9px;color:#aaa;pointer-events:none}
.tag-option input:checked+span{border-color:#25282d;background:#25282d;color:#fff;box-shadow:0 4px 12px rgba(25,28,33,.1)}
.tag-option input:checked~small{color:#8d929a}
.tag-options-empty{font-size:12px;color:#aaa;padding:5px 2px}
.new-tag-field{gap:7px!important}.new-tag-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.new-tag-input-row .button{min-width:66px}
.pending-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:0}.pending-tags:empty{display:none}
.pending-tag-chip{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:0 7px 0 10px;border-radius:999px;background:#eef1f5;color:#454a52;font-size:12px;font-weight:600}
.pending-tag-chip button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:50%;background:transparent;color:#8b9098;font-size:16px;line-height:1}.pending-tag-chip button:hover{background:#dfe3e8;color:#333}
.tag-editor-tip{font-size:11px;color:#9a9da3;line-height:1.55}.admin-custom-tags{display:block;margin-top:4px;color:#9ca0a7;font-size:9.5px;font-weight:500;line-height:1.45;white-space:normal;word-break:keep-all}
@media(max-width:640px){.tag-editor-field{padding:12px}.tag-editor-head{align-items:flex-start;flex-direction:column;gap:3px}.existing-tag-options{max-height:150px}.tag-option span{min-height:31px}.new-tag-input-row{grid-template-columns:minmax(0,1fr) 64px}}

/* v3.10 tag management */
.tag-management-panel{margin-bottom:18px}
.tag-management-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tag-management-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:13px 14px;border:1px solid #e9e9e9;border-radius:12px;background:#fbfbfb}
.tag-management-copy{display:grid;gap:3px;min-width:0}
.tag-management-copy strong{font-size:14px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag-management-copy span{font-size:11px;color:#999;white-space:nowrap}
.tag-management-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.tag-management-actions .button{min-height:32px;padding:0 10px;font-size:12px;white-space:nowrap}
.danger-soft{color:#b42318!important;background:#fff3f1!important;border:1px solid #f4d7d2!important}
.danger-soft:hover{background:#ffe8e4!important}
@media(max-width:1100px){.tag-management-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.tag-management-list{grid-template-columns:1fr}.tag-management-item{padding:12px}.tag-management-actions .button{min-height:34px}}


/* v3.12 click period analytics */
.click-period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-2px 0 18px;padding:12px 13px;border:1px solid #eceef0;border-radius:12px;background:#fafbfb}.click-period-tabs{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:9px;background:#eef0f2}.click-period-tab{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:31px;padding:0 11px;border-radius:7px;color:#777d85;text-decoration:none;font-size:11px;font-weight:650;white-space:nowrap;transition:background .16s,color .16s,box-shadow .16s}.click-period-tab:hover{color:#30343a}.click-period-tab.is-active{background:#fff;color:#25292f;box-shadow:0 1px 5px rgba(25,28,34,.09)}.click-period-summary{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.click-period-summary span{color:#8c9198;font-size:10px}.click-period-summary strong{color:#25292f;font-size:19px;line-height:1;font-variant-numeric:tabular-nums}.click-period-summary small{color:#a4a8ae;font-size:9px}.click-chart-head{margin-bottom:13px}
@media(min-width:1500px){.click-period-toolbar{padding:13px 15px}.click-period-tab{min-width:64px;height:33px;font-size:11.5px}.click-period-summary strong{font-size:21px}}
@media(max-width:720px){.click-period-toolbar{align-items:stretch;gap:10px;margin-bottom:14px;padding:9px}.click-period-tabs{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.click-period-tab{min-width:0;width:100%;height:32px;padding:0 6px;font-size:10px}.click-period-summary{flex:0 0 auto;display:grid;grid-template-columns:auto auto;align-content:center;gap:2px 6px;text-align:right}.click-period-summary span{font-size:9px}.click-period-summary strong{font-size:17px}.click-period-summary small{grid-column:1/-1;font-size:8px}}
@media(max-width:430px){.click-period-toolbar{display:grid}.click-period-summary{display:flex;justify-content:flex-end;align-items:baseline}.click-period-summary small{grid-column:auto}.click-period-tab{font-size:9.5px}}


/* v3.13 WeChat / QQ embedded browser tip */
.embedded-browser-tip{position:fixed;z-index:220;top:12px;left:50%;width:min(calc(100% - 24px),620px);transform:translateX(-50%);pointer-events:none;animation:embeddedTipIn .24s cubic-bezier(.2,.8,.2,1) both}
.embedded-browser-tip[hidden]{display:none!important}
.embedded-browser-tip.is-hiding{animation:embeddedTipOut .18s ease both}
.embedded-browser-tip__panel{display:grid;grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:11px 10px 11px 12px;border:1px solid rgba(220,222,226,.92);border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 12px 36px rgba(20,24,30,.10);backdrop-filter:blur(16px) saturate(1.15);pointer-events:auto}
.embedded-browser-tip__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f1f2f4;color:#3f444b}
.embedded-browser-tip__icon svg{display:block;width:18px;height:18px;fill:currentColor}
.embedded-browser-tip__copy{display:grid;gap:3px;min-width:0}
.embedded-browser-tip__copy strong{font-size:13px;line-height:1.35;color:#24282e;font-weight:720}
.embedded-browser-tip__copy span{font-size:11px;line-height:1.5;color:#777d85}
.embedded-browser-tip__close{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:9px;background:transparent;color:#989da4;font-size:20px;font-weight:400;line-height:1}
.embedded-browser-tip__close:hover{background:#f1f2f4;color:#444950}
@keyframes embeddedTipIn{from{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes embeddedTipOut{to{opacity:0;transform:translate(-50%,-8px)}}
@media(max-width:640px){.embedded-browser-tip{top:8px;width:calc(100% - 16px)}.embedded-browser-tip__panel{grid-template-columns:31px minmax(0,1fr) 28px;gap:8px;padding:9px 8px 9px 10px;border-radius:12px}.embedded-browser-tip__icon{width:31px;height:31px;border-radius:9px}.embedded-browser-tip__icon svg{width:16px;height:16px}.embedded-browser-tip__copy strong{font-size:12px}.embedded-browser-tip__copy span{font-size:10px;line-height:1.45}.embedded-browser-tip__close{width:28px;height:28px;font-size:19px}}


/* v3.14 hard block for WeChat / QQ embedded browsers */
html:has(body.embedded-block-page){background:#f5f6f7}
body.embedded-block-page{margin:0;min-height:100vh;min-height:100dvh;overflow:hidden;background:#f5f6f7;color:#25282d}
.embedded-blocker{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:max(22px,env(safe-area-inset-top)) 20px max(22px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 5%,#fff 0,#f7f8f9 40%,#f1f2f4 100%)}
.embedded-blocker__card{width:min(100%,440px);padding:34px 30px 30px;border:1px solid #e3e5e8;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(27,31,37,.09);text-align:center}
.embedded-blocker__mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 17px;border-radius:16px;background:#25282d;color:#fff}
.embedded-blocker__mark svg{width:25px;height:25px;fill:currentColor}
.embedded-blocker__eyebrow{margin:0 0 7px;color:#9a9fa6;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.embedded-blocker h1{margin:0;color:#22262b;font-size:24px;line-height:1.25;letter-spacing:-.025em}
.embedded-blocker__desc{margin:12px auto 0;max-width:330px;color:#747a82;font-size:13px;line-height:1.75}
.embedded-blocker__steps{display:flex;align-items:center;justify-content:center;gap:9px;margin:22px 0 0;padding:13px 14px;border:1px solid #eaebed;border-radius:12px;background:#f7f8f9;color:#454a51;font-size:12px;font-weight:650;white-space:nowrap}
.embedded-blocker__steps i{color:#a2a7ad;font-style:normal}
.embedded-blocker__note{margin:14px 0 0;color:#a0a4aa;font-size:10px;line-height:1.6}
@media(max-width:520px){.embedded-blocker{align-items:center;padding-inline:16px}.embedded-blocker__card{padding:29px 21px 25px;border-radius:17px}.embedded-blocker__mark{width:50px;height:50px;border-radius:15px}.embedded-blocker h1{font-size:21px}.embedded-blocker__desc{font-size:12px}.embedded-blocker__steps{gap:7px;padding:12px 9px;font-size:11px}}
@media(max-width:360px){.embedded-blocker__steps{display:grid;grid-template-columns:1fr;text-align:center;white-space:normal}.embedded-blocker__steps i{transform:rotate(90deg)}}
