:root,[data-theme=light]{--text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);--text-sm:clamp(0.875rem,0.8rem + 0.35vw,1rem);--text-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + 0.75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--color-bg:#f7f6f2;--color-surface:#f9f8f5;--color-surface-2:#fbfbf9;--color-surface-offset:#f1eee8;--color-border:#d4d1ca;--color-divider:#dcd9d5;--color-text:#28251d;--color-text-muted:#6d6a63;--color-text-faint:#9a968f;--color-text-inverse:#f9f8f4;--color-primary:#01696f;--color-primary-hover:#0c4e54;--color-primary-highlight:#d7e4e1;--color-accent:#8a5a2b;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.875rem;--radius-xl:1.25rem;--shadow-sm:0 1px 2px rgba(40,37,29,0.06);--shadow-md:0 10px 30px rgba(40,37,29,0.08);--content-narrow:760px;--content-default:1100px;--font-body:"General Sans","Noto Sans SC","Inter",sans-serif;--font-display:"Zodiak","Noto Serif SC",Georgia,serif;--transition:180ms cubic-bezier(0.16,1,0.3,1)}[data-theme=dark]{--color-bg:#171614;--color-surface:#1c1b19;--color-surface-2:#201f1d;--color-surface-offset:#252320;--color-border:#393836;--color-divider:#262523;--color-text:#d6d4cf;--color-text-muted:#aaa7a0;--color-text-faint:#78756e;--color-text-inverse:#1a1917;--color-primary:#4f98a3;--color-primary-hover:#67acb6;--color-primary-highlight:#2d3839;--color-accent:#c89b63;--shadow-sm:0 1px 2px rgba(0,0,0,0.25);--shadow-md:0 10px 30px rgba(0,0,0,0.35)}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;text-size-adjust:none;-webkit-font-smoothing:antialiased}body{min-height:100vh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.72;background:var(--color-bg);color:var(--color-text)}img,svg{display:block;max-width:100%}a{text-decoration:none;transition:color var(--transition),background var(--transition),border-color var(--transition)}a,button{color:inherit}button{font:inherit;cursor:pointer;border:none;background:none}h1,h2,h3{font-family:var(--font-display);line-height:1.12;font-weight:500}p{max-width:72ch}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.skip-link{position:absolute;left:var(--space-4);top:-40px;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);z-index:100}.skip-link:focus{top:var(--space-4)}.container{width:min(calc(100% - 2rem),var(--content-default));margin-inline:auto}.narrow{width:min(calc(100% - 2rem),var(--content-narrow));margin-inline:auto}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--color-border) 65%,transparent)}.header-row{justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0}.brand,.header-row{display:flex;align-items:center}.brand{gap:var(--space-3)}.brand-mark{width:40px;height:40px;padding:8px;border-radius:50%;background:var(--color-surface-offset);border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);color:var(--color-primary);object-fit:contain;flex-shrink:0}.brand-mark-img,img.brand-mark{padding:2px}.brand-title{font-size:var(--text-sm);font-weight:700;letter-spacing:.01em}.brand-sub{font-size:var(--text-xs);color:var(--color-text-faint);font-weight:500}nav ul{display:flex;gap:var(--space-4);list-style:none;flex-wrap:wrap}nav a{font-size:var(--text-sm);color:var(--color-text-muted)}.btn-secondary:hover,.lang-toggle:hover,.theme-toggle:hover,nav a:hover{color:var(--color-text);background:var(--color-surface-offset)}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.lang-toggle,.theme-toggle{min-width:44px;height:44px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);display:grid;place-items:center;background:var(--color-surface);padding:0 .9rem}.lang-toggle{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em}.hero{padding:clamp(var(--space-12),10vw,var(--space-24)) 0 var(--space-12)}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-gap:var(--space-8);gap:var(--space-8);align-items:flex-end}.eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--color-text-muted);margin-bottom:var(--space-4)}h1{font-size:var(--text-2xl);max-width:13ch;letter-spacing:-.02em}.lede{margin-top:var(--space-4);color:var(--color-text-muted)}.archive-card,.audio-card,.entry,.hero-card,.panel,.quote-card,.resource-card{background:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-border) 72%,transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.hero-card{padding:var(--space-6);display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.meta-list{list-style:none;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.meta-list span{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-faint);margin-bottom:.2rem}.meta-list strong{font-size:var(--text-sm);font-weight:600}.hero-card-note{padding-top:var(--space-4);border-top:1px solid color-mix(in srgb,var(--color-divider) 75%,transparent)}.hero-card-note p{font-size:var(--text-sm);color:var(--color-text-muted)}.cta-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-6)}.btn{gap:var(--space-2);min-height:44px;padding:.8rem 1.1rem;border-radius:999px;font-size:var(--text-sm);font-weight:600}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{border:1px solid color-mix(in srgb,var(--color-border) 72%,transparent);background:var(--color-surface);color:var(--color-text-muted)}section{padding:var(--space-10) 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6)}.section-head p{max-width:56ch;color:var(--color-text-muted)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg);font-family:var(--font-body);font-weight:600;line-height:1.25}.panel{padding:var(--space-6)}.entry{padding:var(--space-5)}.entry+.entry{margin-top:var(--space-4)}.kicker{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-faint);margin-bottom:var(--space-3)}.archive-card p,.audio-card p,.entry p,.panel p,.quote-card p,.resource-card p{color:var(--color-text-muted);margin-top:var(--space-3)}.entry-footer{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.entry-footer,.filter-bar{display:flex;flex-wrap:wrap}.filter-bar{gap:var(--space-3);align-items:center;margin-bottom:var(--space-6)}.filter-group{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.filter-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-faint);margin-right:var(--space-1)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:38px;padding:.4rem .95rem;border:1px solid color-mix(in srgb,var(--color-border) 72%,transparent);background:var(--color-surface);font-size:var(--text-sm);font-weight:500;transition:all var(--transition)}.chip:hover{color:var(--color-text);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent)}.chip[aria-pressed=true]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.chip .count{font-size:var(--text-xs);opacity:.8}.filter-divider{width:1px;align-self:stretch;background:color-mix(in srgb,var(--color-border) 60%,transparent);margin:0 var(--space-1)}.results-note{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.audio-card,.resource-card{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.type-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .7rem;color:var(--color-primary-hover)}.type-badge.article{background:color-mix(in srgb,var(--color-text-faint) 24%,transparent);color:var(--color-text-muted)}.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.tag{font-size:var(--text-xs);padding:.18rem .6rem;background:var(--color-surface-offset);color:var(--color-text-muted);border:1px solid color-mix(in srgb,var(--color-divider) 80%,transparent)}.tag.scholar{color:var(--color-primary-hover)}.card-foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-4)}.card-foot .btn{min-height:40px;padding:.55rem .9rem}.audio-card audio{width:100%;margin-top:var(--space-1)}.audio-meta{font-size:var(--text-sm);color:var(--color-text-faint);display:flex;gap:var(--space-3);flex-wrap:wrap}.quote-band{display:grid;grid-template-columns:.95fr 1.05fr;grid-gap:var(--space-6);gap:var(--space-6);align-items:stretch}.quote-card{padding:var(--space-6);background:var(--color-surface-offset)}blockquote{font-family:var(--font-display);font-size:clamp(1.35rem,1.1rem + 1vw,1.95rem);line-height:1.3;letter-spacing:-.01em}.two-col{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:var(--space-6);gap:var(--space-6)}.list{list-style:none;display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.list li{padding-bottom:var(--space-4);border-bottom:1px solid color-mix(in srgb,var(--color-divider) 75%,transparent)}.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.archive-card{padding:var(--space-5);min-height:190px}.archive-card ul{list-style:none;display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.theme-toggle .icon-sun{display:none}[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}.bilingual{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.zh{font-family:"Noto Sans SC",var(--font-body);letter-spacing:.01em}.zh.display{font-family:"Noto Serif SC",var(--font-display)}[data-lang=en] .zh-only,[data-lang=zh] .en-only{display:none!important}.copy-multiline{white-space:pre-line}.site-footer{padding:var(--space-10) 0 var(--space-12);color:var(--color-text-muted)}.footer-box{display:flex;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid color-mix(in srgb,var(--color-divider) 75%,transparent);flex-wrap:wrap}.footer-brand{font-size:var(--text-sm);color:var(--color-text)}.footer-blurb{margin-top:var(--space-2);max-width:46ch}.footer-links{font-size:var(--text-sm)}@media (max-width:920px){.archive-grid,.hero-grid,.quote-band,.two-col{grid-template-columns:1fr}.footer-box,.section-head{align-items:start;flex-direction:column}nav{display:none}.resource-grid{grid-template-columns:1fr}.featured-tile,.skel-tile.featured{grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.library-toolbar{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.admin-form input,.admin-form select,.admin-form textarea,.admin-login input,.search-input,.select{width:100%;padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip-row.wrap{gap:var(--space-3)}.chip{border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);border-radius:999px;padding:.35rem .85rem;cursor:pointer;font:inherit}.chip.active{background:var(--color-primary-highlight);color:var(--color-primary);border-color:transparent}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.resource-tile{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.resource-tile:focus-visible,.resource-tile:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.tile-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.tile-date{color:var(--color-text-faint);font-size:var(--text-xs);white-space:nowrap}.tile-title{font-weight:600;line-height:1.35}.tile-meta,.tile-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile-meta{color:var(--color-text-muted);line-height:1.5}.tile-action,.tile-meta{font-size:var(--text-xs)}.tile-action{margin-top:auto;color:var(--color-primary);font-weight:600}.featured-tile{grid-column:span 2;cursor:default;border-color:var(--color-primary);background:var(--color-surface-2)}.featured-tile:hover{box-shadow:none}.featured-tile .tile-title{margin:0;font-size:var(--text-base);-webkit-line-clamp:3}.featured-tile .tile-desc{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.featured-tile .btn{margin-top:auto;align-self:flex-start}.tile-badges{display:inline-flex;align-items:center;gap:var(--space-2)}.kicker-badge{font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;padding:.15rem .55rem;border-radius:999px;background:var(--color-primary);color:var(--color-text-inverse)}.btn.sm{padding:.4rem .9rem;font-size:var(--text-sm)}.grid-empty{grid-column:1/-1}.resource-card .meta{font-weight:600;font-size:var(--text-sm)}.result-line{display:flex;align-items:center;gap:.75rem;margin:0 0 var(--space-5)}.link-btn{border:0;background:none;padding:0;font:inherit;color:var(--color-primary);text-decoration:underline;cursor:pointer}.card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.type-badge{font-size:var(--text-xs);font-weight:600;padding:.15rem .55rem;border-radius:999px;background:var(--color-primary-highlight);color:var(--color-primary)}.type-badge.audio{background:color-mix(in srgb,var(--color-accent) 18%,transparent);color:var(--color-accent)}.title-alt{margin:-.35rem 0 0;color:var(--color-text-muted)}.attr-list,.title-alt{font-size:var(--text-sm)}.attr-list{display:grid;grid-template-columns:auto 1fr;grid-gap:.3rem .75rem;gap:.3rem .75rem;margin:0}.attr-list .attr{display:grid;grid-column:span 2;grid-template-columns:4.5rem 1fr;grid-gap:.75rem;gap:.75rem}.attr-list dt{color:var(--color-text-muted);font-size:var(--text-xs);padding-top:.1rem}.attr-list dd{margin:0;font-weight:600}.keyword-row{display:flex;flex-wrap:wrap;gap:.35rem}.keyword{border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);border-radius:var(--radius-sm);padding:.15rem .5rem;font:inherit;font-size:var(--text-xs);cursor:pointer}.keyword:before{content:"#";opacity:.5;margin-right:.1rem}.keyword:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1rem;border-radius:var(--radius-md);border:1px solid transparent;font:inherit;cursor:pointer;text-decoration:none}.btn.primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn.ghost{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn.danger{color:#b42318}.btn:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--color-text-muted)}.error{color:#b42318}.panel.warn{border-color:var(--color-accent);margin-bottom:var(--space-6)}.media-viewer-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(18,16,13,.78);display:grid;place-items:center;padding:1rem}.media-viewer-backdrop:has(.media-viewer.reader){padding:0;background:#141210;place-items:stretch}.media-viewer{width:min(1100px,100%);max-height:90vh;background:var(--color-surface);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.media-viewer.reader{width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;background:#161412;color:#efe8dc}.media-viewer.audio-sheet{width:min(36rem,100%);max-height:min(90vh,28rem)}.media-viewer-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-divider)}.media-viewer.reader .media-viewer-head{flex-wrap:wrap;gap:.5rem .75rem;padding:max(.55rem,env(safe-area-inset-top)) max(.85rem,env(safe-area-inset-right)) .55rem max(.85rem,env(safe-area-inset-left));border-bottom-color:rgba(239,232,220,.08);background:#1b1814}.media-viewer-head h3{margin:0;font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 12rem}.media-viewer.reader .media-viewer-head h3{font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;color:#efe8dc}.media-tools{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.4rem;flex:1 1 auto}.tool-group{display:inline-flex;align-items:center;gap:.15rem;padding:.15rem;border-radius:999px;background:color-mix(in srgb,var(--color-surface-offset) 80%,transparent)}.media-viewer.reader .tool-group{background:rgba(239,232,220,.06)}.media-tools .btn,.media-tools .tool-btn{min-height:2.5rem;min-width:2.5rem;padding:.4rem .75rem;font-size:var(--text-sm)}.media-viewer.reader .media-tools .btn{color:#efe8dc;border-color:transparent}.media-viewer.reader .media-tools .btn:focus-visible,.media-viewer.reader .media-tools .btn:hover:not(:disabled){background:rgba(239,232,220,.1)}.media-viewer.reader .media-tools .btn:disabled{opacity:.35}.page-indicator{font-size:var(--text-sm);color:var(--color-text-muted);min-width:3.6rem;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.media-viewer.reader .page-indicator{color:#cfc6b6}.tool-divider{width:1px;height:1.25rem;background:var(--color-divider);margin:0 .25rem}.media-viewer-body{flex:1 1;min-height:280px;padding:.5rem;overflow:auto;-webkit-overflow-scrolling:touch}.media-viewer.reader .media-viewer-body{min-height:0;padding:0 0 env(safe-area-inset-bottom);background:radial-gradient(120% 80% at 50% 0,rgba(90,72,42,.16),transparent 55%),#12100e}.pdf-stage{display:grid;place-items:start center;min-height:100%;padding:.75rem .5rem 1.5rem}.media-viewer.reader .pdf-stage{padding:.85rem 0 2.5rem}.pdf-canvas{display:block;width:auto;max-width:none;height:auto;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.2),0 18px 50px rgba(0,0,0,.38);background:#fff;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.media-audio{width:min(100%,28rem);margin:2.5rem auto;display:block}.media-viewer-note{padding:.5rem 1rem 1rem;font-size:var(--text-xs)}@media (max-width:720px){.media-viewer-backdrop:not(:has(.media-viewer.reader)){padding:0;align-items:end}.media-viewer.audio-sheet{width:100%;max-height:none;border-radius:1rem 1rem 0 0;padding-bottom:env(safe-area-inset-bottom)}.media-viewer.reader .media-viewer-head h3{flex-basis:100%}.media-tools{width:100%;justify-content:space-between}.media-tools .close-btn{margin-left:auto}}.edit-dialog{width:min(680px,100%)}.edit-dialog-form{max-width:none;overflow-y:auto;padding:1rem}.edit-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--color-divider)}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh;background:var(--color-bg)}.admin-nav{position:relative;border-right:1px solid var(--color-border);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;background:var(--color-surface)}.admin-brand{display:flex;align-items:center;gap:.55rem;font-weight:700;text-decoration:none;color:var(--color-text)}.admin-brand-glyph{flex:0 0 auto;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:700}.admin-nav nav{display:flex;flex-direction:column;gap:.25rem;flex:1 1}.admin-nav a{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--color-text-muted);padding:.45rem .6rem;border-radius:var(--radius-sm)}.admin-nav .admin-nav-exit{margin-top:auto;padding-top:.7rem;border-top:1px solid var(--color-divider);border-radius:0}.admin-logout svg,.admin-nav a svg{flex:0 0 auto}.admin-nav a.active,.admin-nav a:hover{background:var(--color-primary-highlight);color:var(--color-primary)}.admin-logout{gap:.5rem}.admin-nav-toggle{position:absolute;top:1.35rem;right:-.75rem;z-index:5;display:grid;place-items:center;width:1.5rem;height:1.5rem;padding:0;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.admin-nav-toggle:hover{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 50%,transparent)}.admin-nav-toggle svg{width:.875rem;height:.875rem;transition:transform .2s ease}@media (min-width:801px){.admin-shell{transition:grid-template-columns .2s ease}.admin-shell.nav-collapsed{grid-template-columns:4.25rem 1fr}.nav-collapsed .admin-nav{padding:1.25rem .6rem;align-items:center}.nav-collapsed .admin-nav-label,.nav-collapsed .admin-nav-meta{display:none}.nav-collapsed .admin-nav nav{align-self:stretch}.nav-collapsed .admin-logout,.nav-collapsed .admin-nav a{justify-content:center;padding:.55rem}.nav-collapsed .admin-nav-toggle svg{transform:rotate(180deg)}}@media (max-width:800px){.admin-nav-toggle{display:none}}.admin-main{padding:1.5rem}.admin-page-head{justify-content:space-between;align-items:flex-start}.admin-page-head,.usage-bar{display:flex;gap:1rem;margin-bottom:1rem}.usage-bar{flex-wrap:wrap;padding:.85rem 1rem;border-radius:var(--radius-md);background:var(--color-surface-offset)}.usage-bar.warn{outline:1px solid var(--color-accent)}.usage-bar.danger{outline:1px solid #b42318}.admin-table-wrap{overflow:auto;margin-top:1rem}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.admin-table td,.admin-table th{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--color-divider);vertical-align:top}.admin-table .actions{display:flex;flex-wrap:wrap;gap:.25rem}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.skel{display:inline-block;vertical-align:middle;border-radius:3px;background:linear-gradient(105deg,color-mix(in srgb,var(--color-divider) 70%,var(--color-surface)) 20%,color-mix(in srgb,var(--color-surface-2) 88%,var(--color-divider)) 48%,color-mix(in srgb,var(--color-divider) 70%,var(--color-surface)) 76%);background-size:220% 100%;animation:skel-shimmer 1.35s ease-in-out infinite}.skel-stack{gap:.4rem}.skel-stack,.skel-tile{display:flex;flex-direction:column}.skel-tile{gap:var(--space-2);min-height:8.25rem;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);pointer-events:none}.skel-tile.featured{grid-column:span 2;min-height:11rem}.skel-folder{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);pointer-events:none}.skel-folder,.skel-status-card{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.skel-status-card{min-height:7.5rem;padding:1rem;flex-direction:column;gap:.65rem}.skel-status-card.wide{grid-column:span 3}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.tag{margin-left:.4rem;font-size:.7rem;background:var(--color-primary-highlight);color:var(--color-primary);padding:.1rem .4rem;border-radius:999px}.admin-form{display:flex;flex-direction:column;gap:.85rem;max-width:640px}.admin-form label,.admin-login label{display:flex;flex-direction:column;gap:.35rem;font-size:var(--text-sm)}.admin-form .ack{flex-direction:row;align-items:flex-start;gap:.6rem}.folder-workspace{display:grid;grid-template-columns:15rem minmax(0,1fr);min-height:34rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.folder-tree{padding:var(--space-3) var(--space-2);border-right:1px solid var(--color-divider);background:var(--color-surface-offset);overflow:auto}.folder-tree-label{padding:var(--space-1) var(--space-2) var(--space-3);color:var(--color-text-faint);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.folder-tree-group+.folder-tree-group{margin-top:var(--space-1)}.folder-tree-node,.folder-tree-type{display:flex;width:100%;align-items:center;gap:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font:inherit;text-align:left;cursor:pointer}.folder-tree-type{padding:.55rem .7rem;font-weight:700}.folder-tree-type svg{flex:0 0 auto;width:1rem;height:1rem}.folder-tree-node{min-height:2.1rem;font-size:var(--text-sm)}.folder-tree-node.active,.folder-tree-node:hover,.folder-tree-type.active,.folder-tree-type:hover{background:var(--color-primary-highlight);color:var(--color-primary)}.folder-empty-tag{margin-left:auto;color:var(--color-text-faint);font-size:.65rem}.folder-content{min-width:0;padding:var(--space-5)}.folder-crumb{display:flex;min-height:2rem;flex-wrap:wrap;margin-bottom:var(--space-3);color:var(--color-text-faint)}.folder-crumb,.folder-crumb span{align-items:center;gap:var(--space-2)}.folder-crumb span{display:inline-flex}.folder-crumb button{padding:0;border:0;background:transparent;color:var(--color-primary);font:inherit;cursor:pointer}.admin-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-5)}.admin-folder-card{display:flex;min-width:0;gap:var(--space-3);align-items:flex-start;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition),transform var(--transition)}.admin-folder-card:hover{border-color:var(--color-primary);transform:translateY(-1px)}.admin-folder-card small,.admin-folder-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-folder-card small{margin-top:.15rem;color:var(--color-text-faint);font-size:var(--text-xs)}.folder-glyph{position:relative;display:inline-block;flex:0 0 auto;width:1.8rem;height:1.3rem;margin-top:.25rem;border:1.5px solid;border-radius:.25rem;color:var(--color-primary)}.folder-glyph:before{content:"";position:absolute;top:-.38rem;left:-1.5px;width:.75rem;height:.4rem;border:1.5px solid;border-bottom:0;border-radius:.2rem .2rem 0 0;background:var(--color-surface)}.folder-glyph.tiny{width:1rem;height:.72rem;margin-top:0}.folder-glyph.tiny:before{top:-.27rem;width:.45rem;height:.28rem}.folder-glyph.large{width:3rem;height:2.2rem}.folder-browser{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.folder-search-row{display:flex;align-items:center;gap:var(--space-2);padding:.55rem;border-bottom:1px solid var(--color-divider);background:color-mix(in srgb,var(--color-surface-offset) 65%,var(--color-surface))}.folder-search-row .search-input{flex:1 1;height:2.35rem;padding:0 .95rem;border-color:transparent;border-radius:999px;background:var(--color-surface);box-shadow:var(--shadow-sm)}.folder-search-row .search-input:focus{border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);outline:none}.folder-search-row .lang-switch{flex:0 0 auto;height:2.35rem;align-items:center;padding:.2rem;border-color:transparent;background:var(--color-surface);box-shadow:var(--shadow-sm)}.folder-search-row .lang-switch button{height:100%;padding:0 .85rem;border-radius:999px}.folder-move-select{min-width:8rem;max-width:11rem;padding:.4rem;font-size:var(--text-xs)}.resource-path{display:block;margin-top:.2rem;color:var(--color-text-faint)}.folder-empty{display:grid;justify-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-12) var(--space-5);color:var(--color-text-muted);text-align:center}.folder-dialog{width:min(28rem,100%);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.folder-dialog h2{margin-bottom:var(--space-4)}.folder-dialog label{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-sm)}.folder-dialog .edit-dialog-actions{margin-top:var(--space-5)}.folder-tree-node,.folder-tree-type{padding:.2rem .3rem}.folder-tree-node .tree-node-label,.folder-tree-type .tree-node-label{display:flex;min-width:0;flex:1 1;align-items:center;gap:var(--space-2);padding:.35rem .25rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}.tree-node-label>span:not(.folder-glyph,.folder-empty-tag){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-chevron{display:grid;flex:0 0 1.25rem;width:1.25rem;height:1.6rem;place-items:center;padding:0;border:0;background:transparent;color:var(--color-text-faint);cursor:pointer}.tree-chevron:disabled{opacity:.35;cursor:default}.folder-tree-node.open:not(.active){color:var(--color-text);font-weight:600}.folder-tree-node.in-path:not(.active,.open){color:var(--color-primary)}.folder-command-bar{position:-webkit-sticky;position:sticky;z-index:4;top:var(--space-2);display:flex;box-sizing:border-box;height:3rem;flex-wrap:nowrap;align-items:center;gap:.4rem;margin-bottom:var(--space-3);padding:0 .35rem;border:1px solid transparent;border-radius:999px;background:var(--color-surface-offset);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;transition:background var(--transition),box-shadow var(--transition)}.folder-command-bar::-webkit-scrollbar{display:none}.folder-command-bar.has-selection{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 28%,transparent)}.command-create{display:inline-flex;flex:0 0 auto;align-items:center;gap:.35rem;height:2.15rem;padding:0 .95rem 0 .7rem;border:0;border-radius:999px;background:var(--color-surface);color:var(--color-primary);font:inherit;font-size:var(--text-sm);font-weight:600;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm)}.command-create span{display:grid;width:1.15rem;height:1.15rem;place-items:center;border-radius:999px;background:var(--color-primary);color:var(--color-text-inverse);font-size:.85rem;line-height:1}.command-create:hover{color:var(--color-primary-hover)}.folder-command-bar .btn{flex:0 0 auto;min-height:0;height:2.05rem;padding:0 .75rem;border-color:transparent;border-radius:999px;background:var(--color-surface);font-size:var(--text-sm);white-space:nowrap;box-shadow:var(--shadow-sm)}.folder-command-bar .btn:hover{border-color:var(--color-border)}.folder-command-bar .btn.danger{color:#9d2c24}.command-count{display:inline-flex;flex:0 0 auto;align-items:center;height:2.05rem;margin-right:.15rem;padding:0 .85rem;border-radius:999px;background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.command-clear{margin-left:auto;box-shadow:none!important;background:transparent!important;color:var(--color-text-muted)}.command-hint{display:flex;min-width:0;align-items:center;gap:.55rem;margin-left:.35rem;overflow:hidden;color:var(--color-text-faint);font-size:var(--text-xs);white-space:nowrap}.command-hint span{position:relative}.command-hint span+span:before{content:"";display:inline-block;width:3px;height:3px;margin-right:.55rem;border-radius:999px;background:var(--color-border);vertical-align:.15em}.folder-list{background:transparent}.folder-list-row{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;min-height:3.5rem;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:.45rem .85rem .45rem .7rem;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.folder-list-row+.folder-list-row{box-shadow:inset 0 1px 0 var(--color-divider)}.folder-list-row:hover{background:color-mix(in srgb,var(--color-surface-offset) 70%,transparent)}.folder-list-row.selected{background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface))}.folder-list-row.highlighted,.folder-list-row:focus-visible{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));box-shadow:inset 0 1px 0 var(--color-divider),inset 3px 0 var(--color-primary)}.folder-list-row:first-child.highlighted,.folder-list-row:first-child:focus-visible{box-shadow:inset 3px 0 var(--color-primary)}.folder-list-row:focus{outline:none}.folder-list-row input[type=checkbox]{width:.95rem;height:.95rem;margin:0;accent-color:var(--color-primary)}.folder-list-row .folder-glyph{color:color-mix(in srgb,var(--color-primary) 72%,var(--color-text-muted))}.folder-list-main{min-width:0}.folder-list-main small,.folder-list-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-list-main small{margin-top:.15rem;color:var(--color-text-muted);font-size:var(--text-xs)}.row-open{height:1.85rem;padding:0 .7rem;border:0;border-radius:999px;background:transparent;color:var(--color-text-faint);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer}.folder-list-row.highlighted .row-open,.folder-list-row:hover .row-open,.row-open:focus-visible{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.row-context-menu button.danger{color:#b42318}.row-context-menu{position:fixed;z-index:40;display:grid;min-width:8.5rem;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md)}.row-context-menu button{padding:.5rem .65rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.row-context-menu button:hover{background:var(--color-surface-offset)}.folder-list-loading{padding:var(--space-6)}.inline-folder-name{width:min(22rem,100%);padding:.4rem .55rem;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.move-dialog{width:min(32rem,100%)}.move-tree{max-height:min(50vh,26rem);margin-top:var(--space-3);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:auto}.move-tree button{display:flex;width:100%;align-items:center;gap:var(--space-2);padding:.5rem .75rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.move-tree button.active,.move-tree button:hover:not(:disabled){background:var(--color-primary-highlight);color:var(--color-primary)}.move-tree button:disabled{opacity:.42;cursor:not-allowed}.delete-dialog strong{color:#b42318}.delete-ack{flex-direction:row!important;align-items:center}.danger-solid{border-color:#b42318!important;background:#b42318!important;color:white!important}.danger-solid:disabled{opacity:.45}@media (max-width:700px){.folder-list-row{grid-template-columns:auto auto minmax(0,1fr);gap:var(--space-2)}.command-hint,.row-open{display:none}}.success-note{color:#1c7a4f}@media (max-width:1050px){.folder-workspace{grid-template-columns:12rem minmax(0,1fr)}.admin-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.folder-workspace{grid-template-columns:1fr}.folder-tree{max-height:16rem;border-right:0;border-bottom:1px solid var(--color-divider)}}@media (max-width:560px){.admin-folder-grid{grid-template-columns:1fr}.folder-search-row{align-items:stretch;flex-direction:column}}.library-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.library-folder-card{display:flex;min-width:0;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;text-decoration:none;box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.library-folder-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.library-folder-card small,.library-folder-card strong{display:block}.library-folder-card strong{font-family:var(--font-display);font-size:var(--text-base)}.library-folder-card small{margin-top:.15rem;color:var(--color-text-muted);font-size:var(--text-xs)}.home-browser{margin-top:var(--space-4)}.browser-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.browser-tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:.4rem .8rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.browser-tab svg{width:1rem;height:1rem}.browser-tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.browser-tab.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse);font-weight:600}.browser-tab-count{padding:.05rem .45rem;border-radius:999px;background:var(--color-primary-highlight);color:var(--color-primary);font-size:var(--text-xs)}.browser-tab.active .browser-tab-count{background:rgb(255 255 255/.22);color:var(--color-text-inverse)}.browser-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:var(--space-3) 0 0}.browser-bar .library-breadcrumb{margin-bottom:0}.crumb-btn{padding:0;border:0;background:none;color:var(--color-primary);font:inherit;font-size:var(--text-sm);cursor:pointer}.crumb-btn:hover{text-decoration:underline}.crumb-btn.current{color:var(--color-text);font-weight:600;cursor:default}.browser-deeplink,.crumb-btn.current:hover{text-decoration:none}.browser-deeplink{margin-left:auto;color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap}.browser-deeplink:hover{color:var(--color-primary);text-decoration:underline}.type-mark{display:grid;flex:0 0 auto;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background:var(--color-primary-highlight);color:var(--color-primary)}.type-mark svg{width:1.2rem;height:1.2rem}.library-folder-card .folder-glyph{margin-top:0}.library-folder-copy{min-width:0}.library-folder-copy small,.library-folder-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-entry{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.library-entry-main{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6);color:var(--color-text);text-decoration:none;transition:background var(--transition)}.library-entry-main:hover{background:var(--color-primary-highlight)}.library-entry-mark{display:grid;flex:0 0 auto;place-items:center;width:3.5rem;height:3.5rem;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse)}.library-entry-mark svg{width:1.75rem;height:1.75rem}.library-entry-copy{min-width:0;flex:1 1}.library-entry-copy strong{display:block;font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.2}.library-entry-copy span{display:block;margin-top:.3rem;color:var(--color-text-muted);font-size:var(--text-sm)}.library-entry-arrow{flex:0 0 auto;color:var(--color-primary);font-size:var(--text-2xl);transition:transform var(--transition)}.library-entry-main:hover .library-entry-arrow{transform:translateX(.3rem)}.library-entry-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-divider);background:var(--color-surface-offset)}.library-entry-shortcuts-label{margin-right:var(--space-1);color:var(--color-text-faint);font-size:var(--text-xs)}.library-entry-shortcut{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none;transition:background var(--transition),color var(--transition)}.library-entry-shortcut svg{width:.9rem;height:.9rem}.library-entry-shortcut small{color:var(--color-text-faint);font-size:var(--text-xs)}.library-entry-shortcut:hover{background:var(--color-surface);color:var(--color-primary)}@media (max-width:620px){.library-entry-main{align-items:flex-start;gap:var(--space-4);padding:var(--space-5)}.library-entry-shortcuts{padding:var(--space-3) var(--space-5)}}.library-type-sections{display:flex;flex-direction:column;gap:var(--space-6)}.library-type-head,.library-type-section>.library-folder-grid{margin-bottom:var(--space-3)}.library-type-head{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.library-type-title{min-width:0}.library-type-title strong{display:block;font-family:var(--font-display);font-size:var(--text-base)}.library-type-title small{display:block;color:var(--color-text-muted);font-size:var(--text-xs)}.library-type-all,.library-type-more{color:var(--color-primary);font-size:var(--text-sm);text-decoration:none;white-space:nowrap}.library-type-more{margin-left:auto}.library-type-all{display:inline-block;margin-top:var(--space-3)}.library-type-all:hover,.library-type-more:hover{text-decoration:underline}.folder-arrow{margin-left:auto;color:var(--color-primary);font-size:var(--text-lg)}.library-page{min-height:65vh;padding-top:var(--space-10);padding-bottom:var(--space-16)}.library-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6);color:var(--color-text-faint);font-size:var(--text-sm)}.library-breadcrumb>span{display:inline-flex;align-items:center;gap:var(--space-2)}.library-breadcrumb a{color:var(--color-primary);text-decoration:none}.library-breadcrumb a.current{color:var(--color-text-muted)}.library-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-5)}.library-page-head h1{max-width:18ch}.library-type-links{display:flex;gap:var(--space-2);flex-wrap:wrap}.library-type-links a{padding:.45rem .85rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none}.library-type-links a.active,.library-type-links a:hover{border-color:var(--color-primary);background:var(--color-primary-highlight);color:var(--color-primary)}.library-search{margin-bottom:var(--space-8)}.library-folder-section,.library-resource-section{padding:0;margin-top:var(--space-5)}.library-folder-section h2,.library-resource-section h2{margin-bottom:var(--space-3);font-size:var(--text-base)}.library-section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-3)}.library-section-head h2{margin-bottom:0}.resource-location{color:var(--color-primary);font-size:var(--text-xs)}.library-not-found{max-width:44rem;margin:var(--space-16) auto}.library-not-found .btn{margin-top:var(--space-5)}@media (max-width:800px){.library-folder-grid{grid-template-columns:1fr}.library-page-head{align-items:flex-start;flex-direction:column}}.site-editor{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-16)}.site-editor-bar{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-4);padding:var(--space-3) 0;background:color-mix(in srgb,var(--color-bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-divider)}.site-editor-bar-main{display:flex;align-items:center;gap:var(--space-3)}.site-editor-bar-main h1{margin:0;font-size:var(--text-lg)}.site-editor-bar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.save-state{padding:.15rem .6rem;border-radius:999px;border:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-faint);white-space:nowrap}.save-state.is-dirty{color:#8a5a10;border-color:color-mix(in srgb,#c8891a 45%,transparent);background:color-mix(in srgb,#c8891a 14%,transparent)}.save-state.is-saved{color:#1c7a4f;border-color:color-mix(in srgb,#1c7a4f 45%,transparent);background:color-mix(in srgb,#1c7a4f 14%,transparent)}[data-theme=dark] .save-state.is-dirty{color:#e0ac52}[data-theme=dark] .save-state.is-saved{color:#6cc39a}.lang-switch{display:inline-flex;border:1px solid var(--color-border);border-radius:999px;overflow:hidden}.lang-switch button{padding:.35rem .8rem;border:0;background:none;font:inherit;font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer}.lang-switch button.active{background:var(--color-primary);color:var(--color-text-inverse)}.save-btn.is-saved,.save-btn.is-saved:disabled{background:#1c7a4f;opacity:1;animation:save-pop .35s ease-out}@keyframes save-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.brand-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);grid-gap:var(--space-6);gap:var(--space-6);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.brand-field{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.brand-field+.brand-field{padding-left:var(--space-6);border-left:1px solid var(--color-divider)}.brand-field-label{margin:0;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-faint)}.brand-field p{margin:0}.brand-logo-row{display:flex;align-items:flex-start;gap:var(--space-4)}.brand-logo-tile{flex:0 0 auto;display:grid;place-items:center;width:72px;height:72px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-offset);color:var(--color-primary)}.brand-logo-tile img{max-width:100%;max-height:100%;object-fit:contain}.brand-logo-tile .brand-mark{width:48px;height:48px}.brand-logo-actions{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.brand-logo-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.brand-colors{display:flex;flex-wrap:wrap;gap:var(--space-4)}.color-swatch{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.color-swatch input[type=color]{width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:none;cursor:pointer}.color-swatch-meta{display:flex;flex-direction:column;line-height:1.3}.color-swatch-name{font-size:var(--text-sm)}.color-swatch-hex{font-size:var(--text-xs);color:var(--color-text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.brand-email{width:100%;padding:.5rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);font:inherit;font-size:var(--text-sm);transition:border-color .15s ease,box-shadow .15s ease}.brand-email::placeholder{color:var(--color-text-faint)}.brand-email:focus,.brand-email:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.preview-hint{margin:0}.preview-link{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .65rem;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;white-space:nowrap}.preview-link:hover{color:var(--color-primary);background:var(--color-surface-offset)}.preview-link svg{width:.95em;height:.95em}.site-preview{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease;--text-2xl:2.25rem;--text-xl:1.5rem;--text-lg:1.2rem}.site-preview.is-saved{border-color:#1c7a4f;box-shadow:0 0 0 3px color-mix(in srgb,#1c7a4f 22%,transparent)}.site-preview .site-header{position:static;-webkit-backdrop-filter:none;backdrop-filter:none}.preview-note{margin:var(--space-4) 0 0}.brand-home{display:inline-flex;border-radius:var(--radius-sm);text-decoration:none}.brand-logo-edit{position:relative;display:inline-flex;padding:0;border:0;border-radius:var(--radius-sm);background:none;cursor:pointer}.brand-logo-edit-hint{position:absolute;inset:0;display:grid;place-items:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-text) 62%,transparent);color:var(--color-text-inverse);font-size:.625rem;opacity:0;transition:opacity .15s ease}.brand-logo-edit:focus-visible .brand-logo-edit-hint,.brand-logo-edit:hover .brand-logo-edit-hint{opacity:1}.copy-editable{cursor:text;border-radius:var(--radius-sm);outline:1px dashed transparent;outline-offset:3px;transition:outline-color .15s ease,background-color .15s ease}.copy-editable:hover{outline-color:color-mix(in srgb,var(--color-primary) 55%,transparent);background:color-mix(in srgb,var(--color-primary) 7%,transparent)}.copy-editable:focus{outline:2px solid var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,transparent)}.copy-editable.is-changed{-webkit-text-decoration:underline dotted color-mix(in srgb,var(--color-accent) 80%,transparent);text-decoration:underline dotted color-mix(in srgb,var(--color-accent) 80%,transparent);text-underline-offset:5px}.copy-focus-bar{position:fixed;left:50%;bottom:var(--space-4);transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:var(--space-3);padding:.5rem .9rem;border-radius:999px;background:var(--color-text);color:var(--color-text-inverse);font-size:var(--text-xs);white-space:nowrap;box-shadow:0 10px 30px rgb(0 0 0/.18)}.copy-focus-bar .link-btn{color:inherit;text-decoration:underline}.site-toast{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:70;max-width:24rem;padding:.7rem 1rem;border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);box-shadow:0 12px 34px rgb(0 0 0/.22);animation:toast-in .25s ease-out}.site-toast.ok{background:#1c7a4f}.site-toast.bad{background:#a33131}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width:1080px){.brand-panel{grid-template-columns:1fr;gap:var(--space-5)}.brand-field+.brand-field{padding-left:0;padding-top:var(--space-5);border-left:0;border-top:1px solid var(--color-divider)}}@media (max-width:640px){.site-editor-bar{flex-direction:column;align-items:stretch}}.admin-login{min-height:100vh;display:grid;place-items:center;padding:1rem}.admin-login-card{width:min(400px,100%);display:flex;flex-direction:column;gap:.85rem;padding:1.5rem}.upgrade-page{max-width:900px}.section-label{display:flex;align-items:center;gap:.5rem;margin:1.75rem 0 .75rem;font-size:var(--text-base)}.count-pill{font-size:var(--text-xs);font-weight:600;padding:.1rem .5rem;border-radius:999px;background:var(--color-surface-offset);color:var(--color-text-muted)}.count-pill.on{background:var(--color-primary-highlight);color:var(--color-primary)}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.status-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.15rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.status-card.wide{grid-column:span 3}.status-card.warn{border-color:var(--color-accent)}.status-card.danger{border-color:#b42318}.status-label{font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-text-muted)}.status-value{font-size:1.5rem;line-height:1.2}.status-value .of{font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted)}.status-note{font-size:var(--text-xs);color:var(--color-text-muted)}.status-card .progress-track{margin:.25rem 0}.progress-fill.warn{background:var(--color-accent)}.progress-fill.danger{background:#b42318}.cap-list{display:grid;grid-gap:.75rem;gap:.75rem}.cap-card{padding:1.15rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.cap-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.cap-head h3{margin:0;font-size:var(--text-base)}.cap-state{flex-shrink:0;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:999px}.cap-state.locked{background:var(--color-surface-offset);color:var(--color-text-muted)}.cap-compare{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;grid-gap:.6rem;gap:.6rem}.cap-side{display:flex;flex-direction:column;gap:.25rem;padding:.7rem .85rem;border-radius:var(--radius-md);background:var(--color-surface-offset);font-size:var(--text-sm)}.cap-side.after{background:var(--color-primary-highlight);color:var(--color-primary)}.cap-side p{margin:0;font-weight:600}.cap-side-label{font-size:var(--text-xs);font-weight:400;opacity:.75}.cap-arrow{align-self:center}.cap-arrow,.cap-why{color:var(--color-text-muted)}.cap-why{margin:.85rem 0 0;font-size:var(--text-sm)}.cap-why span{font-weight:600;color:var(--color-text)}.cap-done{list-style:none;margin:0;padding:0;display:grid;grid-gap:.4rem;gap:.4rem}.cap-done li{display:flex;align-items:baseline;gap:.5rem;padding:.6rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm)}.cap-done .tick{color:var(--color-primary);font-weight:700}.cta-panel{margin-top:1.75rem}.cta-panel p{margin:.35rem 0 0}.audit-list{list-style:none;padding:0;font-size:var(--text-sm);color:var(--color-text-muted)}.small{font-size:var(--text-xs)}.upload-page{max-width:860px}.upload-form{display:flex;flex-direction:column;gap:1rem}.upload-step{padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.upload-step h2{display:flex;align-items:center;gap:.6rem;margin:0 0 1rem;font-size:var(--text-base)}.step-no{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:999px;background:var(--color-primary-highlight);color:var(--color-primary);font-size:var(--text-xs);font-weight:700}.type-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem}.type-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.type-card.active,.type-card:hover{border-color:var(--color-primary)}.type-card.active{background:var(--color-primary-highlight)}.type-icon{font-size:1.4rem}.type-name{font-weight:700}.type-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:2.25rem 1rem;border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-offset);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.dropzone.dragging,.dropzone:hover{border-color:var(--color-primary);background:var(--color-primary-highlight)}.dropzone-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:999px;background:var(--color-surface);color:var(--color-primary);font-size:1.2rem}.dropzone-title{margin:0;font-weight:600}.dropzone p{margin:0}.visually-hidden-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-card{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-surface-offset)}.file-card.invalid{border-color:#b42318}.file-icon{font-size:1.5rem}.file-meta{display:flex;flex-direction:column;gap:.15rem;flex:1 1;min-width:0;font-size:var(--text-sm)}.file-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-actions{display:flex;gap:.35rem;flex-shrink:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.form-grid>label{display:flex;flex-direction:column;gap:.35rem;font-size:var(--text-sm);font-weight:600}.form-grid>label.span-2{grid-column:span 2}.upload-form input:not([type]),.upload-form input[type=date],.upload-form input[type=text],.upload-form select,.upload-form textarea{width:100%;padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:400;line-height:1.5}.upload-form input:not([type]),.upload-form input[type=date],.upload-form input[type=text],.upload-form select{height:3.125rem}.upload-form textarea{resize:vertical}.field-label{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;min-height:1.5rem}.opt,.req{font-size:.7rem;font-weight:500;padding:.1rem .4rem;border-radius:999px}.req{background:var(--color-primary-highlight);color:var(--color-primary)}.opt{background:var(--color-surface-offset)}.field-hint,.opt{color:var(--color-text-muted)}.field-hint{font-size:var(--text-xs);font-weight:400}.field-hint.over{color:#b42318}.toggle-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem}.toggle-card{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm)}.toggle-card:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-highlight)}.toggle-card span{display:flex;flex-direction:column;gap:.15rem}.toggle-card em{font-style:normal;font-size:var(--text-xs);color:var(--color-text-muted)}.upload-progress{display:flex;flex-direction:column;gap:.35rem}.progress-track{height:.5rem;border-radius:999px;background:var(--color-surface-offset);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);transition:width .2s ease}.submit-bar{position:-webkit-sticky;position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.submit-actions{display:flex;gap:.5rem}.dev-head{align-items:flex-end}.dev-search{width:min(300px,100%)}.dev-pricing{display:flex;align-items:center;gap:.65rem;padding:.7rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-offset);font-size:var(--text-sm)}.dev-pricing span{padding:.15rem .45rem;border-radius:999px;background:var(--color-text);color:var(--color-text-inverse);font-size:var(--text-xs)}.dev-message{position:fixed;top:1rem;right:1rem;z-index:100;width:min(380px,calc(100vw - 2rem));padding:.7rem .85rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);font-size:var(--text-sm)}.dev-message.ok{border-color:var(--color-primary);color:var(--color-primary)}.dev-message.error{border-color:#b42318;color:#b42318}.dev-owner-list{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem}.dev-owner{padding:1.25rem}.dev-owner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dev-owner-title{display:flex;align-items:center;gap:.6rem}.dev-owner-head p,.dev-owner-title h2{margin:0}.owner-status{padding:.15rem .5rem;border-radius:999px;background:var(--color-surface-offset);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600}.owner-status.active{background:var(--color-primary-highlight);color:var(--color-primary)}.owner-status.expired,.owner-status.suspended{background:color-mix(in srgb,#b42318 12%,transparent);color:#b42318}.dev-owner-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1.25rem}.dev-owner-metrics>div{display:flex;flex-direction:column;gap:.1rem}.dev-owner-metrics span{color:var(--color-text-muted);font-size:var(--text-xs)}.dev-owner-metrics strong{font-size:var(--text-sm)}.dev-owner>.progress-track{margin-top:.9rem;height:.35rem}.dev-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.dev-control-section{margin-top:.85rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2)}.dev-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.dev-section-head h2,.dev-section-head h3,.dev-section-head p{margin:0}.dev-section-head h3{font-size:var(--text-base)}.dev-section-head p{margin-top:.15rem;color:var(--color-text-muted);font-size:var(--text-xs)}.segmented{display:inline-flex;padding:.2rem;border-radius:var(--radius-md);background:var(--color-surface-offset)}.segmented button{padding:.4rem .85rem;border:0;border-radius:calc(var(--radius-md) - .15rem);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.segmented button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.segmented button:disabled{cursor:default}.stepper-row{display:flex;flex-wrap:wrap;gap:.4rem}.stepper-row .btn{padding:.4rem .65rem;font-size:var(--text-sm)}.stepper-row .selected{border-color:var(--color-primary);background:var(--color-primary-highlight);color:var(--color-primary)}.exact-row{display:flex;align-items:flex-end;gap:.5rem;margin-top:.75rem}.exact-row label{display:flex;flex:1 1;flex-direction:column;gap:.3rem;color:var(--color-text-muted);font-size:var(--text-xs)}.exact-row input{width:100%;min-width:0;height:2.55rem;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit}.hosting-controls{display:grid;grid-template-columns:auto minmax(300px,1fr);align-items:flex-end;grid-gap:.75rem;gap:.75rem}.hosting-controls .exact-row{margin-top:0}.capability-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.capability-switch{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer}.capability-switch span{display:flex;flex-direction:column;gap:.15rem}.capability-switch em{color:var(--color-text-muted);font-size:var(--text-xs);font-style:normal}.capability-switch i{position:relative;width:2.2rem;height:1.2rem;flex-shrink:0;border-radius:999px;background:var(--color-border);transition:background .15s ease}.capability-switch i:after{content:"";position:absolute;top:.15rem;left:.15rem;width:.9rem;height:.9rem;border-radius:999px;background:white;transition:transform .15s ease}.capability-switch.on{border-color:var(--color-primary);background:var(--color-primary-highlight)}.capability-switch.on i{background:var(--color-primary)}.capability-switch.on i:after{transform:translateX(1rem)}.dev-advanced{margin-top:.85rem;padding:.75rem 1rem;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.dev-advanced summary{color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer}.dev-advanced .dev-control-grid{margin-top:.75rem}.dev-audit{margin-top:2rem}.audit-cards{display:grid;grid-gap:.4rem;gap:.4rem}.audit-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.audit-card>div{display:flex;min-width:0;flex-direction:column;gap:.1rem}.audit-card strong{font-size:var(--text-sm)}.audit-card span{color:var(--color-text-muted);font-size:var(--text-xs)}.audit-undone{white-space:nowrap}@media (max-width:800px){.admin-shell,.status-grid{grid-template-columns:1fr}.skel-status-card.wide,.status-card.wide{grid-column:span 1}.cap-compare{grid-template-columns:1fr}.cap-arrow{justify-self:center;transform:rotate(90deg)}.form-grid{grid-template-columns:1fr}.form-grid>label.span-2{grid-column:span 1}.dev-head,.dev-owner-head{align-items:stretch;flex-direction:column}.dev-owner-metrics{justify-content:flex-start}.capability-switches,.dev-control-grid,.hosting-controls{grid-template-columns:1fr}.exact-row{flex-wrap:wrap}}