:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--tt-bg:#141210;--tt-surface:#1d1b18;--tt-surface-raised:#24211d;--tt-surface-overlay:#2c2925;--tt-surface-muted:#1a1815;--tt-text:#f5f3ee;--tt-muted:#8e887d;--tt-muted-strong:#b9b1a5;--tt-line:#2c2925;--tt-line-strong:#f5f3ee29;--tt-cover-bg:#1f1c19;--tt-pad:#191714;--tt-accent:#e07a55;--tt-accent-strong:#f19a76;--tt-accent-dim:#e07a5524;--tt-logo-ink:#f0ece2;--tt-logo-tile:#15140f;--font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--tt-bg:#f7f6f3;--tt-surface:#fff;--tt-surface-raised:#f0eee8;--tt-surface-overlay:#e6e3dc;--tt-surface-muted:#efece5;--tt-text:#14110d;--tt-muted:#7c7770;--tt-muted-strong:#5c554d;--tt-line:#ebe8e1;--tt-line-strong:#14110d24;--tt-cover-bg:#efece5;--tt-pad:#e6e3dc;--tt-accent:#c75d3a;--tt-accent-strong:#a8472d;--tt-accent-dim:#c75d3a24;--tt-logo-ink:#1a1a18;--tt-logo-tile:#f0ece2}:root{--surface-base:var(--tt-bg);--surface-card:var(--tt-surface);--surface-nav:var(--tt-surface-muted);--surface-raised:var(--tt-surface-raised);--surface-overlay:var(--tt-surface-overlay);--text-primary:var(--tt-text);--text-secondary:var(--tt-muted-strong);--text-tertiary:var(--tt-muted);--border-default:var(--tt-line);--border-strong:var(--tt-line-strong);--brand-primary:var(--tt-accent);--brand-accent:var(--tt-accent-strong);--brand-primary-dim:var(--tt-accent-dim);--button-on-accent:var(--tt-bg);--status-success:#8faf7d;--status-error:#d86d66;--status-info:#7ba6c7;--status-gold:#d7a748;--bg-base:var(--surface-base);--bg-surface:var(--surface-card);--bg-elevated:var(--surface-raised);--bg-highlight:var(--surface-overlay);--accent:var(--brand-primary);--accent-dim:var(--brand-primary-dim);--text-muted:var(--text-tertiary);--border:var(--border-default);--success:var(--status-success);--error:var(--status-error);--info:var(--status-info);--gold:var(--status-gold)}*{box-sizing:border-box}body{background:var(--surface-base);color:var(--text-primary);font-family:var(--font-body);margin:0}button,input{font:inherit}.shell{grid-template-columns:236px minmax(0,1fr);min-height:100svh;display:grid}aside{background:var(--surface-nav);border-right:1px solid var(--border-default);padding:22px 16px}aside h1,.login h1,h2{font-family:var(--font-display);margin:0}aside p{color:var(--text-tertiary);font-size:13px}aside button,form button{background:var(--brand-primary);color:var(--button-on-accent);cursor:pointer;border:0;border-radius:6px;padding:10px 13px;font-weight:800}.side-nav{gap:6px;margin:18px 0;display:grid}.side-nav button{color:var(--text-secondary);text-align:left;background:0 0;border:1px solid #0000}.side-nav button.active{background:var(--brand-primary-dim);border-color:var(--brand-primary);color:var(--brand-primary)}main{padding:28px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.class-card{background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:8px;gap:4px;padding:15px;display:grid}.class-card.active{border-color:var(--brand-primary)}.class-card strong{color:var(--brand-primary);font-family:var(--font-display,serif);font-size:34px}.class-card small,.assignment span{color:var(--text-tertiary)}.grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px;display:grid}.panel{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;padding:16px}table{border-collapse:collapse;width:100%;margin-top:12px}th,td{border-bottom:1px solid var(--border-default);text-align:left;padding:10px}th{color:var(--text-tertiary);font-size:12px}.assignment{border-bottom:1px solid var(--border-default);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.login{justify-content:center;align-items:center;min-height:100svh;padding:20px;display:flex}.login-card{gap:14px;width:min(380px,100%);display:grid}label{color:var(--text-secondary);gap:6px;font-size:13px;display:grid}input{background:var(--surface-base);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:6px;padding:10px}.error{color:var(--status-error)}.settings-panel{max-width:760px}.settings-row{justify-content:space-between;align-items:center;gap:18px;margin-top:18px;display:flex}.settings-row p{color:var(--text-tertiary);margin:4px 0 0}.theme-options{gap:8px;display:flex}.theme-options button{background:var(--surface-base);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;text-transform:capitalize;border-radius:6px;padding:9px 13px;font-weight:700}.theme-options button.active{background:var(--brand-primary-dim);border-color:var(--brand-primary);color:var(--brand-primary)}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h2{margin:6px 0 4px}.page-head p{color:var(--text-tertiary);margin:0;font-size:13px}.page-head button{padding:9px 14px;font-size:13px}.grid-classes{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.class-tile{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.class-tile header{justify-content:space-between;align-items:baseline;display:flex}.class-tile h3{font-family:var(--font-display);margin:0}.class-tile header span{color:var(--text-tertiary);font-size:13px}.class-tile .actions{gap:8px;display:flex}.class-tile button{padding:7px 11px;font-size:12px}.actions{gap:8px;display:flex}button.ghost{border:1px solid var(--border-default);color:var(--text-secondary);background:0 0}button.danger{border:1px solid var(--status-error);color:var(--status-error);background:0 0}.modal-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;width:min(440px,100%);padding:22px}.form-grid{gap:12px;display:grid}.form-grid select{background:var(--surface-base);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:6px;padding:10px}.muted{color:var(--text-tertiary)}@media (width<=900px){.shell,.grid,.metrics{grid-template-columns:1fr}}
