:root{--bg: #0d0f14;--surface: #161a22;--surface-2: #1f2430;--surface-3: #2a3040;--line: #2c3342;--text: #e8ebf2;--muted: #8e97aa;--accent: #ff3b3b;--accent-2: #3fa9f5;--ok: #2ecc71;--warn: #f5b041;--danger: #ff5c5c;--radius: 10px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;-webkit-tap-highlight-color:transparent}a{color:var(--accent-2)}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.15rem}.muted{color:var(--muted)}.small{font-size:.85rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.spacer{flex:1}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem .9rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}button:hover:not(:disabled),.btn:hover:not(:disabled){background:var(--surface-3)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger,.btn.danger{color:var(--danger)}button.ghost,.btn.ghost{background:transparent;border-color:transparent}button.sm,.btn.sm{padding:.3rem .6rem;font-size:.85rem}input,select,textarea{padding:.5rem .65rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-2);outline-offset:-1px}label.field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1rem;overflow-x:auto}.tabs a{padding:.6rem .9rem;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}.tabs a.active{color:var(--text);border-color:var(--accent)}.badge{display:inline-block;padding:.1rem .45rem;border-radius:999px;background:var(--surface-3);font-size:.75rem;font-weight:600}.badge.ok{background:color-mix(in srgb,var(--ok) 25%,transparent);color:var(--ok)}.badge.warn{background:color-mix(in srgb,var(--warn) 25%,transparent);color:var(--warn)}.alert{padding:.75rem 1rem;border-radius:8px;border:1px solid var(--line);background:var(--surface-2)}.alert.error{border-color:var(--danger);color:var(--danger)}.alert.info{border-color:var(--accent-2)}.alert.warn{border-color:var(--warn);color:var(--warn)}.list-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.list-item:last-child{border-bottom:0}.list-item.clickable{cursor:pointer}.list-item.clickable:hover{background:var(--surface-2)}.avatar{--size: 32px;display:inline-flex;flex:none;align-items:center;justify-content:center;width:var(--size);height:var(--size);border-radius:6px;overflow:hidden;background:var(--surface-3);color:var(--muted);font-size:calc(var(--size) * .38);font-weight:700}.avatar img{width:100%;height:100%;object-fit:cover}.spinner{width:28px;height:28px;margin:2rem auto;border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.spinner.sm{width:14px;height:14px;margin:0;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.page{display:flex;flex-direction:column;gap:1rem;max-width:1100px;margin:0 auto}.page-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.page-head h1{margin:0}.form-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.form-grid .wide{grid-column:1/-1}label.check{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}textarea{resize:vertical;font-family:inherit}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.thumb{flex:none;width:120px;aspect-ratio:16/9;border-radius:6px;object-fit:cover;background:var(--surface-3)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.progress{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transition:width .2s}.stat{display:flex;flex-direction:column;gap:.15rem}.stat strong{font-size:1.4rem}.badge.danger{background:color-mix(in srgb,var(--danger) 25%,transparent);color:var(--danger)}.badge.info{background:color-mix(in srgb,var(--accent-2) 25%,transparent);color:var(--accent-2)}.toasts{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:50;display:flex;flex-direction:column;gap:.5rem;max-width:min(420px,100vw - 2rem)}.toast{padding:.7rem 1rem;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);box-shadow:0 8px 24px #0006;cursor:pointer}.toast.ok{border-color:var(--ok)}.toast.error{border-color:var(--danger)}.page.policy{display:block;max-width:760px;line-height:1.6}.page.policy h1,.page.policy h2{margin-top:1.5rem}
