.note-controls__panel{gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid}.note-controls__dates{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.note-controls__comment{resize:vertical;min-height:6rem;font-family:inherit;line-height:var(--leading-normal)}.note-invalid{padding:var(--space-7) var(--space-4);text-align:center;color:var(--color-danger);font-weight:var(--weight-medium);background:var(--color-danger-soft);border:1px dashed var(--color-danger);border-radius:var(--radius-lg)}.note{box-sizing:border-box;background:var(--note-paper);width:100%;max-width:100%;color:var(--note-ink);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font-family:var(--font-serif);line-height:var(--leading-normal);overflow-wrap:anywhere;margin:0 auto;padding:clamp(1.25rem,5vw,3rem)}@media (width>=768px){.note{max-width:46rem}}.note__header{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:2px solid var(--note-ink)}.note__centre{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--note-accent);margin:0}.note__title{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-2xl);line-height:var(--leading-tight)}.note__student{font-size:var(--text-lg);font-weight:var(--weight-bold);margin:0}.note__meta,.note__period{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--note-muted);margin:0}.note__period{color:var(--note-ink);font-weight:var(--weight-medium)}.note__byline{gap:0 var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.note__greeting{margin:0 0 var(--space-4);font-style:italic}.note__empty,.note__muted{color:var(--note-muted)}.note__grid{gap:var(--space-4) var(--space-5);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.note__section{margin-bottom:var(--space-4);break-inside:avoid}.note__grid .note__section{margin-bottom:0}.note__section--wide{grid-column:1/-1}.note__heading{margin:0 0 var(--space-2);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--note-muted)}.note__stat{margin:0 0 var(--space-2);font-weight:var(--weight-medium)}.note__comment{white-space:pre-line;margin:0}.note-topics,.note-homework,.note-focus{margin:0;padding:0;list-style:none}.note-topic{align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-1) 0;border-bottom:1px dotted var(--note-rule);flex-wrap:wrap;display:flex}.note-topic__title{font-weight:var(--weight-medium)}.note-topic__count{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--note-muted)}.note-homework__item{gap:var(--space-2);padding:var(--space-1) 0;display:flex}.note-homework__mark{width:1.1em;color:var(--note-muted);flex:none}.note-homework__mark--done{color:var(--note-done);font-weight:var(--weight-bold)}.note-focus{gap:var(--space-2);flex-wrap:wrap;display:flex}.note-focus li{padding:var(--space-1) var(--space-3);border:1px solid var(--note-ink);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-sm)}.note-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media print{@page{size:A4 portrait;margin:14mm 16mm}.shell__brand,.shell__nav,.note-controls,button,a.btn{display:none!important}html,body,.shell,.shell__main{color:#000!important;background:#fff!important;margin:0!important;padding:0!important;display:block!important}*{box-shadow:none!important;text-shadow:none!important}.note{color:#000;background:0 0;border:none;border-radius:0;max-width:none;padding:0;font-size:10.5pt;line-height:1.4}.note *,.note .badge{color:#000!important;background:0 0!important}.note .badge{border:none;padding:0;font-weight:600}.note .badge__dot{display:none}.note__header{border-bottom-color:#000;margin-bottom:8pt;padding-bottom:8pt}.note__title{margin-bottom:4pt;font-size:18pt}.note__grid{grid-template-columns:1fr 1fr;gap:8pt 18pt}.note__section{margin-bottom:8pt}.note-topic{border-bottom-color:#bbb;padding:1pt 0}.note-focus li{border-color:#000}}.homework-summary{margin:0 0 var(--space-3);color:var(--color-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.homework-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.homework-row{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border);font-size:var(--text-sm);transition:opacity var(--duration-normal) var(--ease-out);flex-wrap:wrap;display:flex}.homework-row__label{font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer;align-items:center;gap:var(--space-2);flex:12rem;display:inline-flex}.homework-row--done{opacity:.65}.homework-row--done .homework-row__label span{text-decoration:line-through}.badge--danger{background:var(--color-danger);color:var(--color-danger-text);border-color:#0000}.segmented{padding:var(--space-1);justify-self:start;gap:var(--space-1);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex}.segmented__option,.rating-option{position:relative}.segmented__option{min-height:2.5rem;padding:0 var(--space-4);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-items:center;display:inline-flex}.segmented__option:hover{color:var(--color-text)}.segmented__option:has(input:checked){background:var(--color-accent);color:var(--color-accent-text);box-shadow:var(--shadow-sm)}.segmented__option input,.rating-option input{opacity:0;position:absolute}.rating-options{gap:var(--space-2);margin:0 0 var(--space-2) var(--space-6);flex-wrap:wrap;display:flex}.rating-option{cursor:pointer;border-radius:var(--radius-pill);transition:transform var(--duration-fast) var(--ease-spring)}.rating-option:hover{transform:translateY(-1px)}.rating-option:active{transform:scale(.96)}.rating-option:has(input:checked){outline-offset:2px;outline:2px solid}.rating-option .badge{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}:is(.rating-option:has(input:focus-visible),.segmented__option:has(input:focus-visible)){outline:2px solid var(--color-accent);outline-offset:2px}.record-homework__row{gap:var(--space-2);flex-wrap:wrap;display:flex}.record-homework__row .field__input{flex:12rem;width:auto}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-serif:"Iowan Old Style", "Charter", "Georgia", "Times New Roman", serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--leading-tight:1.25;--leading-normal:1.55;--weight-regular:400;--weight-medium:550;--weight-bold:680;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--duration-fast:.15s;--duration-normal:.2s;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--sidebar-width:15rem;--tabbar-height:4rem;--content-max:60rem;--color-bg:#f6f1e7;--color-surface:#fffcf5;--color-raised:#fff;--color-text:#1f2430;--color-muted:#5b606c;--color-border:#e2d9c7;--color-accent:#2a4a96;--color-accent-hover:#213c7d;--color-accent-soft:#e4e9f6;--color-accent-text:#fff;--color-danger:#b42318;--color-danger-hover:#931c13;--color-danger-text:#fff;--color-danger-soft:#fbe9e6;--color-amber-bg:#fbeccc;--color-amber-text:#7a4300;--color-amber:#d98a00;--color-sky-bg:#dfedf9;--color-sky-text:#18496f;--color-sky:#3a8fd0;--color-green-bg:#dff0e2;--color-green-text:#1c5a2e;--color-green:#3a9a56;--note-paper:#fffefb;--note-ink:#1f2430;--note-muted:#5b606c;--note-accent:#2a4a96;--note-done:#1c5a2e;--note-rule:#e2d9c7;--shadow-sm:0 1px 2px #3c2d140f;--shadow-md:0 1px 2px #3c2d140f, 0 6px 18px -6px #3c2d1424;--shadow-lg:0 2px 4px #3c2d140f, 0 16px 36px -10px #3c2d1438}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#11141b;--color-surface:#181c25;--color-raised:#212633;--color-text:#ece8df;--color-muted:#a4a9b6;--color-border:#2e3441;--color-accent:#93b2f4;--color-accent-hover:#b0c7f8;--color-accent-soft:#1f2a44;--color-accent-text:#0e1527;--color-danger:#f29b92;--color-danger-hover:#f6b8b1;--color-danger-text:#2a0b08;--color-danger-soft:#3a1a17;--color-amber-bg:#3a2b10;--color-amber-text:#f4c978;--color-amber:#e3a32c;--color-sky-bg:#12304a;--color-sky-text:#9fcaf0;--color-sky:#5aa9e6;--color-green-bg:#15361f;--color-green-text:#97d6a8;--color-green:#4fb46d;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 2px #0006, 0 6px 18px -6px #0000008c;--shadow-lg:0 2px 4px #0006, 0 16px 36px -10px #000000b3}}.note{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f6f1e7;--color-border:#e2d9c7;--color-muted:#5b606c;--color-amber-bg:#fbeccc;--color-amber-text:#7a4300;--color-amber:#d98a00;--color-sky-bg:#dfedf9;--color-sky-text:#18496f;--color-sky:#3a8fd0;--color-green-bg:#dff0e2;--color-green-text:#1c5a2e;--color-green:#3a9a56}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s}*,:before,:after{transition:none!important;animation:none!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{line-height:var(--leading-tight);margin:0}p{margin:0}a{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.shell{grid-template:"brand""main"1fr/minmax(0,1fr);min-height:100dvh;display:grid}.shell__brand{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);grid-area:brand;display:flex}.shell__mark{border-radius:var(--radius-sm);background:var(--color-accent);width:2rem;height:2rem;color:var(--color-accent-text);font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}.shell__title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em;min-width:0}.shell__nav{z-index:10;height:calc(var(--tabbar-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:var(--shadow-md);position:fixed;inset:auto 0 0}.nav-list{grid-template-columns:repeat(3,1fr);height:100%;margin:0;padding:0;list-style:none;display:grid}.nav-link{justify-content:center;align-items:center;gap:var(--space-1);height:100%;color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.nav-link:hover{color:var(--color-text)}.nav-link[aria-current=page]{color:var(--color-accent)}.nav-link__icon{border-radius:var(--radius-pill);width:3rem;height:1.75rem;transition:background-color var(--duration-fast) var(--ease-out);place-items:center;display:grid}.nav-link[aria-current=page] .nav-link__icon{background:var(--color-accent-soft)}.shell__main{width:100%;min-width:0;max-width:var(--content-max);padding:var(--space-5) var(--space-4) calc(var(--tabbar-height) + var(--space-6));overflow-wrap:anywhere;animation:fade-lift var(--duration-normal) var(--ease-out);grid-area:main;margin:0 auto}.nav-link:active .nav-link__icon{transform:scale(.92)}.nav-link__icon{transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring)}@media (width>=768px){.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:auto 1fr;grid-template-areas:"brand main""nav main"}.shell__brand{padding:var(--space-5) var(--space-4) var(--space-4);border-bottom:none;border-right:1px solid var(--color-border);align-items:flex-start}.shell__title{font-size:var(--text-lg)}.shell__nav{height:auto;padding:var(--space-2) var(--space-3);border-top:none;border-right:1px solid var(--color-border);box-shadow:none;grid-area:nav;position:static}.nav-list{gap:var(--space-1);flex-direction:column;height:auto;display:flex}.nav-link{justify-content:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);flex-direction:row}.nav-link:hover{background:var(--color-bg)}.nav-link[aria-current=page]{background:var(--color-accent-soft)}.nav-link__icon{width:auto;height:auto}.nav-link[aria-current=page] .nav-link__icon{background:0 0}.shell__main{padding:var(--space-7) var(--space-6)}}@keyframes fade-lift{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header__title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.015em}.page-header__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.card{background:var(--color-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{box-shadow:none;transition-timing-function:var(--ease-spring);transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn--primary{background:var(--color-accent);color:var(--color-accent-text)}.btn--primary:hover{background:var(--color-accent-hover)}.btn--secondary{background:var(--color-raised);border-color:var(--color-border);color:var(--color-text)}.btn--secondary:hover{border-color:var(--color-muted)}.btn--danger{background:var(--color-danger);color:var(--color-danger-text)}.btn--danger:hover{background:var(--color-danger-hover)}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.field__hint{font-size:var(--text-sm);color:var(--color-muted)}.field__input{width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-raised);color:var(--color-text);font:inherit;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.field__input:hover{border-color:var(--color-muted)}.field__input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.field--invalid .field__input{border-color:var(--color-danger)}.field__error{font-size:var(--text-sm);color:var(--color-danger);font-weight:var(--weight-medium)}.badge{align-items:center;gap:var(--space-1);padding:.125rem var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-normal);white-space:nowrap;display:inline-flex}.badge__dot{border-radius:var(--radius-pill);background:currentColor;width:.5rem;height:.5rem}.badge--needs-practice{background:var(--color-amber-bg);color:var(--color-amber-text);border-color:#0000}.badge--needs-practice .badge__dot{background:var(--color-amber)}.badge--getting-there{background:var(--color-sky-bg);color:var(--color-sky-text);border-color:#0000}.badge--getting-there .badge__dot{background:var(--color-sky)}.badge--confident{background:var(--color-green-bg);color:var(--color-green-text);border-color:#0000}.badge--confident .badge__dot{background:var(--color-green)}.empty-state{align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.empty-state__icon{width:3.5rem;height:3.5rem;margin-bottom:var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);place-items:center;display:grid}.empty-state__heading{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-bold)}.empty-state__text{max-width:32ch;color:var(--color-muted)}.empty-state__action{margin-top:var(--space-3)}.page-header+.muted{margin:calc(-1 * var(--space-4)) 0 var(--space-5)}.card{margin-bottom:var(--space-5)}.card:last-child{margin-bottom:0}.card>*+*{margin-top:var(--space-4)}.card>h3,.section-title,h3.form__title{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.01em;margin:0}.muted{color:var(--color-muted)}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}input[type=checkbox]{cursor:pointer;flex:none;width:1.125rem;height:1.125rem;margin:0}.form{gap:var(--space-4);min-width:0;display:grid}h4.form__title{font-size:var(--text-lg);font-weight:var(--weight-bold);margin:0}.section-title~.form,.page-header~.form{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);animation:fade-lift var(--duration-normal) var(--ease-out)}.form__actions{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}[role=alertdialog]{gap:var(--space-3);padding:var(--space-4);background:var(--color-danger-soft);border:1px solid var(--color-danger);border-radius:var(--radius-md);animation:fade-lift var(--duration-normal) var(--ease-out);display:grid}[role=alertdialog]>p{font-weight:var(--weight-medium)}[role=alertdialog] .form__actions,[role=alertdialog]>*+*{margin-top:0}.field,.field__input{min-width:0}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--space-2);padding:0}.student-list{margin:var(--space-5) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.student-row{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);background:var(--color-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring);flex-wrap:wrap;text-decoration:none;display:flex}.student-row:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.student-row:active{box-shadow:var(--shadow-sm);transform:scale(.99)}.student-row__name{min-width:0;font-size:var(--text-lg);font-weight:var(--weight-bold);flex:10rem}.student-row__meta{padding:.125rem var(--space-3);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.topic-list{counter-reset:topic;margin:var(--space-4) 0;padding:0;list-style:none}.topic-row{counter-increment:topic;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.topic-row:last-child{border-bottom:1px solid var(--color-border)}.topic-row:before{content:counter(topic);border-radius:var(--radius-pill);background:var(--color-accent-soft);width:1.75rem;height:1.75rem;color:var(--color-accent);font-size:var(--text-xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;flex:none;place-items:center;display:grid}.topic-row__title{min-width:0;font-weight:var(--weight-bold);flex:8rem}.topic-row__progress{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.topic-row__progress small{font-size:var(--text-sm)}.topic-row__actions{gap:var(--space-1);margin-left:auto;display:inline-flex}.topic-row__actions .btn{min-width:2.75rem;padding-inline:0}.topic-row__hint{padding-left:calc(1.75rem + var(--space-3));font-size:var(--text-sm);flex-basis:100%}.topic-row__rename,.topic-add{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.topic-row__rename{flex:100%}.topic-row__rename .field,.topic-add .field{flex:14rem}.badge:has(.badge--planned){background:var(--color-accent-soft);color:var(--color-accent);border-color:#0000}.session-group{margin-top:var(--space-6);color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}.session-list{padding:0;list-style:none}.card>.session-list{margin-top:var(--space-2)}.session-row{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.session-row__when{font-weight:var(--weight-bold)}.session-row__time{color:var(--color-muted);font-variant-numeric:tabular-nums}.session-row__topics{min-width:0;color:var(--color-muted);font-size:var(--text-sm);flex:12rem}.session-row__actions{gap:var(--space-2);flex-wrap:wrap;margin-left:auto;display:flex}.session-topics{gap:var(--space-2);display:grid}.session-topics__option{align-items:center;gap:var(--space-3);min-height:2.75rem;padding:var(--space-2) var(--space-3);background:var(--color-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);display:flex}.session-topics__option:hover{border-color:var(--color-muted)}.session-topics__option:has(input:checked){background:var(--color-accent-soft);border-color:var(--color-accent)}.record-topic,.record-homework{gap:var(--space-2);display:grid}.schedule-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.card>.schedule-list{margin-top:var(--space-3)}li.schedule-row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-amber-bg);border-left:3px solid var(--color-amber);border-radius:var(--radius-md);color:var(--color-amber-text);font-weight:var(--weight-medium);flex-wrap:wrap;display:flex}li.schedule-row>a{min-height:2.75rem;padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--color-raised);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-bold);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring);align-items:center;text-decoration:none;display:inline-flex}li.schedule-row>a:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}li.schedule-row>a:active{transform:scale(.97)}.schedule-group h4{margin:var(--space-5) 0 var(--space-2);color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase}a.schedule-row{gap:0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring);grid-template-columns:minmax(0,1fr);text-decoration:none;display:grid}a.schedule-row:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}a.schedule-row:active{box-shadow:none;transform:scale(.99)}.schedule-row__time{color:var(--color-accent);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.schedule-row__who{font-weight:var(--weight-medium)}.schedule-row__topics{color:var(--color-muted);font-size:var(--text-sm)}@media (width>=560px){a.schedule-row{grid-template-columns:8rem minmax(0,1fr)}.schedule-row__topics{grid-column:2}}
