:root{--bg:#f7f7f5;--surface:#fff;--text:#1d1d1b;--muted:#6b6b66;--line:#e2e2dc;--accent:#1f5f8b;--accent-text:#fff;--danger:#a3261c;--danger-bg:#fbeceb;--notice-bg:#eef5fa;--radius:6px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#161615;--surface:#1f1f1d;--text:#ececea;--muted:#9b9b95;--line:#34342f;--accent:#6aa9d6;--accent-text:#0d1b26;--danger:#f08a80;--danger-bg:#3a1c19;--notice-bg:#1a2a36}}*{box-sizing:border-box}body{margin:0}h1{margin:0 0 1rem;font-size:1.4rem}h2{margin:1.75rem 0 .5rem;font-size:1.1rem}.shell main{max-width:760px;margin:0 auto;padding:1.25rem 1rem 4rem}.nav{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.brand{font-weight:700}.spacer{flex:1}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}input,button{font:inherit;color:inherit}input{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:.45rem .55rem}button{background:var(--accent);color:var(--accent-text);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;padding:.5rem .9rem}button.secondary{color:var(--accent);background:0 0}button.link{color:var(--accent);background:0 0;border:none;padding:0}button:disabled{opacity:.55;cursor:default}.cards{gap:.75rem;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem}.card p{margin:.5rem 0 0}.week{grid-template-columns:repeat(7,minmax(3.2rem,1fr));gap:.4rem;margin-top:.75rem;display:grid}.week label{color:var(--muted);flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.week .row{grid-column:1/-1;margin-top:.25rem}@media (width<=420px){.week{grid-template-columns:repeat(4,1fr)}}.badge{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.78rem;display:inline-block}.muted{color:var(--muted)}.nav a{color:var(--text);text-decoration:none}.nav a.active{color:var(--accent);font-weight:600}.badge.demo{color:#1d1d1b;background:#f2a33a;border-color:#f2a33a;font-weight:600}.badge.ai{background:var(--notice-bg);border-color:var(--accent);color:var(--accent)}.summary p{white-space:pre-wrap}.history{margin:.5rem 0 0;padding-left:1.1rem;font-size:.9rem}.error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius);margin:.5rem 0;padding:.6rem .75rem}.error ul{margin:.25rem 0 0}.notice{background:var(--notice-bg);border-radius:var(--radius);padding:.6rem .75rem}.sign-in{max-width:360px;margin:12vh auto;padding:0 1rem}.sign-in form{gap:.9rem;margin-top:1.5rem;display:grid}.sign-in label{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.stack{flex-direction:column;gap:.75rem;max-width:32rem;margin-bottom:1.5rem;display:flex}.stack label{flex-direction:column;gap:.25rem;display:flex}.stack label.check{flex-direction:row;align-items:center;gap:.5rem}.facts{grid-template-columns:max-content 1fr;gap:.35rem 1rem;display:grid}.facts dt{color:var(--muted)}code.secret{letter-spacing:.08em;word-break:break-all;font-size:1.1rem}
