:root{--bg:#f3f5f8;--surface:#ffffff;--text:#121a26;--muted:#5d6878;--border:#dde2ea;--accent:#2c5d93;--accent-soft:#e6eef8;--danger:#b23a3a;--tab-bg:rgba(255,255,255,0.92);color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#0c121c;--surface:#151d2a;--text:#e8edf4;--muted:#94a0b2;--border:#253043;--accent:#7fb0e6;--accent-soft:#1b2a3f;--danger:#ef8a8a;--tab-bg:rgba(16,23,34,0.92)}}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}code{font-size:.9em}.shell{min-height:100dvh}.content{max-width:640px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 20px) 16px calc(env(safe-area-inset-bottom) + 96px);display:flex;flex-direction:column;gap:12px}.page-header{padding:8px 4px}.page-header h1{font-size:28px;font-weight:700;letter-spacing:-.01em}.eyebrow{color:var(--muted);font-size:14px;font-weight:500;margin-bottom:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.card h2{font-size:17px;font-weight:600;margin-bottom:4px}.card p{color:var(--muted);font-size:15px;line-height:1.4}.muted-card{position:relative}.badge{display:inline-block;margin-top:10px;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 10px}.signout{display:flex;justify-content:center;padding-top:12px}.link-button{background:none;border:none;color:var(--muted);font:inherit;font-size:14px;text-decoration:underline;padding:8px}.tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:var(--tab-bg);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;color:var(--muted);text-decoration:none;font-size:10.5px;font-weight:500}.tab.active{color:var(--accent)}.tab-icon svg{width:24px;height:24px;display:block}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px 24px;display:flex;flex-direction:column;gap:16px;text-align:center}.login-mark{width:56px;height:56px;margin:0 auto;border-radius:14px;background:#13233a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.04em}.login-card h1{font-size:22px;font-weight:700}.login-form{display:flex;flex-direction:column;gap:10px;text-align:left}.login-form label{font-size:14px;color:var(--muted);font-weight:500}.login-form input{font:inherit;font-size:17px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.login-form button{font:inherit;font-size:17px;font-weight:600;padding:12px;border:none;border-radius:10px;background:var(--accent);color:#fff;margin-top:4px}@media (prefers-color-scheme:dark){.login-form button{color:#0c121c}}.error{color:var(--danger);font-size:14px}.notice{color:var(--muted);font-size:15px;line-height:1.4}