*{box-sizing:border-box}:root{--bg:#fff;--fg:#111;--muted:#666;--card-bg:#f3f4f6;--border:#d1d5db}@media (prefers-color-scheme:dark){:root{--bg:#111;--fg:#eee;--muted:#999;--card-bg:#1c1c1c;--border:#444}}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}img{max-width:100%}.logo-dark{display:none}@media (prefers-color-scheme:dark){.logo-light-has-dark{display:none}.logo-dark{display:block}}.form-input{width:100%;padding:10px 12px;border-radius:6px;border:1px solid var(--border);background:var(--card-bg);color:var(--fg);font-size:16px}.btn{padding:10px 16px;border-radius:6px;border:none;background:#2563eb;color:#fff;font-size:15px;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--fg)}.page-search-text{position:absolute;inset:0;overflow:hidden;opacity:0;color:transparent;font-size:1px;line-height:0;pointer-events:none}.back-to-index{bottom:16px;min-width:52px;padding:0 14px;border-radius:999px;color:#fff;text-decoration:none;white-space:nowrap;font-size:20px;font-weight:700}.back-to-index,.search-fab{position:fixed;right:16px;height:52px;display:flex;align-items:center;justify-content:center;background:#2563eb;box-shadow:0 4px 12px rgba(0,0,0,.4);z-index:10}.search-fab{bottom:80px;width:52px;border:none;border-radius:999px;cursor:pointer}.search-panel{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:var(--bg);color:var(--fg)}.search-panel-bar{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.search-input{flex:1 1;min-width:0;padding:12px 14px;border-radius:10px;border:2px solid var(--border);background:var(--card-bg);color:var(--fg);font-size:16px}.search-close{flex:none;width:44px;height:44px;align-self:center;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:999px;background:transparent;color:var(--fg);cursor:pointer}.search-close:hover{background:var(--card-bg)}.search-results{flex:1 1;overflow-y:auto;padding:8px 12px 24px;max-width:900px;width:100%;margin:0 auto}.search-hint{color:var(--muted);font-size:14px;margin:12px 4px}.search-list{list-style:none;margin:0;padding:0}.search-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 8px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--fg);text-align:left;font-size:14px;line-height:1.35;cursor:pointer}a.search-item{text-decoration:none;box-sizing:border-box}.search-item-page{flex:none;padding:3px 8px;border-radius:999px;color:#fff;font-size:12px;font-weight:700;white-space:nowrap}.search-item-text{flex:1 1;min-width:0;overflow-wrap:anywhere}.search-divider{margin:16px 4px 4px;color:var(--muted);font-size:13px;font-weight:700}.search-item-title{display:block;font-size:15px}.search-item-snippet{display:block;margin-top:4px;color:var(--muted);font-size:13px}button.back-to-index{border:0;cursor:pointer;font-family:inherit}.menu-backdrop{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.28);animation:menu-fade .15s ease-out}.menu-cloud{position:fixed;right:16px;bottom:82px;z-index:55;width:min(340px,calc(100vw - 32px));max-height:min(70vh,560px);display:flex;flex-direction:column;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:22px;box-shadow:0 12px 32px rgba(0,0,0,.35);transform-origin:bottom right;animation:menu-pop .16s ease-out}.menu-cloud-tail{position:absolute;right:22px;bottom:-9px;width:16px;height:16px;background:var(--bg);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}.menu-cloud-scroll{overflow-y:auto;padding:8px;border-radius:22px}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px;border:none;border-radius:12px;background:transparent;color:var(--fg);text-align:left;font-size:15px;cursor:pointer}.menu-row-open,.menu-row:active,.menu-row:hover{background:var(--card-bg)}.menu-row-open{font-weight:700}.menu-row-muted{color:var(--muted);font-size:13px}.menu-sub{margin:2px 0 6px 10px;padding-left:8px;border-left:2px solid var(--border)}.menu-sub .menu-row{padding:10px;font-size:14px}.menu-chevron{flex:none;color:var(--muted);font-size:20px;line-height:1;transition:transform .15s ease}.menu-chevron-open{transform:rotate(90deg)}.menu-right{display:flex;align-items:center;gap:10px}.menu-count{flex:none;min-width:26px;padding:2px 8px;border-radius:999px;color:#fff;font-size:12px;font-weight:700;text-align:center}@keyframes menu-fade{0%{opacity:0}to{opacity:1}}@keyframes menu-pop{0%{opacity:0;transform:scale(.85) translateY(10px)}to{opacity:1;transform:none}}.want-it-btn{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;background:#25d366;color:#fff;text-decoration:none;font-size:14px;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.4);z-index:5}.admin-layout{max-width:1600px;margin:40px auto 0;padding:0 24px 24px}.admin-columns{display:grid;grid-template-columns:minmax(320px,400px) 1fr 1fr;grid-gap:32px;gap:32px;align-items:stretch;height:calc(100vh - 160px);min-height:400px}.admin-column{height:100%;overflow-y:auto;padding-right:8px}.admin-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#999;margin:28px 0 12px}.admin-section-title:first-child{margin-top:0}@media (max-width:1100px){.admin-columns{grid-template-columns:1fr;height:auto}.admin-column{height:auto;overflow-y:visible;padding-right:0}}.admin-card{border:1px solid var(--border);border-radius:10px;padding:20px;background:var(--card-bg)}.admin-card+.admin-card,.admin-card+.admin-stat-row,.admin-stat-row+.admin-card{margin-top:20px}.admin-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:20px;gap:20px}.admin-narrow{max-width:480px}.mini-bar-chart{display:flex;align-items:flex-end;gap:3px;height:60px;margin:12px 0 6px}.mini-bar-chart .bar{flex:1 1;background:#2563eb;border-radius:2px 2px 0 0;min-height:2px}.mini-bar-chart .bar-track{display:flex;flex-direction:column;justify-content:flex-end;height:100%;flex:1 1}