:root{--paper:#f5f7f3;--surface:#fff;--ink:#18261f;--ink-2:#4a5a51;--ink-3:#7a877f;--rule:#d9dfd9;--moss:#2e6b4e;--moss-soft:#dcebe1;--amber:#b8741a;--sans:"Avenir Next", "Avenir", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--paper:#111915;--surface:#18221c;--ink:#e7ede8;--ink-2:#b4bfb7;--ink-3:#7f8c84;--rule:#2a362f;--moss:#7cc39b;--moss-soft:#1e3328;--amber:#e0a44e}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--rule);background:var(--surface);padding:28px 28px 0}.app-header h1{letter-spacing:-.01em;margin:0;font-size:28px}.app-tagline{color:var(--ink-2);margin:4px 0 16px}.app-nav{flex-wrap:wrap;gap:4px;display:flex}.app-nav a{color:var(--ink-2);border-bottom:2px solid #0000;padding:8px 12px;text-decoration:none}.app-nav a:hover,.app-nav a:focus-visible{color:var(--ink);outline:none}.app-nav a.active{color:var(--moss);border-bottom-color:var(--moss);font-weight:600}.app-content{flex:1;max-width:860px;padding:28px}.tab-page h2{margin:0 0 8px;font-size:22px}.tab-question{color:var(--ink-2);margin:0 0 12px}.tab-status{font-family:var(--mono);background:var(--moss-soft);color:var(--moss);border-radius:999px;padding:3px 10px;font-size:12px;display:inline-block}.app-footer{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-3);padding:12px 28px;font-size:12px}.app-footer a{color:inherit;text-decoration:none}.auth-login,.auth-loading{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--rule);border-radius:8px;max-width:420px;padding:28px}.auth-card h1{margin:0 0 8px}.auth-error{color:var(--amber)}.auth-button{background:var(--moss);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:6px;margin-top:12px;padding:10px 16px}
