:root{--ink: #12142b;--lime: #d4f53c;--coral: #ff6a3d;--violet: #8f89ff;--indigo: #4c43e8;--on-ink: #ffffff;--on-ink-muted: #c4c6d8;--bg: #f6f6f3;--surface: #ffffff;--surface-muted: #f6f6f3;--text: #12142b;--text-muted: #5f6170;--border: #e4e4dc;--field-border: #8e8e85;--field-radius: .75rem;--border-strong: #12142b;--inverse-bg: #12142b;--inverse-text: #ffffff;--inverse-muted: #c4c6d8;--on-accent: #12142b;--link: #4c43e8;--link-hover: #3a32c4;--ok: #0e7a50;--ok-bg: #e9f9c6;--coral-bg: #fff1ec;--scrim: color-mix(in srgb, var(--ink) 55%, transparent);--inverse-accent: var(--lime);--note-bg: #fffbe0;--note-line: #ece6b8;--font-display: "Bricolage Grotesque", "Geist", system-ui, sans-serif;--font: "Geist", system-ui, -apple-system, sans-serif;--font-mono: "Geist Mono", ui-monospace, monospace;--radius-sm: .625rem;--radius: 1.5rem;--radius-lg: 1.75rem;--radius-full: 999px;--shadow-hard: .375rem .375rem 0 var(--border-strong);--shadow-hard-sm: .1875rem .1875rem 0 var(--border-strong);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f1022;--surface: #181a33;--surface-muted: #1e2140;--text: #f3f3ee;--text-muted: #b4b6c8;--border: #2c2f52;--field-border: #6a6ea3;--border-strong: #f3f3ee;--inverse-bg: #f3f3ee;--inverse-text: #12142b;--inverse-muted: #4a4d66;--link: #a9a4ff;--link-hover: #cbc8ff;--ok: #8ee6a8;--ok-bg: #1f3a1c;--coral-bg: #3a2018;--scrim: color-mix(in srgb, black 70%, transparent);--inverse-accent: var(--indigo);--note-bg: #24223a;--note-line: #34324f;color-scheme:dark}}:root[data-theme=dark]{--bg: #0f1022;--surface: #181a33;--surface-muted: #1e2140;--text: #f3f3ee;--text-muted: #b4b6c8;--border: #2c2f52;--field-border: #6a6ea3;--border-strong: #f3f3ee;--inverse-bg: #f3f3ee;--inverse-text: #12142b;--inverse-muted: #4a4d66;--link: #a9a4ff;--link-hover: #cbc8ff;--ok: #8ee6a8;--ok-bg: #1f3a1c;--coral-bg: #3a2018;--scrim: color-mix(in srgb, black 70%, transparent);--inverse-accent: var(--indigo);--note-bg: #24223a;--note-line: #34324f;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.5}html{-webkit-tap-highlight-color:transparent}@media(pointer:coarse){input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=hidden]),select,textarea,[contenteditable=true]{font-size:max(1rem,1em)!important}}a{--link-now: var(--link);color:var(--link-now);text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:.2em;transition:color .12s ease,text-decoration-color .12s ease}a:hover{--link-now: var(--link-hover);text-decoration-color:currentColor}button,input,select,textarea{font:inherit}input[type=range]{accent-color:var(--indigo)}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=hidden]),select,textarea){box-sizing:border-box;max-inline-size:100%;min-height:2.75rem;padding:0 .875rem;border:1.5px solid var(--field-border);border-radius:var(--field-radius);background-color:var(--surface);color:var(--text);font-weight:400;font-size:.9375rem}:where(textarea){min-height:4.5rem;padding:.5rem .75rem;resize:vertical}:where(input,select,textarea):hover:not(:disabled,:focus-visible){border-color:var(--border-strong)}:where(input:not([type=checkbox],[type=radio]),select,textarea):focus-visible{border-color:var(--indigo);outline:3px solid var(--indigo);outline-offset:1px}::placeholder{color:var(--text-muted);opacity:1}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.25rem;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 1.1rem) 52%,calc(100% - .8rem) 52%;background-size:.3rem .3rem;background-repeat:no-repeat}input[type=checkbox],input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-content:center;flex:none;inline-size:1.25rem;block-size:1.25rem;margin:0;border:1.5px solid var(--border-strong);border-radius:.375rem;background:var(--surface);cursor:pointer;transition:background-color .12s ease,border-color .12s ease}input[type=radio]{border-radius:var(--radius-full)}input[type=checkbox]:before,input[type=radio]:before{content:"";inline-size:.75rem;block-size:.75rem;background:var(--inverse-text);transform:scale(0);transition:transform .12s ease}input[type=checkbox]:before{clip-path:polygon(12% 50%,0 64%,40% 100%,100% 20%,87% 7%,40% 74%)}input[type=radio]:before{inline-size:.5rem;block-size:.5rem;border-radius:var(--radius-full)}input[type=checkbox]:checked,input[type=radio]:checked{border-color:var(--inverse-bg);background:var(--inverse-bg)}input[type=checkbox]:checked:before,input[type=radio]:checked:before{transform:scale(1)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed;opacity:.5}@media(max-width:52rem){:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=hidden]),select,textarea){font-size:1rem}.field :where(input,select,textarea){inline-size:100%}}@media(pointer:coarse){input[type=checkbox],input[type=radio]{inline-size:1.5rem;block-size:1.5rem}input[type=checkbox]:before{inline-size:.875rem;block-size:.875rem}}.display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:800;line-height:1.05;margin:0}.mono{font-family:var(--font-mono);font-size:.8rem}.muted{color:var(--text-muted)}.lead{color:var(--text-muted);font-size:1.15rem;max-width:40rem;margin:0}.shell-header{display:flex;flex-wrap:nowrap;gap:1rem;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;background:var(--surface);border-bottom:1.5px solid var(--border-strong)}.brand{display:flex;align-items:center;gap:.625rem;color:var(--text);text-decoration:none}.brand-mark{width:2.25rem;height:2.25rem;border-radius:.75rem;display:grid;place-items:center;background:var(--inverse-bg);color:var(--lime);font:800 1.25rem var(--font-display)}.brand-name{font:800 1.375rem var(--font-display)}.brand-suffix{color:var(--text-muted);font-weight:500}.shell-nav{display:flex;flex-wrap:nowrap;flex:0 1 auto;min-width:0;gap:.25rem;margin-right:auto;margin-left:1rem;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.shell-header .brand,.shell-header .account{flex:none}.shell-nav a{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 .875rem;border-radius:var(--radius-full);color:var(--text);text-decoration:none;font-weight:600;font-size:.95rem;transition:background-color .12s ease}.shell-nav a:hover{background:var(--surface-muted)}.shell-nav a.active{background:var(--inverse-bg);color:var(--inverse-text)}.account-menu{position:relative}.notifications-trigger{position:relative;display:inline-grid;place-items:center;inline-size:2.75rem;block-size:2.75rem;border:1.5px solid var(--border);border-radius:.875rem;background:var(--surface);color:var(--text);cursor:pointer}.notifications-trigger:hover,.notifications-trigger[aria-current=page]{border-color:var(--border-strong)}.notifications-trigger:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.notifications-trigger .nav-badge{position:absolute;top:-.375rem;right:-.375rem;margin:0;border:1.5px solid var(--ink)}.account-trigger{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.1875rem .75rem .1875rem .1875rem;border:1.5px solid var(--border);border-radius:.875rem;background:var(--surface);color:var(--text);font-weight:600;font-size:.875rem;cursor:pointer}.account-trigger:hover,.account-trigger[aria-expanded=true]{border-color:var(--border-strong)}.account-trigger:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.avatar{display:grid;place-items:center;flex:none;inline-size:2.125rem;block-size:2.125rem;border-radius:.625rem;border:1.5px solid var(--ink);background:var(--violet);color:var(--ink);font:800 .95rem var(--font-display)}.avatar[data-role=teacher]{background:var(--coral)}.avatar-lg{inline-size:2.75rem;block-size:2.75rem;border-radius:.875rem;font-size:1.2rem}.account-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:40;display:flex;flex-direction:column;gap:.875rem;inline-size:min(19rem,calc(100vw - 1rem));max-inline-size:calc(100vw - 1rem);padding:1rem;border:1.5px solid var(--border-strong);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow-hard-sm)}.account-panel-head{display:flex;align-items:center;gap:.75rem;min-width:0}.account-panel .account-email{display:block;max-width:none}.account-panel-roles,.account-panel-theme{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.875rem}.account-panel-links{display:flex;flex-direction:column;margin:0 -.5rem;padding:.5rem 0;border-block:1px solid var(--border)}.account-panel-links a{padding:.625rem .5rem;border-radius:var(--radius-sm);color:var(--text);font-weight:600;text-decoration:none}.account-panel-links a:hover{background:var(--surface-muted)}.account-panel-exit{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.role-switch{display:flex;gap:.25rem;padding:.25rem;border-radius:var(--radius-full);background:var(--surface-muted);border:1.5px solid var(--border-strong)}.role-switch-option{min-height:2.5rem;padding:0 1rem;border:0;border-radius:var(--radius-full);background:transparent;color:var(--text);font:600 .875rem var(--font);cursor:pointer}.role-switch-option[aria-pressed=true]{background:var(--inverse-bg);color:var(--inverse-text)}.account-panel .role-switch{gap:.125rem;padding:.1875rem;border-radius:.75rem;border-width:1px;border-color:var(--border)}.account-panel .role-switch-option{min-height:2rem;padding:0 .75rem;border-radius:.5625rem}.account-panel .role-switch-option[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border-strong)}.shell-main{max-width:80rem;margin:0 auto;padding:1.75rem 1.5rem 4rem}.theme-switch{display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:none;padding:0;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer}.theme-switch:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}@media(not (max-width:40rem))and (max-width:64rem){.shell-header{gap:.5rem;padding-inline:1rem}.brand-name,.account-trigger-role,.account-email{display:none}.shell-nav{margin-left:.25rem}.shell-nav a{padding:0 .625rem}}@media(max-width:40rem){.shell-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.625rem .75rem;padding:.625rem 1rem}.brand-name{font-size:1.15rem}.brand-mark{width:2rem;height:2rem}.shell-header .account{grid-column:2;grid-row:1;gap:.5rem}.account-email{display:none}.shell-header-public .account{grid-column:1 / -1;grid-row:auto}.shell-nav{grid-column:1 / -1;flex-wrap:nowrap;gap:.25rem;margin:0;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem;white-space:nowrap}}.shell-nav-icon{display:none}@media(max-width:40rem){.shell-nav{position:fixed;inset:auto 0 0;z-index:40;display:flex;gap:0;padding:0 .25rem env(safe-area-inset-bottom);overflow:visible;background:var(--surface);border-top:1.5px solid var(--border-strong)}.shell-nav a{flex:1 1 0;min-width:0;min-height:3.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:0 .125rem;border-radius:0;background:transparent;color:var(--text-muted);font-size:.7rem;border-top:3px solid transparent}.shell-nav a span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.shell-nav a.active,.shell-nav a.active:hover{background:transparent;color:var(--text);border-top-color:var(--coral)}.shell-nav-icon{display:block}.shell-main{padding:1rem 1rem calc(5rem + env(safe-area-inset-bottom))}.account-trigger-role{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:0 1.25rem;border-radius:var(--radius-full);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font:600 .95rem var(--font);text-decoration:none;cursor:pointer}.btn-lime{background:var(--lime);color:var(--on-accent);border-color:var(--ink);box-shadow:var(--shadow-hard-sm)}.btn-danger{background:var(--coral);color:var(--on-accent);border-color:var(--ink)}.page-head>a:not(.btn),.page-head-links>a,.card-head>a:not(.btn),.person>a:not(.btn):not(:first-child),.person-actions>a:not(.btn),.quiet-link{display:inline-flex;align-items:center;min-height:2rem;padding:0 .875rem;border:1.5px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:border-color .12s ease,background-color .12s ease}.page-head>a:not(.btn):hover,.page-head-links>a:hover,.card-head>a:not(.btn):hover,.person>a:not(.btn):not(:first-child):hover,.person-actions>a:not(.btn):hover,.quiet-link:hover{border-color:var(--border-strong);background:var(--surface-muted)}.btn:hover:not(:disabled){transform:translate(-1px,-1px)}.btn:active:not(:disabled){transform:none}.link-button:active:not(:disabled),.tab:active,.role-switch-option:active,.shell-nav a:active{opacity:.65}.btn{transition:transform .12s ease,background-color .12s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible,.role-switch-option:focus-visible,a:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.sticker{display:inline-flex;align-items:center;align-self:flex-start;padding:.3rem .75rem;border-radius:var(--radius-full);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font:500 .8rem var(--font-mono)}.sticker-lime{background:var(--lime);color:var(--on-accent);border-color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:.75rem}.landing{display:flex;flex-direction:column;gap:4rem}.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:center;padding-top:2rem}@media not (max-width:60rem){.hero{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}}.hero-text{display:flex;flex-direction:column;gap:1.5rem}.hero-title{font-size:clamp(2.5rem,5.5vw,4.5rem);max-width:14ch}.hero-points{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.hero-points li{display:flex;align-items:center;gap:.625rem}.hero-points li:before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:var(--radius-full);background:var(--coral)}.hero-shot{position:relative;display:flex;flex-direction:column;gap:.75rem;margin:0;padding-bottom:3rem}.hero-shot-desk{display:block;width:100%;height:auto;border:1.5px solid var(--border-strong);border-radius:var(--radius)}.hero-shot-phone{position:absolute;left:-1.5rem;bottom:0;width:27%;height:auto;border:.35rem solid var(--ink);border-radius:1.5rem;background:var(--ink)}.hero-shot figcaption{margin-left:30%;font-size:.8rem;text-align:right}@media(max-width:40rem){.hero-shot-phone{left:0;width:30%}}.underline-coral{padding:0 .08em .12em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M2 7 C30 3 60 9 100 5 S170 8 198 4 L197 9 C165 12 130 8 98 11 S35 10 3 11 Z' fill='%23ff6a3d' fill-opacity='.75'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0 100%;background-size:100% .32em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.steps{display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem;border-radius:var(--radius-lg);background:var(--inverse-bg);color:var(--inverse-text)}.steps h2{font-size:clamp(1.75rem,4vw,3rem)}.steps-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:1rem}.step{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;border-radius:var(--radius);border:1.5px solid var(--inverse-muted)}.step-n{font-size:3rem;color:var(--inverse-accent)}.step-title{font-weight:600;font-size:1.15rem}.step-text{color:var(--inverse-muted)}.page{display:flex;flex-direction:column;gap:1.25rem}.page-narrow{inline-size:100%;max-inline-size:52rem;margin-inline:auto}.page-narrow .settings-form{max-width:none}.page-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.page-head h1{font-size:clamp(2rem,5vw,3rem)}.page-head-links{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:40rem){.page-head-links{flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;margin-inline:-1rem;padding-inline:1rem;scrollbar-width:none}}.card{display:flex;flex-direction:column;gap:.875rem;padding:1.5rem;border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--border)}.card h2{font-size:1.6rem}.card-head{display:flex;flex-wrap:wrap;gap:.75rem;align-items:baseline;justify-content:space-between}.empty{border:2px dashed var(--border);background:transparent;align-items:flex-start}.meters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:.75rem}.meter{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;padding:.875rem;border-radius:var(--radius-sm);background:var(--surface-muted)}.meter[data-reached]{background:var(--coral-bg)}.meter-bar{grid-column:1 / -1;height:.5rem;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface);overflow:hidden}.meter-fill{display:block;height:100%;background:var(--inverse-bg)}.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:1.25rem}.tier{border-color:var(--border-strong)}.tier-teacher{background:var(--inverse-bg);color:var(--inverse-text);box-shadow:var(--shadow-hard)}.tier-limits{margin:0;display:flex;flex-direction:column}.tier-limit{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid var(--border)}.tier-limit dd{margin:0}.docs{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.docs-nav{flex:1 1 14rem;max-width:18rem;display:flex;flex-direction:column;gap:.25rem}.docs-nav a{display:block;padding:.625rem .875rem;border-radius:var(--radius-sm);color:var(--text);text-decoration:none}.docs-nav a.active{background:var(--inverse-bg);color:var(--inverse-text)}@media(max-width:52rem){.docs-nav{flex:1 1 100%;max-width:none;flex-direction:row;gap:.375rem;overflow-x:auto;scrollbar-width:none}.docs-nav a{flex:none;padding:.5rem .875rem;border:1.5px solid var(--border);border-radius:var(--radius-full);white-space:nowrap;font-size:.9rem}.docs-nav a.active{border-color:var(--inverse-bg)}}.docs-body{flex:999 1 32rem;min-width:0;max-width:52rem}.docs-body h1{font-family:var(--font-display);margin-top:0}.docs-body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.docs-body th,.docs-body td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.docs-body h2{margin-top:2.5rem;padding-top:1.5rem;border-top:1.5px solid var(--border);scroll-margin-top:1rem}.docs-body h2:first-of-type{margin-top:1.5rem}.docs-body h3{margin-top:1.75rem}.docs-body p,.docs-body li{line-height:1.6}.docs-body ol:not(.docs-toc-list){display:flex;flex-direction:column;gap:.5rem;padding:0;list-style:none;counter-reset:docs-step}.docs-body ol:not(.docs-toc-list)>li{position:relative;padding:.75rem 1rem .75rem 3.25rem;border-radius:var(--radius-sm);background:var(--surface-muted);counter-increment:docs-step}.docs-body ol:not(.docs-toc-list)>li:before{content:counter(docs-step);position:absolute;left:.875rem;top:.75rem;display:grid;place-items:center;width:1.625rem;height:1.625rem;border-radius:var(--radius-full);background:var(--inverse-bg);color:var(--inverse-text);font-size:.8rem;font-weight:600}.docs-callout{margin:1.25rem 0;padding:.875rem 1.125rem;border-radius:var(--radius-sm);border-left:.3rem solid var(--lime);background:color-mix(in srgb,var(--lime) 14%,var(--surface))}.docs-callout[data-kind=note]{border-left-color:var(--violet);background:color-mix(in srgb,var(--violet) 12%,var(--surface))}.docs-callout[data-kind=warning]{border-left-color:var(--coral);background:color-mix(in srgb,var(--coral) 12%,var(--surface))}.docs-callout p{margin:.25rem 0 0}.docs-callout .docs-callout-title{margin:0;font-weight:700}.docs-figure{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:1.25rem 0}.docs-figure img{display:block;width:auto;max-width:100%;max-height:30rem;height:auto;border:1.5px solid var(--border);border-radius:var(--radius-sm)}.docs-figure figcaption{color:var(--text-muted);font-size:.875rem}.docs-toc{display:none}.docs-toc-list{display:flex;flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none}.docs-toc-list a{display:block;padding:.375rem .75rem;border-left:2px solid var(--border);color:var(--text-muted);font-size:.9rem;text-decoration:none}.docs-toc-list a:hover{color:var(--text)}.docs-toc-list a[aria-current]{border-left-color:var(--coral);color:var(--text);font-weight:600}.docs-toc-fold{margin-bottom:1rem;padding:.5rem .875rem;border:1.5px solid var(--border);border-radius:var(--radius-sm)}.docs-toc-fold summary{cursor:pointer;font-weight:600;min-height:2rem;display:flex;align-items:center}.docs-toc-fold[open] summary{margin-bottom:.5rem}.docs-toc-fold summary::-webkit-details-marker{display:none}.docs-toc-fold summary:after{content:"+";margin-left:auto;font-size:1.25rem;color:var(--text-muted)}.docs-toc-fold[open] summary:after{content:"−"}@media not (max-width:75rem){.docs{flex-wrap:nowrap}.docs-nav,.docs-toc{position:sticky;top:1rem}.docs-toc{display:flex;flex-direction:column;gap:.5rem;flex:0 0 14rem;max-height:calc(100vh - 2rem);overflow-y:auto}.docs-toc-title{padding-left:.75rem;font-size:.8rem}.docs-toc-fold{display:none}}.account{display:flex;align-items:center;gap:.75rem}.account-email{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.8rem}.link-button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2rem;padding:0 .875rem;border:1.5px solid var(--border);border-radius:var(--radius-full);background:transparent;color:var(--text);font:inherit;font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.link-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted)}.link-button.text-link{display:inline;min-height:0;padding:0;border:0;border-radius:0;color:var(--link);font-size:inherit;white-space:normal;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:.2em}.link-button.text-link:hover:not(:disabled){background:none;color:var(--text);text-decoration-color:currentColor}.link-button:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.auth{display:flex;flex-direction:column;gap:1rem;max-width:26rem;margin:2rem auto 0}.auth-form{display:flex;flex-direction:column;gap:.875rem}.auth-wide{width:100%}.field{display:flex;flex-direction:column;gap:.375rem;font-weight:600;font-size:.8125rem}.field input{min-height:2.75rem;padding:0 .875rem;border:1.5px solid var(--field-border);border-radius:var(--field-radius);background:var(--surface);color:var(--text);font:400 1rem var(--font)}.field input:focus-visible{border-color:var(--indigo);outline:3px solid var(--indigo);outline-offset:1px}.auth-error{margin:0;padding:.625rem .875rem;border-radius:var(--radius-sm);background:var(--coral-bg);color:var(--text)}.settings-form{display:flex;flex-direction:column;gap:1rem;max-width:44rem}.setting-hint{flex:1 1 100%;font-size:.8125rem}.setting-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.5rem 1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.setting-row .field,.setting-row .setting-switch{flex:1 1 18rem}.setting-row .muted{flex-basis:100%;margin:0;font-size:.8rem}.setting-switch{display:flex;flex:none;align-items:center;gap:.625rem;font-weight:600;font-size:.9rem}.setting-switch input{width:1.125rem;height:1.125rem;accent-color:var(--indigo)}.setting-source{display:flex;align-items:center;gap:.625rem}.setting-source .sticker[data-source=own]{background:var(--lime);color:var(--on-accent);border-color:var(--ink)}.field select{min-height:2.75rem;padding:0 2.25rem 0 .875rem;border:1.5px solid var(--field-border);border-radius:var(--field-radius);background-color:var(--surface);color:var(--text);font:400 1rem var(--font)}.field input[aria-invalid=true]{border-color:var(--coral)}.notice-ok{margin:0;padding:.625rem .875rem;border-radius:var(--radius-sm);background:var(--ok-bg);color:var(--ok)}.invite-form,.course-form{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:.875rem}.invite-form .field,.course-form .field{flex:1 1 14rem}.invite-form [role=status],.invite-form [role=alert],.course-form [role=alert]{flex-basis:100%}.invite-form p{margin:0}.invite-link{width:100%;margin-top:.5rem;padding:.5rem .75rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:.8rem}.people{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.person{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.person>:first-child{flex:1 1 12rem;overflow-wrap:anywhere}.person-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem}.sticker[data-status=held]{background:var(--coral-bg)}.sticker[data-status=accepted]{background:var(--ok-bg);color:var(--ok)}.person-courses{display:flex;flex-basis:100%;flex-wrap:wrap;gap:.5rem 1.25rem}.person-courses .setting-switch{flex:0 1 auto;font-weight:500}.block-editor{display:flex;flex-direction:column;gap:.5rem;min-width:0;margin:0;padding:0;border:0}.block-key-mark{margin-left:.375rem;padding:0 .3125rem;border-radius:.25rem;background:var(--ok-bg);color:var(--ok)}.block-hints{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin:0;padding:0 .25rem;font-size:.8125rem;line-height:1.45}.block-items{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.block-item{display:flex;flex-direction:column;gap:.5rem;padding:.625rem .75rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface)}.block-item-head{display:flex;align-items:center;justify-content:space-between;min-height:1.75rem;font-size:.75rem}.block-cell{display:grid;grid-template-columns:minmax(6rem,9rem) minmax(0,1fr);align-items:start;gap:.25rem .75rem;min-width:0}.block-cell>:not(.block-cell-label){grid-column:2}.block-cell-label{padding-top:.75rem;color:var(--text-muted);font:500 .8125rem var(--font)}.block-cell[data-secret] .block-cell-label{color:var(--ok)}.block-cell textarea{min-height:2.75rem;padding:.6875rem .875rem;field-sizing:content;resize:none;font:400 1rem/1.4 var(--font);overflow-wrap:anywhere}.block-flag{font-size:.8125rem}.block-add-item{align-self:flex-start}@media(max-width:40rem){.block-cell{grid-template-columns:minmax(0,1fr)}.block-cell>:not(.block-cell-label){grid-column:1}.block-cell-label{padding-top:0;font-size:.75rem}}.field[data-secret] input,.field[data-secret] textarea,.field[data-secret] select,.field[data-secret] .select-button{border-color:var(--ok);background-color:var(--ok-bg)}.field small{font-weight:400}.field-issue{margin:0;color:var(--coral);font-weight:600;font-size:.8rem}.block-view{display:flex;flex-direction:column;gap:.75rem}:is(.block-view,.bv-image)+.block-view[data-category],.answers-block+.answers-block{margin-top:1.5rem;padding-top:2.25rem;border-top:1.5px solid var(--border)}.bv-head{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.bv-kind{padding:.15rem .6rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-size:.72rem}.block-view[data-category=talk] .bv-kind{background:var(--coral);color:var(--ink);border-color:var(--ink)}.block-view[data-category=words] .bv-kind,.block-view[data-category=construction] .bv-kind{background:var(--violet);color:var(--ink);border-color:var(--ink)}.block-view[data-category=theory] .bv-kind{background:var(--indigo);color:var(--on-ink);border-color:var(--ink)}.block-view[data-category=exercise] .bv-kind{background:var(--lime);color:var(--ink);border-color:var(--ink)}.bv-title{margin:0;font:700 1.1rem var(--font-display)}.bv-list,.bv-steps,.bv-exercise{display:flex;flex-direction:column;gap:.5rem;margin:0;padding-left:1.25rem}.bv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(11rem,100%),1fr));gap:.75rem;margin:0;padding:0;list-style:none}.bv-card{display:flex;flex-direction:column;gap:.25rem;padding:.875rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-hard-sm)}.bv-icon{font-size:1.5rem}.bv-rule{margin:0;padding:.875rem 1.125rem;border-radius:var(--radius-sm);background:var(--surface-muted);font-weight:600}.bv-timeline{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.bv-timeline li{display:flex;flex:1 1 8rem;flex-direction:column;gap:.25rem;padding:.625rem;border-top:.25rem solid var(--border-strong)}.bv-timeline li[data-focus]{border-top-color:var(--coral);font-weight:700}.bv-table{width:100%;border-collapse:collapse}.bv-table th,.bv-table td{padding:.5rem .75rem;border:1px solid var(--border);text-align:left}.bv-flow{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:0;list-style:none}.bv-flow li{padding:.5rem .875rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);line-height:1.45}.bv-flow li+li:before{margin-right:.5rem;content:"→"}.bv-dialogue{display:flex;flex-direction:column;gap:.5rem;margin:0}.bv-dialogue div{display:flex;gap:.75rem;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--surface-muted)}.bv-dialogue dt{min-width:5rem;font-weight:700}.bv-dialogue dd{margin:0}.bv-formula{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:.75rem 1rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-muted);font-size:1.1rem}.bv-formula [data-highlight]{padding:0 .375rem;border-radius:var(--radius-sm);background:var(--lime);color:var(--on-accent)}.bv-mindmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(10rem,100%),1fr));gap:.75rem;margin:0;padding:0;list-style:none}.bv-mindmap>li{padding:.75rem;border:1.5px dashed var(--violet);border-radius:var(--radius-sm)}.bv-mindmap ul{margin:.375rem 0 0;padding-left:1rem}.bv-gap{width:9.5rem;min-height:2.25rem;margin:.125rem .25rem;padding:0 .625rem;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background-color:var(--surface);color:var(--text);font:inherit;vertical-align:middle}.bv-gap:focus-visible{outline:3px solid var(--indigo);outline-offset:1px}.bv-match .select{min-width:12rem}.bv-exercise{gap:.875rem;font-size:1.05rem;line-height:2.1}.bv-exercise>li::marker{font:500 .85rem var(--font-mono);color:var(--text-muted)}.bv-hint{display:block;margin-top:.125rem;font-size:.85rem;line-height:1.45}.bv-verdict{margin-left:.5rem;white-space:nowrap}.bv-verdict[data-result=right]{color:var(--ok)}.bv-verdict[data-result=wrong]{color:var(--coral)}.bv-exercise [data-result=right] .bv-gap,.bv-exercise [data-result=right] .bv-match .select-button,.bv-exercise [data-result=right] .select-inline .select-button{background-color:var(--ok-bg)}.bv-exercise [data-result=wrong] .bv-gap,.bv-exercise [data-result=wrong] .bv-match .select-button,.bv-exercise [data-result=wrong] .select-inline .select-button{background-color:var(--coral-bg);border-color:var(--coral)}.bv-exercise fieldset{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;border:0;line-height:1.5}.bv-question{margin:0 0 .5rem;font-weight:600;line-height:1.5}.bv-options{display:flex;flex-wrap:wrap;gap:.5rem}.bv-option{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1rem;border-radius:var(--radius-full);border:1.5px solid var(--border);background:var(--surface);cursor:pointer;font-size:.95rem}.bv-option:has(input:checked){border-color:var(--border-strong);background:var(--surface-muted);font-weight:600}.bv-option:has(input:focus-visible){outline:3px solid var(--indigo);outline-offset:2px}.bv-option input{accent-color:var(--indigo)}[data-result=right] .bv-option:has(input:checked){border-color:var(--ok);background:var(--ok-bg)}[data-result=wrong] .bv-option:has(input:checked){border-color:var(--coral);background:var(--coral-bg)}.bv-match{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .75rem;line-height:1.5}.bv-match>span:first-child{min-width:min(10rem,100%);font-weight:600}.bv-check{display:flex;align-items:center;gap:.75rem}.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:1.5rem}.plan-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.ai-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem}.link-button:disabled{opacity:.35;cursor:not-allowed}.plan-meta{padding:1.125rem;border-radius:var(--radius);border:1.5px solid var(--border-strong);background:var(--surface)}.plan-meta-title{display:flex;flex-direction:column;gap:.25rem}.plan-meta-title input{min-height:3rem;font:700 1.25rem var(--font-display)}.plan-chapters,.plan-lessons{margin:0;padding:0;list-style:none}.plan-chapters{display:flex;flex-direction:column;gap:1rem}.plan-chapter{display:flex;flex-direction:column;gap:.625rem;padding:1.25rem;border-radius:var(--radius);border:1.5px solid var(--border-strong);background:var(--surface)}.plan-chapter-head{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem}.plan-chapter-tag{padding:.25rem .5625rem;border-radius:.5rem;background:var(--ink);color:var(--lime)}.plan-chapter-title{flex:1 1 15rem;border-color:transparent;background-color:var(--surface-muted);font:700 1.125rem var(--font-display)}.plan-lessons{display:grid;grid-template-columns:1.75rem minmax(8rem,1fr) auto auto auto;gap:.5rem .625rem}.plan-lessons-head,.plan-lesson{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:center}.plan-lessons-head{padding:0 .5rem}.plan-lesson{padding:.375rem .5rem;border-radius:.875rem;background:var(--surface-muted)}.plan-lesson-number{display:grid;place-items:center;inline-size:1.75rem;block-size:1.75rem;border-radius:var(--radius-full);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text)}.plan-lesson-title{min-width:0;min-height:2.5rem}.plan-difficulty{display:flex;gap:.25rem}.plan-difficulty-step{inline-size:1.875rem;block-size:1.875rem;padding:0;border-radius:.5rem;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer}.plan-difficulty-step[data-filled]{background:var(--lime)}.plan-difficulty[data-level="3"] .plan-difficulty-step[data-filled]{background:var(--coral)}.plan-difficulty-step:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.plan-lesson-state{display:flex;align-items:center;gap:.5rem;font-size:.85rem;white-space:nowrap}.plan-lesson-state>a{display:inline-flex;align-items:center;min-height:2rem;padding:0 .875rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-weight:600;text-decoration:none}.plan-lesson-state>a:hover{background:var(--surface-muted)}.plan-buttons{display:inline-flex;gap:.375rem}.plan-buttons .link-button,.live-notice .link-button{display:inline-grid;place-items:center;inline-size:2rem;block-size:2rem;padding:0;background:var(--surface);line-height:1}.plan-exam{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .75rem;padding:.625rem .875rem;border-radius:.875rem;background:var(--ink);color:var(--on-ink)}.plan-exam>span{flex:1 1 14rem;color:var(--on-ink-muted);font-size:.875rem}.plan-exam .btn{min-height:2.25rem;border-color:var(--on-ink);background:transparent;color:var(--on-ink);box-shadow:none}.plan-exam-final{background:var(--coral);color:var(--ink)}.plan-exam-final>span{color:var(--ink)}.plan-exam-final .btn{border-color:var(--border-strong);color:var(--ink)}.plan-chapter-actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn-add{min-height:2.25rem;border-style:dashed;border-color:var(--border-strong);background:transparent;box-shadow:none;font-size:.875rem}.btn-add:hover:not(:disabled){background:var(--surface-muted)}.plan-side{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.875rem}.plan-summary{display:flex;flex-direction:column;gap:.75rem;padding:1.375rem;border-radius:var(--radius);background:var(--ink);color:var(--on-ink);box-shadow:.375rem .375rem 0 var(--lime)}.plan-summary-title,.plan-curve-label{color:var(--lime)}.plan-curve-label{color:var(--on-ink-muted)}.plan-stats{display:flex;flex-wrap:wrap;gap:.75rem 1.375rem;margin:0}.plan-stats div{display:flex;flex-direction:column}.plan-stats dd{margin:0;font-size:2.5rem;line-height:1}.plan-stats dt{color:var(--on-ink-muted);font-size:.875rem}.plan-curve{display:flex;align-items:flex-end;gap:.1875rem;height:3rem}.plan-curve-bar{flex:1;max-width:1rem;border-radius:.1875rem .1875rem 0 0;background:var(--lime)}.plan-curve-bar[data-level="1"]{height:33%}.plan-curve-bar[data-level="2"]{height:66%}.plan-curve-bar[data-level="3"]{height:100%;background:var(--coral)}.plan-summary .btn-lime{border-color:var(--lime);box-shadow:none}.plan-summary-hint{color:var(--on-ink-muted)}.plan-note{gap:.5rem;font-size:.9rem}.plan-note p{margin:0;line-height:1.5}@media(max-width:60rem){.plan-lessons{display:flex;flex-direction:column}.plan-lessons-head{display:none}.plan-lesson{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.plan-lesson-title{flex:1 1 calc(100% - 2.5rem)}.plan-lesson-summary{flex:1 1 100%;padding-left:2.25rem}.plan-difficulty{margin-left:2.25rem}.plan-lesson-state{flex:0 1 auto;gap:.375rem;flex-wrap:nowrap;white-space:nowrap}.plan-lesson-state .sticker{padding:.125rem .5rem;font-size:.6875rem}.plan-lesson-state>a{min-height:1.75rem;padding:0 .625rem;font-size:.8125rem}.plan-difficulty{gap:.1875rem}.plan-difficulty-step{inline-size:1.5rem;block-size:1.5rem;border-radius:.4375rem}.plan-lesson .plan-buttons{gap:.25rem;margin-left:auto}.plan-lesson .plan-buttons .link-button{inline-size:1.75rem;block-size:1.75rem;min-height:1.75rem}}@media(max-width:52rem){.plan-layout{grid-template-columns:1fr}.plan-side{position:static}}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:1.5rem}.lesson-main,.lesson-section{display:flex;flex-direction:column;gap:1rem}.lesson-section[data-active]{border-color:var(--indigo);box-shadow:var(--shadow-hard-sm)}.lesson-block{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem}.lesson-block .block-editor{align-self:stretch}.lesson-side{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.75rem;max-height:calc(100vh - 2rem);overflow-y:auto}.palette-group h3{margin:0 0 .375rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.palette{display:flex;flex-wrap:wrap;gap:.375rem}.palette{flex-direction:column;flex-wrap:nowrap}.palette-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.5rem;padding:0 .75rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:600;font-size:.875rem;text-align:left;cursor:pointer}.palette-item:hover{border-color:var(--border-strong);background:var(--surface-muted)}@media(max-width:52rem){.lesson-layout{grid-template-columns:1fr}.lesson-side{position:static;max-height:none}}.media-picker{display:flex;flex-direction:column;align-self:stretch;gap:.625rem}.media-search{display:flex;flex-wrap:wrap;gap:.5rem}.media-search input{flex:1 1 14rem;min-height:2.5rem;padding:0 .75rem;border:1.5px solid var(--field-border);border-radius:var(--field-radius);background:var(--surface);color:var(--text);font:400 .95rem var(--font)}.media-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(8rem,100%),1fr));gap:.5rem;margin:0;padding:0;list-style:none}.media-result{display:block;width:100%;padding:0;border:2px solid transparent;border-radius:var(--radius-sm);background:none;cursor:pointer;overflow:hidden}.media-result:hover,.media-result:focus-visible{border-color:var(--indigo)}.media-result img,.media-current{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.media-current{max-width:12rem;border-radius:var(--radius-sm)}.bv-image{position:relative;width:fit-content;max-width:100%;margin:0 auto}.bv-image img{display:block;width:auto;max-width:100%;max-height:min(34rem,75vh);border-radius:var(--radius-sm)}.bv-image figcaption{position:absolute;right:.375rem;bottom:.375rem;padding:.125rem .375rem;border-radius:var(--radius-sm);background:var(--scrim);color:var(--on-ink);font-size:.6875rem;line-height:1.4;opacity:.8}.bv-image figcaption:hover,.bv-image figcaption:focus-within{opacity:1}.bv-image figcaption a{color:inherit}.media-alt{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.lesson-add-photo{align-self:flex-start}.lesson-section-add{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.ai-brief{display:grid;grid-template-columns:minmax(0,18rem) auto minmax(0,1fr);align-items:end;gap:.75rem;width:100%}.ai-brief>:not(.field:has(input[type=number]),.btn,.ai-plan-modes){grid-column:1 / -1}.ai-brief>.btn,.ai-brief>.ai-plan-modes{justify-self:start}@media(max-width:40rem){.ai-brief{grid-template-columns:minmax(0,1fr)}}.lesson-block[data-failed]{border-color:var(--coral);border-style:dashed}.block-regenerate{display:flex;flex-wrap:wrap;align-self:stretch;gap:.5rem}.block-regenerate input{flex:1 1 14rem;min-height:2.5rem;padding:0 .75rem;border:1.5px solid var(--field-border);border-radius:var(--field-radius);background:var(--surface);color:var(--text);font:400 .9rem var(--font)}.section-reviewed{padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--surface-muted)}.btn-ink{background:var(--inverse-bg);color:var(--inverse-text)}.live-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:1rem 1.25rem;border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--border-strong)}.live-title-block{flex:1 1 14rem;display:flex;flex-direction:column;gap:.25rem;min-width:0}.live-title{margin:0;font-size:clamp(1.4rem,3vw,1.9rem)}.lesson-switcher-compact{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem}.lesson-switcher-compact .select{width:auto;max-width:100%}.lesson-switcher-compact .select-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lesson-switcher-compact .select-button{min-height:2rem;padding:0 .75rem;font-size:.85rem}.lesson-switcher-compact .link-button{min-height:2rem;font-size:.85rem}.live-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .75rem;border-radius:var(--radius-full);background:var(--inverse-bg);color:var(--inverse-text)}.live-dot{width:.5rem;height:.5rem;border-radius:var(--radius-full);background:var(--coral)}.live-actions{display:flex;flex-wrap:wrap;gap:.5rem}.live-leave{gap:.375rem;border-color:transparent;background:transparent;color:var(--text-muted)}.live-end{position:relative;margin-left:.5rem;padding-left:.75rem;border-left:1.5px solid var(--border)}.live-leave-text{white-space:nowrap}.live-end-ask{position:absolute;top:calc(100% + .5rem);right:0;z-index:30;display:flex;flex-direction:column;gap:.625rem;width:max-content;max-width:min(22rem,calc(100vw - 2rem));padding:.875rem 1rem;border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--border-strong)}.live-end-ask-title{font-weight:600}.live-end-ask-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.presence{display:flex;flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none}.presence-person{display:flex;align-items:center;gap:.5rem}.presence-avatar{width:2.5rem;height:2.5rem;overflow:hidden;border-radius:var(--radius-full);display:grid;place-items:center;border:2px solid var(--border-strong);background:var(--violet);color:var(--on-accent);font:700 1rem var(--font-display)}.presence-person[data-role=teacher] .presence-avatar{background:var(--coral)}.presence-person[data-status=not_joined] .presence-avatar,.presence-person[data-status=left] .presence-avatar{opacity:.45;border-style:dashed}.presence-person[data-self] .presence-avatar{box-shadow:0 0 0 2px var(--border-strong)}.presence-name{display:flex;flex-direction:column;font-weight:600}.presence-status{color:var(--text-muted)}.presence-person[data-status=in_lesson] .presence-status{color:var(--ok)}.live-notices{position:fixed;left:1.25rem;bottom:1.25rem;z-index:55;display:flex;flex-direction:column;gap:.5rem;max-width:min(24rem,calc(100vw - 2.5rem))}@media(max-width:60rem){.live-notices{left:.75rem;bottom:calc(4.75rem + env(safe-area-inset-bottom))}}.live-notices:empty{display:none}.live-notice{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0;padding:.5rem .5rem .5rem 1rem;border-radius:var(--radius-full);background:var(--inverse-bg);color:var(--inverse-text);font-weight:600;font-size:.9rem}.live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}.live-state{border:2px dashed var(--border-strong)}.meeting-url{overflow-wrap:anywhere;margin:0}.attendance-scroll{max-width:100%;overflow-x:auto}.attendance{width:100%;border-collapse:collapse}.attendance th,.attendance td{padding:.5rem .75rem .5rem 0;vertical-align:top;text-align:left;border-bottom:1px solid var(--border)}.sticker[data-status=late],.sticker[data-status=absent]{background:var(--coral-bg)}.sticker[data-status=on-time]{background:var(--ok-bg)}.live-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:1rem;align-items:start}@media(max-width:60rem){.live-layout{grid-template-columns:minmax(0,1fr)}}.live-main,.live-aside{display:flex;flex-direction:column;gap:1rem;min-width:0}.live-lesson{display:flex;flex-direction:column;gap:.75rem}.live-lesson-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.live-lesson-note{margin:0}.live-lesson-body{position:relative;display:flex;flex-direction:column;gap:1rem}.live-block,.live-lesson-body .lesson-section{scroll-margin-top:1rem}.live-block{position:relative;border-radius:var(--radius-sm);transition:box-shadow .3s ease}.live-block[data-lit],.live-lesson-body .lesson-section[data-lit]{box-shadow:0 0 0 3px var(--coral)}.live-lesson-body ::selection{background:color-mix(in srgb,var(--lime) 60%,transparent);color:var(--ink)}::highlight(live-selection-teacher){background-color:color-mix(in srgb,var(--coral) 45%,transparent)}::highlight(live-selection-student){background-color:color-mix(in srgb,var(--violet) 40%,transparent)}.live-show{position:absolute;top:.25rem;right:.25rem;z-index:2;display:inline-grid;place-items:center;inline-size:2.25rem;block-size:2.25rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer}.live-show:hover{border-color:var(--coral);color:var(--coral)}.live-show:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.session-stop-follow{align-self:flex-start}.live-toc{display:flex;gap:.375rem;overflow-x:auto;scrollbar-width:none}.live-toc a{flex:none;display:flex;align-items:center;gap:.5rem;min-height:2.5rem;padding:0 .75rem;border:1.5px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap}.live-toc a:hover{border-color:var(--border-strong);background:var(--surface-muted)}.live-toc a:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.live-cursor{position:absolute;z-index:5;display:flex;align-items:flex-start;gap:.2rem;pointer-events:none;transition:left 80ms linear,top 80ms linear}.live-cursor svg{fill:var(--violet);stroke:var(--ink);stroke-width:1}.live-cursor[data-role=teacher] svg{fill:var(--coral)}.live-cursor-name{padding:.1rem .45rem;border-radius:var(--radius-full);background:var(--violet);color:var(--on-accent);font:600 .75rem var(--font);white-space:nowrap}.live-cursor[data-role=teacher] .live-cursor-name{background:var(--coral)}@media(prefers-reduced-motion:reduce){.live-cursor{transition:none}}.skip-link{position:absolute;top:.5rem;left:.5rem;z-index:1000;padding:.625rem 1rem;border-radius:var(--radius-sm);background:var(--ink);color:var(--on-ink);font-weight:600;transform:translateY(-200%)}.skip-link:focus{transform:none}.shell-main:focus{outline:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.live-view-switch{align-self:flex-start}.shared-notes{background:var(--note-bg);border-color:var(--border-strong)}.shared-notes-text{width:100%;box-sizing:border-box;min-height:6rem;max-height:28rem;field-sizing:content;padding:0 .25rem;border:0;border-radius:0;background-color:transparent;background-image:repeating-linear-gradient(180deg,transparent 0 calc(2rem - 1px),var(--note-line) calc(2rem - 1px) 2rem);background-attachment:local;color:var(--text);font:500 1rem/2rem var(--font);resize:vertical}.shared-notes-text::placeholder{color:var(--text-muted)}.shared-notes-text:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.shared-board{position:relative;display:flex;flex-direction:column;flex:1 1 auto;gap:.75rem;min-width:0;min-height:0}.board-dock{display:flex;flex-direction:column;flex:none;gap:.375rem;min-width:0}.board-toolbar{display:flex;flex-wrap:nowrap;gap:.5rem;align-items:center;min-block-size:2.75rem;overflow-x:auto;scrollbar-width:none}.board-toolbar::-webkit-scrollbar{display:none}.board-toolbar>*{flex:none}.board-zoom{display:inline-flex;align-items:center;gap:.375rem}.board-swatch{width:2.75rem;height:2.75rem;border-radius:var(--radius-full);border:1.5px solid var(--border-strong);cursor:pointer}.board-swatch[data-color=lime]{background:var(--lime)}.board-swatch[data-color=coral]{background:var(--coral)}.board-swatch[data-color=violet]{background:var(--violet)}.board-swatch[aria-pressed=true]{box-shadow:var(--shadow-hard-sm)}.board-viewport{flex:1 1 0;min-height:14rem;overflow:auto;scrollbar-width:none;overscroll-behavior:contain;border-radius:var(--radius);border:1.5px solid var(--border-strong);background-color:var(--surface);background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:1.5rem 1.5rem}.board-viewport::-webkit-scrollbar{display:none}.board-canvas{position:relative;box-sizing:content-box;padding:var(--board-inset-top, 0) var(--board-inset-right, 0) var(--board-inset-bottom, 0) var(--board-inset-left, 0);touch-action:none;cursor:grab}.board-layer{position:absolute;top:var(--board-inset-top, 0);left:var(--board-inset-left, 0);transform-origin:0 0}.board-empty{position:absolute;top:2.5rem;left:2.5rem;max-width:28rem;margin:0}.board-element{touch-action:none;position:absolute;box-sizing:border-box;display:flex;flex-direction:column;gap:.375rem;padding:.875rem 1rem;border-radius:1rem;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:600;cursor:grab;-webkit-user-select:none;user-select:none}.board-element[data-color=lime]{background:var(--lime);color:var(--on-accent)}.board-element[data-color=coral]{background:var(--coral);color:var(--on-accent)}.board-element[data-color=violet]{background:var(--violet);color:var(--on-accent)}.board-element[data-type=text]{border-color:transparent;background:transparent;font-size:1.15rem}.board-element[aria-current=true],.board-element:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.board-text{white-space:pre-wrap;overflow-wrap:anywhere}.board-topic-label{align-self:flex-start;padding:.15rem .5rem;border-radius:var(--radius-full);background:var(--lime);color:var(--on-accent)}.board-topic-title{font:700 1.25rem var(--font-display)}.board-topic-points{margin:0;padding-left:1.1rem;font-weight:500}.board-edit{display:block;width:100%;box-sizing:border-box;min-height:1lh;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:inherit;white-space:pre-wrap;overflow-wrap:anywhere;resize:none;field-sizing:content;caret-color:currentColor}.board-edit:focus{outline:none}.board-edit-title{font:700 1.25rem var(--font-display)}.board-edit-points{padding-left:1.1rem;font-weight:500}.board-hint{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-image{display:flex;flex-direction:column;gap:.375rem;margin:0}.board-image img,.board-image-placeholder{display:block;width:100%;border-radius:var(--radius-sm);object-fit:cover;pointer-events:none}.board-image-placeholder{display:grid;place-items:center;background:var(--surface-muted)}.board-element[data-type=image]{padding:.5rem}.board-element[data-type=video]{padding:0;overflow:hidden;gap:0}.board-video-bar{padding:.625rem .875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-video{cursor:auto}.board-video .video-embed{height:100%;aspect-ratio:auto;border-radius:0}.board-video .video-embed-fallback{margin:0;padding:.875rem}.board-video-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.board-video-field{flex:1 1 16rem;min-width:0}.video-embed{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-sm);background:var(--surface-muted)}.video-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.bv-video{display:flex;flex-direction:column;gap:.375rem;margin:0}.board-element[data-link-target]{cursor:crosshair}.board-element[data-link-target]:hover{outline:2px dashed var(--indigo);outline-offset:3px}.board-links{position:absolute;inset:0 auto auto 0;z-index:0;overflow:visible;pointer-events:none}.board-link-line{fill:none;stroke:var(--text-muted);stroke-width:2;stroke-linecap:round}.board-link[aria-current=true] .board-link-line{stroke:var(--indigo);stroke-width:3}.board-link-arrow{fill:var(--text-muted)}.board-link-arrow[data-current]{fill:var(--indigo)}.board-link-hit{fill:none;stroke:transparent;stroke-width:16;pointer-events:stroke;cursor:pointer}.board-link-hit:focus-visible{outline:none;stroke:color-mix(in srgb,var(--indigo) 30%,transparent)}.session-chat{gap:.625rem}.chat-list{display:flex;flex-direction:column;gap:.5rem;max-height:18rem;overflow-y:auto;margin:0;padding:0;list-style:none}.chat-message{display:flex;flex-direction:column;gap:.15rem;align-self:flex-start;max-width:85%;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--surface-muted);overflow-wrap:anywhere}.chat-message[data-own]{align-self:flex-end;background:var(--lime);color:var(--on-accent)}.chat-message[data-own] .chat-meta{color:var(--on-accent)}.chat-meta{color:var(--text-muted);font-size:.75rem}.chat-typing{margin:0;font-size:.85rem}.chat-form{display:flex;gap:.5rem}.chat-form input{flex:1;min-width:0;min-height:2.75rem;padding:0 .75rem;border-radius:var(--radius-full);border:1.5px solid var(--field-border);background:var(--surface-muted);color:var(--text);font:400 .95rem var(--font)}.live-layout{grid-template-areas:"main side"}.live-side,.live-side-scroll{display:flex;flex-direction:column;gap:1rem;min-width:0;min-height:0}.live-side{grid-area:side}.live-side[data-call=docked]{position:sticky;top:1rem;max-height:calc(100vh - 2rem)}.live-side[data-call=docked] .live-side-scroll{overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius)}.live-side[data-call=docked]>.call-stage{flex:none}.live-main{grid-area:main}.live-controls{grid-area:controls;display:flex;flex-direction:column;gap:1rem;min-width:0}.direct-call{display:flex;flex-direction:column;gap:.5rem;padding-top:.625rem;border-top:1px solid var(--border)}.direct-call:not(:has(>*)){display:none}.direct-call-targets{display:flex;flex-direction:column;gap:.5rem}.direct-call-targets .btn{gap:.5rem}.direct-call-hint,.direct-call-notice{margin:0;font-size:.85rem}.direct-call-notice{display:flex;align-items:flex-start;gap:.5rem}.direct-call-notice .link-button{min-height:1.5rem;padding:0 .375rem;margin-left:auto}.call-stage{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius);background:var(--ink);color:var(--on-ink);border:2px solid var(--border-strong)}.call-stage[data-floating=true],.call-ringing{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;width:min(20rem,calc(100vw - 2rem))}.call-stage[data-floating=true]{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;transition:left .18s ease-out,top .18s ease-out}.call-stage[data-dragging=true]{cursor:grabbing;transition:none}@media(prefers-reduced-motion:reduce){.call-stage[data-floating=true]{transition:none}}.call-ringing{align-items:center;gap:.625rem;padding:1.25rem;text-align:center}.call-expand{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border:0;border-radius:inherit;background:transparent;cursor:inherit}.call-expand:focus-visible{outline:3px solid var(--inverse-accent);outline-offset:2px}.call-ringing h2{margin:0;font-size:1.25rem}.call-ringing .muted{margin:0;color:var(--inverse-muted);font-size:.85rem}.call-ringing .presence-avatar{animation:call-ring 1.2s ease-in-out infinite}@keyframes call-ring{50%{transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.call-ringing .presence-avatar{animation:none}}.call-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.call-buttons .btn{gap:.5rem}.call-screen{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--ink)}.call-video{width:100%;height:100%;object-fit:cover;display:block}.call-video[data-hidden=true]{position:absolute;width:1px;height:1px;opacity:0}.call-self{position:absolute;top:.5rem;right:.5rem;width:28%;height:auto;aspect-ratio:4 / 3;border-radius:var(--radius-sm);border:1.5px solid var(--on-ink);transform:scaleX(-1)}.call-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1rem 3.5rem;text-align:center;background:var(--ink);color:var(--on-ink)}.call-placeholder-text{font-weight:600;font-size:.9rem}.call-avatar{width:3.5rem;height:3.5rem;font-size:1.35rem}.call-name,.call-peer-muted{position:absolute;left:.5rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--ink) 65%,transparent);color:var(--on-ink)}.call-name{top:.5rem;max-width:calc(72% - 1.5rem);overflow:hidden;padding:.125rem .5rem;font:600 .75rem var(--font);text-overflow:ellipsis;white-space:nowrap}.call-peer-muted{top:2.125rem;display:grid;place-items:center;width:1.625rem;height:1.625rem;background:var(--coral);color:var(--on-accent)}.call-peer-muted svg{width:.875rem;height:.875rem}.call-controls{position:absolute;left:50%;bottom:.5rem;z-index:2;display:flex;gap:.25rem;padding:.25rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--ink) 72%,transparent);transform:translate(-50%)}.call-control{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:0;border-radius:var(--radius-full);background:color-mix(in srgb,var(--on-ink) 14%,transparent);color:var(--on-ink);cursor:pointer}.call-control:hover:not(:disabled){background:color-mix(in srgb,var(--on-ink) 26%,transparent)}.call-control[aria-pressed=true]{background:var(--on-ink);color:var(--ink)}.call-control:disabled{opacity:.4;cursor:not-allowed}.call-control:focus-visible{outline:2px solid var(--lime);outline-offset:1px}.call-control svg{width:1rem;height:1rem}.call-hangup,.call-hangup:hover:not(:disabled){background:var(--coral);color:var(--on-accent)}.live-aside{grid-area:aside}.session-controls{gap:.5rem;padding:.875rem 1rem}.session-controls-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.session-controls-status:empty{display:none}.session-controls .role-switch{flex-wrap:wrap}.session-controls .role-switch-option{min-height:2rem;padding:0 .75rem;font-size:.8125rem}.session-controls-status,.session-controls-hint{margin:0;font-size:.85rem}.follow-switch{display:inline-flex;flex-wrap:wrap;gap:.125rem;padding:.125rem;border-radius:var(--radius-full);border:1px solid var(--border)}.follow-switch button{min-height:1.75rem;padding:0 .625rem;border:0;border-radius:var(--radius-full);background:transparent;color:var(--text-muted);font:500 .78rem var(--font);cursor:pointer}.follow-switch button[aria-pressed=true]{background:var(--surface-muted);color:var(--text);font-weight:600}.follow-switch button:focus-visible{outline:2px solid var(--indigo);outline-offset:1px}.hint-touch{display:none}@media(hover:none)and (pointer:coarse){.hint-pointer{display:none}.hint-touch{display:inline}.follow-switch button{min-height:2.25rem}}.live-tabs,.live-meeting-fab{display:none}@media(max-width:60rem){.page.live{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.live-layout{grid-template-areas:"controls" "main" "aside";grid-template-rows:auto}.live-side,.live-side-scroll{display:contents}.live-layout:is([data-view=lesson],[data-view=board]) .live-aside,.live-layout:is([data-view=notes],[data-view=chat]) .live-main,.live-layout:is([data-view=notes],[data-view=chat]) .live-controls,.live-layout[data-view=notes] .session-chat,.live-layout[data-view=chat] .live-aside>:not(.session-chat,.aside-tabs),.live-layout[data-view=chat] .aside-tabs>:not(.session-chat){display:none}.live-layout[data-view=chat] .session-chat{min-height:max(16rem,calc(100dvh - 17rem))}.live-layout[data-view=chat] .chat-list{flex:1;max-height:none}.live-layout[data-view=chat] .chat-form{margin-top:auto}.session-controls{flex-flow:row wrap;align-items:center;gap:.5rem .75rem;padding:.75rem 1rem}.session-view-switch,.session-controls-hint{display:none}.session-controls-status{flex:1 1 12rem}.live-bar{gap:.625rem;padding:.75rem 1rem}.live-title-block{flex-basis:100%;order:-1}.live-title{font-size:1.25rem}.live-bar .presence-avatar{width:2rem;height:2rem;font-size:.85rem}.live-actions{margin-left:auto}.live-leave-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.live-end{margin-left:0;padding-left:.5rem}.direct-call{flex:1 1 100%}.call-stage[data-floating=true]{top:calc(4.75rem + env(safe-area-inset-top));right:.75rem;bottom:auto;width:min(12.5rem,calc(100vw - 1.5rem));border-radius:var(--radius-sm)}.call-stage[data-floating=true] .call-screen{aspect-ratio:3 / 4}.call-stage[data-floating=true] .call-control{width:2rem;height:2rem}.call-stage[data-floating=true] .call-avatar{width:2.5rem;height:2.5rem;font-size:1rem}.call-stage[data-floating=true] .call-placeholder-text{font-size:.75rem}.call-stage[data-floating=true][data-compact=true]{width:5.5rem}.call-stage[data-compact=true] .call-self,.call-stage[data-compact=true] .call-name,.call-stage[data-compact=true] .call-placeholder-text{display:none}.call-stage[data-compact=true] .call-placeholder{padding:.5rem}.call-stage[data-compact=true] .call-avatar{width:2rem;height:2rem;font-size:.9rem}.call-stage[data-compact=true] .call-peer-muted{top:auto;bottom:.375rem;left:.375rem}.call-ringing{right:.75rem;bottom:calc(4.25rem + env(safe-area-inset-bottom));width:min(18rem,calc(100vw - 1.5rem))}.live-tabs{position:fixed;inset:auto 0 0;z-index:40;display:flex;padding:0 .25rem env(safe-area-inset-bottom);background:var(--surface);border-top:1.5px solid var(--border-strong)}.live-tabs button{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:3.5rem;border:0;background:transparent;color:var(--text-muted);font:600 .75rem var(--font);cursor:pointer}.live-tabs button[aria-pressed=true]{color:var(--text)}.live-tabs button[aria-pressed=true]:before{content:"";position:absolute;top:0;left:25%;right:25%;height:3px;border-radius:0 0 .2rem .2rem;background:var(--coral)}.live-tabs button:focus-visible{outline:3px solid var(--indigo);outline-offset:-3px}.live-tabs-badge{position:absolute;top:.35rem;left:calc(50% + .5rem);min-width:1.1rem;padding:0 .3rem;border-radius:var(--radius-full);background:var(--coral);color:var(--on-accent);font:700 .7rem/1.1rem var(--font)}.live-meeting-fab{position:fixed;right:.75rem;bottom:calc(4.25rem + env(safe-area-inset-bottom));z-index:39;display:inline-flex;align-items:center;min-height:2.75rem;padding:0 1rem;border-radius:var(--radius-full);border:2px solid var(--inverse-bg);background:var(--inverse-bg);color:var(--inverse-text);font:600 .85rem var(--font);text-decoration:none;box-shadow:var(--shadow-hard-sm)}}@media(max-width:60rem){.live-layout:is([data-view=notes],[data-view=chat]) .live-meeting-fab{display:none}}.shell:has(.page.live) .shell-header{padding-block:.375rem}.shell:has(.page.live) .shell-header .brand-name,.shell:has(.page.live) .shell-header .account-trigger-role{display:none}@media(max-width:40rem){.shell:has(.page.live) .shell-nav{display:none}.shell:has(.page.live) .shell-main{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.presence-status{font-size:.7rem}}.context-menu{position:fixed;z-index:50;min-width:14rem;margin:0;padding:.375rem;list-style:none;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--surface);box-shadow:var(--shadow-hard-sm)}.context-menu li[data-separated]{margin-top:.25rem;padding-top:.25rem;border-top:1px solid var(--border)}.context-menu button{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.25rem;padding:0 .625rem;border:0;border-radius:.5rem;background:transparent;color:var(--text);font:500 .9rem var(--font);text-align:left;cursor:pointer}.context-menu button:hover,.context-menu button:focus-visible{background:var(--surface-muted);outline:none}.context-menu li[data-danger] button{color:var(--coral)}.context-menu li[data-danger] button:hover,.context-menu li[data-danger] button:focus-visible{background:var(--coral-bg)}.context-menu-mark{width:.75rem;color:var(--indigo)}.live-ping{position:absolute;z-index:6;width:1.5rem;height:1.5rem;margin:-.75rem 0 0 -.75rem;border-radius:var(--radius-full);border:3px solid var(--violet);pointer-events:none;animation:live-ping 1s ease-out infinite}.live-ping[data-role=teacher]{border-color:var(--coral)}@keyframes live-ping{0%{transform:scale(.6);opacity:1}to{transform:scale(2.2);opacity:0}}@media(prefers-reduced-motion:reduce){.live-ping{animation:none}}.page-head-text{display:flex;flex-direction:column;gap:.25rem;margin-right:auto}.section-title{font-size:1.75rem}.student-top{display:flex;flex-wrap:wrap;gap:1rem}.continue-card{flex:2 1 30rem;min-width:0;display:flex;flex-direction:column;gap:1rem;padding:1.75rem;border-radius:var(--radius-lg);border:1.5px solid var(--ink);background:var(--lime);color:var(--ink);box-shadow:.5rem .5rem 0 var(--ink)}.continue-card h2{font-size:clamp(1.75rem,4vw,2.75rem);line-height:1}.continue-card .btn-ink{min-height:3.25rem;padding:0 1.6rem;background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.continue-note{margin:0}.continue-actions{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}.continue-session{display:inline-flex;flex-wrap:wrap;gap:.5rem;font-weight:600}.continue-session a{color:var(--ink)}.week-card{flex:1 1 17rem;min-width:0;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;border-radius:var(--radius);background:var(--ink);color:var(--on-ink)}.week-card-title{color:var(--lime)}.week-stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin:0}.week-stats div{display:flex;flex-direction:column-reverse}.week-stats dt{color:var(--on-ink-muted)}.week-stats dd{margin:0;font-size:2.75rem}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(17rem,100%),1fr));gap:1rem;margin:0;padding:0;list-style:none}.course-card{display:flex;flex-direction:column;gap:.75rem;height:100%;padding:1.375rem;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none}.course-card[data-current]{border-color:var(--border-strong)}.course-card,.student-tile,.market-tile,.flash-card{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.course-card:hover,.student-tile:hover,.market-tile:hover,.flash-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-hard-sm);transform:translate(-2px,-2px)}.course-card:active,.student-tile:active,.market-tile:active,.flash-card:active{box-shadow:none;transform:none}.student-tile:focus-visible,.market-tile:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}@media(prefers-reduced-motion:reduce){.course-card:hover,.student-tile:hover,.market-tile:hover,.flash-card:hover{transform:none}}::view-transition-old(root){animation:.14s ease both page-out}::view-transition-new(root){animation:.2s ease both page-in}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}.course-card:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.course-card-title{font-size:1.4rem}.course-card-note{font-size:.8rem}.course-card-facts{display:flex;flex-wrap:wrap;gap:.25rem .75rem;color:var(--text-muted);font-size:.8125rem}.course-card-warn{color:var(--coral);font-weight:600}.course-progress{height:.5rem;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface-muted);overflow:hidden}.course-progress span{display:block;height:100%;background:var(--inverse-bg)}.route{display:flex;align-items:center;margin:0;padding:.75rem .5rem;list-style:none;overflow-x:auto}.route-step{display:flex;align-items:center;flex:none}.route-step+.route-step:before{content:"";flex:none;inline-size:2rem;margin-inline:.375rem;height:3px;background:repeating-linear-gradient(90deg,var(--border) 0 6px,transparent 6px 12px)}.route-step[data-state=done]+.route-step:before{background:var(--border-strong)}.route-stop{display:grid;place-items:center;flex:none;width:2.75rem;height:2.75rem;border-radius:var(--radius-full);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font:600 .9rem var(--font-mono);text-decoration:none}.route-step[data-state=done] .route-stop{background:var(--inverse-bg);color:var(--lime)}.route-step[data-state=current] .route-stop{background:var(--lime);color:var(--ink);border-color:var(--ink);box-shadow:0 0 0 4px var(--surface),0 0 0 6px var(--border-strong)}.route-step[data-state=closed] .route-stop{border-color:var(--border);color:var(--text-muted)}.route-step[data-state=exam] .route-stop{border-radius:.75rem;background:var(--coral);color:var(--ink);border-color:var(--ink)}a.route-stop{transition:transform .12s ease}a.route-stop:hover{transform:scale(1.08)}.route-stop:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.route-note{margin:0;font-size:.9rem}.lesson-rows{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.lesson-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .875rem;min-height:3rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.lesson-row:last-child{border-bottom:0}.lesson-row:has(>a){margin-inline:-.625rem;padding-inline:.625rem;border-radius:var(--radius-sm);transition:background-color .12s ease}.lesson-row:has(>a):hover{background:var(--surface-muted)}.lesson-row:has(>a){position:relative}.lesson-row>a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.lesson-row a{font-weight:600}.lesson-row[data-state=closed]{color:var(--text-muted)}.lesson-row-number{width:1.75rem;color:var(--text-muted)}.lesson-row-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}.sticker[data-state=done]{background:var(--inverse-bg);color:var(--inverse-text)}.sticker[data-state=current]{background:var(--lime);color:var(--ink)}.sticker[data-state=closed]{border-style:dashed;color:var(--text-muted)}.lesson-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.lesson-back{display:grid;place-items:center;flex:none;width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);color:var(--text);text-decoration:none;font-size:1.1rem}.lesson-back:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.lesson-head-text{flex:1 1 18rem;min-width:0;display:flex;flex-direction:column;gap:.25rem}.lesson-head h1{font-size:clamp(1.9rem,5vw,3.25rem)}.lesson-head-meta:empty{display:none}.lesson-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:1.25rem;align-items:start}.lesson-page-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.lesson-page .lesson-section{scroll-margin-top:1rem}.lesson-section-head{display:flex;align-items:center;gap:.625rem}.minutes-badge{flex:none;padding:.2rem .55rem;border-radius:.5rem;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:.75rem}.minutes-badge[data-tone=coral]{background:var(--coral);color:var(--ink)}.minutes-badge[data-tone=violet]{background:var(--violet);color:var(--ink)}.minutes-badge[data-tone=lime]{background:var(--lime);color:var(--ink)}.lesson-page-side{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.875rem}.lesson-notes{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:var(--radius);border:1.5px solid var(--border-strong);background-color:var(--note-bg)}.lesson-notes-bottom{display:none}@media(max-width:52rem){.lesson-notes-bottom{display:flex}}.lesson-notes-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;justify-content:space-between}.lesson-notes h2{font-size:1.25rem}.lesson-notes p{margin:0;font-size:.9rem}.lesson-notes-text{max-height:20rem;overflow-y:auto;background-image:repeating-linear-gradient(180deg,transparent 0 calc(2rem - 1px),var(--note-line) calc(2rem - 1px) 2rem);background-attachment:local;white-space:pre-wrap;line-height:2rem}.lesson-toc{display:flex;flex-direction:column;gap:.125rem;padding:1rem;border-radius:var(--radius);border:1.5px solid var(--border-strong);background:var(--surface)}.lesson-toc-title{padding:.25rem .75rem .5rem}.lesson-toc a{display:flex;align-items:center;gap:.625rem;min-height:2.75rem;padding:0 .75rem;border-radius:.75rem;color:var(--text);text-decoration:none}.lesson-toc a:hover{background:var(--surface-muted)}.lesson-toc a:focus-visible{outline:3px solid var(--indigo);outline-offset:-3px}@media(max-width:52rem){.lesson-page-layout{grid-template-columns:minmax(0,1fr)}.lesson-page-side{grid-row:1;position:sticky;top:0;z-index:5;margin:0 -1rem;padding:.5rem 1rem;background:var(--bg)}.lesson-toc{flex-direction:row;gap:.375rem;padding:0;border:0;background:transparent;overflow-x:auto;scrollbar-width:none}.lesson-toc-title,.lesson-notes-side{display:none}.lesson-toc a{flex:none;min-height:2.5rem;padding:0 .625rem;border:1.5px solid var(--border);background:var(--surface);white-space:nowrap;font-size:.85rem}}.lesson-page .lesson-section[data-kind=homework]{border-style:dashed;border-color:var(--border-strong)}.bv-homework-tasks{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:.875rem 1rem .875rem 2rem;border-radius:var(--radius-sm);background:var(--coral-bg);font-size:1.05rem;line-height:1.5}.bv-homework textarea{width:100%;min-height:9rem;padding:.875rem 1rem;border-radius:var(--field-radius);border:1.5px solid var(--field-border);background-color:var(--surface);background-image:repeating-linear-gradient(180deg,transparent 0 calc(2rem - 1px),var(--border) calc(2rem - 1px) 2rem);background-attachment:local;color:var(--text);font:400 1rem/2rem var(--font);resize:vertical}.bv-homework textarea:hover{border-color:var(--border-strong)}.bv-homework textarea:focus-visible{outline:3px solid var(--indigo);outline-offset:1px;border-color:var(--border-strong)}.bv-homework-count{align-self:flex-end;margin-top:-.5rem}.bv-gap-select{width:auto;min-width:7rem;padding-right:2rem;cursor:pointer}.bv-line{display:block;width:100%;margin:.25rem 0 0}.bv-explain{margin:.25rem 0 0;font-size:.9rem;line-height:1.5}.bv-transform{display:flex;flex-direction:column;gap:.125rem;line-height:1.5}.bv-prompt{font-weight:600}.bv-instruction{color:var(--text-muted);font-size:.9rem}.bv-exercise:has(.bv-transform){gap:1.25rem}.bv-words{display:flex;flex-direction:column;gap:.5rem;line-height:1.5}.bv-words-line{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center;min-height:3rem;padding:.375rem .5rem;border-bottom:2px solid var(--border-strong)}.bv-words-pool{display:flex;flex-wrap:wrap;gap:.375rem}.bv-word{min-height:2.5rem;padding:0 .875rem;border-radius:.75rem;border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font:500 1rem var(--font);cursor:pointer}.bv-word[data-placed]{background:var(--lime);color:var(--ink);border-color:var(--ink)}.bv-word:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}[data-result=right] .bv-words-line{border-color:var(--ok)}[data-result=wrong] .bv-words-line{border-color:var(--coral)}.bv-homework-answer{margin:0;padding:.875rem 1rem;border-radius:var(--radius-sm);background:var(--surface-muted);white-space:pre-wrap}.bv-homework-review{display:flex;gap:1rem;align-items:flex-start;padding:.875rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--ok);background:var(--ok-bg)}.bv-homework-review p{margin:.25rem 0 0}.bv-homework-mark{font-size:2.25rem;line-height:1}.bv-homework-mark small{font-size:.9rem;color:var(--text-muted)}.homework-list{display:flex;flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none}.homework-card[data-reviewed]{border-style:dashed}.homework-review{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.homework-feedback{flex:1 1 18rem}.homework-result{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:0}.new-course{display:flex;flex-direction:column;gap:1rem}.new-course-basics,.new-course-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));gap:.875rem;align-items:end}.new-course-title,.new-course-emphasis{grid-column:1 / -1}.new-course-number input{max-width:9rem}.new-course-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:1rem;margin:0;padding:0;border:0}.new-course-ways legend{margin-bottom:.75rem;font-size:1.6rem}.way-card{position:relative;display:flex;flex-direction:column;gap:.625rem;padding:1.375rem;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--surface);cursor:pointer}.way-card:hover{border-color:var(--border-strong)}.way-card[data-selected]{border-color:var(--border-strong);box-shadow:var(--shadow-hard)}.way-card[data-locked]{cursor:default;opacity:.75}.way-card input{position:absolute;top:1.25rem;right:1.25rem;width:1.25rem;height:1.25rem;accent-color:var(--indigo)}.way-card:has(input:focus-visible){outline:3px solid var(--indigo);outline-offset:2px}.way-card-title{font-size:1.4rem}.bv-key{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;border-radius:.5rem;border:1px dashed var(--ok);background:var(--ok-bg);color:var(--ok);font-size:.8rem;line-height:1.6;white-space:normal}.lesson-row>a,.person>a:first-child{color:var(--text);font-weight:600;text-decoration:none}.lesson-row>a:hover,.person>a:first-child:hover{text-decoration:underline}.teacher-in-class{position:sticky;top:.75rem;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .875rem;margin-bottom:1.25rem;padding:.625rem .75rem .625rem 1rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-hard-sm);font-weight:600}.teacher-in-class-text{flex:1 1 12rem}.teacher-in-class .btn{min-height:2.25rem}.teacher-in-class .link-button{inline-size:2rem;padding:0;justify-content:center}.skeleton{display:block;inline-size:100%;block-size:1rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-muted) 0%,var(--border) 50%,var(--surface-muted) 100%) 0 0 / 200% 100%;animation:skeleton-shine 1.4s ease-in-out infinite}@keyframes skeleton-shine{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-head{min-height:2.75rem}.skeleton-card{display:flex;flex-direction:column;gap:.875rem}.skeleton-rows{display:flex;flex-direction:column}.skeleton-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3rem;border-bottom:1px solid var(--border)}.skeleton-row:last-child{border-bottom:0}.skeleton-field{display:flex;flex-direction:column;gap:.5rem}.skeleton-chips,.skeleton-route{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.skeleton-route{gap:2.5rem;margin:.5rem 0}.skeleton-stop{inline-size:2.75rem;block-size:2.75rem;border-radius:var(--radius-full)}.skeleton-hero{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.75rem;border-radius:var(--radius);border:1.5px solid var(--border)}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(16rem,100%),1fr));gap:1rem}.spinner{display:inline-block;flex:none;inline-size:1em;block-size:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);vertical-align:-.15em;animation:spinner-turn .7s linear infinite}@keyframes spinner-turn{to{transform:rotate(360deg)}}.waiting{display:flex;align-items:center;justify-content:center;gap:.625rem;min-height:40vh;margin:0;color:var(--text-muted);font-weight:600}.waiting .spinner{inline-size:1.25rem;block-size:1.25rem;color:var(--text)}.btn .spinner{margin-right:.125rem}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}.spinner{animation-duration:2s}}.teacher-head{align-items:flex-end}.teacher-head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem}.teacher-top{display:flex;flex-wrap:wrap;gap:1rem}.next-session-card{flex:2 1 30rem;min-width:0;display:flex;flex-direction:column;gap:.875rem;padding:1.375rem;border-radius:var(--radius);background:var(--ink);color:var(--on-ink)}.next-session-when{color:var(--lime)}.next-session-body{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.next-session-body h2{margin:0;font-size:1.625rem}.next-session-note{color:var(--on-ink-muted);font-size:.875rem}.review-card{flex:1 1 16rem;min-width:0;gap:.5rem}.review-count{font-size:2.75rem;line-height:1}.section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.section-head h2{margin:0;font-size:1.75rem}.course-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.teacher-course-card[data-current]{background:var(--lime);border-color:var(--ink);color:var(--ink)}.teacher-course-card[data-current] .muted,.teacher-course-card[data-current] .course-card-facts{color:var(--ink)}.teacher-course-card[data-current] .course-card-warn{color:var(--ink);text-decoration:underline wavy var(--coral);text-underline-offset:3px}.course-card-new{align-items:center;justify-content:center;min-height:10rem;border:2px dashed var(--border-strong);background:transparent;text-align:center;font-weight:600}.course-card-plus{display:grid;place-items:center;inline-size:3rem;block-size:3rem;border-radius:1rem;border:1.5px solid var(--border-strong);font-size:1.625rem}.teacher-head-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem}.brief-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:.875rem}.field-optional{font-size:.8rem;font-weight:500}.brief-intro{margin:0}.new-course-step{margin:0;font-size:1.375rem}.sticker[data-status=empty]{border-style:dashed;color:var(--text-muted)}.next-lessons{gap:.75rem;border-color:var(--border-strong)}.next-lessons h2{margin:0;font-size:1.375rem}.next-lessons-counts{display:flex;gap:1.25rem;margin:0}.next-lessons-counts div{display:flex;flex-direction:column-reverse}.next-lessons-counts dt{color:var(--text-muted);font-size:.8rem}.next-lessons-counts dd{margin:0;font-size:1.75rem;line-height:1}.next-lessons-lesson{margin:0;font-weight:600}.next-lessons-actions{display:flex;flex-wrap:wrap;gap:.5rem}.plan-lesson-summary{grid-column:2 / -1;grid-row:2;margin:0;padding:0 .25rem;color:var(--text-muted);font-size:.875rem;line-height:1.45}.ai-plan-modes{display:flex;flex-wrap:wrap;gap:.5rem;grid-column:1 / -1}.btn-sm{min-height:2.25rem;padding:0 .75rem;font-size:.8125rem;box-shadow:none}.btn-icon{inline-size:2.25rem;padding:0}.lesson-bar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:-.5rem 0 0;padding:.75rem 1rem;border:1.5px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.lesson-back{display:grid;place-items:center;flex:none;inline-size:2.5rem;block-size:2.5rem;border-radius:.75rem;border:1.5px solid var(--border-strong);color:var(--text);text-decoration:none;font-size:1.125rem}.lesson-back:hover{background:var(--surface-muted)}.lesson-bar-title{display:flex;flex-direction:column;gap:.125rem;flex:1 1 16rem;min-width:0}.lesson-bar-title h1{margin:0;font-size:1.5rem;line-height:1.15}.lesson-bar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.lesson-bar-actions .role-switch-option{min-height:2.25rem;padding:0 .875rem}.ai-thinking{flex-basis:100%;min-width:0;font-size:.8125rem}.ai-thinking summary{cursor:pointer;opacity:.75}.ai-thinking-head{display:block;margin-bottom:.25rem;opacity:.75}.ai-thinking-text{margin:.375rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere;opacity:.8}.ai-thinking:not(.ai-thinking-live) .ai-thinking-text{max-height:16rem;overflow-y:auto}.ai-thinking-live .ai-thinking-text{margin:0;max-height:6.5em;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,black 2.5em);mask-image:linear-gradient(to bottom,transparent,black 2.5em)}.lesson-ai{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem .75rem;padding:.875rem 1rem;border-radius:var(--radius);background:var(--ink);color:var(--on-ink)}.lesson-ai-tag{padding:.25rem .5rem;border-radius:.5rem;background:var(--lime);color:var(--ink)}.lesson-ai .role-switch{border-color:var(--on-ink-muted);background:transparent}.lesson-ai .role-switch-option{min-height:2.25rem;color:var(--on-ink)}.lesson-ai .role-switch-option[aria-pressed=true]{background:var(--on-ink);color:var(--ink)}.lesson-ai-wish{flex:1 1 16rem;min-height:2.5rem}.lesson-ai .btn-lime{border-color:var(--lime);box-shadow:none}.lesson-ai-note{flex-basis:100%;color:var(--on-ink-muted);font-size:.875rem}.lesson-ai-note a{color:var(--lime)}.lesson-from-plan,.lesson-howto{display:flex;flex-wrap:wrap;align-items:baseline;gap:.375rem .75rem;margin:0;padding:.75rem 1rem;border-radius:var(--radius-sm);border:1.5px dashed var(--border-strong);font-size:.925rem;line-height:1.5}.lesson-from-plan .mono,.lesson-howto .mono{color:var(--text-muted)}.editor-section{padding:1.25rem;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--surface)}.editor-section[data-active]{border-color:var(--border-strong);box-shadow:none}.editor-section[data-reviewed]{border-color:var(--ok)}.editor-section-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.editor-section-head h2{margin:0;font-size:1.625rem}.editor-section-time{padding:.25rem .5rem;border-radius:.5rem;background:var(--ink);color:var(--lime)}.editor-section-head .section-reviewed{margin-left:auto}.editor-section .lesson-block{align-items:stretch;gap:.625rem;padding:.875rem;border-radius:1rem;border:1.5px solid var(--border);background:var(--surface-muted)}.lesson-block-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.lesson-block-kind{padding:.1875rem .5rem;border-radius:.375rem;border:1px solid var(--border-strong);background:var(--surface)}.lesson-block[data-drop]{box-shadow:0 -3px 0 var(--indigo)}.lesson-add-here[data-drop]{border-color:var(--indigo);opacity:1}.palette-item[draggable]{cursor:grab}.palette-more summary{margin:.5rem 0;color:var(--text-muted);font-size:.875rem;cursor:pointer}.lesson-add-here{align-self:center}.lesson-block>.lesson-add-here{margin-bottom:.25rem;opacity:.45}.lesson-block>.lesson-add-here:hover,.lesson-block>.lesson-add-here:focus-visible{opacity:1}.lesson-block-actions{display:flex;flex-wrap:wrap;gap:.375rem;margin-left:auto}.editor-section .block-regenerate{padding:.75rem;border-radius:.75rem;background:var(--surface);border:1.5px solid var(--indigo)}.lesson-nav{display:flex;flex-direction:column;gap:.125rem;padding:.875rem;border-color:var(--border-strong)}.lesson-nav-item{display:flex;align-items:center;gap:.5rem;min-height:2.5rem;padding:0 .625rem;border-radius:var(--radius-sm);color:var(--text);font-weight:600;text-decoration:none}.lesson-nav-item:hover{background:var(--surface-muted)}.lesson-nav-item .mono{margin-left:auto;font-size:.75rem}.lesson-nav-dot{inline-size:.625rem;block-size:.625rem;flex:none;border-radius:var(--radius-full);border:1.5px solid var(--border-strong)}.lesson-nav-item[data-state=reviewed] .lesson-nav-dot{border-color:var(--ok);background:var(--ok)}.lesson-nav-item[data-state=failed] .lesson-nav-dot{border-color:var(--coral);background:var(--coral)}.lesson-nav-item[data-state=empty] .lesson-nav-dot{border-style:dashed}.lesson-palette{gap:.625rem}.lesson-palette h2{margin:0;font-size:1.25rem}.lesson-palette>p{margin:0;font-size:.875rem}.lesson-start{display:flex;flex-direction:column;gap:1rem}.lesson-start h2{margin:0;font-size:1.75rem}.lesson-start>p{margin:0}.lesson-start-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:1rem}.lesson-way{position:static;cursor:default}.lesson-way .field,.lesson-way .btn{align-self:stretch}@media(max-width:52rem){.lesson-bar{position:static}}.next-lessons-series{display:flex;flex-direction:column;gap:.5rem}.next-lessons-bar{display:block;block-size:.5rem;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface-muted);overflow:hidden}.next-lessons-bar span{display:block;block-size:100%;background:var(--ink);transition:width .2s ease}.next-lessons .btn-add{align-self:flex-start}.lesson-prep{display:grid;grid-template-columns:minmax(0,1fr) 21rem;align-items:start;gap:1.5rem}.lesson-prep-main{display:flex;flex-direction:column;gap:1rem}.prep-step{gap:.875rem}.prep-step-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.prep-step-head h2{margin:0;font-size:1.375rem}.prep-step-head .muted{font-size:.875rem}.prep-step-n{display:grid;place-items:center;inline-size:1.75rem;block-size:1.75rem;border-radius:var(--radius-full);background:var(--ink);color:var(--lime)}.prep-pills{display:flex;flex-wrap:wrap;gap:.5rem}.prep-describe-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.prep-pills-label{flex-basis:100%;font-size:.875rem}.prep-pill{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font-weight:600;cursor:pointer}.prep-pill[aria-pressed=true]{border-color:var(--border-strong);background:var(--inverse-bg);color:var(--inverse-text)}.prep-pill[aria-pressed=true] .muted{color:var(--inverse-muted)}.prep-template{cursor:default;font-weight:500}.prep-template .mono{padding:.125rem .5rem;border-radius:.5rem;background:var(--lime);color:var(--ink)}.prep-summary{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.75rem;padding:1.375rem;border-radius:var(--radius);background:var(--ink);color:var(--on-ink);box-shadow:.375rem .375rem 0 var(--lime)}.prep-summary-title{color:var(--lime)}.prep-summary-lesson{font-size:1.5rem;line-height:1.15}.prep-sections{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.prep-sections li{display:flex;justify-content:space-between;gap:.5rem;padding:.375rem 0;border-bottom:1px solid color-mix(in srgb,var(--on-ink) 15%,transparent)}.prep-summary-note{color:var(--on-ink-muted);font-size:.875rem;line-height:1.45}.prep-summary-note a{color:var(--lime)}.prep-summary .btn-lime{border-color:var(--lime);box-shadow:none}.prep-busy{display:flex;flex-direction:column;gap:.5rem;font-weight:600}.prep-bar{border-color:var(--on-ink-muted);background:transparent}.prep-bar span{inline-size:40%;background:var(--lime);animation:prep-run 1.4s ease-in-out infinite}@keyframes prep-run{0%{transform:translate(-100%)}to{transform:translate(250%)}}.prep-manual{align-self:center;border-color:transparent;background:transparent;color:var(--on-ink-muted)}@media(prefers-reduced-motion:reduce){.prep-bar span{animation:none}}@media(max-width:52rem){.lesson-prep{grid-template-columns:1fr}.prep-summary{position:static}}.prep-level{min-width:3.5rem;justify-content:center;font-family:var(--font-mono)}.prep-hint{font-size:.875rem}.prep-step .new-course-number{inline-size:9rem}.plan-ai-brief{flex-basis:100%;display:flex;flex-direction:column;gap:.625rem;padding:.875rem;border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.plan-ai-brief .btn-sm{align-self:flex-start}.plan-ai-summary{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0;font-size:.925rem;line-height:1.45}.plan-ai-summary>span{flex:1 1 18rem}.lesson-ai .btn-sm:not(.btn-lime){border-color:var(--on-ink-muted);background:transparent;color:var(--on-ink)}.plan-ai-count{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600}.plan-ai-count .field-optional{color:var(--on-ink-muted)}.plan-ai-count input{inline-size:5.5rem;min-height:2.5rem}.plan-ai-locked{flex-basis:auto;flex:1 1 14rem}.answers-pick{gap:.75rem}.answers-pick p{margin:0}.answers-block{display:flex;flex-direction:column;gap:.5rem}.handed-in{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem;padding:.75rem 1rem;border-radius:var(--radius-sm);border:1.5px dashed var(--border-strong)}.handed-in p{margin:0;white-space:pre-wrap}.plan-ai-toggle{flex:1 1 16rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.125rem 0;border:0;background:transparent;color:var(--on-ink);text-align:left;cursor:pointer}.plan-ai-toggle-text{display:flex;flex-direction:column;gap:.125rem}.plan-ai-toggle-text .display{font-size:1.25rem}.plan-ai-toggle-hint{color:var(--on-ink-muted);font-size:.875rem}.plan-ai-chevron{flex:none;transition:transform .15s ease}.plan-ai-toggle[aria-expanded=true] .plan-ai-chevron{transform:rotate(180deg)}.plan-ai-toggle:hover .display{text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:.2em}.plan-ai-toggle:focus-visible{outline:3px solid var(--lime);outline-offset:2px}.plan-ai-what{flex:1 1 100%;display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:600}.plan-ai-what .field-optional{color:var(--on-ink-muted)}.prep-mix{border-color:var(--on-ink-muted);background:transparent;color:var(--on-ink);box-shadow:none;white-space:normal;text-align:center}.profile-card{gap:1rem}.profile-head{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.profile-avatar{display:grid;place-items:center;flex:none;inline-size:4.5rem;block-size:4.5rem;overflow:hidden;border-radius:1.375rem;border:1.5px solid var(--ink);background:var(--coral);color:var(--ink);font:800 1.875rem var(--font-display)}.profile-avatar img,.avatar img{inline-size:100%;block-size:100%;object-fit:cover}.avatar{overflow:hidden}.profile-who{display:flex;flex:1 1 14rem;flex-direction:column;gap:.25rem;min-width:0}.profile-who strong{font-size:1.5rem}.profile-photo{cursor:pointer}.profile-photo:focus-within{outline:3px solid var(--indigo);outline-offset:2px}.account-panel-who{display:flex;flex-direction:column;gap:.125rem;min-width:0}.label-short{display:none}@media(max-width:40rem){.lesson-bar{gap:.625rem;padding:.625rem .75rem}.lesson-bar-title .mono{font-size:.6875rem}.lesson-bar-title h1{font-size:1.25rem}.lesson-bar-actions{display:grid;grid-template-columns:1fr 1fr;flex-basis:100%}.lesson-bar-actions .role-switch{grid-column:1 / -1}.lesson-bar-actions .role-switch-option{flex:1;padding:0 .5rem}.lesson-bar-actions .btn{min-height:2.5rem;padding:0 .625rem;font-size:.8125rem;white-space:nowrap}.label-long{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.label-short{display:inline}.lesson-ai{padding:.75rem}.lesson-ai .role-switch{flex:1 1 100%}.lesson-ai .role-switch-option{flex:1}.lesson-ai .btn-lime{flex:1 1 100%}}@media(max-width:40rem){.plan-chapter{padding:.875rem .75rem}.plan-lesson{gap:.375rem;padding:.375rem}.plan-lesson-title{flex-basis:calc(100% - 2.25rem)}.plan-lesson-summary{padding-left:0}.plan-difficulty{margin-left:0}.plan-difficulty-step{inline-size:1.375rem;block-size:1.375rem}.plan-lesson-state .sticker{padding:.0625rem .375rem;font-size:.625rem}.plan-lesson-state>a{padding:0 .5rem}.plan-lesson .plan-buttons .link-button{inline-size:1.625rem;block-size:1.625rem;min-height:1.625rem}}@media(max-width:40rem){.plan-chapter-head{gap:.5rem}.plan-chapter-head .plan-buttons{margin-left:auto}.plan-chapter-title{order:1;flex-basis:100%}.plan-exam{padding:.625rem .75rem}.plan-exam .btn{min-height:2rem;font-size:.8125rem}}.lesson-editor .lesson-side,.lesson-editor .prep-summary{top:calc(var(--lesson-bar-h, 0px) + 1.25rem)}.lesson-editor .lesson-side{max-height:calc(100dvh - var(--lesson-bar-h, 0px) - 2.5rem);overflow:hidden}.lesson-editor .lesson-layout{margin-bottom:-4rem}.lesson-editor .lesson-main{padding-bottom:4rem}.lesson-editor .lesson-nav{flex:none;gap:0;max-height:40vh;padding:.5rem;overflow-y:auto}.lesson-editor .lesson-nav>.mono{padding:0 .5rem .25rem;font-size:.6875rem}.lesson-editor .lesson-nav-item{min-height:2rem;padding:0 .5rem;font-size:.875rem}.lesson-side-rest{display:flex;flex-direction:column;gap:.75rem;min-height:0;overflow-y:auto;scrollbar-width:thin}.lesson-editor .editor-section{scroll-margin-top:calc(var(--lesson-bar-h, 0px) + 1.25rem)}@media(max-width:52rem){.lesson-editor .lesson-side{max-height:none;overflow:visible}.lesson-editor .lesson-nav{max-height:none}.lesson-editor .lesson-layout{margin-bottom:0}.lesson-editor .lesson-main{padding-bottom:0}.lesson-side-rest{overflow:visible}}.lesson-steps{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.lesson-step{display:none;align-items:center;gap:.375rem;min-height:2.25rem;padding:0 .75rem 0 .25rem;border:1.5px solid var(--border);border-radius:.75rem;background:var(--surface);color:var(--text);font-weight:600;font-size:.8125rem;cursor:pointer}.lesson-step-n{display:grid;place-items:center;inline-size:1.5rem;block-size:1.5rem;border-radius:.5rem;background:var(--surface-muted)}.lesson-step[aria-current=step]{border-color:var(--border-strong);background:var(--inverse-bg);color:var(--inverse-text)}.lesson-step[aria-current=step] .lesson-step-n{background:var(--lime);color:var(--ink)}.lesson-step[data-state=reviewed] .lesson-step-n{background:var(--ok-bg);color:var(--ok)}.lesson-step[data-state=failed]{border-color:var(--coral)}.lesson-steps-toggle{margin-left:auto}.lesson-step-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}.lesson-nav-item[aria-current=step]{background:var(--inverse-bg);color:var(--inverse-text)}.lesson-nav-item[aria-current=step] .mono{color:var(--inverse-muted)}@media(max-width:52rem){.lesson-step{display:inline-flex}}@media(max-width:52rem){.lesson-steps-where{display:none}}.context-menu{max-height:calc(100vh - 1rem);overflow-y:auto}.context-menu-group{padding:.5rem .625rem .25rem;color:var(--text-muted);font:500 .6875rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.accounting-list{display:flex;flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none}.accounting-card{display:flex;flex-direction:column;gap:1rem}.accounting-rule{margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--surface-muted)}.accounting-numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));gap:.5rem;margin:0}.accounting-numbers>div{padding:.375rem .625rem;border-radius:var(--radius-sm);background:var(--surface-muted)}.accounting-numbers>div[data-warn]{background:var(--coral-bg)}.accounting-numbers dt{color:var(--text-muted);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.accounting-numbers dd{margin:0;font:700 1.1rem var(--font-display)}.accounting-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.accounting-form .btn{min-height:2.75rem}.accounting-subtitle{margin:.25rem 0 0;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.accounting-lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(22rem,100%),1fr));gap:.375rem 1.25rem;margin:0;padding:0;list-style:none}.accounting-lessons li{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.25rem 0;border-bottom:1px solid var(--border)}.accounting-lessons li[data-mark=done] span:nth-child(2){color:var(--ok)}.accounting-lessons li[data-mark=unfinished] span:nth-child(2){color:var(--coral)}.accounting-charges{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.accounting-charges li{display:grid;grid-template-columns:7rem minmax(0,10rem) minmax(0,1fr) auto;align-items:center;gap:.5rem 1rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.accounting-charges li:last-child{border-bottom:0}.accounting-charges li[data-struck]>:not(button,.sticker){color:var(--text-muted);text-decoration:line-through}@media(max-width:640px){.accounting-charges li{grid-template-columns:minmax(0,1fr) auto}}.person[data-struck]>span:not(.sticker){text-decoration:line-through;color:var(--text-muted)}.session-change{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem}.students-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));gap:.75rem;margin:0 0 1rem}.students-summary>div{padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.students-summary>div[data-warn]{border-color:var(--coral);background:var(--coral-bg)}.students-summary dt{color:var(--text-muted);font-size:.8125rem}.students-summary dd{margin:0;font-size:1.5rem}.students-layout{display:grid;grid-template-columns:minmax(0,20rem) minmax(0,1fr);align-items:start;gap:1rem;margin-bottom:1rem}.students-list{position:sticky;top:5.5rem;display:flex;flex-direction:column;gap:.5rem}@media(max-width:860px){.students-list{position:static}}.students-list ul{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.students-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.125rem .5rem;width:100%;padding:.5rem .625rem;border:1.5px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.students-row>.mono{grid-column:1;overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.students-row>.sticker{grid-column:2;grid-row:1 / span 2;align-self:center}.students-row:hover{background:var(--surface-muted)}.students-row[aria-current]{border-color:var(--border-strong);background:var(--surface-muted)}.student-card{display:flex;flex-direction:column;gap:1rem}.page-head-action{margin-left:auto}.page-head-action+.page-head-action{margin-left:0}.student-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.student-card-head h2{margin:0 0 .25rem}.student-balance{display:grid;justify-items:end;padding:.5rem .875rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);line-height:1.1}.student-balance strong{font-size:1.75rem}.student-balance[data-warn]{border-color:var(--coral);background:var(--coral-bg)}.student-balance .mono,.student-course-stats dt{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.student-next{margin:0}.student-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-top:.25rem}.student-card h3{margin:0;font-size:1.15rem}.student-section-title{margin-top:.5rem!important;padding-top:1rem;border-top:1px solid var(--border)}.student-assign{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:.5rem}.student-assign .select{width:16rem;min-width:0;max-width:100%}.student-assign .select-button{min-height:2.5rem}.student-courses{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.student-course{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.student-course-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.student-course-head strong{flex:1 1 12rem;font-size:1.05rem}.student-course-drop{color:var(--text-muted)}.student-course-progress{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .75rem}.student-course-progress .meter-bar{flex:1 1 10rem;min-width:8rem}.student-course-money{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1rem}.student-course-stats{display:flex;gap:.5rem;margin:0}.student-course-stats>div{min-width:5.5rem;padding:.375rem .625rem;border-radius:var(--radius-sm);background:var(--surface-muted)}.student-course-stats>div[data-warn]{background:var(--coral-bg)}.student-course-stats dt{color:var(--text-muted)}.student-course-stats dd{margin:0;font:700 1.15rem var(--font-display)}.student-paid{display:flex;align-items:flex-end;gap:.5rem}.student-paid .field{gap:.25rem}.student-paid input{width:6rem}.student-paid .btn{min-height:2.75rem}.student-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:.75rem 1rem}.student-settings .btn{grid-column:1 / -1;justify-self:start}@media(max-width:640px){.student-settings{grid-template-columns:minmax(0,1fr)}.student-balance{justify-items:start}}.student-remove{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding-top:1rem;border-top:1px solid var(--border)}.student-remove>.link-button{color:var(--coral)}.invite-courses{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:0;border:0}.invite-courses legend{margin-bottom:.375rem;color:var(--text-muted);font-size:.875rem}@media(max-width:52rem){.students-layout{grid-template-columns:1fr}}.select{position:relative;display:flex;flex-direction:column;gap:.375rem;min-width:0;font-weight:600;font-size:.8125rem}.select-button{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:0 .75rem 0 .875rem;border:1.5px solid var(--field-border);border-radius:var(--field-radius);background:var(--surface);color:var(--text);font:400 1rem var(--font);text-align:left;cursor:pointer}.select-button:focus-visible,.select[data-open] .select-button{border-color:var(--indigo);outline:3px solid var(--indigo);outline-offset:1px}.select-button:disabled{opacity:.55;cursor:not-allowed}.select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-value[data-empty]{color:var(--text-muted)}.select-caret{color:var(--text-muted);transition:transform .12s ease}.select[data-open] .select-caret{transform:rotate(180deg)}.select-hint{color:var(--text-muted);font:500 .75rem var(--font-mono);white-space:nowrap}.select-inline{display:inline-flex;flex-direction:row;align-items:center;gap:0;margin:.125rem .25rem;vertical-align:middle;line-height:1.5}.select-inline .select-button{width:auto;min-width:6rem;min-height:2rem;padding:0 .5rem}.select-popup{position:absolute;top:calc(100% + .25rem);left:0;z-index:40;display:flex;flex-direction:column;width:max(100%,14rem);max-width:min(28rem,calc(100vw - 2rem));padding:.375rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-hard-sm)}.select-popup[data-above]{top:auto;bottom:calc(100% + .25rem)}.select-popup[data-touch-below]{top:calc(100% + .75rem)}.select-popup .select-list{flex:0 1 auto;min-height:0}.select-search{min-height:2.25rem;margin-bottom:.25rem;padding:0 .625rem;border:1.5px solid var(--field-border);border-radius:.5rem;background:var(--surface);color:var(--text);font:400 .9375rem var(--font)}.select-list{max-height:18rem;margin:0;padding:0;overflow-y:auto;list-style:none}.select-group{padding:.5rem .625rem .25rem;color:var(--text-muted);font:500 .6875rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.select-option{display:flex;align-items:center;gap:.5rem;min-height:2.25rem;padding:0 .625rem;border-radius:.5rem;color:var(--text);font:500 .9rem var(--font);cursor:pointer}.select-option[data-active]{background:var(--surface-muted)}.select-option[aria-selected=true]{font-weight:700}.select-option[aria-disabled]{opacity:.5;cursor:not-allowed}.select-option-label{flex:1}.select-check{width:.875rem;color:var(--indigo)}.select-empty{padding:.5rem .625rem;color:var(--text-muted)}.bv-prose-lead{display:block;margin-bottom:.25rem}.bv-prose-points{display:flex;flex-direction:column;gap:.25rem;margin:0;padding-left:1.25rem}.select-label:has(>.visually-hidden){position:absolute}.session-head-actions{display:flex;flex-wrap:wrap;gap:.5rem}.course-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(22rem,100%),1fr));gap:1rem;margin:0;padding:0;list-style:none}.course-tile{display:flex;flex-direction:column;gap:.75rem;padding:1.125rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface)}.course-tile-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.course-tile-title{min-height:2.5em;color:var(--text);font:700 1.2rem/1.25 var(--font-display);text-decoration:none}.course-tile-title:hover{text-decoration:underline}.course-tile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0}.course-tile-facts>div{padding:.375rem .625rem;border-radius:var(--radius-sm);background:var(--surface-muted)}.course-tile-facts>div[data-warn]{background:var(--coral-bg)}.course-tile-facts dt{color:var(--text-muted);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.course-tile-facts dd{margin:0;font-size:.875rem;font-weight:700;line-height:1.3;overflow-wrap:break-word}.course-tile-note{margin:0;font-size:.875rem}.course-tile-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.course-tile-remove{align-self:flex-start;color:var(--text-muted);font-size:.875rem}.course-tile-delete{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.students-board{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.students-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.students-tools .students-search{flex:1 1 16rem;max-width:28rem}.students-filters,.schedule-days-pick{display:flex;flex-wrap:wrap;gap:.375rem}.students-filters button,.schedule-days-pick button{min-height:2.25rem;padding:0 .75rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font:600 .8125rem var(--font-body, inherit);cursor:pointer}.students-group-row{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin:0 0 .75rem;border-bottom:1.5px solid var(--border)}.students-group-tabs{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}.students-group-tabs button,.students-group-add{min-height:2.5rem;padding:0;border:0;border-bottom:3px solid transparent;margin-bottom:-.1rem;background:none;color:var(--text-muted);font:600 .9375rem var(--font-body, inherit);cursor:pointer}.students-group-tabs button[aria-selected=true]{border-bottom-color:var(--text);color:var(--text)}.students-group-add{flex:none;font-weight:500;text-decoration:underline}.student-tiles .students-remove-confirm{margin-top:0}.students-group-notice,.students-remove-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.8125rem}.students-remove-confirm{margin:.375rem 0 0}.students-remove-confirm p{flex:1 1 100%;margin:0}.students-group-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:0 0 .75rem}.students-group-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;margin:0 0 .75rem}.students-group-tools .students-group-form{margin:0}.student-tiles li .link-button{margin-top:.25rem}.students-filters button,.schedule-days-pick button{transition:background-color .12s ease,color .12s ease}.students-filters button:hover:not([aria-pressed=true]),.schedule-days-pick button:hover:not([aria-pressed=true]),.sort-chip:hover:not([aria-pressed=true]):not(:disabled),.prep-pill:hover:not([aria-pressed=true]),.role-switch-option:hover:not([aria-pressed=true]){background:var(--surface-muted)}.students-filters button:active,.schedule-days-pick button:active,.sort-chip:active:not(:disabled),.prep-pill:active{opacity:.65}.students-filters button:focus-visible,.schedule-days-pick button:focus-visible,.sort-chip:focus-visible,.prep-pill:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.students-filters button[aria-pressed=true],.schedule-days-pick button[aria-pressed=true]{border-color:var(--border-strong);background:var(--inverse-bg);color:var(--inverse-text)}.student-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(16rem,100%),1fr));gap:.75rem;margin:0;padding:0;list-style:none}.student-tiles>li{display:flex;flex-direction:column;min-width:0}.student-tiles>li>.student-tile{flex:1 1 auto}.student-tile-actions:not(:empty){margin-top:.25rem}.student-tile{display:flex;flex-direction:column;gap:.375rem;min-width:0;padding:1rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);text-decoration:none}.student-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.student-tile-head strong{min-width:0;overflow:hidden;font-size:1.1rem;text-overflow:ellipsis;white-space:nowrap}.student-tile-head .sticker{flex:none;white-space:nowrap}.student-tile .mono{font-size:.75rem;min-width:0}.student-tile>.mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-tile-courses,.student-tile-next{font-size:.875rem}.student-tile-next{margin-top:auto;color:var(--text-muted)}.back-link{align-self:flex-start;margin-bottom:.5rem;color:var(--text-muted);font-size:.875rem;text-decoration:none}.student-page>.student-card-head h1{margin:0 0 .25rem;font-size:clamp(1.75rem,4vw,2.5rem)}.tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:.25rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.tab{min-height:2.5rem;padding:0 1rem;border:0;border-radius:var(--radius-full);background:transparent;color:var(--text-muted);font:600 .9rem var(--font-body, inherit);cursor:pointer}.tab:hover{color:var(--text)}.tab[aria-current=page]{background:var(--inverse-bg);color:var(--inverse-text)}.student-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(22rem,100%),1fr));gap:1rem;align-items:start}.student-where,.student-upcoming,.schedule-list,.balance-history{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.student-where li{display:grid;gap:.25rem;padding:.625rem 0;border-bottom:1px solid var(--border)}.student-upcoming li,.schedule-list li,.balance-history li{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .875rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.student-where li:last-child,.student-upcoming li:last-child,.schedule-list li:last-child,.balance-history li:last-child{border-bottom:0}.student-note{margin:0;white-space:pre-wrap}.student-courses-tab,.student-balance-tab{display:flex;flex-direction:column;gap:1rem}.student-courses-tab>.student-assign{flex-direction:row;align-items:flex-end}.student-course-block{display:flex;flex-direction:column;gap:.75rem}.student-course-block .student-course-head strong{font-size:1.25rem}.student-subtitle{margin:.5rem 0 0;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.schedule-days{display:inline-flex;gap:.125rem}.schedule-days span{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-muted);font:600 .75rem var(--font-mono, monospace)}.schedule-days span[data-on]{background:var(--lime);color:var(--on-accent)}.schedule-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:1rem;border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm)}.schedule-days-pick{margin:0;padding:0;border:0}.schedule-days-pick legend{margin-bottom:.375rem;font-weight:600;font-size:.8125rem}.schedule-days-pick button{min-width:2.75rem;border-radius:var(--radius-sm)}.schedule-form .field input{width:auto}.schedule-form-actions{display:flex;align-items:center;gap:.75rem}.schedule-hint{flex-basis:100%;margin:0;font-size:.8125rem}.balance-form{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.balance-form .field input[type=number]{width:6rem}.balance-note{flex:1 1 14rem}.balance-history li{display:grid;grid-template-columns:9rem 3rem minmax(0,1fr) auto}.balance-delta{font:700 1.05rem var(--font-display);text-align:right}.balance-history li[data-kind=topup] .balance-delta{color:var(--ok)}.balance-history li[data-kind=writeoff] .balance-delta,.balance-history li[data-kind=charge] .balance-delta{color:var(--coral)}.balance-history li[data-struck]>:not(button){color:var(--text-muted);text-decoration:line-through}@media(max-width:640px){.balance-history li{grid-template-columns:3rem minmax(0,1fr)}.balance-history li>.mono:first-child{grid-column:1 / -1}}.accounting-hint{flex-basis:100%;font-size:.8125rem}.accounting-history{display:flex;flex-direction:column;gap:.5rem}.accounting-history>.link-button{align-self:flex-start}.student-layout{display:block}@media(min-width:1024px){.student-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);align-items:start;gap:1.5rem}.student-tabs{position:sticky;top:5.5rem;flex-direction:column;margin:0;padding:.5rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.student-tabs .tab{justify-content:flex-start;border-radius:var(--radius-sm);text-align:left}}.week-ahead{margin-bottom:1.5rem}.week-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(14rem,100%),1fr));gap:.75rem}.week-day h3{margin:0 0 .375rem;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.week-day ul{display:flex;flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none}.week-day li{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:0 .5rem;padding:.5rem .625rem;border-radius:var(--radius-sm);background:var(--surface-muted)}.week-day li .muted{grid-column:2;font-size:.8125rem}.lesson-switcher{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem}.lesson-switcher .select{flex:1 1 16rem;max-width:26rem}.outcome-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:2.25rem;padding:0 .875rem 0 .5rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text-muted, var(--text));font:600 .8125rem var(--font-body, inherit);cursor:pointer}.outcome-check{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border:1.5px solid var(--border-strong);border-radius:50%;font-size:.75rem}.outcome-toggle[aria-pressed=true]{border-color:var(--ok);background:var(--ok-bg);color:var(--text)}.outcome-toggle[aria-pressed=true] .outcome-check{border-color:var(--ok);background:var(--ok);color:var(--surface)}.sort-board{display:grid;gap:.75rem}.sort-pool{display:flex;flex-wrap:wrap;gap:.5rem;min-height:2.75rem;padding:.5rem;border:1.5px dashed var(--border-strong);border-radius:var(--radius-md, .75rem)}.sort-help{margin:0}.sort-groups{display:grid;grid-template-columns:repeat(var(--sort-columns, 2),minmax(0,1fr));gap:.75rem}@media(max-width:40rem){.sort-groups{grid-template-columns:1fr}}.sort-group{display:grid;grid-template-rows:auto 1fr;border:1.5px solid var(--border-strong);border-radius:var(--radius-md, .75rem);overflow:hidden}.sort-group-head{padding:.5rem .75rem;border:0;border-bottom:1.5px solid var(--border-strong);background:var(--surface-2, var(--surface));color:var(--text);font:700 .875rem var(--font-body, inherit);text-align:left;cursor:pointer}.sort-group-head:not(:disabled):hover{background:var(--lime, var(--ok-bg))}.sort-group-head:disabled{cursor:default}.sort-group-body{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.375rem;min-height:3.5rem;padding:.5rem}.sort-chip{min-height:2.25rem;padding:0 .75rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--text);font:600 .875rem var(--font-body, inherit);cursor:pointer}.sort-chip[aria-pressed=true]{border-color:var(--text);box-shadow:0 0 0 2px var(--text)}.sort-chip[data-result=right]{border-color:var(--ok);background:var(--ok-bg)}.sort-chip[data-result=wrong]{border-color:var(--coral);background:var(--coral-bg)}.bv-keys{margin:.5rem 0 0;padding-left:1.25rem}.flash-deck{display:grid;justify-items:center;gap:.75rem}.flash-count{margin:0}.flash-card{display:grid;place-items:center;align-content:center;gap:.5rem;width:min(100%,26rem);min-height:11rem;padding:1.5rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-lg, 1rem);background:var(--surface);color:var(--text);text-align:center;cursor:pointer;transition:transform .25s ease,background .25s ease}.flash-card[data-flipped=true]{background:var(--ok-bg)}.flash-front{font-size:1.5rem}.flash-back{font-size:1.125rem}.flash-actions{display:flex;gap:.5rem}.flash-done{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}@media(prefers-reduced-motion:reduce){.flash-card{transition:none}}.live-elsewhere{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .75rem;padding:.5rem .75rem;border:1.5px solid var(--coral);border-radius:var(--radius-md, .75rem);background:var(--coral-bg)}.speak-button{display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;margin-left:.25rem;padding:0;border:1.5px solid var(--border-strong);border-radius:50%;background:var(--surface);color:var(--text);vertical-align:middle;cursor:pointer}.speak-button[data-state=playing]{border-color:var(--ok);background:var(--ok-bg)}.speak-button[data-state=failed]{border-color:var(--coral)}.voice-block{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem}.add-words{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0 1rem}.dictionary{display:grid;gap:.75rem}.dictionary-words{display:grid;gap:.25rem;margin:0;padding:0;list-style:none}.dictionary-search{max-width:20rem}.dictionary-lesson{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dictionary-state[data-state=learning]{background:var(--lime);color:var(--on-accent)}.dictionary-state[data-state=known]{background:var(--inverse-bg);color:var(--inverse-text)}.dictionary-state[data-state=new]{border:1px dashed var(--text);background:var(--bg);color:var(--text)}.review-deck-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:min(100%,26rem)}.dictionary-note{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem 1.25rem;border-radius:var(--radius);background:var(--inverse-bg);color:var(--inverse-text)}.dictionary-note-title,.dictionary-note .link-button{color:var(--lime)}.dictionary-words li{display:grid;grid-template-columns:minmax(6rem,1fr) minmax(6rem,1.5fr) minmax(4rem,1fr) auto auto;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.dictionary-actions{display:inline-flex;align-items:center;gap:.5rem}@media(max-width:40rem){.dictionary-words li{grid-template-columns:minmax(0,1fr) auto}.dictionary-words li>.muted{grid-column:1}.dictionary-actions{flex-wrap:wrap}.dictionary-search{max-width:none}.dictionary-words li>.dictionary-state{grid-column:2;grid-row:1}.dictionary-words li>.dictionary-actions{grid-column:1 / -1}}.known-words-list{display:flex;flex-wrap:wrap;gap:.375rem;margin:0}.exam-bar{display:grid;gap:.5rem;border-color:var(--text)}.exam-bar:has(.exam-hand-in){position:sticky;bottom:.75rem;z-index:5;background:var(--surface);box-shadow:var(--shadow-hard-sm)}.exam-progress{display:flex;flex-direction:column;margin-right:auto}.exam-bar[data-passed]{border-color:var(--ok)}.exam-attempts{display:flex;flex-wrap:wrap;gap:.375rem}.exam-attempt{width:.75rem;height:.75rem;border-radius:var(--radius-full);border:1.5px solid var(--border-strong)}.exam-attempt[data-used]{background:var(--inverse-bg)}.exam-result{display:grid;gap:.25rem;padding:1rem 1.25rem;border-radius:var(--radius);border:1.5px solid var(--coral);background:var(--coral-bg)}.exam-result[data-passed]{border-color:var(--ok);background:var(--ok-bg)}.exam-score{font-size:clamp(2.25rem,8vw,3rem);line-height:1}.exam-verdict{font-weight:700}.exam-next{margin-top:.25rem}.exam-hand-in{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}@media(max-width:40rem){.exam-hand-in .btn{flex:1 1 100%}.exam-bar:has(.exam-hand-in){bottom:.5rem}}.market-filters{display:grid;grid-template-columns:minmax(10rem,2fr) repeat(2,minmax(8rem,1fr)) minmax(5rem,.6fr) auto;align-items:end;gap:.75rem;margin-bottom:1rem}@media(max-width:56rem){.market-filters{grid-template-columns:1fr}}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none}.market-tile{display:grid;gap:.375rem;width:100%;height:100%;padding:1rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-lg, 1rem);background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.market-tile[aria-pressed=true]{border-color:var(--text)}.market-tile-text{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.market-item{display:grid;gap:.75rem;margin-bottom:1rem}.market-outline{display:grid;gap:.5rem;margin:0;padding-left:1.25rem}.market-outline ul{margin:.25rem 0 0;padding-left:1rem}.market-sample summary{cursor:pointer;font-weight:600}.modal-card.market-overlay{inline-size:min(80rem,100%);block-size:100%;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.market-overlay-main{display:flex;flex:1;flex-direction:column;min-block-size:0}.market-overlay-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem;border-block-end:1.5px solid var(--border-strong);background:var(--surface)}.market-overlay-body{flex:1;min-block-size:0;overflow-y:auto;overscroll-behavior:contain}.market-overlay-state{padding:1.25rem}.market-hero{display:grid;gap:.625rem;padding:1.75rem 1.25rem;background:var(--ink);color:var(--on-ink)}.market-hero .display{margin:0;font-size:clamp(1.75rem,4vw,3rem);line-height:1.05}.market-hero a{color:var(--lime)}.market-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem}.market-hero .muted{color:inherit;opacity:.8}.market-author{display:inline-flex;align-items:center;gap:.5rem}.market-author .avatar{inline-size:1.75rem;block-size:1.75rem;border-radius:var(--radius-full);font-size:.75rem}.market-columns{display:grid;grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1.5rem;padding:1.25rem}.market-main{display:grid;gap:.75rem;min-inline-size:0}.market-aside{display:grid;gap:.75rem;position:sticky;top:0}.market-actions{display:grid;gap:.75rem}.market-reviews{display:grid;gap:.75rem;margin-block-start:.5rem}.market-review-list{display:grid;gap:.625rem;margin:0;padding:0;list-style:none}.market-review{display:grid;gap:.375rem;padding:.875rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.market-review p{margin:0}.market-review-head{display:flex;align-items:center;gap:.5rem}.market-review-head .avatar{inline-size:1.75rem;block-size:1.75rem;border-radius:var(--radius-full);font-size:.75rem}.market-review-head .mono{margin-inline-start:auto}.market-review-form{display:grid;gap:.75rem}.market-review-why{margin:0;padding:.875rem 1rem;border:1.5px dashed var(--border);border-radius:var(--radius-sm)}.market-preview{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;background:var(--surface-muted);transform:translate(100%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}.market-preview[data-open=true]{transform:translate(0);visibility:visible;transition:transform .25s ease}.market-preview-page{display:grid;gap:1rem;inline-size:min(52rem,100%);margin-inline:auto;padding:1.25rem}.market-preview-page .display{margin:0}@media(max-width:56rem){.market-columns{grid-template-columns:minmax(0,1fr)}.market-aside{order:-1;position:static}}@media(prefers-reduced-motion:reduce){.market-preview,.market-preview[data-open=true]{transition:none}}.landing-h2{margin:0 0 1.25rem;font-size:clamp(1.75rem,4vw,2.75rem)}.landing-cards,.landing-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:1rem;margin:0;padding:0;list-style:none}.landing-card,.landing-feature{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface)}.landing-card-accent{border-color:var(--text);background:var(--inverse-bg);color:var(--inverse-text)}.landing-feature .sticker,.landing-card .sticker{align-self:flex-start}.landing-feature-title{font-size:1.15rem}.landing-student{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));align-items:start;gap:2rem}.landing-checks{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.landing-checks li{padding:1rem 1.25rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface)}.landing-modes{display:flex;flex-direction:column;gap:1rem}.landing-faq{display:grid;gap:.5rem}.landing-faq-item{padding:1rem 1.25rem;border:1.5px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.landing-faq-item summary{font-weight:600;cursor:pointer}.landing-faq-item p{margin:.75rem 0 0}.landing-cta{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;padding:2.5rem;border-radius:var(--radius-lg);background:var(--lime);color:var(--on-accent)}.landing-cta h2{margin:0;font-size:clamp(1.75rem,4vw,2.75rem)}.analytics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));gap:.75rem;margin:0}.analytics-summary>div{padding:1rem 1.25rem;border:1.5px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.analytics-summary dt{color:var(--text-muted, var(--text));font-size:.8125rem}.analytics-summary dd{margin:.25rem 0 0;font-size:1.75rem}.share{display:inline-flex;align-items:center;gap:.5rem;min-width:9rem}.share-bar{flex:1;height:.5rem;min-width:4rem;overflow:hidden;border-radius:var(--radius-full);background:var(--border)}.share-bar>span{display:block;height:100%;background:var(--text)}.share[data-tone=good] .share-bar>span{background:var(--ok)}.share[data-tone=mid] .share-bar>span{background:var(--lime)}.share[data-tone=low] .share-bar>span{background:var(--coral)}.analytics-hardest,.analytics-lessons{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.analytics-hardest li,.analytics-lessons li{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,2fr) auto;align-items:center;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--border)}.analytics-item-text{font-weight:600}.analytics-table{width:100%}@media(max-width:40rem){.analytics-hardest li,.analytics-lessons li{grid-template-columns:1fr}.analytics-table{display:block;overflow-x:auto}}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim)}.tour-spot{position:fixed;border:2px solid var(--lime);border-radius:var(--radius-sm);box-shadow:0 0 0 9999px var(--scrim);pointer-events:none;transition:top .2s ease,left .2s ease,width .2s ease,height .2s ease}.tour-card{position:fixed;width:min(20rem,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-hard)}.tour[data-centred] .tour-card{top:50%;left:50%;transform:translate(-50%,-50%)}.tour-card:focus{outline:none}.tour-card[data-side]:before{content:"";position:absolute;left:var(--tour-arrow, 2rem);width:.875rem;height:.875rem;background:var(--surface);border:inherit;transform:translate(-50%) rotate(45deg)}.tour-card[data-side=below]:before{top:calc(-.4375rem - 1px);border-right:none;border-bottom:none}.tour-card[data-side=above]:before{bottom:calc(-.4375rem - 1px);border-top:none;border-left:none}.tour-progress{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tour-dots{display:flex;gap:.25rem}.tour-dots span{width:.5rem;height:.5rem;border:1px solid var(--border-strong);border-radius:var(--radius-full)}.tour-dots span[data-on]{background:var(--lime)}.tour-card h2{margin:0;font-size:1.25rem}.tour-card p{margin:0}.tour-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.tour-actions .link-button{margin-right:auto}@media(prefers-reduced-motion:reduce){.tour-spot,.first-steps-bar span{transition:none}}.first-steps{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.first-steps-head{display:flex;align-items:baseline;gap:.75rem}.first-steps-head h2{margin:0;font-size:1.25rem}.first-steps-head .link-button{margin-left:auto}.first-steps-bar{height:.5rem;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface-muted)}.first-steps-bar span{display:block;height:100%;background:var(--lime);transition:width .3s ease}.first-steps-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.first-steps-list li{display:flex;align-items:center;gap:.625rem}.first-steps-list li[data-done]{color:var(--text-muted);text-decoration:line-through}.first-steps-mark{display:inline-grid;place-items:center;flex:none;width:1.375rem;height:1.375rem;border:2px solid var(--border-strong);border-radius:var(--radius-full);font-size:.75rem;font-weight:700}li[data-done] .first-steps-mark{background:var(--lime);color:var(--on-accent)}.language-switch{font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.04em}.plan-edit[inert]{opacity:.6}.lesson-layout[inert] .lesson-main>:not(.lesson-ai){opacity:.6}.student-tile-courses{display:flex;flex-direction:column;gap:.25rem}.student-tile-course{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.student-tile-course>span:first-child{min-width:0;overflow-wrap:anywhere}.student-tile-course .mono{flex:none;white-space:nowrap;text-align:right}.text-actions{z-index:60}.text-translation{z-index:60;display:flex;flex-direction:column;gap:.375rem;width:min(20rem,calc(100vw - 1rem))}.text-translation p{margin:0;padding:.25rem .625rem 0}.text-translation-source{color:var(--text-muted);font-size:.875rem;max-height:6rem;overflow:auto}.text-translation-result strong{font-size:1.05rem}.text-translation-actions{margin:0;padding:0;list-style:none}.text-translation-actions li[data-separated]{margin-top:.25rem;padding-top:.25rem;border-top:1px solid var(--border)}.text-actions-note{position:fixed;z-index:60;left:50%;bottom:1.25rem;margin:0;padding:.5rem .875rem;border-radius:var(--radius-full);background:var(--inverse-bg);color:var(--inverse-text);font-size:.875rem;transform:translate(-50%)}.guide{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:.25rem 0 .75rem;padding:.625rem .875rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);font-size:.875rem}.guide p{flex:1 1 16rem;margin:0}.guide-label{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.guide-actions{display:flex;gap:.75rem}.live-answers-note{margin:0 0 .75rem}.student-access{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .75rem;padding:.375rem .75rem;border-radius:var(--radius-sm);background:var(--coral-bg);border:1.5px solid var(--coral)}.student-access p{flex:1 1 14rem;margin:0;font-size:.8125rem;line-height:1.35}.student-access .btn{min-height:2rem;padding-inline:.75rem;font-size:.8125rem}.lesson-closed .sticker{align-self:flex-start}.field-note{margin:0;padding:.625rem .875rem;border-radius:var(--radius-sm);background:var(--coral-bg);font-size:.875rem;line-height:1.4}.lesson-meeting{padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface)}.lesson-meeting summary{cursor:pointer;font-weight:600;font-size:.9rem}.lesson-meeting-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.aside-tabs{display:flex;flex-direction:column;gap:.5rem}.aside-tabs-bar{display:inline-flex;align-self:flex-start;gap:.125rem;padding:.1875rem;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface)}.aside-tabs-bar button{position:relative;display:inline-flex;align-items:center;gap:.375rem;min-height:2rem;padding:0 .875rem;border:0;border-radius:var(--radius-full);background:transparent;color:var(--text-muted);font:600 .85rem var(--font);cursor:pointer}.aside-tabs-bar button[aria-pressed=true]{background:var(--inverse-bg);color:var(--inverse-text)}.aside-tabs-bar button:focus-visible{outline:2px solid var(--indigo);outline-offset:1px}.aside-tabs-badge{min-width:1.125rem;padding:0 .3125rem;border-radius:var(--radius-full);background:var(--coral);color:var(--on-accent);font-size:.7rem;line-height:1.125rem;text-align:center}@media not (max-width:60rem){.aside-tabs[data-tab=notes]>.session-chat,.aside-tabs[data-tab=chat]>.shared-notes{display:none}}@media(max-width:60rem){.aside-tabs{display:contents}.aside-tabs-bar{display:none}}.avatar-photo{width:100%;height:100%;object-fit:cover;display:block}.course-tile-more{display:grid;place-items:center;width:2.25rem;height:2.25rem;margin-left:auto;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text);cursor:pointer}.course-tile-more:hover{border-color:var(--border-strong)}.course-tile-more:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}.course-tile-ready{display:flex;flex-direction:column;gap:.375rem;margin-top:auto;font-size:.85rem}.course-tile-bar{display:flex;height:.5rem;overflow:hidden;border-radius:var(--radius-full);background:var(--border)}.course-tile-bar>span{background:var(--ok)}.lesson-rating-scores{display:grid;grid-template-columns:repeat(6,minmax(2.75rem,1fr));gap:.5rem;max-width:28rem}.lesson-rating-score{min-height:2.75rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.lesson-rating-score[aria-pressed=true]{border-color:var(--ink);background:var(--lime)}.lesson-rating-scale{display:flex;justify-content:space-between;max-width:28rem;font-size:.75rem}.rating-badge{font-size:.8125rem}.teacher-card-line{display:inline-flex;flex-wrap:wrap;gap:.25rem;align-items:baseline}.standing-points{font-size:1.5rem}.standing-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem}.standing-head h2{margin:0}.standing-line{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:0}.standing-head .link-button{margin-inline-start:auto}.standing-more{display:grid;gap:.75rem;margin-top:.75rem}.leaderboard{display:grid;gap:.25rem;margin:0;padding:0;list-style:none}.leaderboard li{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.leaderboard li[data-me]{background:color-mix(in srgb,var(--lime) 18%,var(--surface));font-weight:600}.open-bio{white-space:pre-line}.open-courses{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.open-courses>li{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border)}.open-courses>li>div{display:grid;gap:.25rem}.open-apply{flex-basis:100%}.open-application,.open-thread{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border)}.open-thread>a{display:grid;flex:1 1 16rem;gap:.25rem;min-width:0;color:inherit;text-decoration:none}.open-thread-last{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-badge{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;margin-left:.25rem;padding:0 .3rem;border-radius:var(--radius-full);background:var(--lime);color:var(--ink);font-size:.75rem;font-weight:700}.open-course-tile{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.open-course-teacher{font-size:.875rem}.chat-course{align-self:flex-start}.chat-compose{display:grid;gap:.5rem}.invites-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem}.invites-dialog-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim)}.invites-dialog-card{position:relative;width:min(36rem,100%);max-height:100%;overflow-y:auto;box-shadow:var(--shadow-hard)}.invites-dialog-card:focus{outline:none}.messenger-strip{display:grid;gap:.375rem}.messenger-strip h2{margin:0;font-size:.75rem;font-weight:500}.messenger-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.messenger-chip{display:flex;align-items:center;gap:.375rem;padding:.25rem .375rem .25rem .75rem;border:1.5px solid var(--border);border-radius:var(--radius-full);background:var(--surface)}.messenger-chip>a{display:flex;gap:.375rem;color:inherit;text-decoration:none}.messenger{display:grid;grid-template-columns:minmax(14rem,20rem) minmax(0,1fr);gap:1rem;align-items:start}.messenger-threads{margin:0;padding:0;list-style:none}.messenger-thread{border-bottom:1px solid var(--border)}.messenger-thread>a{display:grid;gap:.25rem;padding:.625rem .5rem;color:inherit;text-decoration:none}.messenger-thread[data-current]{background:var(--surface-muted)}.messenger-thread-head,.messenger-thread-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.messenger-pane{display:grid;gap:.75rem;min-width:0}.messenger-pane-head{display:flex;align-items:center;gap:.5rem}.messenger-pane-head h2{margin:0}.messenger-back{display:none}.messenger-chat .chat-list{max-height:60vh;min-height:12rem}.messenger-empty{place-items:center;min-height:12rem;text-align:center}@media(max-width:640px){.messenger{grid-template-columns:minmax(0,1fr)}.messenger[data-open=chat]>.messenger-list,.messenger[data-open=list]>.messenger-pane{display:none}.messenger-back{display:inline-flex;align-items:center;min-width:2.75rem;min-height:2.75rem;justify-content:center}}.shell:has(.page.live[data-board]) .shell-header{display:none}.shell:has(.page.live[data-board]) .shell-main{max-width:none;padding:0}.page.live[data-board]{gap:0;padding-bottom:0;--board-inset-top: 4.75rem;--board-inset-bottom: 5rem;--board-inset-left: 1.5rem;--board-inset-right: 1.5rem}.page.live[data-board] .live-layout{display:block}.page.live[data-board] .live-main{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;gap:0}.page.live[data-board] .live-main-content{display:flex;flex:1 1 0;flex-direction:column;min-height:0}.page.live[data-board] .live-main-content>.guide,.page.live[data-board] .live-main-content>.live-elsewhere{display:none}.page.live[data-board] .shared-board{flex:1 1 0;gap:0}.page.live[data-board] .board-viewport{flex:1 1 0;min-height:0;border:0;border-radius:0}.page.live[data-board] .live-side,.page.live[data-board] .live-side-scroll{display:contents}.page.live[data-board] .board-top{position:fixed;top:.75rem;left:.75rem;right:.75rem;z-index:35;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem;pointer-events:none}.page.live[data-board] .board-top>*{pointer-events:auto}.page.live .live-bar{max-width:100%;min-width:0;flex-wrap:nowrap;gap:.5rem .75rem;padding:.375rem .5rem .375rem .75rem;border-radius:var(--radius-full);box-shadow:var(--shadow-hard-sm)}.page.live:not([data-board]) .live-title-block{flex:1 1 0;min-width:2rem}.page.live .live-title-block{flex:0 1 14rem;order:0}.page.live .live-title{overflow:hidden;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.page.live .presence{flex-wrap:nowrap;gap:0}.page.live .presence-person{position:relative}.page.live .presence-person+.presence-person{margin-left:-.5rem}.page.live .live-bar .presence-avatar{width:2rem;height:2rem;border-color:var(--surface);font-size:.8rem}.page.live .presence-person[data-status=in_lesson]:after{content:"";position:absolute;right:0;bottom:0;width:.5rem;height:.5rem;border:1.5px solid var(--surface);border-radius:var(--radius-full);background:var(--ok)}.page.live .presence-name,.page.live[data-board] .live-leave-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.page.live .live-actions{flex-wrap:nowrap;margin-left:0}.page.live[data-board] .live-controls{max-width:100%}.page.live .live-badge{white-space:nowrap}.live-end-short{display:none}.page.live[data-board] .board-save{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.page.live[data-board] .session-controls{flex-flow:row nowrap;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:var(--radius-full);box-shadow:var(--shadow-hard-sm)}.page.live[data-board] .session-controls-row{flex-wrap:nowrap}.page.live[data-board] .session-controls-status,.page.live[data-board] .session-controls-hint,.page.live[data-board] .session-stop-follow,.page.live[data-board] :is(.direct-call-hint,.direct-call-check){display:none}.direct-call-check{font-size:.875rem}.page.live[data-board] .direct-call{flex:none;padding-top:0;border-top:0}.page.live[data-board] .board-dock{position:absolute;bottom:.75rem;inset-inline:0;z-index:30;inline-size:max-content;max-inline-size:calc(100% - 26rem);margin-inline:auto;padding:.25rem .5rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-hard-sm)}.page.live[data-board] .board-dock>.board-toolbar{min-inline-size:0}.page.live[data-board] .board-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.board-floats{display:none}.page.live[data-board] .board-floats{position:fixed;right:.75rem;bottom:.75rem;z-index:35;display:flex;gap:.5rem;padding:.375rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-hard-sm)}.board-floats .btn{position:relative;gap:.375rem}.page.live[data-board] .live-aside[data-float=closed]{display:none}.page.live[data-board] .live-aside[data-float=notes],.page.live[data-board] .live-aside[data-float=chat]{position:fixed;right:.75rem;bottom:4.5rem;z-index:36;display:flex;flex-direction:column;gap:.5rem;width:min(20rem,calc(100vw - 1.5rem));max-height:60vh;padding:.75rem;overflow-y:auto;border:1.5px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-hard)}.page.live[data-board] .live-aside:focus{outline:none}.board-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.page.live[data-board] .live-aside[data-float] .aside-tabs{display:flex}.page.live[data-board] .live-aside[data-float] .aside-tabs-bar,.page.live[data-board] .live-aside[data-float] .live-state{display:none}.page.live[data-board] .live-aside[data-float=notes] .aside-tabs>.session-chat,.page.live[data-board] .live-aside[data-float=chat] .aside-tabs>.shared-notes{display:none}.page.live[data-board] .call-stage[data-floating=true]{bottom:4.5rem}.page.live[data-board]>.live-state,.page.live[data-board]>.notice-ok{position:fixed;top:4.25rem;left:50%;z-index:45;width:min(28rem,calc(100vw - 1.5rem));transform:translate(-50%)}@media(max-width:60rem){.page.live[data-board] .live-main{bottom:calc(3.5rem + env(safe-area-inset-bottom))}.page.live[data-board] .board-floats{display:none}.page.live[data-board] .live-aside[data-float=notes],.page.live[data-board] .live-aside[data-float=chat]{right:.5rem;bottom:calc(8rem + env(safe-area-inset-bottom))}.page.live[data-board]{--board-inset-top: 8.5rem}.page.live[data-board] .board-top{top:.5rem;left:.5rem;right:.5rem;flex-direction:column}.page.live .live-title-block{flex:1 1 0;min-width:2rem}.page.live .live-end-full{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.page.live .live-end-short{display:inline}.page.live .live-end{padding-left:0;margin-left:0;border-left:0}.page.live[data-board] .live-controls{max-width:calc(100vw - 8rem)}.page.live[data-board] .session-view-switch{display:none}.page.live[data-board] .call-stage[data-floating=true]{top:4.75rem;bottom:auto}}.page.live{--board-ui-size: clamp(2rem, 1.75rem + .8vw, 2.25rem);--board-ui-font: clamp(.75rem, .7rem + .15vw, .8125rem);--board-ui-gap: clamp(.25rem, .1rem + .5vw, .5rem)}.page.live[data-board] :is(.board-top,.board-dock,.board-floats,.live-aside[data-float]) :is(.btn,.follow-switch button,.role-switch-option){min-height:var(--board-ui-size);padding-inline:calc(var(--board-ui-gap) * 1.75);font-size:var(--board-ui-font);line-height:1.2}.page.live .live-bar>*{min-width:0}.page.live .live-bar>.live-badge,.page.live .live-bar>.presence,.page.live .live-bar>.live-actions{flex:none}.page.live .live-leave svg{flex:none;width:1rem;height:1rem}.page.live .live-bar .btn{min-height:var(--board-ui-size);padding-inline:calc(var(--board-ui-gap) * 1.75);font-size:var(--board-ui-font);line-height:1.2}.page.live[data-board] :is(.board-top,.board-dock,.board-floats){gap:var(--board-ui-gap)}.page.live[data-board] .board-toolbar{gap:var(--board-ui-gap);min-block-size:var(--board-ui-size)}.page.live[data-board] .board-swatch{width:var(--board-ui-size);height:var(--board-ui-size)}.page.live .live-bar{gap:var(--board-ui-gap)}.page.live .live-bar .presence-avatar{width:calc(var(--board-ui-size) - .25rem);height:calc(var(--board-ui-size) - .25rem);font-size:var(--board-ui-font)}.page.live .live-title{font-size:calc(var(--board-ui-font) + .125rem)}.page.live .live-badge{padding:.2rem .5rem;font-size:calc(var(--board-ui-font) - .0625rem)}.page.live .live-leave{inline-size:var(--board-ui-size);padding-inline:0}.page.live[data-board] .live-controls{margin-left:auto}.page.live[data-board] .session-controls{flex-wrap:wrap;gap:var(--board-ui-gap);padding:.25rem .375rem;border-radius:calc(var(--board-ui-size) * .75)}.page.live[data-board] .board-floats{padding:.25rem}.live-end-icon{display:none}@media(max-width:40rem){.page.live .live-badge-word{display:none}}@media(max-width:24rem){.page.live .live-end-short{display:none}.page.live .live-end-icon{display:inline}.page.live .live-end>.btn{padding-inline:calc(var(--board-ui-size) * .25)}}@media(max-width:60rem){.page.live[data-board] .board-dock{max-inline-size:calc(100% - 1rem)}.page.live[data-board] .live-controls{max-width:100%;margin-left:0}.page.live[data-board] .call-stage[data-floating=true]{top:auto;bottom:calc(7.5rem + env(safe-area-inset-bottom))}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem}.modal-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim)}.modal-card{position:relative;inline-size:min(34rem,100%);max-block-size:100%;overflow-y:auto;box-shadow:var(--shadow-hard)}.modal-card:focus{outline:none}@media(max-width:40rem){.modal{padding:0;place-items:stretch}.modal-card{inline-size:100%;block-size:100%;max-block-size:none;border-radius:0;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}.student-feedback{display:grid;justify-items:start;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.student-feedback .field{justify-self:stretch}.segmented{display:inline-flex;flex-wrap:wrap;gap:.25rem;padding:.1875rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface)}.segmented button{min-height:2.25rem;padding:0 .875rem;border:0;border-radius:var(--radius-full);background:transparent;color:var(--text);font:600 .875rem var(--font-body, inherit);cursor:pointer}.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{background:var(--inverse-bg);color:var(--inverse-text)}.segmented button:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}.sessions-head-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-inline-start:auto}.session-hero{display:grid;gap:.5rem;margin:0 0 1rem;padding:1rem 1.25rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-hard-sm)}.session-hero-kicker{margin:0;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.session-hero-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem}.session-hero-main h2{font-size:1.375rem;overflow-wrap:anywhere}.session-hero-who{display:flex;align-items:center;gap:.625rem;margin:.5rem 0 0;font-size:.875rem}.avatar-stack{display:inline-flex}.avatar-stack .avatar{inline-size:1.75rem;block-size:1.75rem;border-radius:var(--radius-full);border:2px solid var(--surface);font-size:.75rem}.avatar-stack .avatar+.avatar{margin-inline-start:-.5rem}.sessions-chips{margin:0 0 1rem}.session-days{display:grid;gap:1.25rem}.session-day-heading{margin:0 0 .375rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.session-lines{display:grid;margin:0;padding:0;list-style:none;border-block-start:1.5px solid var(--border)}.session-line{display:flex;align-items:center;gap:.25rem;border-block-end:1.5px solid var(--border)}.session-line[data-struck] .session-line-text{text-decoration:line-through;opacity:.7}.session-line-link{display:flex;flex:1 1 auto;align-items:center;gap:.75rem 1rem;min-inline-size:0;min-block-size:3.25rem;padding:.5rem .25rem;color:var(--text);text-decoration:none}.session-line-link:hover{background:var(--surface-muted)}.session-line-time{flex:none;min-inline-size:5.5rem;font-weight:600}.session-line-text{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:.125rem .75rem;min-inline-size:0;overflow-wrap:anywhere}.session-line-marks{display:flex;flex:none;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.375rem;font-size:.8125rem}.session-line-outcome{color:var(--text-muted)}.session-line-review{flex:none;padding-inline:.75rem;white-space:nowrap}.session-line-menu{flex:none;inline-size:2.75rem;block-size:2.75rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:1.25rem;line-height:1;cursor:pointer}.session-line-menu:hover,.session-line-menu[aria-expanded=true]{background:var(--surface-muted)}.session-line-menu:focus-visible{outline:3px solid var(--indigo);outline-offset:-3px}.session-notice{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}@media(max-width:40rem){.sessions-head-tools{inline-size:100%;justify-content:space-between}.session-line-link{flex-wrap:wrap;gap:.25rem .75rem}.session-line-time{min-inline-size:4.5rem}.session-line-text{flex:1 1 10rem;flex-direction:column}.session-line-marks{flex-basis:100%;justify-content:flex-start}}.new-session-form{display:grid;gap:1rem}.new-session-step{display:grid;gap:.625rem;min-inline-size:0;margin:0;padding:0;border:0}.new-session-step legend{margin-block-end:.5rem;padding:0;font-weight:700}.new-session-search{inline-size:100%}.new-session-options{display:grid;max-block-size:11rem;overflow-y:auto;border:1.5px solid var(--border);border-radius:var(--radius-sm)}.new-session-option{display:flex;align-items:center;gap:.625rem;min-block-size:2.75rem;padding:0 .75rem;cursor:pointer}.new-session-option+.new-session-option{border-block-start:1px solid var(--border)}.new-session-option:has(input:checked){background:var(--surface-muted);font-weight:600}.new-session-option .mono{margin-inline-start:auto}.new-session-course{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0}.new-session-moment{display:flex;flex-wrap:wrap;gap:.75rem}.new-session-footer{position:sticky;inset-block-end:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding-block-start:.75rem;border-block-start:1.5px solid var(--border);background:var(--surface)}.new-session-summary{flex:1 1 14rem;margin:0;color:var(--text-muted);font-size:.875rem;overflow-wrap:anywhere}.new-session .segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);flex-wrap:nowrap;inline-size:100%;gap:.125rem}.new-session .segmented button{padding:0 clamp(.25rem,1.5vw,.875rem);font-size:clamp(.75rem,3.3vw,.875rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.complaint-list-title{margin:0;font-size:1rem}.complaint-items{display:grid;gap:.75rem;margin:.5rem 0 0;padding:0;list-style:none}.complaint-item{padding-block-end:.75rem;border-block-end:1px solid var(--border)}.complaint-item p{margin:0 0 .25rem;overflow-wrap:anywhere}.session-summary{display:grid;gap:1rem}.summary-notes-text{white-space:pre-wrap;overflow-wrap:anywhere}.summary-words,.summary-homework{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.device-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1.25rem;align-items:start}.device-check-grid .card{display:flex;flex-direction:column;gap:.75rem}.device-check-video{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-sm);background:var(--surface-muted);object-fit:cover;transform:scaleX(-1)}.device-check-level{background:var(--lime);transition:width 80ms linear}@media(prefers-reduced-motion:reduce){.device-check-level{transition:none}}.session-rows{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.session-row{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:.5rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.session-row:last-child{border-bottom:0}.session-row[data-struck] .session-main{opacity:.55;text-decoration:line-through}.session-date{display:grid;justify-items:center;padding:.375rem 0;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-muted);line-height:1.1}.session-date strong{font-size:1.35rem}.session-date span,.session-date small{font-size:.6875rem;text-transform:uppercase}.session-main{display:flex;flex-direction:column;gap:.125rem;min-width:0}.session-main a{color:var(--text);text-decoration:none}.session-main a:hover strong{text-decoration:underline}.session-main .mono{font-size:.8125rem}.session-who{font-size:.875rem;color:var(--text-muted)}.session-side{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.375rem .625rem}@media(max-width:640px){.session-row{grid-template-columns:3.25rem minmax(0,1fr)}.session-side{grid-column:1 / -1;justify-content:flex-start}}.device-check-grid .card>.btn{align-self:flex-start}.card>.link-button:not(.text-link){align-self:flex-start;justify-self:start}.session-end{display:flex;flex-direction:column;gap:1rem}.session-end .lesson-rating-scale{margin-top:-.625rem}.session-end-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.session-end-buttons{display:flex;gap:.5rem;margin-inline-start:auto}@media(max-width:40rem){.modal:has(.session-end){align-items:end;padding:0}.modal-card.session-end{block-size:auto;border-radius:var(--radius) var(--radius) 0 0}}.board-toolbar{gap:0}.board-tools{display:inline-flex;align-items:center;gap:.125rem;padding-inline:.375rem}.board-tools+.board-tools{border-inline-start:1px solid var(--border)}.board-tool{display:inline-grid;place-items:center;min-inline-size:2.5rem;block-size:2.5rem;padding-inline:.5rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;font-size:.8125rem;cursor:pointer}.board-tool:hover:not(:disabled){background:var(--surface-muted)}.board-tool[aria-pressed=true]{background:var(--inverse-bg);color:var(--inverse-text)}.board-tool:disabled{opacity:.35;cursor:not-allowed}.board-tool:focus-visible{outline:3px solid var(--indigo);outline-offset:1px}.board-tools .board-swatch{inline-size:1.75rem;block-size:1.75rem;margin-inline:.25rem}.board-save{inline-size:.5rem;block-size:.5rem;margin-inline:.5rem;border-radius:var(--radius-full);background:var(--lime);border:1px solid var(--border-strong)}.board-save[data-state=saving],.board-save[data-state=unsaved]{background:var(--surface-muted)}.board-save[data-state=failed]{background:var(--coral)}.board-linking{align-self:center;margin:0;padding:.375rem .875rem;border-radius:var(--radius-full);background:var(--inverse-bg);color:var(--inverse-text);font-size:.8125rem}@media(max-width:72rem){.board-tools[data-kind=add][data-selecting]{display:none}}.board-element[data-type=frame]{border:2px dashed var(--border-strong);background:color-mix(in srgb,var(--surface-muted) 45%,transparent);justify-content:flex-start}.board-element[data-type=frame][data-round]{border-radius:50%;align-items:center;padding-top:1.5rem;background:color-mix(in srgb,var(--violet) 12%,transparent)}.board-element[data-type=frame][data-round]+.board-element[data-type=frame][data-round]{background:color-mix(in srgb,var(--lime) 18%,transparent)}.board-frame-title{font:700 1rem var(--font-display)}.board-handle{position:absolute;inset-block:50% auto;inset-inline-end:-.5rem;inline-size:.75rem;block-size:2rem;translate:0 -50%;border:1.5px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);cursor:ew-resize;touch-action:none}.board-handle[data-corner]{inset-block:auto -.5rem;block-size:1rem;inline-size:1rem;translate:0 0;cursor:nwse-resize}.board-marquee{position:absolute;z-index:9999;border:1.5px solid var(--indigo);border-radius:.25rem;background:color-mix(in srgb,var(--indigo) 10%,transparent);pointer-events:none}.board-reactions{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.board-reaction{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:var(--radius-full);background:color-mix(in srgb,var(--surface) 70%,transparent);color:inherit;font:600 .8125rem var(--font);cursor:pointer}.board-reaction[aria-pressed=true]{border-color:var(--indigo);box-shadow:inset 0 0 0 1px var(--indigo)}.board-tool-emoji{font-size:1.05rem}.board-tools-count{min-inline-size:1.5rem;text-align:center;font-size:.8125rem}.board-link-label{font:600 13px var(--font);fill:var(--text);paint-order:stroke;stroke:var(--surface);stroke-width:6px;stroke-linejoin:round;pointer-events:none}.board-link[data-dashed] .board-link-line{stroke-dasharray:8 6}.board-viewport[data-snap]{background-image:radial-gradient(var(--border-strong) 1.2px,transparent 1.2px)}.board-templates{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0;padding:0;list-style:none}.board-view{position:absolute;inset-inline-start:.75rem;inset-block-end:.75rem;z-index:30;display:flex;flex-direction:column;align-items:stretch;gap:.25rem;padding:.375rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-hard-sm)}.board-view .board-tools{justify-content:space-between;padding-inline:0}.board-view .board-tools+.board-tools{border-inline-start:0;border-block-start:1px solid var(--border);padding-block-start:.25rem}.board-minimap{line-height:0}.board-minimap svg{display:block;max-inline-size:180px;max-block-size:120px;cursor:pointer;touch-action:none}.board-minimap-item{fill:var(--border)}.board-minimap-item[data-kind=sticky]{fill:var(--lime)}.board-minimap-item[data-kind=frame]{fill:none;stroke:var(--border-strong);stroke-dasharray:2 2}.board-minimap-view{fill:color-mix(in srgb,var(--indigo) 12%,transparent);stroke:var(--indigo);stroke-width:1.5}@media(max-width:40rem){.board-view{display:none}}
