.lecture-duration{color:var(--muted);margin:0;padding:0 30px;font-size:14px;line-height:1.7}.lecture-practice{border:1px solid var(--line);background:linear-gradient(130deg,color-mix(in srgb,var(--blue) 5%,var(--glass)),var(--glass));border-radius:20px;min-width:0;max-width:900px;margin:28px 0 34px;padding:clamp(18px,3vw,28px)}.lecture-practice>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.practice-ungraded{color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:4px 9px;font-size:12px}.lecture-practice>h3{font-size:calc(21px * var(--reading-scale,1));letter-spacing:-.02em;margin:12px 0 16px;line-height:1.35}.lecture-practice>label{font-size:calc(13px * var(--reading-scale,1));color:var(--muted);margin:24px 0 9px;display:block}.lecture-practice>textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--line);background:var(--glass);width:100%;min-height:130px;max-height:500px;color:var(--ink);font:calc(14px * var(--reading-scale,1))/1.7 Consolas,monospace;tab-size:4;border-radius:12px;padding:14px 16px;display:block}.lecture-practice>textarea::placeholder{color:var(--muted);opacity:1;font-family:inherit}.lecture-practice>textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.lecture-practice>.practice-draft-note{color:var(--muted);margin:9px 0 18px;font-size:12px;line-height:1.5}.lecture-practice>details{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.lecture-practice>details>summary{color:var(--blue);cursor:pointer;font-size:calc(14px * var(--reading-scale,1));padding:5px 0}.lecture-practice>details[open]>.lecture-markdown{animation:.2s lecture-reveal}.practice-editor{border:1px solid var(--line);background:var(--glass);border-radius:15px;margin:22px 0;overflow:hidden}.practice-editor-heading{border-bottom:1px solid var(--line);color:var(--muted);padding:10px 16px;font-size:12px}.concept-section .practice-editor pre{color:var(--muted);font:calc(14px * var(--reading-scale,1))/1.65 Consolas,monospace;white-space:pre;background:0 0;border:0;border-radius:0;margin:0;padding:14px 18px;overflow:auto}.practice-editor>label{background:color-mix(in srgb,var(--blue) 9%,transparent);color:var(--blue);padding:7px 18px;font-size:12px;display:block}.practice-editor>textarea{box-sizing:border-box;border:0;border-left:3px solid var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--glass));width:100%;min-height:80px;color:var(--ink);font:calc(14px * var(--reading-scale,1))/1.75 Consolas,monospace;resize:vertical;tab-size:4;border-radius:0;padding:12px 18px;display:block}.practice-editor>textarea:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.practice-editor>small{color:var(--muted);padding:0 18px 14px;font-size:12px;line-height:1.5;display:block}.practice-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0;padding:0;display:grid}.practice-options legend{color:var(--muted);margin-bottom:12px;font-size:14px}.practice-options label{text-align:left;border:1px solid var(--line);background:var(--glass);cursor:pointer;border-radius:12px;flex-direction:row;align-items:center;gap:12px;min-width:0;padding:14px 16px;display:flex}.practice-options label.selected{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--glass))}.practice-options input{width:17px;height:17px;accent-color:var(--blue);flex:none;margin:0;padding:0}.practice-options label>span{white-space:pre-wrap;overflow-wrap:anywhere;font:calc(15px * var(--reading-scale,1))/1.6 Consolas,monospace}.practice-actions{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.practice-actions button{padding:10px 18px;font-size:14px}.practice-actions button:disabled{opacity:.5;cursor:default}.practice-feedback{border:1px solid var(--line);border-radius:14px;margin:18px 0;padding:16px 20px;line-height:1.65}.practice-feedback.correct{background:color-mix(in srgb,var(--blue) 10%,var(--glass));border-color:color-mix(in srgb,var(--blue) 40%,var(--line))}.practice-feedback.retry{background:color-mix(in srgb,#c59453 8%,var(--glass))}.practice-feedback p{margin:5px 0}.practice-feedback dl{gap:7px;margin:14px 0 0;display:grid}.practice-feedback dl>div{grid-template-columns:140px minmax(0,1fr);gap:12px;display:grid}.practice-feedback dt{color:var(--muted);font-size:13px}.practice-feedback dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font:14px/1.5 Consolas,monospace}.practice-feedback pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}@media (max-width:600px){.practice-options{grid-template-columns:1fr}.practice-feedback dl>div{grid-template-columns:1fr;gap:3px}}@media (prefers-reduced-motion:reduce){.lecture-practice>details[open]>.lecture-markdown{animation:none}}.modal.reading .modal-heading h2{flex:1;min-width:0}.modal.reading .modal-heading h2:focus{outline:none}.reading-size{border:1px solid var(--line);background:var(--glass);border-radius:12px;flex-shrink:0;align-items:center;padding:3px;display:flex}.reading-size button{min-width:36px;min-height:34px;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:8px;padding:5px 8px;font-size:14px;line-height:1.3}.reading-size button:nth-child(2){font-variant-numeric:tabular-nums;min-width:50px;color:var(--muted);font-size:12px}.reading-size button:hover:not(:disabled){background:color-mix(in srgb,var(--blue) 10%,transparent)}.reading-size button:disabled{opacity:.35;cursor:default}.reading-size{-webkit-user-select:none;user-select:none}.modal-header-actions{flex-shrink:0;align-items:center;display:flex}.modal-header-actions .board-link{position:relative}.modal-header-actions .board-link>button{min-height:40px;font-size:13px}.modal-header-actions .board-link>small{background:var(--surface);border:1px solid var(--line);border-radius:10px;width:240px;padding:10px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0002}@media (max-width:600px){.modal.reading .modal-header-actions{order:2}.modal.reading .reading-size{margin-left:auto}}.reading-size button:is(:focus,:focus-visible,:active){box-shadow:none;outline:none}.reading-size button:focus-visible{text-underline-offset:4px;text-decoration:underline}.modal.reading .topic-body,.modal.reading .markdown{font-size:calc(16px * var(--reading-scale));line-height:1.75}.modal.reading .concept-hero>p,.modal.reading .topic-summary{font-size:calc(16px * var(--reading-scale))}.modal.reading .concept-section>h2{font-size:calc(clamp(21px,2.3vw,29px) * var(--reading-scale))}.modal.reading .lecture-markdown h3{font-size:calc(20px * var(--reading-scale))}.modal.reading .concept-contents a{font-size:calc(15px * var(--reading-scale))}.modal.reading .lecture-markdown table,.modal.reading .lecture-check summary,.modal.reading .concept-section .lecture-code pre,.modal.reading .concept-section .io-experiment .trace-source,.modal.reading .trace-source,.modal.reading .trace-output{font-size:calc(14px * var(--reading-scale))}.modal.reading .io-experiment header h3{font-size:calc(21px * var(--reading-scale))}.modal.reading .io-experiment header p,.modal.reading .io-note,.modal.reading .concept-section .io-output{font-size:calc(16px * var(--reading-scale))}.modal.reading .io-panel-heading{height:auto;min-height:42px;font-size:calc(12px * var(--reading-scale));padding-top:10px;padding-bottom:10px}.modal.reading .io-variable-list dt{font-size:calc(13px * var(--reading-scale))}.modal.reading .io-variable-list dd{font-size:calc(20px * var(--reading-scale))}.io-experiment .trace-source .scaffold code{color:var(--muted)}@media (max-width:600px){.modal.reading .modal-heading{flex-wrap:wrap;gap:8px}.modal.reading .modal-heading h2{flex-basis:calc(100% - 50px);font-size:18px}.modal.reading .modal-heading>.icon-button{order:1}.modal.reading .reading-size{order:2}.modal.reading .concept-section{scroll-margin-top:140px}}.io-experiment{border:1px solid var(--line);background:linear-gradient(125deg,color-mix(in srgb,var(--blue) 6%,var(--glass)),var(--glass));border-radius:22px;min-width:0;max-width:900px;margin:24px 0 32px;padding:clamp(16px,3vw,26px)}.io-experiment header h3{letter-spacing:-.02em;margin:8px 0 10px;font-size:21px}.io-experiment header p{color:var(--muted);margin:0 0 22px;line-height:1.6}.io-settings{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin:22px 0;display:grid}.io-range-control{-webkit-user-select:none;user-select:none;min-width:0;display:block}.io-range-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.io-range-heading output{font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;min-width:30px;font:600 18px/1.3 Consolas,monospace}.io-range-track{height:32px;margin-top:8px;display:block;position:relative}.io-range-rail{background:linear-gradient(to right,var(--blue) 0 var(--range-progress),color-mix(in srgb,var(--muted) 20%,transparent) var(--range-progress) 100%);pointer-events:none;border-radius:99px;height:6px;position:absolute;top:13px;left:9px;right:9px}.io-experiment .io-range-track input[type=range]{appearance:none;width:100%;min-width:0;height:32px;box-shadow:none;cursor:pointer;touch-action:pan-y;background:0 0;border:0;border-radius:0;outline:none;margin:0;padding:0;display:block;position:relative}.io-experiment .io-range-track input[type=range]:is(:focus,:focus-visible,:active){box-shadow:none;background:0 0;border:0;outline:none}.io-range-track input::-webkit-slider-runnable-track{background:0 0;border:0;height:6px}.io-range-track input::-webkit-slider-thumb{appearance:none;border:2px solid var(--blue);background:var(--blue);border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 1px 3px #122b4d20}.io-range-track input::-moz-range-track{background:0 0;border:0;height:6px}.io-range-track input::-moz-range-progress{background:0 0}.io-range-track input::-moz-range-thumb{border:2px solid var(--blue);background:var(--blue);border-radius:50%;width:14px;height:14px}.io-range-track input:focus-visible::-webkit-slider-thumb{filter:brightness(.85)}.io-range-track input:focus-visible::-moz-range-thumb{filter:brightness(.85)}.io-range-ends{color:var(--muted);justify-content:space-between;font:11px/1.3 Consolas,monospace;display:flex}.io-range-ends>span{text-align:center;width:18px}.concept-controls input[type=range]{height:32px;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;padding:0}.io-variant{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin:20px 0;font-size:13px;display:flex}.io-variant select{min-width:180px;max-width:100%}.io-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.io-grid.io-entry{grid-template-columns:1fr}.io-panel{border:1px solid var(--line);background:var(--glass);border-radius:14px;min-width:0;overflow:hidden}.io-panel-heading{border-bottom:1px solid var(--line);height:42px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 16px;font-size:12px;display:flex}.io-panel-heading small{letter-spacing:.04em;font-size:10px}.concept-section .io-experiment .trace-source{background:0 0;border:0;border-radius:0;margin:0;padding:10px 0;font-size:14px;line-height:1.85;overflow:auto}.io-experiment .trace-source span{align-items:center;min-height:36px}.io-experiment .trace-source code{color:var(--ink);background:0 0}.io-variable-list{min-width:0;margin:0;padding:0 16px;display:block}.io-variable-list>div{justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:10px 0;display:flex}.io-variable-list>div+div{border-top:1px solid var(--line)}.io-variable-list dt{color:var(--muted);font:13px/1.5 Consolas,monospace}.io-variable-list dd{font-variant-numeric:tabular-nums;color:var(--ink);overflow-wrap:anywhere;text-align:right;min-width:0;margin:0;font:600 20px/1.5 Consolas,monospace;animation:.18s io-value}.io-variable-list .pending dd{color:var(--muted);opacity:.55}.concept-section .io-output{white-space:pre-wrap;background:0 0;border:0;border-radius:0;min-height:96px;margin:0;padding:16px;font:16px/1.8 Consolas,monospace}.io-label{color:var(--muted);font-size:11px}.io-shelf{border:1px solid var(--line);background:var(--glass);border-radius:14px;margin:16px 0 0;padding:12px 16px}.io-shelf-content{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;height:56px;margin-top:4px;display:grid}.io-shelf-content>p{color:var(--muted);grid-column:1/-1;padding-top:16px;font-size:12px;line-height:1.5}.io-shelf-row{border-bottom:2px solid color-mix(in srgb,var(--muted) 22%,transparent);grid-template-columns:repeat(10,minmax(0,1fr));align-items:end;gap:4px;height:48px;margin-bottom:6px;padding:0 3px 3px;display:grid}.io-book{border:1px solid color-mix(in srgb,var(--blue) 48%,transparent);background:color-mix(in srgb,var(--blue) 18%,var(--glass));height:31px;box-shadow:inset 3px 0 0 color-mix(in srgb,var(--blue) 12%,transparent);border-radius:3px 4px 2px 2px;animation:.22s io-book-in;display:block;position:relative}.io-book:after{content:"";border-top:1px solid color-mix(in srgb,var(--blue) 45%,transparent);position:absolute;top:6px;left:3px;right:3px}.io-book:nth-child(3n){background:color-mix(in srgb,#b08bde 24%,var(--glass));border-color:#b08bde7a;height:35px}.io-book:nth-child(3n+2){background:color-mix(in srgb,#6aa9c9 22%,var(--glass));border-color:#6aa9c97a;height:28px}.io-note{min-height:3.3em;color:var(--ink);margin:18px 0;line-height:1.65}.io-controls{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-top:16px;display:flex}.io-controls button{align-items:center;gap:8px;padding:9px 13px;font-size:13px;display:inline-flex}.io-controls>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.io-controls button:disabled{opacity:.4;cursor:default}.io-model-note{color:var(--muted);margin-top:12px;font-size:11px;display:block}.io-input{flex-wrap:wrap;align-items:center;gap:14px;margin:18px 0;display:flex}.io-input>span:first-child{color:var(--muted);font-size:12px}.io-input>span:not(:first-child){border:1px solid var(--line);color:var(--blue);background:var(--glass);border-radius:12px;padding:9px 16px;font:600 18px Consolas,monospace}.io-input small{font:11px var(--font-ui), system-ui;color:var(--muted);margin-top:4px;display:block}.io-input .consumed{opacity:.5}.io-experiment :is(button,select):focus-visible{outline:2px solid var(--blue);outline-offset:4px}@keyframes io-value{0%{opacity:.4}to{opacity:1}}@keyframes io-book-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width:650px){.io-grid{grid-template-columns:1fr}.io-experiment header h3{font-size:18px}.io-controls{gap:8px}.io-controls button{padding:9px 11px}.io-shelf-content{grid-template-columns:1fr;max-width:320px;height:104px}}@media (prefers-reduced-motion:reduce){.io-variable-list dd,.io-book{animation:none}}.lecture-markdown{min-width:0}.lecture-markdown p{margin:1.1em 0}.lecture-markdown h3{margin-top:2em;font-size:20px}.lecture-markdown table{border-collapse:collapse;max-width:100%;font-size:14px;display:block;overflow:auto}.lecture-markdown th,.lecture-markdown td{border:1px solid var(--line);padding:12px 16px}.lecture-markdown th{background:var(--glass);text-align:left}.lecture-markdown :not(pre)>code{background:color-mix(in srgb,var(--blue) 9%,transparent);color:var(--ink);border-radius:5px;padding:.14em .36em;font-size:.91em}.lecture-code{border:1px solid var(--line);background:#f1f5fc;border-radius:17px;max-width:100%;margin:24px 0;overflow:hidden;box-shadow:0 8px 30px #23365d08}.lecture-code figcaption{border-bottom:1px solid var(--line);font:12px/1.4 var(--font-ui), system-ui;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.lecture-code figcaption>div{flex-wrap:wrap;gap:8px;display:flex}.lecture-code button{align-items:center;gap:6px;padding:6px 9px;font-size:12px;display:inline-flex}.concept-section .lecture-code pre{tab-size:4;color:#253448;background:0 0;border:0;border-radius:0;max-width:100%;margin:0;padding:22px;font-size:14px;line-height:1.75;overflow:auto}.lecture-code code{color:inherit;background:0 0;padding:0;font-family:Consolas,Cascadia Code,monospace}.lecture-code .hljs-keyword,.lecture-code .hljs-type{color:#8052ae}.lecture-code .hljs-string,.lecture-code .hljs-char{color:#147457}.lecture-code .hljs-number,.lecture-code .hljs-literal{color:#a84e21}.lecture-code .hljs-comment{color:#63718a;font-style:italic}.lecture-code .hljs-meta{color:#2466b5}.lecture-code .hljs-title{color:#186394}.lecture-code .hljs-built_in{color:#946426}[data-theme=dark] .lecture-code{background:#141f31}[data-theme=dark] .lecture-code pre{color:#dce7f6}[data-theme=dark] .lecture-code .hljs-keyword,[data-theme=dark] .lecture-code .hljs-type{color:#cba7f4}[data-theme=dark] .lecture-code .hljs-string,[data-theme=dark] .lecture-code .hljs-char{color:#87d9b4}[data-theme=dark] .lecture-code .hljs-number,[data-theme=dark] .lecture-code .hljs-literal{color:#ffbf90}[data-theme=dark] .lecture-code .hljs-comment{color:#98a7bf}[data-theme=dark] .lecture-code .hljs-meta,[data-theme=dark] .lecture-code .hljs-title{color:#88c5ff}[data-theme=dark] .lecture-code .hljs-built_in{color:#e4ca8a}.lecture-check{border:1px solid var(--line);background:linear-gradient(110deg,#a5a8f51a,#0000);border-radius:18px;margin:24px 0;padding:20px 24px}.lecture-check details{border-top:1px solid var(--line);padding-top:14px}.lecture-check summary{cursor:pointer;color:var(--blue);padding:5px 0;font-size:14px}.lecture-check details[open]>div{animation:.2s lecture-reveal}.lecture-check p{margin:.7em 0}.concept-section{min-width:0;max-width:100%}.concept-section .markdown{max-width:900px}@keyframes lecture-reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.lecture-check details[open]>div{animation:none}}@media (max-width:600px){.lecture-duration{padding:0}.lecture-code figcaption{align-items:flex-start}.lecture-code figcaption>div{justify-content:flex-end}.concept-section .lecture-code pre{padding:14px;font-size:13px}.lecture-check{padding:16px}}.lecture-lab{border:1px solid var(--line);background:linear-gradient(135deg,#738de210,#b995dc08);border-radius:22px;min-width:0;margin:30px 0;padding:28px}.lecture-lab>p{line-height:1.75}.lecture-lab form{align-items:end;gap:12px;margin:24px 0;display:flex}.lecture-lab form label{flex:1;font-size:13px}.lecture-lab input:not([type=range]){width:100%;margin-top:8px;display:block}.lecture-lab-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.trace-source{background:var(--glass);border:1px solid var(--line);border-radius:14px;margin:0;padding:14px 0;font:13px/1.85 Consolas,monospace;overflow:auto}.trace-source>span{border-left:3px solid #0000;min-width:max-content;padding:3px 12px;display:flex}.trace-source>span.current{border-left-color:var(--blue);background:#7498f12b}.trace-source b{opacity:.5;-webkit-user-select:none;user-select:none;flex-shrink:0;width:27px;font-weight:400}.trace-source code{white-space:pre}.trace-cells{flex-wrap:wrap;gap:7px;min-height:62px;display:flex}.trace-cells>div{border:1px solid var(--line);text-align:center;border-radius:9px;min-width:45px;padding:7px 10px;transition:background .2s,border-color .2s}.trace-cells small{color:var(--muted);font-size:10px;display:block}.trace-cells strong{font:600 16px/1.5 Consolas,monospace}.trace-cells .active{border-color:var(--blue);background:#7498f123}.trace-cells .changed strong{color:var(--blue)}.trace-cells.matrix{grid-template-columns:repeat(3,1fr);display:grid}.trace-vars{flex-wrap:wrap;gap:10px;display:flex}.trace-vars>div{border:1px solid var(--line);border-radius:10px;padding:8px 12px}.trace-vars dt{color:var(--muted);font:12px Consolas,monospace}.trace-vars dd{margin:4px 0 0;font:600 16px Consolas,monospace}.trace-vars .changed{background:#7498f118}.trace-output{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--glass);border-radius:10px;min-height:46px;padding:12px;font:13px/1.5 Consolas,monospace}.trace-state>label{color:var(--muted);font-size:12px}.trace-caption{border-left:2px solid var(--blue);background:#7498f10b;min-height:4.7em;padding:16px}.lecture-lab .concept-controls{flex-wrap:wrap}.lecture-lab select{max-width:120px;font-size:12px}.lecture-lab .concept-controls input{min-width:80px}@media (max-width:750px){.lecture-lab{padding:17px}.lecture-lab-grid{grid-template-columns:1fr}.lecture-lab form{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.trace-cells>div{transition:none}}.lecture-progress{top:var(--lecture-sticky-top,80px);z-index:4;background:var(--surface);border-bottom:1px solid var(--line);margin:0 0 22px;padding:12px 0 10px;position:sticky}.lecture-progress-caption{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.lecture-progress-caption strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:5px}.lecture-progress-track{background:var(--line);border-radius:8px;height:4px;overflow:hidden}.lecture-progress-track>span{border-radius:inherit;background:linear-gradient(90deg,var(--blue),#9c79db);height:100%;transition:width .12s linear;display:block}.answer-save-status{color:var(--muted);align-items:center;gap:10px;min-height:18px;margin:10px 0;font-size:12px;display:flex}.answer-save-status button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.answer-save-status.failed{color:var(--ink)}.lecture-problem-link{margin:20px 0 28px}@media (prefers-reduced-motion:reduce){.lecture-progress-track>span{transition:none}}.modal.reading .concept-lesson .concept-section{scroll-margin-top:var(--lecture-anchor-offset,160px)}.lecture-progress-caption{flex-wrap:wrap;align-items:center;row-gap:8px}.lecture-reading-count{margin-left:auto}.lecture-contents-toggle{border:1px solid var(--line);background:var(--glass);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:7px 10px;font-weight:600;display:inline-flex}.lecture-contents-toggle:hover,.lecture-contents-toggle[aria-expanded=true]{background:color-mix(in srgb,var(--blue) 9%,var(--surface));border-color:var(--blue)}.lecture-contents-toggle .expanded{transform:rotate(180deg)}.lecture-floating-contents{overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:16px;width:min(440px,100%);max-height:min(58dvh,540px);padding:12px;animation:.15s lecture-reveal;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 16px 48px #15244026}.lecture-floating-contents>p{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:4px 10px 10px;font-size:11px}.lecture-floating-contents ol{gap:3px;margin:0;padding:0;list-style:none;display:grid}.lecture-floating-contents a{color:var(--ink);border-radius:10px;align-items:baseline;gap:12px;padding:10px;font-size:14px;line-height:1.5;text-decoration:none;display:flex}.lecture-floating-contents a>span:first-child{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;font-size:11px}.lecture-floating-contents a:hover,.lecture-floating-contents a[aria-current]{background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--blue)}.lecture-floating-contents a:focus-visible,.lecture-contents-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.concept-section:focus{outline:none}.lecture-review-toolbar{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:8px;font-size:12px;display:flex}.lecture-review-toolbar button,.lecture-review-actions button,.lecture-review-comment button,.lecture-review-expand{border:1px solid var(--line);background:var(--glass);color:var(--ink);border-radius:9px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;line-height:1.4;display:inline-flex}.lecture-review-toolbar button[aria-pressed=true]{color:var(--blue);border-color:var(--blue)}.lecture-review-toolbar label{cursor:pointer;flex-direction:row;align-items:center;gap:7px;display:flex}.lecture-review-toolbar input{width:14px;height:14px;accent-color:var(--blue);flex:none;margin:0;padding:0}.lecture-review-toolbar small{flex-basis:100%;font-size:11px}.lecture-review-toolbar a{color:var(--blue)}.lecture-review-actions{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;padding:12px 0;display:flex}.lecture-review-status{color:var(--muted);flex:1;align-items:center;gap:6px;min-width:180px;font-size:12px;display:inline-flex}.lecture-review-section.approved .lecture-review-status{color:var(--blue)}.lecture-review-section.changes .lecture-review-status{color:var(--lightningcss-light,#966316)var(--lightningcss-dark,#e3b76d)}.lecture-review-note{background:color-mix(in srgb,var(--blue) 7%,transparent);white-space:pre-wrap;border-radius:12px;padding:12px 16px;font-size:14px;line-height:1.6}.lecture-review-comment{border:1px solid var(--line);background:var(--glass);border-radius:14px;margin-bottom:18px;padding:14px}.lecture-review-comment label{font-size:13px;display:block}.lecture-review-comment textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--line);border-radius:9px;width:100%;min-height:100px;max-height:350px;margin:10px 0;padding:12px;font-size:14px;line-height:1.6;display:block}.lecture-review-comment button+button{margin-left:8px}.lecture-review-expand{margin-bottom:12px}.concept-contents .lecture-review-mark,.lecture-floating-contents .lecture-review-mark{background:var(--line);border-radius:50%;flex:none;align-self:center;width:8px;height:8px;margin-left:auto}.concept-contents .lecture-review-mark.approved,.lecture-floating-contents .lecture-review-mark.approved{background:var(--blue)}.concept-contents .lecture-review-mark.changes,.lecture-floating-contents .lecture-review-mark.changes{background:#c98c39}@media (max-width:480px){.lecture-progress-caption{column-gap:8px;font-size:11px}.lecture-contents-toggle{gap:5px;padding:6px}.lecture-floating-contents{max-height:52dvh}}@media (prefers-reduced-motion:reduce){.lecture-floating-contents{animation:none}}.lecture-progress,.lecture-floating-contents{overflow-anchor:none}.lecture-revision-notes{border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));background:color-mix(in srgb,var(--blue) 5%,var(--surface));border-radius:14px;margin:10px 0 18px;padding:16px 20px;font-size:14px;line-height:1.6}.lecture-revision-notes ul{margin:8px 0 0;padding-left:20px}.lecture-revision-notes li+li{margin-top:6px}.review-change-index{flex-basis:100%;font-size:14px}.review-change-index summary{cursor:pointer;color:var(--blue)}.review-change-index ol{overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:38vh;padding:0;list-style:none;display:grid;overflow-y:auto}.review-change-index a{background:var(--glass);border-radius:8px;padding:7px 10px;text-decoration:none;display:block}.lecture-task-link,.lecture-contest{border:1px solid color-mix(in srgb,var(--blue) 35%,var(--line));background:linear-gradient(125deg,color-mix(in srgb,var(--blue) 9%,var(--surface)),var(--surface));border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin:26px 0;padding:24px;display:flex}.lecture-task-link h3,.lecture-contest h2{margin:8px 0 10px}.lecture-task-status{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.lecture-task-link.solved .lecture-task-status,.practice-ungraded.solved{color:var(--blue)}.lecture-task-link .board-link button,.lecture-contest .board-link button{background:var(--blue);color:#fff;white-space:nowrap;border:0;border-radius:12px;padding:12px 18px}.lecture-contest progress{width:min(300px,100%);height:7px;accent-color:var(--blue)}.io-variant{border:0;margin:20px 0;padding:0}.io-variant legend{color:var(--muted);margin-bottom:8px;font-size:14px}.io-variant-buttons{flex-wrap:wrap;gap:8px;display:flex}.io-variant-buttons button{border:1px solid var(--line);background:var(--glass);color:var(--muted);border-radius:10px;padding:10px 14px;transition:background .18s,color .18s,border-color .18s}.io-variant-buttons button[aria-pressed=true]{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 55%,var(--line));background:color-mix(in srgb,var(--blue) 10%,var(--glass))}.practice-options label{transition:background .18s,border-color .18s,box-shadow .18s}.practice-feedback{animation:.2s lecture-reveal}.lecture-reveal{border:1px solid var(--line);background:var(--glass);border-radius:14px;margin:16px 0;padding:18px 22px}.lecture-reveal summary{cursor:pointer;color:var(--blue);font-weight:600;line-height:1.6}.lecture-reveal[open]>.lecture-markdown{animation:.2s lecture-reveal}@media (max-width:600px){.review-change-index ol{grid-template-columns:1fr}.lecture-task-link,.lecture-contest{flex-direction:column;align-items:stretch;gap:14px}}@media (prefers-reduced-motion:reduce){.practice-options label,.io-variant-buttons button{transition:none}.practice-feedback,.lecture-reveal[open]>.lecture-markdown{animation:none}}.lecture-markdown :is(ul,ol){margin:1em 0;padding-inline-start:1.5em;list-style-position:outside}.lecture-markdown ul{list-style-type:disc}.lecture-markdown ol{list-style-type:decimal}.lecture-markdown li{padding-inline-start:.35em;line-height:1.75}.lecture-markdown li+li{margin-top:.55em}.lecture-markdown li::marker{color:var(--blue);font-variant-numeric:tabular-nums;font-size:.92em}.lecture-markdown li>p{margin:.35em 0}.lecture-markdown li>:first-child{margin-top:0}.lecture-markdown li>:last-child{margin-bottom:0}.lecture-markdown li :is(ul,ol){margin:.5em 0;padding-inline-start:1.35em}.lecture-markdown li ul{list-style-type:circle}.lecture-markdown .contains-task-list{padding-inline-start:0;list-style:none}.lecture-markdown .task-list-item{padding-inline-start:0}.lecture-markdown .task-list-item>input{width:auto;margin-inline-end:.6em}.concept-lesson :is(button,summary){-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.concept-lesson :is(button,summary,select):focus:not(:focus-visible){outline:none}.concept-lesson :is(button,summary,select):focus-visible{outline:2px solid var(--blue);outline-offset:3px}.lecture-code figcaption{font-family:inherit}.chess-demo{border:1px solid var(--line);background:var(--glass);min-width:0;max-width:900px;font-size:calc(16px * var(--reading-scale,1));border-radius:20px;margin:28px 0;padding:clamp(16px,3vw,28px);line-height:1.75}.chess-toolbar{flex-wrap:wrap;align-items:end;gap:12px 18px;display:flex}.chess-toolbar label{min-width:160px;color:var(--muted);gap:7px;font-size:14px;line-height:1.4;display:grid}.chess-toolbar :is(button,select){box-sizing:border-box;border:1px solid var(--line);background:var(--surface);width:auto;min-height:44px;color:var(--ink);box-shadow:none;border-radius:10px;margin:0;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;transition:background .15s,border-color .15s}.chess-toolbar select{width:100%;padding-right:30px}.chess-toolbar button:hover{background:color-mix(in srgb,var(--blue) 6%,var(--surface));border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}.chess-toolbar button[aria-pressed=true]{color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--surface));border-color:color-mix(in srgb,var(--blue) 40%,var(--line))}.chess-demo .chess-instruction{font:inherit;color:var(--muted);margin:20px 0 24px}.chess-layout{grid-template-columns:minmax(220px,390px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.chess-grid{-webkit-user-select:none;user-select:none;min-width:0}.chess-row{grid-template-columns:24px repeat(8,minmax(0,1fr));display:grid}.chess-coordinate,.chess-axis span{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex}.chess-axis{height:28px}.chess-demo .chess-cell{aspect-ratio:1;width:100%;min-width:0;box-shadow:none;touch-action:manipulation;border:0;border-radius:0;outline:none;place-items:center;margin:0;padding:0;display:grid;position:relative}.chess-cell.light{background:#e9effa}.chess-cell.dark{background:#718cb5}.chess-demo .chess-cell.selected:after{content:"";pointer-events:none;border:2px solid #fff;border-radius:3px;position:absolute;inset:3px;box-shadow:0 0 0 2px #345c9a}.chess-demo .chess-cell:hover:before{content:"";pointer-events:none;background:#ffffff20;position:absolute;inset:0}.chess-demo .chess-cell:focus-visible{outline:2px solid var(--blue);outline-offset:2px;z-index:2}.chess-grid.placing .chess-cell{cursor:crosshair}.chess-piece{color:#152844;text-shadow:0 1px 2px #fffa;pointer-events:none;font:36px/1 Segoe UI Symbol,serif}.chess-dot{aspect-ratio:1;pointer-events:none;background:#102c5780;border-radius:50%;width:22%}.chess-description{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;padding:20px}.chess-description h4{margin:0;font-size:1em;font-weight:600;line-height:1.5}.chess-description p{font:inherit;overflow-wrap:anywhere;margin:14px 0 0}.chess-description .chess-route{color:var(--muted);font-variant-numeric:tabular-nums;margin:6px 0 18px}[data-theme=dark] .chess-cell.light{background:#8495b1}[data-theme=dark] .chess-cell.dark{background:#394e70}[data-theme=dark] .chess-piece{color:#fff;text-shadow:0 2px 3px #0b152a}[data-theme=dark] .chess-dot{background:#e8eefc99}@media (max-width:720px){.chess-layout{grid-template-columns:1fr}.chess-grid{width:100%;max-width:390px;margin-inline:auto}.chess-toolbar label{flex:1}.chess-piece{font-size:30px}}@media (max-width:1000px){.concept-lesson[data-topic=C02] .chess-layout{grid-template-columns:minmax(0,1fr)}.concept-lesson[data-topic=C02] .chess-grid{width:100%;max-width:390px;margin-inline:auto}}@media (prefers-reduced-motion:reduce){.chess-toolbar :is(button,select){transition:none}}.interval-diagram{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:18px;margin:26px 0;padding:22px}.interval-diagram>figcaption{margin-bottom:16px;font-weight:650}.interval-diagram-row+.interval-diagram-row{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.interval-diagram-row>svg{width:100%;max-width:620px;margin:0 auto;font-family:inherit;display:block}.interval-diagram-row .lecture-markdown p{margin:8px 0}@media (max-width:600px){.interval-diagram{padding:14px}.interval-diagram-row>svg{min-height:110px}}.concept-contest-section>.lecture-contest,.concept-contest-section .lecture-contest{margin:16px 0 0}.concept-contest-section>h2{margin-bottom:16px}
.math-experiment{--math-blue:#4c70d8;--math-pink:#b86291;border:1px solid var(--line);background:linear-gradient(135deg, #779af410, #c58bb709), var(--glass);border-radius:24px;margin:28px 0;padding:clamp(18px,3vw,30px)}[data-theme=dark] .math-experiment{--math-blue:#95b2ff;--math-pink:#e1a0c2}.math-experiment header h3{margin:10px 0;font-size:1.18em;line-height:1.4}.math-experiment header p{color:var(--muted);margin-bottom:24px;line-height:1.7}.math-settings{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:28px;display:grid}.math-experiment .io-range-track input[type=range]{appearance:none;width:100%;min-width:0;height:32px;box-shadow:none;cursor:pointer;touch-action:pan-y;background:0 0;border:0;border-radius:0;outline:none;margin:0;padding:0;display:block;position:relative}.math-experiment .io-range-track input[type=range]:is(:focus,:focus-visible,:active){box-shadow:none;background:0 0;border:0;outline:none}.math-box{animation:.22s ease-out math-box-in}@keyframes math-box-in{0%{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.math-presets{flex-wrap:wrap;gap:8px;margin:10px 0 18px;display:flex}.math-presets button{border:1px solid var(--line);color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border-radius:9px;padding:7px 12px}.math-presets button[aria-pressed=true]{border-color:var(--math-blue);color:var(--math-blue);background:#799bed18}.math-stage{border:1px solid var(--line);border-radius:16px;margin-top:16px;overflow:hidden}.math-picture{background:var(--glass);align-items:center;min-height:190px;padding:clamp(16px,3vw,26px);display:grid}.math-explanation{border-top:1px solid var(--line);padding:14px 22px 18px}.math-formula .markdown{max-width:100%}.math-formula .katex-display{margin:10px 0 18px;overflow:auto hidden}.math-explanation p{min-height:3.5em;margin:0;line-height:1.65}.math-experiment .io-controls{flex-wrap:wrap;gap:10px;margin-top:20px}.math-experiment .io-controls>span{font-variant-numeric:tabular-nums}.math-boxes{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.math-box{border:1.5px solid var(--math-blue);background:#7295ed09;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.math-box.remainder{border-color:var(--math-pink)}.math-dots{flex-wrap:wrap;gap:6px;max-width:400px;display:flex}.math-box .math-dots{max-width:72px}.math-dots i{border:1px solid var(--math-blue);border-radius:50%;flex-shrink:0;width:13px;height:13px}.math-dots i.filled{background:var(--math-blue)}.math-dots.pink i{border-color:var(--math-pink)}.math-dots.pink i.filled{background:var(--math-pink)}.math-loose{gap:12px;padding:14px 0;display:grid}.math-loose>span{color:var(--muted);font-size:.85em}.math-line{width:100%;overflow:visible}.math-line text,.math-cycle text{fill:var(--ink);text-anchor:middle;font-family:inherit;font-size:15px}.math-line .axis{stroke:var(--muted);stroke-width:1px}.math-line .start{fill:var(--math-pink)}.math-line .finish{fill:var(--math-blue)}.math-jump{fill:none;stroke:var(--math-blue);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.math-fractions{gap:18px;display:grid}.math-fraction-row{font-variant-numeric:tabular-nums;grid-template-columns:95px 1fr;align-items:center;gap:12px;display:grid}.math-fraction{gap:3px;display:grid}.math-fraction i{border:1px solid var(--math-blue);border-radius:4px;height:34px}.math-fraction i.filled{background:var(--math-blue)}.math-sum-tiles{border-top:1px solid var(--line);gap:12px;padding-top:16px;display:grid}.math-sum-tiles>div{gap:8px;display:grid}.math-sum-tiles>span{color:var(--muted);font-size:.85em}.math-sum-tiles.pending{opacity:.4}.math-price-bars{gap:20px;display:grid}.math-price-bars>div{grid-template-columns:160px 1fr 100px;align-items:center;gap:14px;font-size:.85em;display:grid}.math-price-bars>div>div{background:#799bed13;border-radius:5px;height:18px}.math-price-bars i{background:var(--math-blue);border-radius:inherit;height:100%;transition:width .2s;display:block}.math-price-bars>div:last-child i{background:var(--math-pink)}.math-price-bars strong{text-align:right;font-variant-numeric:tabular-nums}.math-price-bars .pending i{visibility:hidden}.math-price-bars .pending{color:var(--muted)}.math-digit-strip{justify-content:center;gap:8px;display:flex}.math-digit-strip>span{text-align:center;border:1px solid var(--line);border-radius:10px;gap:6px;min-width:60px;padding:12px 8px;display:grid}.math-digit-strip b{font-variant-numeric:tabular-nums;font-size:2em}.math-digit-strip small{color:var(--muted);font-size:.72em}.math-digit-strip .active{border-color:var(--math-blue);color:var(--math-blue);background:#799bed18}.math-readouts{flex-wrap:wrap;justify-content:center;gap:16px;margin:16px 0;display:flex}.math-readouts>div{text-align:center;gap:8px;min-width:70px;display:grid}.math-readouts small{color:var(--muted);font-size:.8em}.math-readouts b{font-variant-numeric:tabular-nums;font-size:1.6em}.math-clock-scene>p{text-align:center;color:var(--muted);min-height:2em;font-size:.85em}.math-cycle{justify-self:center;width:100%;max-width:320px}.math-cycle .orbit{stroke:var(--line);fill:none;stroke-width:2px}.math-cycle g circle{fill:var(--glass);stroke:var(--line);stroke-width:1.5px}.math-cycle .origin circle{stroke:var(--math-pink)}.math-cycle .current circle{fill:var(--math-blue);stroke:var(--math-blue)}.math-cycle .current text{fill:#fff}[data-theme=dark] .math-cycle .current text{fill:#142344}.math-cycle .cycle-count{font-size:24px;font-weight:600}.checked-practice .practice-options .markdown{font-size:inherit;flex:1;line-height:1.4}.checked-practice .practice-options .markdown p{margin:0}@media (max-width:600px){.math-price-bars>div{grid-template-columns:1fr 90px;gap:8px}.math-price-bars>div>div{grid-area:auto/1}.math-price-bars>div>span{grid-column:1/-1}.math-fraction-row{grid-template-columns:65px 1fr;gap:8px}.math-digit-strip>span{flex:1;min-width:0;padding:10px 4px}.math-explanation{padding:12px}}@media (prefers-reduced-motion:reduce){.math-box{animation:none}.math-price-bars i{transition:none}}.division-demo{container-type:inline-size}.division-demo header h3{margin:0 0 12px}.division-presets{gap:10px;margin-top:16px;display:flex}.division-presets button{border:1px solid var(--line);background:var(--glass);color:var(--ink);font:inherit;border-radius:10px;padding:7px 16px}.division-presets button[aria-pressed=true]{background:color-mix(in srgb,var(--math-blue) 12%,transparent);border-color:var(--math-blue)}.division-presets button:focus:not(:focus-visible){outline:none}.rounding-line{width:100%;height:auto;max-height:185px;margin-top:20px;overflow:visible}.rounding-line text{text-anchor:middle;fill:var(--ink);font-family:inherit;font-size:15px}.division-axis{stroke:var(--muted);stroke-width:1.5px}.rounding-span{stroke:var(--math-blue);stroke-width:5px;opacity:.4}.rounding-bound{fill:var(--math-blue)}.rounding-point{transition:transform .1s linear}.rounding-point circle{fill:var(--math-pink)}.rounding-point line{stroke:var(--math-pink);stroke-width:2px;stroke-dasharray:3 3}.division-readouts{grid-template-columns:1fr 1fr;gap:16px;display:grid}.division-readouts>div{border:1px solid var(--line);background:var(--glass);border-radius:14px;gap:8px;padding:16px;display:grid}.division-readouts span{color:var(--muted);font-size:.85em}.division-readouts strong{font-variant-numeric:tabular-nums;font-size:1.6em}.division-inputs{flex-wrap:wrap;gap:16px;margin:22px 0;display:flex}.division-inputs label{flex:160px;gap:10px;font-size:.9em;display:grid}.division-inputs input{width:100%;min-width:0;font:inherit;border:1px solid var(--line);background:var(--glass);color:var(--ink);border-radius:10px;padding:10px 12px}.division-packing-comparison{grid-template-columns:1fr 1fr;gap:20px;display:grid}.division-packing-comparison>section{border:1px solid var(--line);background:var(--glass);border-radius:16px;min-width:0;padding:16px}.division-packing-comparison h4{margin:0 0 18px;font-size:1em}.division-boxes{flex-wrap:wrap;align-content:start;gap:10px;min-height:112px;display:flex}.division-box{border:1px solid var(--line);border-radius:8px;align-self:start;gap:4px;padding:7px;display:grid}.division-box i{border:1px solid var(--line);border-radius:2px;width:8px;height:8px}.division-box i.filled.tone-0{background:var(--math-blue);border-color:var(--math-blue)}.division-box i.filled.tone-1{background:var(--math-pink);border-color:var(--math-pink)}.division-empty{color:var(--muted);font-size:.9em}.division-demo .katex-display{overflow:auto hidden}.division-demo>p{margin-bottom:0}@container (max-width:540px){.division-packing-comparison{grid-template-columns:1fr}.division-readouts{gap:10px}.division-readouts>div{padding:12px}.division-boxes{min-height:70px}}@media (prefers-reduced-motion:reduce){.rounding-point{transition:none}}@container (max-width:540px){.rounding-line{min-height:120px}.rounding-line text{font-size:30px}.rounding-point text{font-size:32px}}.packing-model-options{grid-template-columns:1fr 1fr;gap:14px;margin:22px 0;display:grid}.packing-model-options>button{text-align:left;border:1px solid var(--line);background:var(--glass);min-width:0;color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;display:flex}.packing-model-options>button[aria-pressed=true]{border-color:var(--math-blue);background:color-mix(in srgb,var(--math-blue) 10%,var(--glass))}.packing-model-options button:focus:not(:focus-visible){outline:none}.packing-model-options .lecture-markdown{max-width:100%}.packing-model-options p{margin:0}.packing-model-feedback{border:1px solid var(--line);background:var(--glass);border-radius:16px;margin:20px 0;padding:20px}.packing-model-feedback h4{margin:0 0 12px;font-family:inherit;font-size:1.05em;font-weight:600;line-height:1.4}.packing-result-scene{margin-top:20px}.packing-result-scene>span{color:var(--muted);margin-bottom:16px;font-size:.85em;line-height:1.6;display:block}.packing-case-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.packing-case-nav>span{color:var(--muted);font-size:.85em}.packing-case-nav button{font:inherit;color:var(--ink);background:var(--glass);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.packing-case-nav button:disabled{opacity:.4;cursor:default}@container (max-width:540px){.packing-model-options{grid-template-columns:1fr}.packing-model-feedback{padding:14px}.packing-case-nav{justify-content:start}}.packing-choice .lecture-markdown{width:100%;min-width:0}.packing-choice .katex-display{text-align:left;margin:.4em 0;padding:6px 0}.packing-choice .katex-display>.katex{text-align:left}.packing-choice .division-boxes{min-height:0;margin-bottom:18px}.packing-model-options .lecture-markdown p{margin:0}.packing-result-scene>.lecture-markdown{overflow-x:auto}
.landing-page,.olympiads-page{font-family:var(--font-ui), Arial, sans-serif}.public-header{z-index:50;background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);position:sticky;top:0}.public-header-inner{align-items:center;gap:28px;max-width:1280px;min-height:80px;margin:auto;padding:0 32px;display:flex}.public-brand{color:var(--ink);letter-spacing:-.8px;flex-shrink:0;align-items:center;gap:10px;font-size:21px;font-weight:750;text-decoration:none;display:inline-flex}.public-brand .sportsprog-mark{flex-shrink:0;width:30px;height:35px}.public-navigation{align-items:center;gap:26px;margin-left:auto;display:flex}.public-navigation a{color:var(--muted);white-space:nowrap;padding:12px 0;font-size:13px;font-weight:550;text-decoration:none}.public-navigation a:hover,.public-navigation a[aria-current=page]{color:var(--blue)}.public-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.public-login{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:9px 17px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.public-header .theme-toggle{border-radius:12px;flex:none;width:40px;height:40px}.public-menu-toggle{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;padding:0;display:none}.public-header :is(a,button):focus-visible,.landing-page :is(a,button,input):focus-visible{outline:2px solid var(--blue);outline-offset:4px}html:has(.public-page){scroll-behavior:smooth;scroll-padding-top:100px}.public-page-content{animation:.36s ease-out both public-arrive}@keyframes public-arrive{0%{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:1020px){.public-header-inner{gap:16px;padding-inline:24px}.public-navigation{gap:17px}}@media (max-width:850px){.public-header-inner{min-height:72px;padding-inline:20px}.public-header-actions{margin-left:auto}.public-menu-toggle{display:inline-flex}.public-navigation{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 14px 25px var(--shadow);margin:0;padding:16px 24px 24px;display:none;position:absolute;top:100%;left:0;right:0}.public-navigation.is-open{grid-template-columns:1fr 1fr;gap:8px 24px;display:grid}.public-navigation a{background:var(--page);border-radius:10px;padding:12px}}@media (max-width:400px){.public-header-inner{gap:8px;padding-inline:14px}.public-brand{gap:6px;font-size:18px}.public-brand .sportsprog-mark{width:27px;height:31px}.public-header-actions{gap:6px}.public-login{padding-inline:10px}.public-header-actions .theme-toggle,.public-menu-toggle{width:36px;height:38px}}@media (prefers-reduced-motion:reduce){html:has(.public-page){scroll-behavior:auto}.public-page-content{animation:none}}
.program-preview,.lesson-preview{background:var(--surface);border:1px solid var(--line);box-shadow:0 30px 70px var(--shadow);border-radius:22px;overflow:hidden}.preview-topline{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;font-size:12px;font-weight:600;display:flex}.preview-topline>span{align-items:center;gap:9px;min-width:0;display:flex}.preview-topline .sportsprog-mark{width:18px;height:23px}.preview-topline small{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:400}.program-tabs{gap:8px;padding:20px 24px 4px;display:flex}.program-tabs button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:9px;padding:8px 13px;font-size:12px}.program-tabs button[aria-pressed=true]{background:var(--raised);color:var(--blue);border-color:var(--line)}.program-topics{min-height:355px;padding:20px 24px 24px;animation:.3s ease-out demo-appear}.program-section-name{align-items:center;gap:12px;margin-bottom:19px;display:flex}.program-section-name>span{color:var(--blue);opacity:.6;font:400 30px/1 ui-monospace,monospace}.program-section-name h3{letter-spacing:-.3px;margin:0;font-size:17px;line-height:1.35}.program-topic{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 0;display:flex}.program-topic>div{flex:1;min-width:0}.program-topic-icon{background:var(--raised);width:37px;height:37px;color:var(--blue);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.program-topic-icon.tone-1{background:color-mix(in srgb, var(--hero-pink) 65%, var(--surface));color:var(--ink)}.program-topic b,.program-defense b{font-size:12px;font-weight:600;line-height:1.5}.program-topic p,.program-defense p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.55}.program-topic>svg{color:var(--muted)}.program-defense{background:var(--page);color:var(--muted);border-radius:11px;align-items:center;gap:13px;margin-top:18px;padding:15px;display:flex}.preview-footlink{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 24px;font-size:11px;text-decoration:none;display:flex}.lesson-demo-body{padding:24px}.lesson-demo-progress{justify-content:space-between;gap:8px;display:flex}.lesson-demo-progress button{text-align:left;min-width:0;color:var(--muted);background:0 0;border:0;border-radius:0;flex:1;padding:0;font-size:10px;line-height:1.6}.lesson-demo-progress button>span{background:var(--line);border-radius:5px;height:3px;margin-bottom:9px;transition:background .25s;display:block}.lesson-demo-progress button[aria-current=step]{color:var(--blue)}.lesson-demo-progress button[aria-current=step]>span{background:var(--blue)}.lesson-venn{width:100%;height:auto;margin:23px 0 12px;display:block}.lesson-venn circle{stroke:var(--blue);stroke-width:1.4px;fill:color-mix(in srgb, var(--blue) 9%, transparent)}.lesson-venn .venn-right{stroke:#ad81cc;fill:#ad81cc15}.lesson-venn .venn-overlap{stroke:none;fill:var(--blue);opacity:.08;transition:opacity .4s}.lesson-venn.step-1 .venn-overlap,.lesson-venn.step-2 .venn-overlap{opacity:.3}.lesson-venn text{fill:var(--ink);text-anchor:middle;font:500 23px ui-monospace,monospace}.lesson-venn text.venn-label{font:12px var(--font-ui), system-ui, sans-serif;fill:var(--muted)}.lesson-demo-copy{min-height:228px}.lesson-demo-copy h3{letter-spacing:-.25px;margin:0 0 10px;font-size:17px}.lesson-demo-copy p{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.lesson-formula{letter-spacing:-.5px;color:var(--blue);padding:18px 0 12px;font:500 clamp(20px,2vw,28px)/1.5 ui-monospace,monospace;animation:.3s ease-out demo-appear}.lesson-demo-copy .lesson-demo-note{font-size:11px}.lesson-demo-controls{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:12px;padding-top:16px;display:flex}.lesson-demo-controls button{border:1px solid var(--line);background:var(--page);color:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:40px;padding:10px;font-size:12px;display:inline-flex}.lesson-demo-controls button:disabled{opacity:.35}.lesson-demo-controls>span{color:var(--muted);font-size:11px}.lesson-demo-controls .demo-next{margin-left:auto;padding-inline:15px}.tool-notes{gap:23px;margin-top:32px;display:grid}.tool-notes>div{align-items:flex-start;gap:14px;display:flex}.tool-notes svg{color:var(--blue);flex-shrink:0;margin-top:3px}.tool-notes span{color:var(--muted);font-size:12px;line-height:1.8}.tool-notes b{color:var(--ink);margin-bottom:3px;font-size:14px;font-weight:600;display:block}.tools-preview{min-width:0}.tools-tabs{gap:8px;margin-bottom:15px;display:flex}.tools-tabs button{border:1px solid var(--line);background:var(--glass);color:var(--muted);border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:inline-flex}.tools-tabs button[aria-pressed=true]{background:var(--raised);color:var(--blue)}.tool-preview-stage{min-height:550px;animation:.3s ease-out demo-appear}.landing-ide-art,.board-preview,.judge-preview{border:1px solid var(--line);background:var(--surface);box-shadow:0 20px 50px var(--shadow);border-radius:20px;min-width:0;overflow:hidden}.product-preview-header{justify-content:space-between;align-items:center;gap:10px;padding:20px 24px;display:flex}.product-preview-header>span:first-child{align-items:center;gap:9px;display:flex}.product-preview-header .sportsprog-mark{width:20px;height:24px}.product-preview-header b{font-size:12px}.product-preview-header em{color:var(--muted);font-style:normal;font-weight:400}.preview-caption{color:var(--muted);font-size:10px}.ide-preview-tabs{border-bottom:1px solid var(--line);align-items:center;gap:5px;padding:0 24px 12px;display:flex}.ide-preview-tabs button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:7px 11px;font-size:11px}.ide-preview-tabs button[aria-pressed=true]{color:var(--blue);background:var(--raised)}.ide-preview-tabs>span{color:var(--muted);margin-left:auto;font:10px ui-monospace,monospace}.preview-code{color:var(--ink);min-height:250px;margin:0;padding:22px 24px;font:12px/1.85 Cascadia Code,Consolas,monospace;overflow:auto}.code-comment{color:var(--muted)}.code-keyword{color:#8947aa}.code-type{color:#2469a7}.code-string{color:#17755b}[data-theme=dark] .code-keyword{color:#cea0f1}[data-theme=dark] .code-type{color:#90c4ff}[data-theme=dark] .code-string{color:#8cdec6}.preview-console{border-top:1px solid var(--line);background:var(--page);padding:18px 24px 22px}.preview-console-title{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.preview-io{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.preview-io label,.preview-io>div{color:var(--muted);gap:8px;min-width:0;font-size:11px;display:grid}.preview-io :is(input,output){border:1px solid var(--line);background:var(--surface);width:100%;height:42px;color:var(--ink);border-radius:9px;padding:10px;font:13px/20px ui-monospace,monospace;display:block}.preview-io output{color:var(--success)}.preview-run{color:#fff;background:#495cdb;border:0;border-radius:10px;align-items:center;gap:9px;min-height:40px;padding:10px 14px;font-size:12px;display:inline-flex}.preview-error{color:var(--danger);font-size:12px;line-height:1.6}.board-preview>svg{width:100%;color:var(--blue);padding:25px 12px 0;display:block}.board-preview svg path{stroke:var(--line);stroke-width:2px;fill:none}.board-preview svg .board-route{stroke:var(--blue);stroke-width:3px;stroke-dasharray:400;animation:1.2s both draw-route}.board-preview svg circle{fill:var(--surface);stroke:var(--blue);stroke-width:2px}.board-preview svg text{text-anchor:middle;fill:var(--ink);font:18px var(--font-ui), system-ui}.board-note{background:var(--raised);border-radius:12px;margin:16px 24px;padding:18px 20px}.board-note b{color:var(--blue);font:20px ui-monospace,monospace}.board-note p,.tool-caption{color:var(--muted);font-size:12px;line-height:1.85}.tool-caption{margin:22px 24px 28px}.judge-preview h3{letter-spacing:-.6px;margin:32px 24px;font-size:22px;font-weight:550;line-height:1.4}.judge-preview-tests{margin:0 24px}.judge-preview-tests>div{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:17px 0;font-size:12px;display:flex}.judge-preview-tests span{color:var(--muted);font:11px ui-monospace,monospace}.judge-preview-tests b{font-weight:500}.judge-preview-tests svg{color:var(--success);margin-left:auto}.judge-preview-result{color:var(--success);background:var(--success-bg);border-radius:12px;align-items:center;gap:10px;margin:26px 24px;padding:16px;font-size:13px;display:flex}.contact-links{gap:14px;min-width:0;display:grid}.contact-links a{border:1px solid var(--line);background:var(--glass);color:var(--ink);border-radius:15px;align-items:center;gap:16px;padding:24px;text-decoration:none;transition:background .2s;display:flex}.contact-links a:hover{background:var(--surface)}.contact-links a>span{flex:1;min-width:0}.contact-links small{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.contact-links b{overflow-wrap:anywhere;font-size:clamp(12px,1.2vw,16px);font-weight:550}.contact-links a>svg{color:var(--blue)}.landing-account{border-top:1px solid var(--line);align-items:start;padding-block:80px 100px}.landing-account>.section-heading{padding-top:45px}.landing-account .auth-form-wrap{border:1px solid var(--line);background:var(--surface);box-shadow:0 24px 60px var(--shadow);border-radius:22px;padding:30px}.landing-account .auth-form{min-width:0;max-width:none}.landing-account .auth-form h2{letter-spacing:-1px;margin:12px 0;font-size:29px;line-height:1.2}.landing-account .auth-form>p{color:var(--muted);font-size:13px;line-height:1.8}.landing-account .auth-form .primary{justify-content:center;align-items:center;gap:10px;min-height:46px;display:flex}
.landing-page{--landing-bg:#090c13;--landing-ink:#f2f4fa;--landing-muted:#b0b9cb;--landing-line:#2b3344;--landing-card:#111622;--scene-travel:80px;--ink:#e8efff;--muted:#a8b9d6;--blue:#8aafff;--line:#324460;--page:#0c1324;--surface:#142038;--raised:#20304b;--glass:#142038eb;--card-start:#223450ee;--glint:#aacaff27;--border-glass:#829bd143;--shadow:#02061160;--hero-blue:#182f55;--hero-pink:#312344;--success:#87dfbd;--success-bg:#183a35;--notice:#edc894;--notice-bg:#403422;--danger:#ff9eb7;--danger-bg:#442535;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;isolation:isolate;color:var(--landing-ink);background:var(--landing-bg);position:relative}.landing-page *{box-sizing:border-box}.landing-page :is(button,input){font-family:inherit}.landing-page button{cursor:pointer}.landing-page button:disabled{cursor:default}.landing-page :is(a,button) svg{flex-shrink:0}.landing-page .public-header{background:color-mix(in srgb, var(--landing-bg) 88%, transparent);border-color:var(--landing-line)}.landing-page .public-header-inner{max-width:1440px;min-height:68px;padding-inline:48px}.landing-page .public-brand{font-size:20px}.landing-page .public-login{background:var(--landing-ink);min-height:36px;color:var(--landing-bg);border-color:#0000;border-radius:24px;padding:7px 18px}.landing-page .public-header .theme-toggle{background:0 0;border-color:#0000;border-radius:50%}.landing-page .public-page-content{animation:none}.landing-hero{background:radial-gradient(ellipse at 78% 30%, #14254c88, transparent 70%), var(--landing-bg);color:#f4f6ff;isolation:isolate;flex-direction:column;justify-content:center;min-height:calc(100svh - 68px);padding:44px max(48px,50vw - 672px) 22px;display:flex;position:relative;overflow:hidden}.idea-field{object-fit:cover;z-index:-1;opacity:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 35%,#0008 65%,#0000 100%);mask-image:linear-gradient(#000 35%,#0008 65%,#0000 100%)}.hero-topline{justify-content:space-between;align-items:center;gap:20px;margin-bottom:auto;display:flex}.landing-kicker{letter-spacing:.16em;color:var(--landing-muted);margin:0 0 30px;font-size:10px;font-weight:600;line-height:1.6}.hero-topline .landing-kicker{color:#bec9e8;margin:0}.hero-topline>span{letter-spacing:.12em;color:#8694b6;font-size:9px}.landing-hero-copy{margin:65px 0 48px;position:relative}.landing-hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(58px,7.5vw,116px);font-weight:500;line-height:1.04}.landing-hero h1 span{color:#9bbcff;-webkit-text-fill-color:transparent;background:linear-gradient(110deg,#c9beff 15%,#91b7ff 60%,#9eebe1);-webkit-background-clip:text;background-clip:text;padding-left:9%;display:block}.hero-bottom{justify-content:space-between;align-items:center;gap:60px;margin-top:0;margin-bottom:auto;display:flex}.landing-lead{color:#d0d9ec;max-width:510px;margin:0;font-size:17px;line-height:1.7}.landing-hero-note{color:#8190b1;margin:20px 0 0;font-size:11px}.landing-actions{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:15px;display:flex}.landing-cta,.landing-secondary,.landing-text-link{justify-content:center;align-items:center;gap:12px;font-size:13px;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.landing-cta,.landing-secondary{border-radius:50px;min-height:48px;padding:13px 24px;transition:background .2s,transform .2s}.landing-cta{color:#fff;background:#4166e7}.landing-cta:hover{background:#3156d7;transform:translateY(-2px)}.landing-secondary{color:var(--landing-ink);border:1px solid var(--landing-line);background:0 0}.landing-secondary:hover{background:var(--landing-card)}.landing-hero .landing-cta{color:#0b1831;background:#e7efff}.landing-hero .landing-cta:hover{background:#fff}.landing-hero .landing-secondary{color:#d6e0f5;border-color:#0000;min-height:36px;padding:8px 5px}.landing-hero .landing-secondary:hover{color:#fff;background:0 0}.landing-text-link{color:#526fe8;justify-content:flex-start;padding-block:12px}[data-theme=dark] .landing-text-link{color:#94b4ff}.hero-baseline{border-top:1px solid #9cb6ed26;justify-content:space-between;align-items:center;margin-top:45px;padding-top:18px;display:flex}.hero-baseline>span{letter-spacing:.15em;color:#8694b6;font-size:9px}.hero-baseline a{color:#bac9e8;padding:8px;display:flex}.landing-section{min-width:0;max-width:1240px;margin:0 auto;padding:130px 40px;scroll-margin-top:10px}.section-heading h2,.olympiad-promo h2{letter-spacing:-.055em;text-wrap:balance;margin:0 0 30px;font-size:clamp(40px,4.7vw,68px);font-weight:550;line-height:1.04}.section-heading h2 span,.olympiad-promo h2 span{color:var(--landing-muted)}.section-heading>p:not(.landing-kicker),.olympiad-promo>div>p:not(.landing-kicker){color:var(--landing-muted);max-width:580px;margin:0;font-size:17px;line-height:1.75}.program-section>.section-heading{grid-template-columns:1.15fr 1fr;align-items:end;gap:0 70px;display:grid}.program-section>.section-heading .landing-kicker{grid-column:1/-1}.program-section>.section-heading h2{margin:0}.program-section>.section-heading>p:last-child{max-width:440px;margin-bottom:4px;font-size:16px}.program-showcase{background:linear-gradient(135deg,#dbe7ff,#ebe4ff 65%,#e0e8ff);border-radius:30px;margin:70px 0 55px;padding:24px;box-shadow:0 40px 90px -60px #284f8b55}[data-theme=dark] .program-showcase{background:linear-gradient(140deg,#172540,#24233e 70%,#152b3c)}.showcase-caption{letter-spacing:.12em;color:#5e6c8c;justify-content:space-between;align-items:center;padding:4px 8px 22px;font-size:9px;display:flex}[data-theme=dark] .showcase-caption{color:#b0bfdf}.program-preview{background:var(--landing-card);border-color:var(--landing-line);border-radius:14px;grid-template-columns:190px 1fr;display:grid;box-shadow:0 15px 40px #11172b10}.program-preview .preview-topline{border-color:var(--landing-line);grid-column:1/-1;padding:20px 28px}.program-tabs{background:color-mix(in srgb, var(--landing-bg) 60%, transparent);border-right:1px solid var(--landing-line);flex-direction:column;align-items:stretch;gap:12px;padding:30px 20px}.program-tabs button{text-align:left;color:var(--landing-muted);background:0 0;border:0;border-radius:8px;padding:13px 17px;font-size:12px}.program-tabs button[aria-pressed=true]{background:var(--landing-card);color:var(--landing-ink);box-shadow:0 4px 15px #00000008}.program-topics{grid-template-columns:1fr 1fr;align-content:start;gap:15px 20px;min-height:350px;padding:25px 35px;display:grid}.program-section-name{grid-column:1/-1;margin-bottom:10px}.program-topic{border:1px solid var(--landing-line);background:var(--landing-bg);border-radius:10px;gap:12px;padding:16px}.program-topic b,.program-defense b{font-size:13px}.program-topic p,.program-defense p{font-size:11px;line-height:1.6}.program-topic>svg{display:none}.program-defense{border-radius:10px;grid-column:1/-1;margin-top:4px;padding:16px}.program-preview .preview-footlink{border-color:var(--landing-line);grid-column:1/-1;padding:16px 28px;font-size:11px}.learning-route{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.learning-route article+article{border-left:1px solid var(--landing-line);padding-left:35px}.route-top{color:var(--landing-muted);align-items:center;gap:14px;font-size:11px;display:flex}.route-top>svg{width:18px;height:18px}.learning-route h3{letter-spacing:-.035em;margin:22px 0 12px;font-size:21px;font-weight:550}.learning-route p{color:var(--landing-muted);margin:0;font-size:13px;line-height:1.8}.program-bottom{border-top:1px solid var(--landing-line);color:var(--landing-muted);justify-content:space-between;align-items:center;gap:28px;margin-top:38px;padding-top:24px;font-size:11px;line-height:1.8;display:flex}.program-bottom>span{flex-shrink:0;align-items:center;gap:10px;display:flex}.program-bottom p{max-width:370px;margin:0}.lesson-section,.tools-section,.contacts-section,.landing-account{grid-template-columns:1fr 1fr;align-items:center;gap:75px;display:grid}.landing-benefits{gap:16px;margin:30px 0;padding:0;list-style:none;display:grid}.landing-benefits li{color:var(--landing-muted);align-items:center;gap:12px;font-size:13px;display:flex}.landing-benefits svg{color:#6d88ca}.section-heading .landing-demo-invite{align-items:center;gap:12px;font-size:12px;line-height:1.7;display:flex}.lesson-preview{border-color:var(--landing-line);border-radius:22px;box-shadow:0 30px 90px -35px #345e8e40}.lesson-preview .preview-topline{padding:22px 25px}.lesson-demo-copy{min-height:240px}.lesson-demo-copy p{font-size:13px;line-height:1.8}.lesson-demo-controls .demo-next{border-radius:24px}.tools-section{border-top:1px solid var(--landing-line)}.tools-preview{min-width:0}.tools-tabs{justify-content:center;margin-bottom:22px}.tools-tabs button{border-radius:30px;padding:11px 18px;font-size:12px}.tool-preview-stage{min-height:550px}.tool-notes{gap:25px;margin-top:35px}.tool-notes svg{color:#7890ba}.tool-notes b{color:var(--landing-ink);font-weight:550}.tool-notes span{color:var(--landing-muted);line-height:1.8}.formats-section{border-top:1px solid var(--landing-line)}.format-grid{grid-template-columns:1fr 1fr;gap:70px;margin-top:65px;display:grid}.format-grid article{border-top:1px solid var(--landing-line);padding-top:30px}.format-number{letter-spacing:.1em;color:var(--landing-muted);font-size:11px}.format-grid h3{letter-spacing:-.04em;margin:25px 0 20px;font-size:30px;font-weight:500}.format-grid p{color:var(--landing-muted);margin:0 0 24px;font-size:15px;line-height:1.85}.olympiad-section{padding-top:0}.olympiad-promo{background:#e9edf7;border-radius:24px;grid-template-columns:190px 1fr;align-items:center;gap:70px;padding:64px;display:grid;position:relative;overflow:hidden}[data-theme=dark] .olympiad-promo{background:#141d2e}.olympiad-promo h2{font-size:42px}.olympiad-promo .landing-secondary{margin-top:28px}.olympiad-promo-icon{aspect-ratio:1;background:var(--landing-card);color:#6e87bd;border:1px solid #9eb0d170;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:30px;display:flex;position:relative;transform:rotate(-8deg);box-shadow:15px 25px 0 -5px #a4b4d130,30px 50px 0 -10px #a4b4d117}.olympiad-promo-icon span{letter-spacing:.13em;font-family:monospace;font-size:17px}.contacts-section{border-top:1px solid var(--landing-line);padding-top:80px}.contact-links a{border:0;border-bottom:1px solid var(--landing-line);background:0 0;border-radius:0;padding:25px 0}.contact-links a:hover{background:0 0}.contact-links a>svg{color:var(--landing-muted)}.contact-links b{color:var(--landing-ink);font-size:15px}.contact-links small{color:var(--landing-muted)}.landing-account{border-top:1px solid var(--landing-line);align-items:start}.landing-account>.section-heading{padding-top:30px}.landing-account .auth-form-wrap{border-color:var(--landing-line);box-shadow:none;background:var(--landing-card)}.landing-footer{border-top:1px solid var(--landing-line);max-width:1240px;color:var(--landing-muted);flex-wrap:wrap;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;margin:0 auto;padding:30px 40px 40px;font-size:10px;display:grid}.landing-footer .public-brand{font-size:17px}.landing-footer .public-brand svg{width:22px;height:25px}.landing-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:20px;margin-left:auto;display:flex}.landing-footer nav a{color:var(--landing-muted);line-height:1.7;text-decoration:none}@keyframes demo-appear{0%{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes draw-route{0%{stroke-dashoffset:400px}to{stroke-dashoffset:0}}.hero-explore{color:#eef3ff;align-items:center;gap:24px;padding:16px 0;font-size:15px;line-height:1.5;text-decoration:none;display:inline-flex}.hero-explore>span{border:1px solid #c1d4ff66;border-radius:50%;place-items:center;width:46px;height:46px;transition:transform .3s,background .3s;display:grid}.hero-explore:hover>span{background:#aac4ff20;transform:translateY(4px)}.hero-explore:focus-visible{outline-offset:6px;outline:2px solid #9bbcff}@media (max-width:1100px){.landing-hero{padding-inline:35px}.landing-page .public-header-inner{padding-inline:24px}.landing-section{padding:100px 35px}.section-heading h2{font-size:50px}.program-topics{gap:12px;padding:24px}.program-preview{grid-template-columns:155px 1fr}.program-tabs{padding:25px 14px}.program-topic{padding:12px}.program-topic-icon{display:none}.lesson-section,.tools-section,.contacts-section,.landing-account,.story-body,.format-grid{gap:40px}.olympiad-promo{grid-template-columns:140px 1fr;gap:40px;padding:45px}.olympiad-promo h2{font-size:35px}}@media (max-width:900px){.landing-page{--scene-travel:30px}.landing-hero{min-height:850px;padding:35px 30px 20px}.landing-hero-copy{margin:80px 0 45px}.landing-hero h1{font-size:clamp(48px,8vw,76px)}.landing-hero h1 span{padding-left:0}.hero-topline>span{display:none}.hero-bottom{gap:35px}.landing-lead{font-size:15px}.landing-cta,.landing-secondary{padding:13px 19px;font-size:12px}.landing-section{padding:85px 30px}.program-section>.section-heading{grid-template-columns:1fr;gap:22px}.program-section>.section-heading .landing-kicker{margin:0}.program-showcase{margin-top:40px;padding:16px}.program-preview{grid-template-columns:1fr}.program-tabs{border:0;border-bottom:1px solid var(--landing-line);flex-direction:row;justify-content:flex-start;padding:15px 24px}.program-topics{min-height:350px}.learning-route{gap:22px}.learning-route article+article{padding-left:22px}.learning-route h3{font-size:18px}.program-bottom{flex-direction:column;align-items:flex-start;gap:10px}.program-bottom p{max-width:none}.story-body{grid-template-columns:1fr;gap:40px}.story-chapters{grid-template-columns:repeat(3,1fr);gap:24px}.story-chapter h3{font-size:23px}.story-chapter p{font-size:13px}.story-art{width:100%;max-width:620px;margin:auto}.lesson-section,.tools-section{grid-template-columns:1fr;gap:50px}.lesson-preview,.tools-preview{width:100%;max-width:620px;margin:auto}.section-heading h2{font-size:50px}.section-heading>p:not(.landing-kicker){font-size:16px}.tool-preview-stage{min-height:540px}.tool-notes{grid-template-columns:repeat(3,1fr);gap:25px}.tool-notes>div{flex-direction:column}.contacts-section,.landing-account{grid-template-columns:1fr;gap:40px}.contact-links,.landing-account .auth-form-wrap{width:100%;max-width:620px}.landing-footer nav{margin-left:0}}@media (max-width:600px){.landing-page .public-header-inner{min-height:64px;padding-inline:16px}.landing-page .public-brand{font-size:18px}.landing-page .public-login{padding-inline:12px}.landing-hero{min-height:calc(100svh - 64px);padding:28px 22px 16px}.landing-hero-copy{margin:65px 0 32px}.landing-hero h1{letter-spacing:-.06em;font-size:clamp(32px,10vw,56px);line-height:1.14}.hero-topline .landing-kicker{letter-spacing:.09em;font-size:8px}.idea-field{opacity:.6;width:200%;left:-50%}.hero-bottom{display:block}.landing-lead{max-width:430px;font-size:14px;line-height:1.8}.landing-hero-note{margin-top:16px;font-size:10px}.landing-actions{gap:6px;margin-top:28px}.hero-baseline{margin-top:35px}.hero-baseline>span{letter-spacing:.1em;font-size:7px}.landing-section{padding:70px 22px}.landing-kicker{letter-spacing:.12em;margin-bottom:22px;font-size:9px}.section-heading h2{font-size:40px}.program-showcase{border-radius:20px;margin:35px -6px;padding:12px}.showcase-caption{letter-spacing:.08em;padding:5px 5px 15px;font-size:7px}.showcase-caption>span:last-child{display:none}.program-preview .preview-topline{padding:17px;font-size:12px}.preview-topline small{font-size:8px}.program-tabs{padding:12px 15px}.program-tabs button{padding:10px 14px;font-size:11px}.program-topics{grid-template-columns:1fr;min-height:365px;padding:18px}.program-section-name h3{font-size:15px}.program-section-name>span{font-size:27px}.program-topic-icon{border-radius:8px;width:32px;height:32px;display:flex}.program-topic{padding:12px}.program-topic b,.program-defense b{font-size:11px}.program-topic p,.program-defense p{font-size:10px}.program-preview .preview-footlink{padding:14px 18px;font-size:10px}.learning-route{grid-template-columns:1fr;gap:0}.learning-route article,.learning-route article+article{border-left:0;border-bottom:1px solid var(--landing-line);padding:22px 0}.learning-route h3{margin:14px 0 10px;font-size:21px}.learning-route p{font-size:13px}.program-bottom{border:0;margin-top:20px;padding:0}.program-bottom>span{flex-shrink:1}.learning-story{padding:65px 22px}.story-heading h2{font-size:36px}.story-chapters{grid-template-columns:1fr;gap:28px}.story-chapter{grid-template-columns:1fr;gap:0;display:grid}.story-number{padding-top:5px;font-size:9px}.story-chapter h3{margin:0 0 12px;font-size:25px}.story-chapter p{grid-column:1}.story-art{padding:18px}.story-art-label{font-size:6px}.story-art-label>span:last-child{display:none}.story-equation{font-size:28px}.story-code{gap:8px;font-size:8px}.story-code code{font-size:13px}.lesson-demo-body{padding:18px}.lesson-demo-progress button{font-size:10px}.lesson-demo-copy{min-height:255px}.lesson-demo-copy h3{font-size:17px}.lesson-demo-copy p{font-size:13px}.lesson-venn{margin-top:20px}.lesson-preview .preview-topline{padding:18px}.landing-benefits li{font-size:12px}.tool-notes{grid-template-columns:1fr;gap:23px}.tool-notes>div{flex-direction:row}.tools-tabs{gap:7px}.tools-tabs button{padding:10px 15px;font-size:11px}.tool-preview-stage{min-height:0}.preview-code{padding:20px;font-size:11px}.product-preview-header,.preview-console{padding-inline:18px}.format-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.format-grid h3{font-size:27px}.format-grid p{font-size:14px}.olympiad-section{padding-top:0}.olympiad-promo{grid-template-columns:1fr;gap:0;margin:0 -6px;padding:30px 24px}.olympiad-promo-icon{display:none}.olympiad-promo h2{font-size:32px}.olympiad-promo>div>p:not(.landing-kicker){font-size:14px}.contact-links a{gap:12px}.contact-links b{font-size:12px}.landing-account>.section-heading{padding-top:0}.landing-account .auth-form-wrap{padding:24px 18px}.landing-footer{grid-template-columns:1fr auto;gap:18px;padding:28px 22px}.landing-footer>span{width:100%}.landing-footer nav{grid-column:1/-1;justify-content:flex-start;gap:15px}}@media (prefers-reduced-motion:reduce){.landing-page *,.landing-page :before{transition:none!important;animation:none!important}.landing-cta:hover{transform:none}.story-best,.board-preview svg .board-route{stroke-dashoffset:0}}.landing-scenes{--scene-progress:0;position:relative}.scene-anchors{pointer-events:none;position:absolute;inset:0}.scene-anchors>span{width:1px;height:1px;position:absolute;left:0}.scene-glow,.scene-morph-shell,.scene-track{display:none}@media (min-width:901px) and (min-height:650px) and (prefers-reduced-motion:no-preference){.landing-scenes{height:380svh}.scene-anchors #program{top:32px}.scene-anchors #lectures{top:calc(50% - 50svh + 66px)}.scene-anchors #tools{top:calc(96% - 96svh + 97.28px)}.scenes-sticky{isolation:isolate;height:calc(100svh - 68px);position:sticky;top:68px;overflow:clip}.scene-glow{z-index:-1;transform:translateX(calc(var(--scene-progress) * -12%));background:radial-gradient(at 65%,#26375a55,#0000 68%);display:block;position:absolute;inset:0}.scene-pane{opacity:var(--scene-opacity,0);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scene-pane-0{--scene-opacity:1}.landing-scenes[data-active="0"] .scene-pane-0,.landing-scenes[data-active="1"] .scene-pane-1,.landing-scenes[data-active="2"] .scene-pane-2{pointer-events:auto}.scene-pane>.landing-section{border:0;width:100%;max-width:1240px;margin:0;padding:24px 40px 40px}.scene-pane .section-heading h2{font-size:clamp(38px,4vw,58px)}.scene-pane .section-heading>p{font-size:15px;line-height:1.7}.scene-pane .program-showcase{margin:24px 0 20px;padding:16px}.scene-pane .program-topics{gap:10px 16px;min-height:260px;padding:18px 24px}.scene-pane .program-topic{padding:12px}.scene-pane .program-preview .preview-topline{padding:16px 24px}.scene-pane .program-preview .preview-footlink{padding:12px 24px}.scene-pane .program-defense{padding:12px}.scene-pane .program-bottom{border:0;margin-top:0;padding-top:0}.scene-pane .lesson-demo-copy{min-height:190px}.scene-pane .lesson-demo-body{padding:20px 24px}.scene-pane .lesson-venn{max-height:170px;margin:15px 0}.scene-pane .tool-preview-stage{min-height:0}.scene-pane .tools-tabs{margin-bottom:16px}.scene-track{background:#283147;width:160px;height:2px;display:block;position:absolute;bottom:16px;left:calc(50% - 80px)}.scene-track span{transform-origin:0;width:100%;height:100%;transform:scaleX(var(--scene-progress));background:#b0bfff;display:block}}@media (min-width:901px) and (min-height:650px) and (max-height:800px) and (prefers-reduced-motion:no-preference){.scene-pane .section-heading h2{margin-bottom:16px;font-size:40px}.scene-pane .program-showcase{margin:16px 0 12px;padding:12px}.scene-pane .program-topics{min-height:240px;padding:12px 20px}.scene-pane .program-section-name{margin-bottom:0}.scene-pane .program-bottom{font-size:10px}.scene-pane .lesson-demo-copy{min-height:170px}.scene-pane .lesson-venn{max-height:145px}}@media (min-width:901px) and (min-height:650px) and (prefers-reduced-motion:no-preference){.scene-morph-shell{pointer-events:none;left:var(--morph-x,40px);top:var(--morph-y,180px);width:var(--morph-width,calc(100% - 80px));height:var(--morph-height,380px);background:linear-gradient(135deg,#18233a,#171d30 65%,#14212e);border:1px solid #697da53a;border-radius:24px;display:block;position:absolute;box-shadow:0 35px 90px -55px #384d8680}.scene-pane .section-heading{transform:translateY(var(--scene-shift,0px))}}@media (min-width:901px) and (min-height:650px) and (max-height:800px) and (prefers-reduced-motion:no-preference){.scene-pane>.tools-section{padding-block:10px 22px}.scene-pane .preview-code{padding-block:16px}}@media (min-width:901px) and (min-height:650px) and (prefers-reduced-motion:no-preference){.landing-scenes[data-ready=true] .scene-pane{opacity:1}.scene-pane .section-heading{transform:none}.scene-pane .section-heading>:is(h2,p){will-change:transform, clip-path}.scene-pane>.program-section{grid-template-columns:1fr 1fr;align-items:center;gap:70px;display:grid}.scene-pane .program-section>.section-heading{display:block}.scene-pane .program-showcase{margin:0;padding:0}.scene-pane .program-bottom{display:none}.scene-pane .program-preview{grid-template-columns:1fr}.scene-pane .program-tabs{background:0 0;border:0;flex-direction:row;padding:18px 24px 8px}.scene-pane .program-topics{grid-template-columns:1fr;min-height:310px;padding:18px 24px}.scene-pane .program-topic{min-height:76px}.scene-pane .program-section-name{margin:0 0 10px}.scene-pane .program-defense{margin:6px 0}.scene-pane .program-topics,.scene-pane .lesson-formula{animation:none}}@media (min-width:901px) and (min-height:650px) and (max-height:800px) and (prefers-reduced-motion:no-preference){.scene-pane .program-topics{gap:8px;min-height:280px;padding-block:12px}.scene-pane .program-topic{min-height:65px}.scene-pane .program-tabs{padding-top:12px}}.idea-field{-webkit-mask-image:linear-gradient(90deg,#0000 30%,#0004 55%,#000 80%);mask-image:linear-gradient(90deg,#0000 30%,#0004 55%,#000 80%);-webkit-mask-composite:source-over;mask-composite:add}.idea-graph{font-family:ui-monospace,monospace}.graph-shortest-path{stroke-dasharray:1;animation:8s ease-in-out infinite graph-route}@keyframes graph-route{0%,15%{stroke-dashoffset:1px}60%,to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.graph-shortest-path{animation:none}}@media (min-width:901px) and (min-height:650px) and (prefers-reduced-motion:no-preference){.scene-pane>.program-section{gap:75px}.scene-pane :is(.program-preview,.lesson-preview,.tool-preview-stage){height:min(590px,100svh - 170px)}.scene-pane .section-heading h2{margin-bottom:28px;font-size:clamp(28px,3.5vw,50px);line-height:1.14}.scene-pane .section-heading>p{height:110px;margin:0}.scene-pane .program-section .section-heading>p{height:auto}.scene-pane .program-preview{grid-template-rows:62px 65px 1fr 45px}.scene-pane .program-topics{min-height:0}.scene-pane .lesson-preview{flex-direction:column;display:flex}.scene-pane .lesson-preview .preview-topline{flex-shrink:0}.scene-pane .lesson-demo-body{flex-direction:column;flex:1;min-height:0;display:flex}.scene-pane .lesson-demo-copy{flex:1;min-height:0}.scene-pane .lesson-demo-controls{margin-top:10px;padding-top:12px}.scene-pane .lesson-venn{flex-shrink:0;max-height:clamp(110px,17svh,150px)}}.morph-demo{display:none}@media (min-width:901px) and (min-height:650px) and (prefers-reduced-motion:no-preference){.scene-pane :is(.program-showcase,.lesson-preview,.tools-preview,.program-bottom){visibility:hidden;pointer-events:none}.scene-morph-shell.morph-demo{z-index:2;pointer-events:auto;display:block}.morph-demo-header{border-bottom:1px solid #8295c125;align-items:center;gap:10px;height:62px;padding:0 24px;display:flex;position:absolute;inset:0 0 auto}.morph-demo-header>svg{flex-shrink:0;width:18px;height:24px}.morph-header-titles{flex:1;height:20px;position:relative}.morph-header-titles b{font-size:12px;line-height:20px;position:absolute;inset:0}.morph-demo-header small{color:#9baac5;font-size:10px}.morph-phase{transform:perspective(800px) rotateY(var(--phase-turn,90deg));backface-visibility:hidden;transform-origin:50%}.morph-phase-0{--phase-turn:0deg}.morph-tabs{gap:8px;display:flex}.morph-tabs button{color:#a8b8d1;background:0 0;border:1px solid #0000;border-radius:9px;padding:10px 13px;font-size:11px}.morph-tabs button[aria-pressed=true]{color:#edf3ff;background:#a2baff14;border-color:#a2baff24}.morph-program-nav{position:absolute;top:78px;left:24px;right:24px}.morph-program-nav h3{align-items:center;gap:12px;margin:24px 0 0;font-size:16px;display:flex}.morph-program-nav h3 span{color:#879fd1;font:27px ui-monospace,monospace}.morph-panel{background:#7fa7ff12;border:1px solid #89aaff65;position:absolute}.morph-panel+.morph-panel{background:#b594e912;border-color:#bc9beb65}.morph-panel>.morph-phase{position:absolute;inset:0}.morph-topic{align-items:center;gap:12px;padding:12px;display:flex}.morph-topic-icon{color:#b0c5ff;background:#8fb5ff12;border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.morph-topic b{font-size:13px}.morph-topic p{color:#a9b8d3;margin:4px 0 0;font-size:10px;line-height:1.6}.morph-program-foot{border-top:1px solid #8295c125;align-items:center;gap:12px;padding:18px 0;display:flex;position:absolute;bottom:24px;left:24px;right:24px}.morph-program-foot b{font-size:12px}.morph-program-foot p{color:#a8b8d1;margin:5px 0 0;font-size:11px;line-height:1.6}.morph-program-foot a{color:#b8c9ec;margin-left:auto;padding:10px}.morph-lesson-nav{gap:8px;display:flex;position:absolute;top:82px;left:24px;right:24px}.morph-lesson-nav button{color:#a9b8d3;text-align:left;background:0 0;border:0;flex:1;padding:0;font-size:10px}.morph-lesson-nav button span{background:#44536d;height:2px;margin-top:12px;display:block}.morph-lesson-nav button[aria-current=step]{color:#a5baff}.morph-lesson-nav button[aria-current=step] span{background:#a5baff}.morph-set-number{justify-content:center;align-items:center;font:21px ui-monospace,monospace;display:flex}.morph-set-number small{font:10px var(--font-ui), sans-serif;color:#b4c3dd;white-space:nowrap;position:absolute;top:-22px}.morph-panel-0 .morph-set-number span{transform:translate(-20%)}.morph-panel-1 .morph-set-number span{transform:translate(20%)}.morph-intersection{left:calc(var(--intersection-x) - 10px);top:calc(var(--intersection-y) - 13px);text-align:center;width:20px;font-family:ui-monospace,monospace;font-size:21px;line-height:26px;position:absolute}.morph-lesson-copy{left:24px;right:24px;top:var(--lesson-copy-top);flex-direction:column;display:flex;position:absolute;bottom:20px}.morph-lesson-copy h3{margin:0 0 10px;font-size:16px}.morph-lesson-copy p{color:#afbfda;margin:0;font-size:13px;line-height:1.75}.morph-lesson-copy .lesson-formula{margin:auto 0;padding:16px 0;font-size:25px}.morph-lesson-controls{border-top:1px solid #8295c125;align-items:center;gap:12px;padding-top:12px;display:flex}.morph-lesson-controls span{color:#afbfda;font-size:11px}.morph-lesson-controls button{color:#e0e8f9;background:#8fa7db0a;border:1px solid #8295c13a;border-radius:24px;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:inline-flex}.morph-lesson-controls button:last-child{margin-left:auto}.morph-lesson-controls button:disabled{opacity:.35}.morph-code-nav{justify-content:space-between;align-items:center;display:flex;position:absolute;top:72px;left:24px;right:24px}.morph-code-nav small{color:#aab9d2;font:10px ui-monospace,monospace}.morph-editor .preview-code{background:0 0;border:0;margin:0;padding:18px 24px;font-size:12px;line-height:1.8}.morph-console{padding:20px 24px}.morph-console .preview-io{font-size:11px}.morph-console .preview-run{margin-top:14px}.morph-tool-tabs{justify-content:center;position:absolute;top:-52px;left:0;right:0}.morph-extra-tool{background:#182235;border-radius:16px;padding:20px 0;position:absolute;inset:125px 24px 24px}.morph-extra-tool svg{fill:#cad8f4;width:100%;max-height:260px;font:20px ui-monospace,monospace}.morph-extra-tool .judge-preview-tests svg,.morph-extra-tool .judge-preview-result svg{fill:none;width:18px;height:18px}.morph-extra-tool h3{margin:15px;font-size:22px;line-height:1.4}}@media (min-width:901px) and (min-height:650px) and (max-height:800px) and (prefers-reduced-motion:no-preference){.morph-program-nav{top:65px}.morph-program-nav h3{margin-top:16px}.morph-program-foot{padding:8px 0;bottom:12px}.morph-lesson-copy p{font-size:12px;line-height:1.6}.morph-lesson-copy .lesson-formula{padding:10px 0;font-size:22px}.morph-editor .preview-code{padding-block:14px;font-size:11px}.morph-console{padding-block:12px}}@media (min-width:901px) and (min-height:650px) and (prefers-reduced-motion:no-preference){.morph-editor .preview-code{padding:12px 20px;font-family:Consolas,Liberation Mono,monospace;font-size:clamp(11px,1.7svh,13px);line-height:1.6}.morph-console{padding:12px 20px}.morph-console .preview-io{gap:12px}.morph-console .preview-run{margin-top:12px}.morph-console{border-radius:inherit;scrollbar-width:thin;overflow:auto}.morph-console .preview-io{margin:0}.morph-console .preview-error{margin:8px 0;font-size:11px}}
html:has(.public-dark){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#090c13}html:has(.public-dark) body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#090c13}.public-dark{--ink:#e8efff;--muted:#a8b9d6;--blue:#8aafff;--line:#324460;--page:#0c1324;--surface:#142038;--raised:#20304b;--glass:#142038eb;--card-start:#223450ee;--glint:#aacaff27;--border-glass:#829bd143;--shadow:#02061160;--hero-blue:#182f55;--hero-pink:#312344;--success:#87dfbd;--success-bg:#183a35;--notice:#edc894;--notice-bg:#403422;--danger:#ff9eb7;--danger-bg:#442535;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.public-dark .public-header-inner{max-width:1440px;min-height:68px;padding-inline:48px}.public-dark .public-header{background:#090c13eb;border-color:#2b3344}.public-dark .public-brand{font-size:20px}.public-dark .public-login{color:#090c13;background:#f2f4fa;border-color:#0000;border-radius:24px;min-height:36px;padding:7px 18px}.public-page-content{animation:none}::view-transition-group(public-page){animation-duration:.65s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}::view-transition-old(public-page){animation-duration:.65s;animation-timing-function:ease-in-out}::view-transition-new(public-page){animation-duration:.65s;animation-timing-function:ease-in-out}::view-transition-group(public-header){z-index:2;animation-duration:.65s}::view-transition-old(public-header){mix-blend-mode:normal;animation:none}::view-transition-new(public-header){mix-blend-mode:normal;animation:none}::view-transition-new(public-header){opacity:1}.login-page{min-height:100svh;padding:32px 24px 60px}.login-back{color:var(--ink);font-size:20px;font-weight:650;text-decoration:none;display:inline-flex}.login-panel{max-width:480px;margin:50px auto 0}.login-panel .auth-form-wrap{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px}@media (max-width:600px){.public-dark .public-header-inner{min-height:64px;padding-inline:16px}.login-panel{margin-top:32px}.login-panel .auth-form-wrap{padding:24px 18px}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation-duration:0s!important}::view-transition-old(*){animation-duration:0s!important}::view-transition-new(*){animation-duration:0s!important}}
.schedule-page,.chat-page{flex:1;width:100%;min-height:0;padding:clamp(18px,3vw,42px);overflow:auto}.chat-sender{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}@media (max-width:1250px){.app-header{gap:12px;padding-inline:18px}.app-header .account-button>span:last-child{display:none}.app-header .main-nav{gap:4px;min-width:0}.app-header .main-nav button{white-space:nowrap;padding:9px 8px;font-size:12px}}@media (max-width:980px){.app-header{gap:8px;padding-inline:12px}.app-header>.board-link>button{gap:0;width:36px;height:36px;padding:8px;font-size:0}.app-header .main-nav button{gap:5px;padding-inline:6px}}@media (max-width:700px){.app-header .main-nav{scrollbar-width:none;flex-basis:100%;order:10;overflow-x:auto}.app-header .main-nav button{flex-shrink:0;font-size:11px}.app-header>.board-link{order:0}.app-header .account-button{margin-left:auto}}.schedule-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.schedule-heading h1{letter-spacing:-.045em;margin:8px 0;font-size:clamp(28px,3vw,42px)}.schedule-heading p{color:var(--muted);margin:0}.schedule-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.schedule-actions button,.schedule-form-actions button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.soft-button{border:1px solid var(--line);background:var(--glass);color:var(--ink);border-radius:12px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.soft-button:hover{background:var(--raised)}.schedule-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.schedule-views{background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:4px;display:flex}.schedule-views button{color:var(--muted);background:0 0;border:0;border-radius:10px;padding:9px 14px}.schedule-views button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 3px 10px var(--shadow)}.schedule-period{align-items:center;gap:8px;display:flex}.schedule-period strong{text-transform:capitalize;text-align:center;min-width:155px;font-size:14px}.schedule-filters{flex-wrap:wrap;gap:8px;display:flex}.schedule-filters select{background:var(--surface);border:1px solid var(--line);max-width:210px;color:var(--ink);border-radius:10px;padding:9px 12px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.calendar-day{border:1px solid var(--line);background:var(--glass);border-radius:18px;min-width:0;min-height:170px;padding:10px}.calendar-grid.week .calendar-day{min-height:380px}.calendar-day.today{border-color:var(--blue);background:linear-gradient(155deg, color-mix(in srgb, var(--blue) 9%, transparent), transparent 65%), var(--glass)}.calendar-day.outside{background:color-mix(in srgb, var(--surface) 55%, transparent)}.calendar-day>header{align-items:center;gap:7px;padding:5px 3px 15px;display:flex}.calendar-day>header>span{color:var(--muted);font-size:12px}.calendar-day>header>strong{font-size:19px}.calendar-day>header>button{margin-left:auto;padding:3px}.calendar-day.today>header>strong{color:var(--blue)}.calendar-free{text-align:center;color:var(--muted);opacity:.7;margin-top:44px;font-size:12px;display:block}.calendar-lesson{text-align:left;border:1px solid color-mix(in srgb, var(--blue) 35%, var(--line));background:linear-gradient(130deg, color-mix(in srgb, var(--blue) 13%, var(--surface)), var(--surface));overflow-wrap:anywhere;border-radius:13px;flex-direction:column;align-items:flex-start;gap:9px;width:100%;margin:0 0 8px;padding:12px;transition:transform .18s,background .18s;display:flex}.calendar-lesson:hover{background:var(--raised);transform:translateY(-2px)}.calendar-lesson>strong{font-size:13px;line-height:1.45}.lesson-time{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;display:flex}.lesson-badge{background:var(--raised);color:var(--muted);border-radius:6px;padding:4px 6px;font-size:10px;line-height:1.3;display:inline-flex}.calendar-lesson.cancelled{background:var(--surface);opacity:.75;border-style:dashed}.calendar-lesson.cancelled .lesson-time{text-decoration:line-through}.calendar-lesson.cancelled .lesson-badge,.lesson-badge.cancelled{color:var(--danger);background:var(--danger-bg)}.calendar-lesson.completed{border-color:color-mix(in srgb, var(--success) 45%, var(--line))}.calendar-lesson.completed .lesson-badge,.lesson-badge.completed{color:var(--success);background:var(--success-bg)}.lesson-homework{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.calendar-move{border:1px dashed var(--line);text-align:left;width:100%;color:var(--muted);background:0 0;border-radius:10px;margin-bottom:8px;padding:9px;font-size:11px;line-height:1.6}.calendar-move span{color:var(--blue);align-items:center;gap:4px;display:flex}.schedule-empty{min-height:240px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.homework-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.homework-entry{background:var(--glass);border:1px solid var(--line);text-align:left;border-radius:20px;padding:22px}.homework-entry>span:first-child{flex-wrap:wrap;align-items:center;gap:10px;font-weight:600;display:flex}.homework-entry small{color:var(--muted);width:100%;font-weight:400}.homework-entry p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;line-height:1.7;overflow:hidden}.homework-entry>span:last-child{align-items:center;gap:5px;font-size:12px;display:flex}.schedule-form{gap:18px;padding-top:8px;display:grid}.schedule-form label{gap:8px;font-size:13px;font-weight:600;display:grid}.schedule-form input,:is(.schedule-form,.chat-homework-options) select,.schedule-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);border-radius:11px;min-width:0;padding:11px 13px}.schedule-form textarea{resize:vertical;line-height:1.6}.schedule-form small{color:var(--muted);font-weight:400;line-height:1.5}.schedule-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.schedule-form .schedule-checkbox{align-items:center;font-weight:400;display:flex}.schedule-form .schedule-checkbox input{width:auto}.schedule-form-actions{justify-content:flex-end;gap:10px;padding-top:10px;display:flex}.lesson-detail{padding:15px 0}.lesson-detail-date{align-items:center;gap:15px;display:flex}.lesson-detail-date h3{margin:0}.lesson-detail-date p{color:var(--muted);font-size:13px}.lesson-detail section{border-top:1px solid var(--line);margin-top:22px;padding-top:10px}.schedule-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.schedule-text a{color:var(--blue)}.lesson-history{border-top:1px solid var(--line);color:var(--muted);margin-top:22px;padding-top:15px;font-size:12px}.lesson-history summary{cursor:pointer}.google-panel{gap:16px;line-height:1.65;display:grid}.google-panel h3,.google-panel p{margin:0}.google-panel>p{color:var(--muted)}.google-symbol{background:var(--raised);width:66px;height:66px;color:var(--blue);border-radius:19px;place-items:center;display:grid}.schedule-notice{background:var(--raised);border-radius:13px;padding:15px;font-size:13px}.schedule-notice small{color:var(--muted);display:block}.calendar-conflict{border:1px solid var(--notice);border-radius:14px;padding:16px;font-size:13px}.calendar-conflict button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px}.chat-page{flex-direction:column;display:flex}.chat-layout{border:1px solid var(--line);background:var(--glass);border-radius:24px;flex:1;grid-template-columns:290px minmax(0,1fr);min-height:480px;max-height:calc(100dvh - 225px);display:grid;overflow:hidden}.chat-sidebar{border-right:1px solid var(--line);padding:12px;overflow:auto}.chat-sidebar>p{padding:12px;font-size:13px;line-height:1.7}.chat-person{text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;width:100%;padding:14px 10px;display:flex}.chat-person.active,.chat-person:hover{background:var(--raised)}.chat-person>span:nth-child(2){flex:1;min-width:0}.chat-person strong{font-size:13px}.chat-person small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);max-width:180px;margin-top:6px;font-size:12px;display:block;overflow:hidden}.chat-person .avatar{flex-shrink:0}.chat-placeholder{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:30px;display:flex}.chat-placeholder h2{color:var(--ink);font-size:23px;font-weight:500}.chat-thread{flex-direction:column;min-width:0;min-height:0;display:flex}.chat-thread>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:17px 22px;display:flex}.chat-thread>header small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.chat-messages{overscroll-behavior:contain;flex:1;min-height:0;padding:18px 25px;overflow-y:auto}.chat-date{text-align:center;color:var(--muted);padding:10px;font-size:11px}.chat-message{border:1px solid var(--line);background:var(--surface);border-radius:17px 17px 17px 5px;width:fit-content;max-width:85%;margin:5px 0;padding:12px 16px}.chat-message.own{background:color-mix(in srgb, var(--blue) 12%, var(--surface));border-color:color-mix(in srgb, var(--blue) 24%, var(--line));border-radius:17px 17px 5px;margin-left:auto}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.65}.chat-message time{text-align:right;color:var(--muted);margin-top:5px;font-size:10px;display:block}.chat-compose{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:10px;padding:14px 20px;display:grid}.chat-compose textarea{resize:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:13px;min-width:0;padding:12px;line-height:1.5}.chat-compose small{color:var(--muted);grid-column:1/-1;font-size:10px}.chat-compose button{border-radius:13px;align-self:stretch;min-width:48px}.chat-first{text-align:center;color:var(--muted);font-size:13px}.chat-older{margin:auto;display:flex}.chat-thread>.form-error{padding:0 20px;font-size:12px}.chat-back{display:none}.chat-contacts{max-height:55vh;overflow:auto}.chat-page{min-width:0}.chat-layout{border-radius:18px;grid-template-columns:minmax(220px,280px) minmax(0,1fr);height:min(720px,100dvh - 210px)}.chat-person{color:var(--ink);font:inherit;box-shadow:none;transition:background-color .15s}.chat-person strong{overflow-wrap:anywhere;font-size:15px;line-height:1.4;display:block}.chat-person small{max-width:100%;margin-top:3px;font-size:13px;line-height:1.5}.chat-person .avatar{width:38px;height:38px}.chat-thread>header{flex-wrap:wrap;flex-shrink:0;padding:14px 18px}.chat-thread>header>div{flex:1;min-width:0}.chat-thread>header strong{overflow-wrap:anywhere;font-size:16px;line-height:1.4;display:block}.chat-resolve{white-space:nowrap;margin-left:auto;font-size:13px}.chat-resolution{color:var(--muted);font-size:12px;line-height:1.5}.chat-message p{font-size:16px;line-height:1.6}.chat-message time,.chat-date{font-size:12px}.chat-messages{scrollbar-gutter:stable;padding:16px 20px}.chat-compose textarea{font:inherit;box-sizing:border-box;font-size:16px;line-height:1.6}.chat-compose>button{align-self:end;place-items:center;width:46px;min-width:46px;height:46px;padding:0;display:grid}.chat-compose>small{font-size:12px;line-height:1.5}.chat-compose-tools{min-width:0}@media (max-width:720px){.chat-layout{height:calc(100dvh - 200px);min-height:390px}.chat-thread>header{gap:8px;padding:12px}.chat-resolution{flex-basis:100%}.chat-messages,.chat-compose{padding:12px}.chat-message{max-width:94%}}@media (max-width:1100px){.calendar-grid{gap:5px}.calendar-day{padding:5px}.calendar-lesson{padding:8px}.chat-layout{grid-template-columns:230px minmax(0,1fr)}}@media (max-width:760px){.schedule-heading{flex-wrap:wrap;align-items:flex-start}.schedule-actions{gap:6px}.schedule-actions button{padding:9px;font-size:12px}.calendar-grid.week{flex-direction:column;display:flex}.calendar-grid.week .calendar-day{min-height:90px}.calendar-grid.month{grid-template-columns:repeat(7,minmax(105px,1fr));overflow-x:auto}.calendar-free{margin:10px}.schedule-period{flex-wrap:wrap}.schedule-form-row{grid-template-columns:1fr}.chat-layout{min-height:450px;max-height:calc(100dvh - 245px);display:flex}.chat-sidebar{border:0;width:100%}.chat-placeholder,.chat-layout.has-active .chat-sidebar{display:none}.chat-thread{width:100%}.chat-back{display:inline-flex}.chat-messages{padding:12px}.chat-compose{padding:10px}.schedule-filters select{max-width:100%}.schedule-page,.chat-page{padding:18px}.chat-message{max-width:94%}}@media (prefers-reduced-motion:reduce){.calendar-lesson{transition:none}.calendar-lesson:hover{transform:none}}.schedule-olympiad-info{color:var(--muted);align-items:center;gap:9px;margin:0 0 18px;font-size:12px;line-height:1.6;display:flex}.schedule-olympiad-info>svg{color:var(--blue);flex-shrink:0}.calendar-olympiad{text-align:left;border:1px solid color-mix(in srgb, var(--blue) 24%, var(--line));background:color-mix(in srgb, var(--blue) 7%, var(--surface));width:100%;min-width:0;color:var(--ink);overflow-wrap:anywhere;cursor:pointer;border-radius:12px;flex-direction:column;gap:7px;margin:0 0 8px;padding:11px;display:flex}.calendar-olympiad:hover{border-color:var(--blue)}.calendar-olympiad.preliminary{border-style:dashed}.calendar-olympiad strong{font-size:12px;line-height:1.45}.calendar-olympiad>span,.calendar-olympiad small{color:var(--muted);font-size:11px;line-height:1.5}.calendar-olympiad .olympiad-event-kind{color:var(--blue);align-items:flex-start;gap:5px;display:flex}.olympiad-event-kind svg{flex-shrink:0;margin-top:2px}.olympiad-registered{color:var(--blue)!important}.schedule-uncertain{border:1px solid var(--line);background:var(--glass);border-radius:16px;margin-top:20px;padding:16px}.schedule-uncertain summary{cursor:pointer;color:var(--ink);font-size:14px}.schedule-uncertain summary span{color:var(--muted);margin-left:8px}.schedule-uncertain>p{color:var(--muted);font-size:13px;line-height:1.6}.schedule-uncertain>div{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;display:grid}.schedule-uncertain button{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;flex-direction:column;align-items:flex-start;gap:7px;padding:14px;display:flex}.schedule-uncertain button strong{font-size:13px}.schedule-uncertain button span,.schedule-uncertain button small{color:var(--muted);white-space:pre-line;font-size:12px;line-height:1.5}.schedule-olympiad-detail{flex-direction:column;align-items:flex-start;gap:15px;padding:24px;line-height:1.65;display:flex}.schedule-olympiad-detail h3,.schedule-olympiad-detail p{margin:0}.schedule-olympiad-detail small{color:var(--muted)}.olympiad-date-text{white-space:pre-line;font-weight:550}.schedule-ongoing{border:1px solid var(--line);background:var(--glass);border-radius:14px;margin-bottom:18px;padding:14px 16px}.schedule-ongoing summary{cursor:pointer;color:var(--ink);font-size:13px}.schedule-ongoing summary span{color:var(--muted);margin-left:8px}.schedule-ongoing>div{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:10px;padding-top:14px;display:grid}.schedule-ongoing .calendar-olympiad{margin:0}.schedule-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:20px;grid-template-columns:auto 1fr;gap:18px 24px;padding:16px;display:grid}.schedule-period{justify-self:end}.schedule-filters{border-top:1px solid var(--line);grid-column:1/-1;padding-top:14px}.schedule-filters select{flex:1;min-width:0;max-width:300px}.schedule-page button,.schedule-form button,.google-panel button{cursor:pointer}.schedule-page button,.schedule-form button,.google-panel button,.schedule-page select,:is(.schedule-form,.chat-homework-options) select{-webkit-tap-highlight-color:transparent}.schedule-page button:focus:not(:focus-visible),.schedule-form button:focus:not(:focus-visible),.schedule-page select:focus:not(:focus-visible),:is(.schedule-form,.chat-homework-options) select:focus:not(:focus-visible){outline:none}.schedule-page :is(button,select):focus-visible,.schedule-form :is(button,input,select,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:3px}.schedule-page select,:is(.schedule-form,.chat-homework-options) select{appearance:none;font:inherit;text-overflow:ellipsis;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237b87a4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;padding:11px 36px 11px 13px;font-size:14px;font-weight:450;line-height:1.5}.schedule-page option,.schedule-form option{color:var(--ink);background:var(--surface)}[data-theme=dark] .schedule-page select,[data-theme=dark] :is(.schedule-form,.chat-homework-options) select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (appearance:base-select){.schedule-page select,:is(.schedule-form,.chat-homework-options) select{appearance:base-select}.schedule-page select::picker(select){appearance:base-select}:is(.schedule-form,.chat-homework-options) select::picker(select){appearance:base-select}.schedule-page select,:is(.schedule-form,.chat-homework-options) select{background-image:none;padding-right:13px}.schedule-page select::picker-icon{color:var(--muted);margin-left:12px}:is(.schedule-form,.chat-homework-options) select::picker-icon{color:var(--muted);margin-left:12px}.schedule-page select::picker(select){background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 32px var(--shadow);max-height:min(360px,55dvh);min-width:anchor-size(width);border-radius:13px;margin-block:6px;padding:6px;font-size:14px;overflow-y:auto}:is(.schedule-form,.chat-homework-options) select::picker(select){background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 32px var(--shadow);max-height:min(360px,55dvh);min-width:anchor-size(width);border-radius:13px;margin-block:6px;padding:6px;font-size:14px;overflow-y:auto}.schedule-page option,.schedule-form option{white-space:normal;border-radius:8px;min-height:42px;padding:10px 12px}.schedule-page option:checked,.schedule-form option:checked,.schedule-page option:hover,.schedule-form option:hover{background:var(--raised)}.schedule-page option::checkmark{color:var(--blue)}.schedule-form option::checkmark{color:var(--blue)}}.calendar-day{border-radius:14px}.calendar-day>header{padding-bottom:13px}.calendar-day.today>header>strong{background:var(--blue);color:#fff;border-radius:10px;padding:4px 7px}.calendar-lesson{color:var(--ink);box-shadow:none;gap:8px}.calendar-lesson:hover{border-color:var(--blue);transform:none}.lesson-time{font-size:13px;font-weight:600}.lesson-labels{flex-wrap:wrap;gap:5px;display:flex}.lesson-badge{font-size:11px}.lesson-badge.trial{color:var(--blue);background:color-mix(in srgb, var(--blue) 12%, var(--surface))}:is(.modal:has(.schedule-form),.modal:has(.lesson-detail)){max-width:740px}:is(.modal:has(.schedule-form)>.modal-heading,.modal:has(.lesson-detail)>.modal-heading,.modal:has(.google-panel)>.modal-heading){background:var(--surface)}.schedule-form{gap:20px}.schedule-form label{gap:9px;font-size:14px;line-height:1.45}.schedule-form input,.schedule-form textarea{font-size:15px;font-weight:400}.schedule-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-form input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue);box-shadow:none;flex:0 0 18px}.schedule-repeat{border:0;min-width:0;margin:0;padding:0}.schedule-repeat legend{margin-bottom:10px;font-size:14px;font-weight:600}.schedule-repeat .schedule-views{width:fit-content}.schedule-repeat-count{grid-template-columns:170px 1fr;align-items:end;gap:20px;margin-top:14px;display:grid}.schedule-repeat-count p{color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.6}.schedule-form .trial-toggle{border:1px solid var(--line);background:var(--raised);border-radius:12px;gap:12px;padding:14px}.trial-toggle small{margin-top:4px;display:block}.schedule-section-heading{border-top:1px solid var(--line);padding-top:22px;font-size:16px;font-weight:650}.lesson-editor-person{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding-bottom:18px;display:flex}.lesson-editor-person>strong{font-size:18px}.lesson-editor-person>span{color:var(--muted);font-size:13px}.lesson-editor-person .schedule-actions{margin-top:6px}.cancellation-notice{color:var(--danger);background:var(--danger-bg);line-height:1.6}.homework-review-fields{border:1px solid var(--line);border-radius:14px;gap:16px;min-width:0;padding:16px;display:grid}.homework-review-fields legend{padding-inline:5px;font-size:14px}.schedule-form-actions{background:var(--surface);border-top:1px solid var(--line);z-index:2;padding:16px 0;position:sticky;bottom:-28px}.lesson-detail-date{flex-wrap:wrap}.lesson-detail-date>svg{color:var(--blue)}.google-sync-rules{border-block:1px solid var(--line);gap:18px;padding-block:20px;display:grid}.google-sync-rules>div{color:var(--muted);gap:12px;font-size:13px;display:flex}.google-sync-rules svg{color:var(--blue);flex-shrink:0;margin-top:3px}.google-sync-rules strong{color:var(--ink);margin-bottom:4px;font-size:14px;display:block}@media (max-width:900px){.schedule-toolbar{grid-template-columns:1fr;gap:14px}.schedule-period{justify-self:start}.schedule-views{width:fit-content}}@media (max-width:560px){.schedule-toolbar{padding:12px}.schedule-views button{padding:9px 10px;font-size:13px}.schedule-filters{flex-direction:column}.schedule-filters select{width:100%;max-width:none}.schedule-period{gap:4px;width:100%}.schedule-period strong{flex:1;min-width:0;font-size:12px}.schedule-period .soft-button{padding:8px;font-size:12px}.schedule-form-row,.schedule-repeat-count{grid-template-columns:1fr}.schedule-repeat-count{gap:10px}.schedule-form-actions{bottom:-18px}}.schedule-period strong{text-transform:none}.schedule-page select::picker-icon{margin-left:auto}:is(.schedule-form,.chat-homework-options) select::picker-icon{margin-left:auto}.google-panel{padding:24px}.lesson-history{margin:0 24px 24px}.schedule-form .schedule-checkbox{text-align:left;flex-direction:row;justify-content:flex-start}.schedule-form-actions{bottom:0}@media (max-width:560px){.schedule-form-actions{bottom:0}}.chat-compose-tools{grid-column:1/-1;min-width:0}.chat-compose-tools>button{min-width:0;padding:8px 11px;font-size:13px}.chat-compose-tools>button[aria-pressed=true]{color:var(--blue);border-color:var(--blue);background:var(--raised)}.chat-homework-options{gap:8px;margin-top:12px;display:grid}.chat-homework-options label{color:var(--muted);gap:6px;font-size:13px;display:grid}.chat-homework-options select{border:1px solid var(--line);background-color:var(--surface);width:100%;min-width:0;color:var(--ink);border-radius:10px}.chat-homework-options small{grid-column:auto;font-size:12px;line-height:1.5}.chat-homework-options .soft-button{justify-self:start;padding:7px 10px;font-size:12px}.chat-homework-options .chat-refresh-lessons{color:var(--blue);background:0 0;border:0;justify-self:start;min-width:0;padding:2px 0;font-size:12px}.chat-homework-title{color:var(--blue);align-items:center;gap:8px;margin-bottom:10px;font-size:14px;display:flex}.chat-message.chat-homework{border-color:color-mix(in srgb, var(--blue) 45%, var(--line))}.chat-message a{color:var(--blue)}.chat-homework-lesson{border:0;border-top:1px solid var(--line);color:var(--blue);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:7px;margin-top:12px;padding:12px 0 2px;font-size:12px;line-height:1.5;display:flex}.chat-homework-lesson svg{flex-shrink:0}.lesson-send-homework{text-align:left;justify-self:start;font-size:13px}.chat-compose-tools button:focus:not(:focus-visible),.chat-homework-lesson:focus:not(:focus-visible){outline:none}
