: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: #cfcfc6;--field-radius: .75rem;--border-strong: #12142b;--inverse-bg: #12142b;--inverse-text: #ffffff;--inverse-muted: #c4c6d8;--on-accent: #12142b;--link: #4c43e8;--ok: #0e7a50;--ok-bg: #e9f9c6;--coral-bg: #fff1ec;--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: #3a3d63;--border-strong: #f3f3ee;--inverse-bg: #f3f3ee;--inverse-text: #12142b;--inverse-muted: #4a4d66;--link: #a9a4ff;--ok: #8ee6a8;--ok-bg: #1f3a1c;--coral-bg: #3a2018;--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: #3a3d63;--border-strong: #f3f3ee;--inverse-bg: #f3f3ee;--inverse-text: #12142b;--inverse-muted: #4a4d66;--link: #a9a4ff;--ok: #8ee6a8;--ok-bg: #1f3a1c;--coral-bg: #3a2018;--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}a{color:var(--link);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{color:var(--text);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:wrap;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:wrap;gap:.25rem;margin-right:auto;margin-left:1rem}.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}.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 - 2rem));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(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-main{padding:1rem 1rem 3rem}}.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)}.page-head>a:not(.btn),.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,.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}.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:flex;flex-direction:column;gap:1.5rem;padding-top:2rem}.hero-title{font-size:clamp(2.75rem,7vw,5.25rem);max-width:14ch}.underline-coral{text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:.12em;text-underline-offset:.12em}.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(--lime)}.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)}.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)}.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)}.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-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-grid-head,.block-item{display:grid;align-items:start;gap:.375rem .5rem}.block-grid-head{align-items:end;padding:0 .25rem;color:var(--text-muted);font:500 .75rem var(--font-mono)}.block-grid-head [data-secret]{color:var(--ok)}.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:.375rem;margin:0;padding:0;list-style:none}.block-item{padding:.375rem .25rem;border-radius:.75rem}.block-item:hover{background:var(--surface)}.block-item-n{display:grid;place-items:center;min-height:2.75rem;color:var(--text-muted)}.block-cell{gap:.25rem;min-width:0}.block-cell-label{display:none}.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-item-remove{margin-top:.25rem}.block-flag{grid-column:2 / -2;font-size:.8125rem}.block-add-item{align-self:flex-start}@media(max-width:40rem){.block-grid-head{display:none}.block-item{display:flex;flex-wrap:wrap;border:1px solid var(--border);background:var(--surface)}.block-item-n{min-height:0}.block-cell{flex:1 1 100%}.block-cell-label{display:block;font-size:.75rem}.block-item-remove{margin-left:auto;order:-1}}.field[data-secret] input,.field[data-secret] textarea,.field[data-secret] select{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}.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:.75rem 1rem;border-left:.25rem solid var(--lime);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-full)}.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}.bv-dialogue dt{min-width:5rem;font-weight:700}.bv-dialogue dd{margin:0}.bv-formula{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;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.5rem;margin:0 .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,.bv-match select:focus-visible{outline:3px solid var(--indigo);outline-offset:1px}.bv-exercise{gap:.875rem;font-size:1.05rem;line-height:2.4}.bv-exercise>li::marker{font:500 .85rem var(--font-mono);color:var(--text-muted)}.bv-hint{margin-left:.375rem;font-size:.85rem}.bv-hint:before{content:"("}.bv-hint:after{content:")"}.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{background-color:var(--ok-bg)}.bv-exercise [data-result=wrong] .bv-gap,.bv-exercise [data-result=wrong] .bv-match select{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-exercise legend{margin-bottom:.375rem;font-weight:600}.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:.75rem;line-height:1.5}.bv-match select{min-height:2.75rem;padding:0 2.25rem 0 .75rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--text);font:inherit}.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(--ink);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(--ink);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(--ink);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(--ink);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(--ink);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(--ink);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{margin:0}.bv-image img{display:block;width:100%;max-height:24rem;border-radius:var(--radius-sm);object-fit:cover}.bv-image figcaption{margin-top:.375rem;font-size:.8rem}.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{flex:1 1 14rem;font-size:clamp(1.4rem,3vw,1.9rem)}.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}.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;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-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{display:flex;flex-direction:column;gap:.5rem}.live-notices:empty{display:none}.live-notice{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--ok-bg);border:1.5px solid var(--ok);font-weight:600}.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{width:100%;border-collapse:collapse}.attendance th,.attendance td{padding:.5rem .75rem .5rem 0;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{scroll-margin-top:1rem}.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}}.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:12rem;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{display:flex;flex-direction:column;gap:.75rem;min-width:0}.board-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.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{overflow:auto;max-height:70vh;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-canvas{position:relative;touch-action:pan-x pan-y}.board-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:1600px;height:1000px;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{width:100%;box-sizing:border-box;padding:.375rem;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--text);font:600 .95rem/1.4 var(--font);resize:vertical}.board-hint{margin:0}.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}.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 controls" "main aside";grid-template-rows:auto 1fr}.live-main{grid-area:main}.live-controls{grid-area:controls}.live-aside{grid-area:aside}.session-controls{gap:.625rem}.session-controls .role-switch{align-self:flex-start;flex-wrap:wrap}.session-controls-status,.session-controls-hint{margin:0;font-size:.85rem}.follow-switch{display:inline-flex;flex-wrap:wrap;align-self:flex-start;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-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){display:none}.session-controls{flex-flow:row wrap;align-items:center;gap:.5rem .75rem;padding:.75rem 1rem}.session-controls>h2,.session-view-switch,.session-controls-hint,.session-controls>.sticker{display:none}.session-controls-status{flex:1 1 12rem}.live-bar{gap:.625rem;padding:.75rem 1rem}.live-title{flex-basis:100%;order:-1;font-size:1.25rem}.live-bar .presence-avatar{width:2rem;height:2rem;font-size:.85rem}.live-actions{margin-left:auto}.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){.board-viewport{max-height:calc(100dvh - 16rem);min-height:18rem}}@media(max-width:60rem){.live-layout:is([data-view=notes],[data-view=chat]) .live-meeting-fab{display:none}.board-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem}.board-toolbar>*{flex:none}}@media(max-width:40rem){.shell:has(.page.live) .shell-nav{display:none}.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-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{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.course-card:hover{border-color:var(--ink);box-shadow:var(--shadow-hard-sm);transform:translate(-2px,-2px)}.course-card:active{box-shadow:none;transform: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-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(--ink);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{width:min(100%,32rem);margin:0}.bv-explain{margin:.25rem 0 0;font-size:.9rem;line-height:1.5}.bv-transform{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-right:.5rem}.bv-instruction{align-self:center;background:var(--surface-muted)}.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(--ink);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{color:var(--ink)}.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(--ink);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(--ink)}.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(--ink);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(--ink);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}.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(--ink);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-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(--ink)}.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(--ink);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-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(--ink);background:var(--ink);color:var(--on-ink)}.prep-pill[aria-pressed=true] .muted{color:var(--on-ink-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-access{display:inline-flex;align-items:center;gap:.375rem;padding:0 .375rem;border:1px solid var(--border);border-radius:.375rem;background:transparent;color:inherit;font:inherit;cursor:pointer}.lesson-access[data-open]{border-color:var(--ok);color:var(--ok)}.lesson-access span{color:var(--text);text-decoration:underline;text-underline-offset:2px}.lesson-access:hover{background:var(--surface-muted)}.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(--ink);background:var(--ink);color:var(--on-ink)}.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(--ink);color:var(--on-ink)}.lesson-nav-item[aria-current=step] .mono{color:var(--on-ink-muted)}@media(max-width:52rem){.lesson-step{display:inline-flex}}@media(max-width:52rem){.lesson-steps-where{display:none}}
