:root{--bg:#f6f7fb;--surface:#fff;--surface-2:#eef1f7;--text:#131725;--muted:#5c6478;--line:#dfe3ec;--accent:#4f46e5;--accent-soft:#eceafe;--good:#16a34a;--warn:#d97706;--bad:#dc2626;--radius:14px;--shadow:0 1px 2px #1014280f, 0 8px 24px #1014280f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1220;--surface:#171a2b;--surface-2:#1f2338;--text:#eef0f8;--muted:#9aa2bd;--line:#2b3049;--accent:#8b85ff;--accent-soft:#262450;--good:#4ade80;--warn:#fbbf24;--bad:#f87171;--shadow:0 1px 2px #0006, 0 8px 24px #0000004d}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}h1,h2,h3{margin:0;line-height:1.25}h1{letter-spacing:-.02em;font-size:1.5rem}h2{letter-spacing:-.01em;font-size:1.15rem}h3{font-size:.95rem}p{margin:0}button{font:inherit;cursor:pointer}.app{max-width:900px;margin:0 auto;padding:16px 16px 96px}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:22px;display:flex}.row{align-items:center;gap:10px;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{justify-content:space-between;align-items:center;gap:10px;display:flex}.grow{flex:1;min-width:0}.muted{color:var(--muted);font-size:.86rem}.tiny{font-size:.76rem}.center{text-align:center}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card.flush{padding:0;overflow:hidden}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:9px 14px;font-weight:550;transition:transform 60ms,background .15s,border-color .15s}.btn:hover{background:var(--surface-2)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.small{padding:6px 10px;font-size:.83rem}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600}.chip.dot:before{content:"";background:var(--c,var(--accent));vertical-align:-1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}input[type=text],input[type=date],input[type=number],select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;padding:8px 10px}label.field{color:var(--muted);flex-direction:column;gap:5px;font-size:.82rem;font-weight:600;display:flex}input[type=range]{width:100%;accent-color:var(--accent)}.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.subject-card{text-align:left;border-left:4px solid var(--c)}.scale{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.scale button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;padding:7px 2px;font-size:.72rem;font-weight:700}.scale button[data-on=true]{background:var(--c,var(--accent));border-color:var(--c,var(--accent));color:#fff}.session{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:13px 14px;display:flex}.session:last-child{border-bottom:none}.session .bar{background:var(--c);border-radius:3px;flex:none;align-self:stretch;width:4px}.session.done{opacity:.55}.session.done .title{text-decoration:line-through}.title{font-weight:600}.bar-track{background:var(--surface-2);border-radius:999px;height:8px;display:flex;overflow:hidden}.bar-track>span{height:100%;display:block}.banner{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.banner.good{border-color:color-mix(in srgb, var(--good) 45%, var(--line));background:color-mix(in srgb, var(--good) 10%, var(--surface))}.banner.warn{border-color:color-mix(in srgb, var(--warn) 45%, var(--line));background:color-mix(in srgb, var(--warn) 10%, var(--surface))}.banner.bad{border-color:color-mix(in srgb, var(--bad) 45%, var(--line));background:color-mix(in srgb, var(--bad) 10%, var(--surface))}.tabs{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{color:var(--muted);background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px;font-size:.72rem;font-weight:650;display:flex}.tabs button[data-on=true]{color:var(--accent);background:var(--accent-soft)}.tabs .glyph{font-size:1.1rem;line-height:1}.steps{gap:6px;display:flex}.steps span{background:var(--surface-2);border-radius:999px;flex:1;height:4px}.steps span[data-on=true]{background:var(--accent)}details.topic>summary{cursor:pointer;padding:10px 0;list-style:none}details.topic>summary::-webkit-details-marker{display:none}.sticky-actions{background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 0;position:sticky;bottom:76px}
