[hidden]{display:none!important}:root{--ink:#172033;--muted:#4A5468;--line:#E2E6EF;--bg:#F4F6FB;--card:#fff;--accent:#1F4FD1;--accent-ink:#163A9C;--accent-soft:#EEF2FF;--opt:#FFF4EA;--opt-ink:#8A4A00;--chalk:#172033;--chalk-ink:#FFFFFF;--chalk-muted:#C9D2E6;--chalk-yellow:#8EB0FF;--paper:#FFFFFF;--grid-line:rgba(31,79,209,.08);--done:#1F4FD1;--working:#DCE6FF;--working-ink:#163A9C;--stuck:#FFE2CC;--stuck-ink:#9A3B00;--stuck-line:#E8590C;--idle:#EDEFF3;--radius:16px;--shadow:var(--shadow-lg);--font-text:var(--font-body),Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-title:var(--font-head),"Space Grotesk",var(--font-text);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--r-xs:2px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;--r-pill:999px;--r-round:50%;--shadow-sm:0 1px 3px rgba(23,32,51,.12);--shadow-md:0 2px 10px rgba(23,32,51,.10);--shadow-lg:0 6px 20px rgba(23,32,51,.08);--shadow-pop:0 6px 18px rgba(23,32,51,.25);--ring:0 0 0 3px var(--accent-soft);--text-xs:12px;--text-sm:13px;--text-md:14px;--text-base:15px;--text-lg:16px;--text-xl:18px;--text-2xl:20px;--text-3xl:22px;--text-4xl:28px;--line-strong:#C9D3E6;--head-bg:#F1F3F6;--danger:#B42318;--danger-soft:#FFF1EF;--danger-line:#F1C4BF;--c-blue:#3B6CF6;--c-blue-soft:#EAF0FF;--c-blue-ink:#1F4FD1;--c-green:#22B45A;--c-green-soft:#E6F8EC;--c-green-ink:#157A3B;--c-yellow:#FFC23D;--c-yellow-soft:#FFF6DB;--c-yellow-ink:#8A5D00;--c-orange:#FF8A3D;--c-orange-soft:#FFF0E4;--c-orange-ink:#A84800;--c-pink:#F0569A;--c-pink-soft:#FDEAF3;--c-pink-ink:#B02566;--c-purple:#8B5CF6;--c-purple-soft:#F2ECFF;--c-purple-ink:#5B33C7;--c-teal:#17B5A6;--c-teal-soft:#E2F7F4;--c-teal-ink:#0D7268;--rainbow:linear-gradient(90deg,var(--c-pink),var(--c-orange),var(--c-yellow),var(--c-green),var(--c-teal),var(--c-blue),var(--c-purple));--right:#1A7F37;--warn:#F0A020;--warn-soft:#FFF4E0;--warn-ink:#6B4600;--hand:#FF9F43;font:15px/1.55 var(--font-text);color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.top{justify-content:space-between;padding:12px 24px;background:var(--card);border-bottom:1px solid var(--line)}.brand,.top{display:flex;align-items:center}.brand{font-weight:700;font-size:var(--text-xl);gap:8px}.mark{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:var(--r-md);background:var(--accent);color:#fff}.muted{color:var(--muted);font-weight:400}.pill{font-size:var(--text-xs);padding:2px 10px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 24px;margin:20px auto;max-width:1100px}.narrow{max-width:420px}.row{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.grow{flex:1 1;min-width:220px}label{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);color:var(--muted)}label.check{flex-direction:row;align-items:center;gap:6px;padding-bottom:8px}input,select{font:inherit;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);background:#fff}input[type=number]{width:80px}button{font:inherit;cursor:pointer;border-radius:var(--r-md);border:1px solid var(--line);background:#fff;padding:7px 14px}button.primary{color:#fff}button.ghost{background:transparent}button.link{border:none;background:none;color:var(--accent);padding:4px}.actions{justify-content:space-between}.class-row{border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;margin-bottom:12px}.lessons{display:flex;flex-wrap:wrap;gap:6px}.lessons label{flex-direction:row;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 10px;color:var(--ink);font-size:var(--text-sm);cursor:pointer}.lessons label:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}.lessons label.opt{background:var(--opt)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:-4px 0 16px}.tabs button{border:none;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted)}.tabs button.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.toolbar{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px;flex-wrap:wrap;align-items:center}table{border-collapse:collapse;width:100%}td,th{border:1px solid var(--line);padding:8px 10px;vertical-align:top;text-align:left}th{background:var(--head-bg);font-weight:600}table.plan{margin-bottom:20px}table.plan th{width:190px}table.plan caption{text-align:left;font-weight:700;padding:6px 0}.badge,tr.opt td{background:var(--opt)}.badge{font-weight:600;color:var(--opt-ink);padding:2px 8px;border-radius:var(--r-sm);vertical-align:middle}.slides{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:14px;gap:14px}.slide{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--r-lg);padding:4% 4.5%;overflow:hidden;background:#fff;container-type:inline-size}.slide .cols>div>*,.slide>*{font-size:2.35cqw}.slide p{margin:1cqw 0 0}.slide h1{font-size:5.5cqw!important;margin:16% 0 2cqw}.slide.title{background:var(--accent-soft)}.slide.title p{font-size:2.6cqw}.slide h2{font-size:4.2cqw!important;margin:.4cqw 0 .8cqw;line-height:1.2}.slide h3{font-size:2.1cqw!important;margin:1.6cqw 0 .6cqw;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.slide .eyebrow{color:var(--accent);font-weight:600;font-size:2.1cqw}.slide .lead{color:var(--muted);margin:0 0 .8cqw}.slide li{margin-bottom:.5cqw}.lesson .cols,.slide .cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.slide ol,.slide ul{margin:0;padding-left:1.2em}.acts .k{font-weight:600}.acts .min{color:var(--muted)}.acts li.opt{color:var(--opt-ink)}.sheet-head h1{margin:0;font-size:var(--text-3xl)}.sheet-head .sub{margin:2px 0 8px;color:var(--muted)}.lesson{border-top:2px solid var(--line);padding-top:12px;margin-top:18px}.lesson h2{font-size:var(--text-xl);margin:0 0 6px}.lesson h3{font-size:var(--text-md);margin:14px 0 6px}.note{background:var(--opt);color:var(--opt-ink);padding:6px 10px;border-radius:var(--r-sm)}.big-idea{background:var(--accent-soft);padding:8px 12px;border-radius:var(--r-md)}.bi{outline:none;min-width:200px;display:inline-block}.bi:empty:before{content:attr(data-placeholder);color:var(--muted);font-style:italic}.approve{float:right;display:inline-flex;gap:4px;align-items:center}.approve,.saved-state{font-size:var(--text-sm);color:var(--muted)}.saved-state.err{color:var(--danger)}.weeks{display:flex;gap:8px;align-items:center;flex-wrap:wrap}table.guide td:last-child{font-size:var(--text-sm);color:var(--muted)}.timing{margin:6px 0 0}.act-notes,.timing{font-size:var(--text-sm)}.act-notes{border-left:3px solid var(--line);padding:4px 0 4px 10px;margin:8px 0}.act-notes.opt{background:var(--opt)}.act-notes h4{font-size:var(--text-md);margin:0 0 4px}.notes{display:grid;grid-template-columns:76px 1fr;grid-gap:3px 10px;gap:3px 10px;margin:0}.notes dt{font-weight:600;color:var(--muted)}.notes dd{margin:0;white-space:pre-line}.attr{margin-top:24px;font-size:var(--text-xs);color:var(--muted)}.present{position:fixed;inset:0;background:#11151d;display:grid;place-items:center;z-index:10}.present .present-slide{width:min(92vw,160vh)}.present .slide{border:none}.present-bar{position:fixed;bottom:16px;display:flex;gap:10px;align-items:center;color:#fff}.present-bar button{background:#2a3140;color:#fff;border-color:#3a4357}@media print{.builder,.no-print,.tabs,.toolbar,.top{display:none!important}body{background:#fff}.card{border:none;margin:0;padding:0;max-width:none}.lesson+.lesson{page-break-before:always;break-before:page}.bi:empty:before{content:""}.act-notes h4,.lesson h3{page-break-after:avoid;break-after:avoid}.guide tr{page-break-inside:avoid;break-inside:avoid}}.nav{display:flex;gap:4px}.nav a{color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:var(--r-md);font-weight:500}.nav a.on,.nav a:hover{color:var(--accent);background:var(--accent-soft)}.small{font-size:var(--text-xs)}.error{color:var(--danger)}.stack{flex-direction:column}.row-actions,.stack{display:flex;gap:8px}.row-actions{align-items:center;flex-wrap:wrap;margin-top:8px}.feedback-fab{position:fixed;right:20px;bottom:20px;border-radius:var(--r-pill);padding:10px 18px;background:var(--ink);color:#fff;border:none;box-shadow:var(--shadow-lg);z-index:40}.modal-back{position:fixed;inset:0;background:rgba(20,24,33,.45);display:grid;place-items:center;z-index:50;padding:16px}.modal{width:min(560px,100%);margin:0;max-height:90vh;overflow:auto}.modal input,.modal textarea{width:100%}.seg{display:flex;gap:6px;margin:8px 0}.seg label{flex-direction:row;align-items:center;border:1px solid var(--line);border-radius:var(--r-md);padding:4px 12px;cursor:pointer;color:var(--ink)}.seg label.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.seg input{display:none}.danger{color:var(--danger)!important}.code{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em}.classes-layout{display:grid;grid-template-columns:260px 1fr;grid-gap:16px;gap:16px;max-width:1300px;margin:0 auto;padding:0 16px}.classes-layout>.card{margin:20px 0;max-width:none}.class-list{list-style:none;padding:0;margin:0 0 16px}.class-list button{width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:var(--r-md);padding:8px 10px;display:flex;flex-direction:column}.class-list button.on{border-color:var(--accent);background:var(--accent-soft)}.class-head{display:flex;justify-content:space-between;gap:16px;align-items:start;flex-wrap:wrap}.tabs.small button{padding:6px 12px}.roster-actions{display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;margin:12px 0 16px}.roster-actions textarea{width:100%}.code-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.code-card{border:1px dashed var(--line);border-radius:var(--r-lg);padding:10px 12px;page-break-inside:avoid;break-inside:avoid;min-width:0;overflow-wrap:anywhere}.code-card .nm{font-weight:700;font-size:var(--text-lg)}.card-actions{display:flex;flex-wrap:wrap;gap:2px 8px;margin-top:6px}.code-card .card-actions button.link{padding:2px 0;white-space:nowrap}.code-card input{min-width:0;width:100%}.golive select{max-width:420px}.preview{max-width:820px}.preview .card{max-width:none;margin:0 0 16px}.preview .pick{color:var(--ink);font-size:var(--text-md);padding:0 0 6px;cursor:pointer}.preview-part.off .card{opacity:.45}.live-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.live-head h3{margin:0}.live-stats{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.stat{font-size:var(--text-sm);padding:4px 10px;border-radius:var(--r-pill);background:#eef1f5}.stat.ok{background:#e5f4e4;color:#1d6b2a}.stat.warn{color:#8a5a00;font-weight:600}.alert,.stat.warn{background:#fdecc8}.alert{color:var(--warn-ink);padding:8px 12px;border-radius:var(--r-md)}.grid-wrap{overflow-x:auto}.live-grid{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.live-grid td,.live-grid th{border:1px solid var(--line);padding:6px 8px;vertical-align:top;text-align:left}.live-grid thead th{background:#f3f5f8;white-space:nowrap}.live-grid tbody th{min-width:140px;white-space:nowrap}.live-grid td{min-width:120px;max-width:220px;cursor:pointer}.live-grid td.has{background:#f7fbff}.live-grid td.stuck{background:var(--warn-soft)}.badge{display:inline-block;font-size:var(--text-xs);padding:1px 7px;background:#eef1f5;margin-right:4px;font-weight:500}.badge.warn{background:#fdecc8;color:#8a5a00}.dot{display:inline-block;width:9px;height:9px;border-radius:var(--r-round);background:#c4cad4}.dot.active{background:#2fa24a}.dot.idle{background:var(--warn)}.dot.offline{background:#c4cad4}.dot.not-joined{background:transparent;border:1px solid #c4cad4}.answer-full{white-space:pre-wrap;background:#f7f8fa;border-radius:var(--r-md);padding:12px;min-height:60px}.log ul{list-style:none;padding:0;font-size:var(--text-sm);max-height:240px;overflow:auto}.top.student{justify-content:space-between}.student-main{max-width:820px;margin:0 auto;padding:0 12px 60px}.student-main .card{max-width:none}.code-input{font-size:var(--text-3xl);letter-spacing:.15em;text-transform:uppercase;font-family:ui-monospace,Menlo,Consolas,monospace}.lesson .goal,.part h2{font-size:var(--text-xl)}.part h2{margin-top:0}.part textarea{width:100%;font-size:var(--text-lg)}.part.exit{border-color:var(--accent)}.task{white-space:pre-line;margin-bottom:10px;line-height:1.6}.warn-btn{background:#fdecc8;border-color:var(--warn);color:var(--warn-ink)}.done{color:#1d6b2a;font-weight:600}.idle-note{position:-webkit-sticky;position:sticky;top:8px;z-index:10;width:100%;padding:14px;font-size:var(--text-xl);border-radius:var(--r-lg);background:var(--warn-soft);border:1px solid var(--warn);color:var(--warn-ink)}.reviews{list-style:none;padding:0}.review{border-top:1px solid var(--line);padding:12px 0}.review-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.review-msg{white-space:pre-wrap;margin:6px 0}.review .row-actions input{flex:1 1;min-width:200px}.status{font-size:var(--text-xs);padding:1px 8px;border-radius:var(--r-pill);background:#eef1f5}.status.s-new{background:var(--accent-soft);color:var(--accent)}.status.s-in-progress,.status.s-planned{background:#fdecc8;color:#8a5a00}.status.s-done{background:#e5f4e4;color:#1d6b2a}.reply{background:#f7f8fa;padding:8px 12px;border-radius:var(--r-md)}@media (max-width:760px){.classes-layout{grid-template-columns:1fr}.nav a{padding:6px 8px;font-size:var(--text-sm)}.top{flex-wrap:wrap;gap:8px}}@media print{.class-head .tabs,.classes-layout>aside,.feedback-fab{display:none!important}.classes-layout{display:block}.code-card{border:1px dashed #999}}button,input,select,textarea{font:inherit}button.stat{border:1px solid transparent;cursor:pointer}button.stat:hover{border-color:var(--line)}button.stat.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}.chip-names{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#f7f8fa;border-radius:var(--r-md);padding:8px 12px;margin-bottom:10px;font-size:var(--text-md)}.name-chip{background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 10px}.task-img{margin:0 0 12px}.task-img img{display:block;width:100%;max-width:860px;height:auto;border-radius:var(--r-sm);background:#fff}.task-img figcaption{margin-top:4px}.as-text summary{cursor:pointer;color:var(--muted);font-size:var(--text-sm)}.as-text .task{margin-top:6px}.img-btn{display:block;position:relative;width:100%;padding:0;border:none;background:none;cursor:zoom-in;text-align:left}.img-btn .enlarge{display:none;position:absolute;right:6px;bottom:6px;font-size:var(--text-xs);background:rgba(20,24,33,.75);color:#fff;padding:3px 8px;border-radius:var(--r-pill)}@media (max-width:760px){.img-btn .enlarge{display:inline-block}}.img-full{position:fixed;inset:0;z-index:60;background:#fff;overflow:auto;padding:56px 12px 24px}.img-full img{display:block;width:auto;max-width:none;height:auto;margin:0 auto}.img-full .close{position:fixed;top:10px;right:12px;z-index:61}.small-btn{font-size:var(--text-sm);padding:4px 10px}.original,.small-btn{margin-bottom:10px}.original>.link{display:block;margin-bottom:6px}.part-head{display:flex;justify-content:space-between;align-items:start;gap:8px}.part-head .read{white-space:nowrap;margin:0}.sketch{margin:4px 0 10px}.sketch-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.sketch-tools .small-btn{margin:0}.sketch-tools .on{border-color:var(--ink);background:#eef1f5}.swatch{width:26px;height:26px;border-radius:var(--r-round);border:2px solid #fff;box-shadow:0 0 0 1px var(--line);padding:0}.swatch.on{box-shadow:0 0 0 2px var(--ink)}.sketch-canvas{display:block;border:1px solid var(--line);border-radius:var(--r-md);touch-action:none;background:#fff;cursor:crosshair}.hand-btn{font-size:var(--text-base)}.hand-btn.up{background:var(--warn-soft);border-color:var(--warn);color:var(--warn-ink)}.drawing-thumb{display:block;max-width:100%;border:1px solid var(--line);border-radius:var(--r-sm);margin-top:4px}.hand{font-size:var(--text-base)}.teacher-note{background:#eef4ff;border-left:3px solid var(--accent);padding:8px 12px;border-radius:var(--r-sm);margin:4px 0 8px}.feedback-box{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-weight:600;font-size:var(--text-md)}.feedback-box textarea{font-weight:400;width:100%}.quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.quick .small-btn{margin:0}.work-list{list-style:none;padding:0;margin:12px 0 0}.work-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding:10px 0;flex-wrap:wrap}.work-list .row-actions{margin:0}.top.student .who{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.top.student .who .small-btn{margin:0}.companion{max-width:460px;margin:0 auto;padding:10px 12px 24px;font-size:var(--text-md)}.comp-head{padding:4px 2px 8px}.comp-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;margin-bottom:10px}.comp-card .row-actions{margin-top:8px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}.timer .digits{font-size:56px;font-weight:700;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:1px;line-height:1.1;margin:6px 0}.timer .bar{height:6px;background:var(--line);border-radius:var(--r-pill);overflow:hidden}.timer .bar span{display:block;height:100%;background:var(--accent);transition:width .25s linear}.timer.done{border-color:#d9534f;background:#fff3f2}.timer.done .digits{color:#c0392b}.presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.presets .small-btn,.today .small-btn{margin:0}.need{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;margin-top:6px;border-radius:var(--r-md)}.need.hand-row{background:#fff6e0}.need.stuck-row{background:#fdecec;justify-content:flex-start;gap:4px}.need.idle-row{background:#eef1f5}.today{margin:8px 0 0;padding:0;list-style:none}.today li{padding:4px 0}.today li>span{margin-right:6px}.today li>button{float:right}.today li:after{content:"";display:block;clear:both}.picked{font-size:var(--text-4xl);font-weight:700;text-align:center;padding:10px 0 2px}.fix-lesson h3{font-size:var(--text-base);margin:20px 0 6px}.fix-field{border:1px solid var(--line);border-radius:var(--r-lg);padding:10px 12px;margin-bottom:8px}.fix-field.fixed{border-color:var(--accent)}.fix-head{display:flex;gap:8px;align-items:center;margin-bottom:6px}.fix-head .grow{min-width:0}.fixed-badge{background:var(--accent-soft);color:var(--accent)}.fix-text{white-space:pre-wrap;line-height:1.5}.fix-text.empty{color:var(--muted);font-style:italic}.fix-edit{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.fix-edit textarea{font:13px/1.45 ui-monospace,Menlo,Consolas,monospace;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-md);resize:vertical;color:var(--ink)}.fix-preview{background:#f7f8fa;border-radius:var(--r-md);padding:8px 12px;display:flex;flex-direction:column;gap:4px}.fix-list .small-box{max-height:160px;overflow:auto;font-size:var(--text-sm)}.fix-list td:first-child{width:30%}.fix-list td:last-child{width:1%}.fix-list button.link{text-align:left;padding:0}@media (max-width:700px){.fix-edit{grid-template-columns:1fr}}.reports .report-pick{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:8px 0}.reports .report-pick label{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm)}.report-out{margin-top:12px}.report-lesson{border:1px solid var(--line);border-radius:var(--r-lg);padding:8px 12px;margin-top:8px;background:var(--card)}.report-lesson summary{cursor:pointer}.report-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:var(--text-sm)}.report-table td,.report-table th{text-align:left;padding:5px 6px;border-bottom:1px solid var(--line)}.report-table tr.att-absent td{color:#9a2b2b}.report-table tr.att-late td:nth-child(2){color:#9a6a00;font-weight:600}@media (max-width:600px){.report-table{font-size:var(--text-xs)}.report-table td:nth-child(6),.report-table th:nth-child(6){display:none}}.rename-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 8px}.rename-row input{font-size:var(--text-xl);font-weight:700;max-width:260px}.past-find{width:100%;max-width:360px;margin:6px 0}.modal.wide{width:min(980px,100%)}.work-part{border-top:1px solid var(--line);padding:10px 0}.work-part h4{margin:0 0 6px}.work-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;align-items:start}.work-task img{max-width:100%;height:auto}.task-check{border:1px solid var(--line);border-radius:var(--r-lg);padding:6px 10px;margin:8px 0}.task-check summary{cursor:pointer;font-weight:600}.task-check img{max-width:100%;height:auto}.label-small{font-size:var(--text-xs);font-weight:700;margin:8px 0 2px;color:var(--muted,#667)}button.link.student-name{font-weight:700;padding:0;text-align:left}.message-box{margin:10px 0;max-width:640px}.message-box label{display:flex;flex-direction:column;gap:4px;margin:6px 0}.code-card label{display:flex;flex-direction:column;gap:2px}@media (max-width:760px){.work-cols{grid-template-columns:1fr}}.sort-add{margin:0 0 8px}.sort-add .small-btn{margin:0}.sort-editor{border:1px dashed var(--accent);border-radius:var(--r-lg);padding:10px 12px;margin:0 0 10px;background:#fafcff}.sort-editor .check{padding-bottom:0}.sort-editor-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:8px}.sort-editor textarea{width:100%;font-size:var(--text-md);color:var(--ink)}.sort-editor p{margin:6px 0 0}@media (max-width:700px){.sort-editor-cols{grid-template-columns:1fr}}.sort-board{margin:4px 0 12px}.sort-help{margin:0 0 6px}.sort-picked{display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:var(--accent-soft);border-radius:var(--r-md);padding:6px 10px;margin-bottom:8px;font-size:var(--text-md)}.sort-picked .small-btn{margin:0}.sort-zone{border:2px dashed var(--line);border-radius:var(--r-lg);padding:8px;margin-bottom:8px;background:#fff;min-height:64px}.sort-zone.pile{background:#f7f8fa}.sort-zone.ready{border-color:#9db8f5;cursor:pointer}.sort-zone.over,.sort-zone.ready:focus-visible,.sort-zone.ready:hover{border-color:var(--accent);background:var(--accent-soft);outline:none}.sort-zone-name{font-weight:600;font-size:var(--text-md);margin-bottom:6px}.sort-cards{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:36px}.sort-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:8px;gap:8px}.sort-groups .sort-zone{margin-bottom:0}.sort-board.match .sort-groups{grid-template-columns:1fr}.sort-board.match .sort-groups .sort-zone{display:flex;align-items:center;gap:10px;min-height:0}.sort-board.match .sort-groups .sort-zone-name{margin:0;flex:0 1 40%}.sort-board.match .sort-groups .sort-cards{flex:1 1}.sort-card{touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:-webkit-grab;cursor:grab;background:#fff;border:1px solid #c9d0db;border-radius:var(--r-md);padding:8px 12px;min-height:40px;box-shadow:0 1px 2px rgba(20,24,33,.08);color:var(--ink);text-align:left}.sort-card:disabled{cursor:default;opacity:1}.sort-card.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.sort-pic{display:block;width:200px;max-width:100%;height:auto;pointer-events:none}.sort-pic.group{width:220px;border:1px solid #c9d0db;border-radius:var(--r-sm)}.pic-strip{display:flex;gap:6px;overflow-x:auto;padding:4px 0}.pic-strip img{height:70px;width:auto;border:1px solid #c9d0db;border-radius:var(--r-sm);background:#fff}.sort-card.lifted{opacity:.35}.sort-ghost{position:fixed;left:0;top:0;z-index:80;pointer-events:none;cursor:-webkit-grabbing;cursor:grabbing;box-shadow:var(--shadow-pop);opacity:.95}.sort-answer{margin:0 0 10px;font-size:var(--text-md)}.sort-answer>div{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid var(--line)}.sort-answer dt{font-weight:600;flex:0 0 38%}.sort-answer dd{margin:0;flex:1 1}.sketch-area{position:relative}.sketch-ink{position:absolute;top:1px;left:1px;width:calc(100% - 2px);height:280px;pointer-events:none}.ink-area{height:282px}.sketch-under{position:absolute;inset:0;width:100%;height:282px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;box-sizing:border-box}.sketch-canvas.ink{position:absolute;top:1px;left:1px;border:0;background:transparent}.ink-box{border:1px solid var(--line);border-radius:var(--r-lg);padding:6px 10px;margin:8px 0}.ink-box summary{cursor:pointer;font-weight:600}.drawing-thumb-wrap{display:inline-block}.drawing-thumb.ink-on{position:absolute;inset:4px 0 0 0;width:100%;height:calc(100% - 4px);margin:0;border-color:transparent;background:transparent;pointer-events:none}.zoom-polls .poll{border:1px solid var(--line);border-radius:var(--r-lg);padding:8px 12px;margin:8px 0;background:var(--card,#fff)}.zoom-polls .poll-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.zoom-polls ol{margin:6px 0 0;padding-left:20px}.zoom-polls ol>li{margin:6px 0}.zoom-polls .poll-q{display:flex;justify-content:space-between;gap:8px;align-items:start}.zoom-polls .poll-a{margin:2px 0 0;padding-left:16px;font-size:var(--text-md)}.zoom-polls .poll-a li.right{font-weight:600;color:var(--right)}.zoom-polls.compact .poll{padding:6px 8px}.polls-box{border:1px solid var(--line);border-radius:var(--r-lg);padding:6px 10px;margin:8px 0}.polls-box>summary{cursor:pointer;font-weight:600}.panel-head{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.im-answer{background:#f2f8f3;border-color:#b9dcc2}button.link.col-check{font-weight:700;padding:0;color:inherit}button.link.col-check .small{font-weight:400;color:var(--accent)}.live-grid td.mark-2{background:#eaf6ed}.live-grid td.mark-1{background:#fff6e0}.live-grid td.mark-0{background:#fdecea}.live-grid td .score-tag{font-weight:600;margin-top:2px}a.brand{color:inherit;text-decoration:none}.brand-sub{font-weight:400;color:var(--muted,#667);font-size:.85em;margin-left:2px}@media (max-width:600px){.brand-sub{display:none}}.home{max-width:1000px;margin:0 auto;padding:0 16px}.home-hero{margin-top:20px;max-width:none}.home-hero h1{margin:0 0 4px}.home-live{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.live-pill{background:#eaf6ed;border:1px solid #b9dcc2;border-radius:var(--r-pill);padding:4px 12px;color:inherit;text-decoration:none;font-size:var(--text-md)}.home-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:12px;gap:12px;margin:12px 0}.home-tile{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;margin:0;max-width:none;transition:box-shadow .15s,transform .15s}.home-tile:focus-visible,.home-tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.home-icon{font-size:var(--text-4xl)}.home-join{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:none;margin-bottom:30px}.import{margin:20px 0}.import-sheet{border-top:1px solid var(--line);margin-top:14px;padding-top:8px}.import-sheet .row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:6px 0}.import-sheet select{max-width:100%}.import-left{margin:8px 0;display:flex;flex-direction:column;gap:4px}tr.check-me td{background:#fff6e0}.warn-text{color:#9a6a00}.practice-h{margin:18px 0 6px;font-size:var(--text-xl)}.practice-score{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.practice-score .bar{flex:1 1 160px;height:10px;background:#eef1f5;border-radius:var(--r-pill);overflow:hidden}.practice-score .bar span{display:block;height:100%;background:var(--right);transition:width .4s}.choices{display:flex;flex-direction:column;gap:6px;margin:8px 0}.choices.letters{flex-direction:row;flex-wrap:wrap}.choices.letters .choice{min-width:56px;justify-content:center}button.choice{display:flex;gap:10px;align-items:baseline;text-align:left;background:#fff;border:1px solid #c9d0db;border-radius:var(--r-lg);padding:10px 12px;color:var(--ink)}button.choice.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);background:var(--accent-soft)}button.choice.key{border-color:var(--right);box-shadow:0 0 0 2px var(--right)}button.choice .task{margin:0}.practice-q textarea{width:100%}.practice-list{margin:4px 0;padding-left:18px;font-size:var(--text-md)}.practice-list q,.work-part q{color:var(--ink)}.slide.ag{background:var(--sl-frame);padding:4% 4.5% 3.5%;border-color:transparent}.slide.ag .ag-board{height:100%;background:var(--sl-board);border:.25cqw solid var(--sl-edge);padding:1.6cqw 2.4cqw;overflow:hidden;color:var(--sl-text);font-family:Arial,Helvetica,sans-serif}.slide.ag .ag-title{color:var(--sl-title);text-align:center;font-size:3.4cqw!important;font-weight:400;margin:0 0 .6cqw}.slide.ag .ag-line{text-align:center;color:var(--sl-soft);font-size:1.65cqw;margin:0 0 1.4cqw}.slide.ag .ag-line b{color:var(--sl-accent)}.slide.ag .ag-cols{display:grid;grid-gap:1.8cqw;gap:1.8cqw}.slide.ag .ag-cols.two{grid-template-columns:1fr 1fr;margin-top:1.6cqw}.slide.ag h3{color:var(--sl-head);font-size:2cqw!important;font-weight:700;text-transform:none;letter-spacing:0;margin:0 0 .8cqw}.slide.ag .ag-cols.two h3{font-size:2.4cqw!important}.slide.ag .ag-cols.two p{font-size:2cqw;margin:0 0 .7cqw}.slide.ag ol,.slide.ag ul{font-size:1.55cqw;padding-left:1.1em}.slide.ag li{margin-bottom:.6cqw}.slide.ag .ag-today{list-style:none;padding:0}.slide.ag .ag-today b{color:var(--sl-accent)}.slide.ag .ag-today li.opt{color:var(--sl-soft);font-style:italic}.slide.ag .ag-hw,.slide.ag .ag-today li.opt b{color:var(--sl-soft)}.slide.ag .ag-hw{font-size:1.55cqw;margin:1cqw 0 0}.agenda-opts{display:flex;flex-wrap:wrap;gap:14px;background:#f7f8fa;border-radius:var(--r-lg);padding:12px 14px;margin:0 0 14px}.agenda-opts fieldset{border:1px solid var(--line);border-radius:var(--r-md);padding:6px 12px 10px;margin:0;background:#fff;display:flex;flex-direction:column;gap:4px}.agenda-opts legend{font-weight:600;font-size:var(--text-md);padding:0 4px}.agenda-opts>p{flex-basis:100%;margin:0}.design-pick{display:flex;flex-wrap:wrap;gap:8px}.design-swatch{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 6px 4px;border-radius:var(--r-md);border:2px solid transparent;color:#fff;font-size:var(--text-xs);text-shadow:0 1px 2px rgba(0,0,0,.5);min-width:88px}.design-swatch span{display:block;width:72px;height:40px;line-height:40px;text-align:center;border:2px solid;border-radius:var(--r-sm);font-weight:700;font-size:var(--text-lg);text-shadow:none}.design-swatch.on{border-color:var(--accent);box-shadow:inset 0 0 0 2px #fff}.design-colours{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.design-colours label{display:flex;flex-direction:column;font-size:var(--text-xs);gap:2px}.design-colours input[type=color]{width:44px;height:30px;padding:0;border:1px solid var(--line);border-radius:var(--r-sm)}@page agenda{size:landscape;margin:.3in}@media print{.slides{display:block}.slides .slide{page:agenda;page-break-after:always;break-after:page;width:100%;border-radius:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.design-item{border:1px solid var(--line);border-radius:var(--r-lg);padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}.design-item.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.design-item label{display:flex;flex-direction:column;gap:2px}.design-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.design-preview .slide{border-radius:var(--r-md)}.figures{display:flex;flex-direction:column;gap:10px;margin:8px 0 12px}.figure svg.fig{max-width:100%;height:auto;display:block;background:#fff}.fig-editor{margin:0 0 8px}.fig-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.fig-fields label{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm)}.fig-fields label.wide{grid-column:1/-1}.see-problem summary{cursor:pointer;color:var(--accent,#2457c5);font-size:.9em}.see-problem{margin:4px 0 8px}.tool-picker{border:1px solid var(--line,#dde3ee);border-radius:var(--r-lg);padding:8px 12px;margin:8px 0;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}.tool-picker legend{font-weight:600;padding:0 4px}.tool-row{gap:6px;margin:6px 0}.fig-editor .figure{margin-top:8px;overflow-x:auto}.brand,h1,h2,h3{font-family:var(--font-title);letter-spacing:-.01em}h1{line-height:1.15}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.top{padding:12px 28px}.brand{font-size:var(--text-2xl)}.mark{width:34px;height:34px;border-radius:var(--r-lg);font-family:var(--font-title)}.card{border-radius:var(--radius);padding:22px 26px;box-shadow:0 1px 2px rgba(23,32,51,.04)}.btn,button{min-height:40px;border-radius:var(--r-lg);font-weight:600;transition:background .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent)}button.primary:hover:not(:disabled){border-color:var(--accent-ink)}button.ghost{border-color:#C7CEDD}button.ghost:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}button.link{min-height:0;font-weight:600}.small-btn{min-height:36px;padding:6px 12px;font-size:var(--text-md)}input,select,textarea{border-radius:var(--r-lg);border-color:#C7CEDD;min-height:40px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.tabs button{min-height:44px;font-weight:600}.nav a,.stat{font-weight:600;border-radius:var(--r-lg);padding:8px 14px}.stat{font-size:var(--text-md);border:1px solid var(--line);background:#fff;min-height:40px}.stat.on{background:var(--ink);color:#fff;border-color:var(--ink)}.stat.warn{background:var(--stuck);color:var(--stuck-ink);border-color:var(--stuck-line)}.stat.ok{background:var(--working);color:var(--working-ink);border-color:#B9CDFF}.alert{background:var(--stuck);color:var(--stuck-ink);border-radius:var(--r-lg)}.badge{border-radius:var(--r-pill);padding:2px 10px}.home-tile{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.home-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--accent)}.tally{flex-wrap:wrap;gap:10px;vertical-align:middle}.tally,.tally .bundle{display:inline-flex;align-items:center}.tally .bundle{position:relative;gap:4px;height:24px;padding:0 2px}.tally .bar{width:4px;height:22px;border-radius:var(--r-xs);background:currentColor}.tally .slash{position:absolute;left:-3px;top:10px;width:32px;height:4px;border-radius:var(--r-xs);background:var(--chalk-yellow);transform:rotate(-30deg)}.tally .bar.new{transform-origin:bottom;animation:tally-draw .5s ease-out}.tally-plus{font-family:var(--font-title);font-weight:700;color:var(--chalk-yellow);animation:tally-pop 1.6s ease-out forwards;display:inline-block;margin-left:6px}@keyframes tally-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes tally-pop{0%{transform:translateY(6px);opacity:0}30%{opacity:1}to{transform:translateY(-10px);opacity:0}}@media (prefers-reduced-motion:reduce){.tally .bar.new,.tally-plus{animation:none}}body:has(.student-main){background:var(--chalk)}.top.student{background:var(--chalk);color:var(--chalk-ink);border-bottom:1px solid rgba(255,255,255,.12)}.top.student .mark{background:var(--chalk-ink);color:var(--chalk)}.top.student .pill{background:rgba(255,255,255,.12);color:var(--chalk-ink)}.top.student button.ghost{color:var(--chalk-ink);border-color:rgba(255,255,255,.3);background:transparent}.top.student button.ghost:hover{background:rgba(255,255,255,.1)}.top.student button.link{color:var(--chalk-yellow)}.top.student button.primary{background:var(--chalk-yellow);border-color:var(--chalk-yellow)}.student-main{color:var(--chalk-ink);padding-top:8px}.student-main .muted,.student-main>.muted{color:var(--chalk-muted)}.student-main .card{background:var(--paper);color:var(--ink);border:none}.student-main .card .muted{color:var(--muted)}.lesson-head.chalk{background:transparent;color:var(--chalk-ink);padding:8px 4px 4px}.lesson-head.chalk h1{font-size:var(--text-4xl);margin:0 0 4px}.lesson-head.chalk .goal{color:var(--chalk-yellow);font-size:var(--text-xl);margin:0 0 6px}.lesson-head.chalk .muted{color:var(--chalk-muted)}.lesson-tally{display:flex;align-items:center;gap:12px;color:var(--chalk-ink);margin:6px 0 2px;font-weight:600}.part-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.part-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.25);color:var(--chalk-ink);text-decoration:none;font-weight:700;font-size:var(--text-md)}.part-tabs a.done{background:rgba(255,255,255,.14)}.part-tabs a.done:after{content:"";width:3px;height:16px;border-radius:var(--r-xs);background:var(--chalk-yellow)}.part-tabs a.stuck{border:2px solid var(--hand)}.student-main .card.part{padding:0;overflow:hidden;scroll-margin-top:12px}.chalk-task{background:#1E2A44;color:var(--chalk-ink);padding:18px 20px 16px}.chalk-task .part-head h2{color:var(--chalk-yellow);font-size:var(--text-2xl)}.chalk-task .part-head button{color:var(--chalk-ink);border-color:rgba(255,255,255,.3);background:transparent}.chalk-task .muted,.chalk-task figcaption{color:var(--chalk-muted)!important}.chalk-task .figures .figure,.chalk-task .task-img .img-btn{background:#fff;border-radius:var(--r-lg);padding:8px}.chalk-task button.ghost,.chalk-task details.as-text summary{color:var(--chalk-ink)}.chalk-task .badge{background:rgba(142,176,255,.2);color:var(--chalk-yellow)}.paper{background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:20px 20px;padding:16px 20px 18px;color:var(--ink)}.paper textarea{background:rgba(255,255,255,.9)}.paper .row-actions{margin-top:12px}.hand-in{background:var(--chalk);color:var(--chalk-ink);border-color:var(--chalk)}.hand-in:hover:not(:disabled){background:#23304D}.handed{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--accent-ink)}.handed:before{content:"";width:4px;height:18px;border-radius:var(--r-xs);background:var(--chalk)}.student-main .warn-btn{background:var(--stuck);color:var(--stuck-ink);border:2px solid var(--stuck-ink)}.student-main .hand-btn.up{background:var(--chalk-yellow);color:var(--chalk);border-color:var(--chalk-yellow)}.student-main .hand-btn.ghost{color:var(--chalk-ink);border-color:rgba(255,255,255,.3)}.student-main .alert{background:rgba(255,159,67,.16);color:#FFD1A6}.idle-note{background:var(--chalk-yellow);color:var(--chalk);border:none}.my-tallies{background:var(--chalk);color:var(--chalk-ink);border-radius:var(--radius);padding:18px 20px;margin:12px 0 4px;display:flex;flex-direction:column;gap:10px}.my-tallies h1{margin:0;font-size:var(--text-4xl)}.my-tallies p{margin:0;color:var(--chalk-yellow);font-size:var(--text-xl);font-weight:600}.work-list li .tally{color:var(--chalk);margin-right:6px}.work-list .tally .bar{height:16px;width:3px}.work-list .tally .bundle{height:18px}.work-list .tally .slash{top:7px;width:26px;height:3px;background:var(--accent)}.preview .card.part{padding:0;overflow:hidden}.seg-btns,.view-switch{display:inline-flex;gap:4px;padding:4px;border-radius:var(--r-lg);background:#E9EDF5;margin:6px 0 12px}.seg-btns button,.view-switch button{border:none;background:transparent;min-height:36px;padding:0 14px;border-radius:var(--r-md);color:var(--muted)}.seg-btns button.on,.view-switch button.on{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.class-map{background:var(--chalk);color:var(--chalk-ink);border-radius:var(--r-2xl);padding:16px}.class-map-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.class-map .seg-btns{background:rgba(255,255,255,.1);margin:0}.class-map .seg-btns button{color:var(--chalk-ink)}.class-map .seg-btns button.on{background:var(--chalk-ink);color:var(--chalk)}.class-tally{display:flex;align-items:center;gap:12px;color:var(--chalk-ink);font-size:var(--text-sm)}.class-tally span:first-child{color:var(--chalk-muted)}.class-tally b{font-family:var(--font-title);font-size:var(--text-4xl)}.desks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:12px;gap:12px}.desk{position:relative;border-radius:var(--r-xl);border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);transition:transform .15s ease,border-color .15s ease}.desk:hover{transform:translateY(-2px);border-color:var(--chalk-yellow)}.desk.needs{border:2px solid var(--hand);animation:desk-pulse 1.8s ease-in-out infinite}.desk.quiet{opacity:.6;background:rgba(255,255,255,.04)}@keyframes desk-pulse{0%,to{box-shadow:0 0 0 0 rgba(255,159,67,.5)}50%{box-shadow:0 0 0 9px rgba(255,159,67,0)}}.desk-open{width:100%;min-height:118px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border:none;background:transparent;color:inherit;text-align:left;border-radius:var(--r-xl)}.desk-name{font-weight:700;font-size:var(--text-base)}.desk-marks{display:flex;align-items:flex-end;gap:6px;height:30px}.dm{width:4px;height:28px;border-radius:var(--r-xs)}.dm.done{background:var(--chalk-ink)}.dm.working{background:#8EC5FF}.dm.working.now{animation:dm-write 1.4s ease-in-out infinite}.dm.stuck{width:18px;height:18px;border-radius:var(--r-round);border:3px solid var(--hand);margin-bottom:5px}.dm.none{border-left:2px dashed rgba(255,255,255,.3);width:0}@keyframes dm-write{0%,to{opacity:1}50%{opacity:.4}}.desk-sub{font-size:var(--text-xs);color:var(--chalk-muted)}.desk.needs .desk-sub{color:#FFC48F;font-weight:600}.desk-hand{position:absolute;top:10px;right:10px;min-height:28px;padding:2px 10px;font-size:var(--text-xs);font-weight:700;border-radius:var(--r-pill);border:none;background:var(--hand);color:var(--chalk)}.class-map .tally{color:var(--chalk-ink)}@media (prefers-reduced-motion:reduce){.desk.needs,.dm.working.now{animation:none}}.home{max-width:1180px;padding:0 24px 40px}.home-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:24px;gap:24px;align-items:center;margin:32px 0 24px;background:none;border:none;box-shadow:none;padding:0}.home-greet h1{font-size:clamp(30px,4vw,44px);margin:4px 0 8px;letter-spacing:-.02em}.home-greet .muted{font-size:var(--text-xl);margin:0}.eyebrow{margin:0;font-size:var(--text-sm);font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.live-card{display:flex;flex-direction:column;gap:14px;background:var(--ink);color:#fff;border-radius:var(--r-2xl);padding:22px 24px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.live-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(23,32,51,.25)}.live-card.empty{background:#fff;color:var(--ink);border:1px dashed #c7cedd}.live-card.muted-card{background:#fff;color:var(--muted);border:1px solid var(--line)}.live-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}.live-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);padding:6px 12px;border-radius:var(--r-pill);font-size:var(--text-sm);font-weight:700;align-self:flex-start}.live-tag.idle{background:var(--bg);color:var(--muted)}.live-dot{width:8px;height:8px;border-radius:var(--r-round);background:var(--hand);animation:desk-pulse 1.8s ease-in-out infinite}.live-meta{font-size:var(--text-sm);color:var(--chalk-muted);display:block}.live-card.empty .live-meta{color:var(--muted)}.live-title{font-family:var(--font-title);font-size:var(--text-3xl);display:block;margin-top:2px}.live-bar{display:flex;height:12px;border-radius:var(--r-pill);overflow:hidden;background:rgba(255,255,255,.12)}.live-bar .w{background:#8EB0FF}.live-bar .n{background:var(--hand)}.live-bar .q{background:#8792A8}.live-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;font-size:var(--text-sm);color:var(--chalk-muted)}.live-counts b{display:block;font-size:var(--text-3xl);color:#fff;font-family:var(--font-title)}.live-counts .hot b{color:#FFB26B}.live-go{font-weight:700;font-size:var(--text-md);color:inherit}.live-card:not(.empty) .live-go{color:#fff}.home-tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.home-tile{padding:20px;gap:10px}.home-tile b{font-size:var(--text-xl)}.home-icon{width:44px;height:44px;border-radius:var(--r-lg);display:grid;place-items:center;font-size:0}.home-icon.blue{background:#EEF2FF;color:#1F4FD1}.home-icon.orange{background:#FFF4EA;color:#B04A00}.home-icon.teal{background:#E8F7F5;color:#0B6B73}.home-icon.purple{background:#F3EEFF;color:#5B3CC4}.home-icon.slate{background:#EEF0F4;color:#4A5468}.home-join{border-style:dashed}.home-hero{background:var(--chalk);color:var(--chalk-ink);border-radius:var(--r-2xl);padding:28px}.home-greet .muted{color:var(--chalk-muted)}.home-hero .eyebrow{color:var(--chalk-yellow)}.home-hero .live-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}.home-hero .live-card:hover{border-color:var(--chalk-yellow);box-shadow:none}.home-hero .live-card.empty,.home-hero .live-card.muted-card{background:rgba(255,255,255,.06);color:var(--chalk-ink);border:1px dashed rgba(255,255,255,.3)}.home-hero .live-card.empty .live-meta,.home-hero .live-card.empty span{color:var(--chalk-muted)}.home-hero .live-card.empty .live-go,.home-hero .live-card.empty b{color:var(--chalk-ink)}.home-hero .live-tag.idle{background:rgba(255,255,255,.12);color:var(--chalk-ink)}.test-builder .row{align-items:flex-end}.test-questions{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:12px}.test-questions .card{margin:0;max-width:none}.test-results{max-width:none;margin:8px 0 14px}.test-eyebrow{color:var(--chalk-yellow)}.test-clock{margin-left:auto;font-family:var(--font-title);font-size:var(--text-2xl);font-weight:700;padding:4px 12px;border-radius:var(--r-lg);background:rgba(243,241,232,.12)}.test-clock.low{background:var(--hand);color:var(--chalk)}.handed-test{color:var(--chalk-yellow);font-weight:600}.test-hand-in{display:flex;justify-content:center;padding:8px 0 24px}.test-hand-in .hand-in{min-height:52px;padding:0 32px;font-size:var(--text-lg);background:var(--chalk-yellow);color:var(--chalk);border-color:var(--chalk-yellow)}.student-main .choices.letters .choice{min-height:48px;min-width:64px;font-size:var(--text-xl)}.im-assess{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:var(--accent-soft);display:flex;flex-direction:column;gap:12px}.im-assess label.inline{flex-direction:row;align-items:center;gap:8px}.im-assess-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:10px;gap:10px}.im-assess-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:14px;min-height:92px;font-weight:400}.im-assess-card b{font-family:var(--font-title);font-size:var(--text-lg)}.im-assess-card.on{border:2px solid var(--accent);box-shadow:var(--ring)}.builder-h{margin:16px 0 0}.practice-levels .badge{margin-left:6px}.practice-levels{border-bottom-color:rgba(201,210,230,.35)}.practice-levels button,.practice-levels button .muted{color:var(--chalk-muted)}.practice-levels button:hover{color:var(--chalk-ink)}.practice-levels button.on,.practice-levels button.on .muted{color:var(--chalk-ink);border-bottom-color:var(--chalk-yellow)}.code-card .practice-level{display:flex;gap:6px;align-items:center;margin:4px 0}.code-card .practice-level select{width:auto;padding:2px 6px}.board{margin:4px 0 10px}.board-tools{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:6px;margin-bottom:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.board-tools .tool{min-width:40px;height:40px;padding:0 8px;margin:0;font-size:var(--text-xl);border:1px solid transparent;border-radius:var(--r-lg);background:transparent;color:var(--ink)}.board-tools .tool.on{background:#e8efff;border-color:#2457c5}.board-tools .tool:disabled{opacity:.35}.board-tools .swatch{width:26px;height:26px}.board-tools .small-btn{margin:0}.tool-sep{width:1px;height:26px;background:var(--line);margin:0 4px}.board-area{position:relative;width:100%;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}.board-task{top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.board-paper,.board-task{position:absolute;left:0;width:100%}.board-paper{border-top:2px dashed var(--line-strong);background-image:linear-gradient(#e3e9f3 1px,transparent 0),linear-gradient(90deg,#e3e9f3 1px,transparent 0)}.board-img{position:absolute;pointer-events:none;opacity:.95}.board-canvas{position:absolute;left:0;top:0;touch-action:none;cursor:crosshair}.tool-hand .board-canvas{touch-action:pan-y;cursor:-webkit-grab;cursor:grab}.tool-text .board-canvas{cursor:text}.tool-eraser .board-canvas{cursor:cell}.board-ink{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.board-fig{position:absolute;background:rgba(255,255,255,.92);border-radius:var(--r-md);padding:4px}.board-fig img{width:100%;display:block;pointer-events:none}.board-text{position:absolute;display:flex;align-items:flex-start;gap:2px}.board-text textarea{flex:1 1;min-height:0;padding:4px 6px;margin:0;font:inherit;color:inherit;line-height:1.35;resize:horizontal;overflow:hidden;background:rgba(255,255,255,.85);border:1px dashed #9db3df;border-radius:var(--r-sm)}.board-text textarea:disabled{border-color:transparent;background:transparent}.grip{cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#6b7a99;font-size:var(--text-md);line-height:1;padding:6px 2px}.board-hint{margin:4px 0 0}.board-lock{position:absolute;left:0;right:0;top:0;margin:0;z-index:3;pointer-events:none;display:flex;align-items:flex-end;justify-content:center}.board-lock span{margin-bottom:6px;padding:3px 10px;border-radius:var(--r-pill);background:#1d2433cc;color:#fff;font-size:.8rem}.board-tools .tool.wide{font-size:var(--text-md);font-weight:600;padding:0 10px}.board-box{position:absolute;z-index:3;background:#fff;border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:6px}.box-bar{display:flex;justify-content:space-between;align-items:center;margin:-2px 0 4px}.box-bar .grip{font-size:var(--text-xs);font-weight:600;padding:4px 6px;border-radius:var(--r-sm);background:#f2f5fb}.box-x{border:0;background:transparent;font-size:var(--text-xl);line-height:1;padding:2px 8px;margin:0;color:#6b7a99;cursor:pointer}.board-text{z-index:4}.thread{margin:10px 0;padding:8px 10px;border:1px solid var(--line-strong);background:#fbfcfe}.bubble,.thread{border-radius:var(--r-lg)}.bubble{margin:6px 0;padding:6px 10px;max-width:90%}.bubble p{margin:2px 0 0;white-space:pre-wrap}.bubble.from-teacher{background:#eaf1ff}.bubble.from-student{background:#eef7ee;margin-left:auto}.thread-form textarea{display:block;width:100%;font:inherit}.video-box{margin:10px 0;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--r-lg)}.video-preview{display:block;width:100%;max-height:320px;background:#000;border-radius:var(--r-md);margin-top:6px}.rec-dot{width:10px;height:10px}.count-badge,.rec-dot{display:inline-block;background:var(--danger)}.count-badge{margin-left:6px;min-width:1.4em;padding:0 6px;border-radius:var(--r-pill);color:#fff;font-size:.75rem;line-height:1.5;text-align:center}.to-mark{border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:8px 12px}.new-marks ul,.to-mark ul{margin:6px 0;padding-left:1.2em}.new-marks{border-left:4px solid var(--right)}.new-marks h2{font-size:1.05rem;margin:0 0 4px}.key-editor{margin:8px 0;padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:#f7f9fd}.key-editor summary{cursor:pointer;font-weight:600}.key-editor textarea{display:block;width:100%;margin-top:4px;font:inherit}.sort-key{margin-top:6px}.sort-key-row{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:3px 0}.sort-key-row select{margin:0;max-width:55%}.math-pic svg{display:block;width:100%;height:auto}.math-pic.tap{cursor:pointer;touch-action:manipulation}.dl-grid{display:grid;grid-gap:3px;gap:3px;margin-top:6px}.dl-grid input,.hanger-label,.mini-field input,.tape-edit input{min-width:0;margin:0;padding:5px 6px;font-size:var(--text-base);text-align:center}.mini-field{display:flex;gap:6px;align-items:center;font-size:var(--text-sm);margin:6px 0}.mini-field input{width:7em}.tape-edit{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line-strong)}.tape-edit .tape-name{width:8em;text-align:left}.tape-part{display:inline-flex;gap:2px}.tape-part input{width:4em}.tape-part select{margin:0;padding:4px;font-size:var(--text-sm)}.hanger-edit{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:6px}.hanger-label{width:4em}.board-prot{position:absolute;z-index:4;pointer-events:none}.board-prot .prot-bar{pointer-events:auto;display:flex;flex-wrap:wrap;gap:3px;align-items:center;height:30px}.board-prot .prot-bar .grip{background:#fff;border:1px solid var(--line-strong);border-radius:var(--r-md);padding:3px 8px;cursor:-webkit-grab;cursor:grab;touch-action:none}.board-prot .prot-pic svg{display:block;width:100%;height:auto}.tool-table table{border-collapse:collapse;width:100%}.tool-table td{border:1px solid #4a5568;padding:0}.tool-table tr.head td{background:#eef2fa}.tool-table tr.head input{font-weight:700}.tool-table input{width:100%;min-width:48px;border:0;margin:0;padding:7px 6px;text-align:center;font:inherit;font-size:var(--text-lg);background:transparent;border-radius:0}.tool-table input:focus{outline:2px solid #2457c5;outline-offset:-2px;background:#f5f8ff}.tool-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:6px}.mini{margin:0;padding:5px 9px;font-size:var(--text-sm);border:1px solid var(--line-strong);border-radius:var(--r-md);background:#fff;color:var(--ink);cursor:pointer}.mini.on{background:#e8efff;border-color:#2457c5;font-weight:600}.mini-check{display:inline-flex;gap:4px;align-items:center;font-size:var(--text-sm);margin:0 4px}.mini-check input{width:auto;margin:0}.graph-svg{touch-action:none;cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;user-select:none}.graph-svg.mode-move{cursor:-webkit-grab;cursor:grab}.graph-svg svg{display:block;width:100%;height:auto}.tool-graph .eq{flex:1 1;min-width:120px;margin:0;padding:6px 8px;font-size:var(--text-base)}.eq-chip{display:inline-flex;align-items:center;gap:4px;border:1.5px solid;border-radius:var(--r-pill);padding:2px 4px 2px 10px;font-size:var(--text-sm);font-weight:600;background:#fff}.eq-chip button{border:0;background:transparent;margin:0;padding:0 4px;font-size:var(--text-base);cursor:pointer;color:inherit}.graph-setup{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px 8px;gap:4px 8px;margin-top:6px;font-size:var(--text-sm)}.graph-setup label{display:flex;align-items:center;gap:4px;margin:0}.graph-setup input{width:100%;margin:0;padding:4px 6px}.graph-setup .tool-row{grid-column:1/-1}.tool-tip{margin:4px 0 0;font-size:var(--text-sm);color:#2457c5}.tool-tip.warn{color:var(--danger)}.mini-check input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0;flex:none}.mini-check{flex-direction:row;white-space:nowrap}.graph-setup label{font-size:var(--text-xs);color:var(--muted)}.board-stack{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.board-box.stacked{position:relative}.top{display:grid;grid-template-columns:auto 1fr auto;grid-gap:16px;gap:16px;position:-webkit-sticky;position:sticky;top:0;z-index:40}.top .nav{justify-self:center;align-items:center}.brand-box{border:1px solid var(--line);border-radius:var(--r-xl);padding:5px 14px 5px 5px;background:#fff;gap:10px;box-shadow:0 1px 2px rgba(23,32,51,.05);transition:border-color .15s,box-shadow .15s}a.brand-box:hover{border-color:var(--accent);box-shadow:var(--shadow)}.brand-box .mark{width:30px;height:30px;border-radius:var(--r-md)}.brand-box .brand-sub{border-left:1px solid var(--line);padding-left:10px;margin-left:0;font-family:var(--font-text);font-size:var(--text-sm)}.menu{position:relative}.menu,.menu-btn{display:inline-flex}.menu-btn{align-items:center;gap:6px;background:none;border:1px solid transparent;color:var(--muted);font-weight:600;padding:8px 14px;border-radius:var(--r-lg);min-height:40px}.menu-btn:hover,.menu.on>.menu-btn,.menu.open>.menu-btn{color:var(--accent);background:var(--accent-soft)}.menu-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:210px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:0 12px 32px rgba(23,32,51,.16);padding:6px;z-index:60;display:flex;flex-direction:column;gap:2px;animation:menu-in .12s ease-out}.menu-pop:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.menu-pop.left{left:0;right:auto}.menu-pop .menu-item,.menu-pop a{display:flex;align-items:center;width:100%;text-align:left;background:none;border:none;color:var(--ink);text-decoration:none;padding:8px 12px;border-radius:var(--r-md);font-weight:500;font-size:var(--text-md);min-height:36px}.menu-pop .menu-item:hover:not(:disabled),.menu-pop a.on,.menu-pop a:hover{background:var(--accent-soft);color:var(--accent)}.menu-pop .menu-item.danger:hover{background:var(--danger-soft)}.menu-note{font-size:var(--text-xs);color:var(--muted);padding:4px 12px 6px;overflow-wrap:anywhere;border-bottom:1px solid var(--line);margin-bottom:4px}.menu-form{display:flex;gap:6px;padding:6px}.menu-form input{min-width:0;flex:1 1}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.menu-pop{animation:none}}.who{display:flex;gap:8px;align-items:center}.who-menu>.menu-btn{border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 14px 3px 3px;background:#fff;color:var(--ink)}.who-menu.open>.menu-btn,.who-menu>.menu-btn:hover{border-color:var(--accent);background:#fff;color:var(--ink)}.avatar{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--r-round);background:var(--accent);color:#fff;font-family:var(--font-title);font-weight:700}.who-name{max-width:220px;overflow:hidden;text-overflow:ellipsis}.to-mark-alert>.menu-btn,.who-name,a.to-mark-alert{white-space:nowrap}a.to-mark-alert{display:inline-flex;align-items:center;color:var(--muted);font-weight:600;padding:8px 12px;border-radius:var(--r-lg);min-height:40px;text-decoration:none}a.to-mark-alert:hover{color:var(--accent);background:var(--accent-soft)}.to-mark-alert:not(.quiet)>.menu-btn{color:var(--opt-ink);background:var(--opt)}.to-mark-alert .menu-pop b{margin-left:4px}.to-mark-toast{position:fixed;right:20px;top:76px;z-index:70;display:flex;gap:12px;align-items:center;background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r-lg);box-shadow:0 12px 32px rgba(23,32,51,.25);animation:menu-in .15s ease-out}.to-mark-toast .link{color:#fff;font-weight:600;text-decoration:underline}@media (prefers-reduced-motion:reduce){.to-mark-toast{animation:none}}@media (max-width:900px){.top{grid-template-columns:auto auto;padding:10px 14px}.top .nav{grid-column:1/-1;grid-row:2;justify-self:stretch;overflow-x:auto}.who-name{max-width:110px}}.top.student .brand-box{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);box-shadow:none}.top.student .who-menu>.menu-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:var(--chalk-ink)}.top.student .avatar{background:var(--chalk-ink);color:var(--chalk)}.top.student .menu-pop .menu-item{color:var(--ink)}.home-places{max-width:none;padding:18px}.home-places .home-tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;gap:14px}.home-places .home-tile{border:1px solid var(--line);border-radius:var(--r-xl);padding:18px;background:#fff}.home-places .home-join{border:none;border-top:1px dashed var(--line);border-radius:0;margin:16px 0 0;padding:14px 4px 0;box-shadow:none}.classes-layout.one{grid-template-columns:minmax(0,1fr);max-width:1200px}.class-bar{margin-bottom:12px}.class-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.class-switch{position:relative}.class-switch-btn{display:inline-flex;align-items:baseline;gap:10px;border:1px solid var(--line);border-radius:var(--r-xl);padding:8px 16px;background:#fff;min-height:50px;text-align:left}.class-switch-btn b{font-family:var(--font-title);font-size:var(--text-3xl)}.class-switch-btn .caret{color:var(--muted);font-size:var(--text-md);margin-left:4px;transition:transform .15s}.class-switch-btn:hover,.class-switch.open .class-switch-btn{border-color:var(--accent);box-shadow:var(--ring)}.class-switch.open .caret{transform:rotate(180deg)}.class-switch-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:min(660px,calc(100vw - 32px));display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:0 16px 40px rgba(23,32,51,.18);animation:menu-in .12s ease-out}.class-switch-pop .class-list{margin:0;max-height:380px;overflow:auto;display:flex;flex-direction:column;gap:2px}.class-switch-pop .class-list button{min-height:0;font-weight:500}.class-switch-pop .class-list button:hover{background:var(--accent-soft)}.class-switch-side{display:flex;flex-direction:column;gap:10px;border-left:1px solid var(--line);padding-left:16px}.class-switch-side h3{margin:4px 0 0;font-size:var(--text-base)}@media (max-width:640px){.class-switch-pop{grid-template-columns:1fr}.class-switch-side{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:12px}}.hover-actions{display:inline-flex;gap:6px;align-items:center}.hover-actions .reveal{opacity:0;transform:translateX(-6px);pointer-events:none;transition:opacity .15s,transform .15s}.hover-actions:focus-within .reveal,.hover-actions:hover .reveal{opacity:1;transform:none;pointer-events:auto}@media (hover:none){.hover-actions .reveal{opacity:1;transform:none;pointer-events:auto}}button.ghost.danger{border-color:var(--danger-line)}button.ghost.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.code-card{position:relative;border-style:solid;border-radius:var(--r-xl);padding:12px 14px;background:#fff}.code-card .nm{padding-right:96px}.card-menu{position:absolute;top:8px;right:8px}.card-menu>.menu-btn{min-height:30px;padding:2px 10px;font-size:var(--text-sm);border:1px solid var(--line);border-radius:var(--r-pill);background:#fff}.code-card .practice-level select{min-height:32px;padding:3px 8px;font-size:var(--text-sm)}.board-rules{display:block}.br-grid{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin:4px 0 8px;background:#fff}.br-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(4,112px);align-items:center;border-top:1px solid var(--line)}.br-row:first-child{border-top:none}.br-head{background:#f6f8fc;font-size:var(--text-xs);font-weight:700;color:var(--muted)}.br-head span{padding:8px 10px;text-align:center}.br-head span:first-child{text-align:left}.br-all{background:var(--accent-soft)}.br-all>span{padding:8px 12px;color:var(--accent-ink)}.br-name{display:flex;flex-direction:column;padding:8px 12px;min-width:0}.br-cell{flex-direction:row;justify-content:center;padding:8px;margin:0}.br-cell input{width:18px;height:18px;min-height:0;accent-color:var(--accent)}.br-cell.hint input{outline:2px dashed var(--accent);outline-offset:3px}@media (max-width:700px){.br-row{grid-template-columns:minmax(110px,1fr) repeat(4,58px)}.br-head span{font-size:11px;padding:6px 4px}}.live-board-rules{border:1px solid var(--line);border-radius:var(--r-lg);padding:8px 12px;margin:10px 0}.live-board-rules>summary{cursor:pointer;font-weight:600}.wb-layout{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:20px;gap:20px;max-width:1320px;margin:0 auto;padding:20px 16px;align-items:start}.wb-side{position:-webkit-sticky;position:sticky;top:84px;margin:0;padding:16px;max-height:calc(100vh - 100px);overflow:auto;gap:14px;max-width:none}.wb-group,.wb-side{display:flex;flex-direction:column}.wb-group{gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}.wb-h{margin:0;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--font-text)}.wb-side .weeks{flex-direction:column;align-items:stretch;gap:10px}.wb-side .weeks input[type=number],.wb-side input,.wb-side select{width:100%}.wb-side label.check{padding-bottom:0}.wb-classes{gap:2px}.wb-classes,.wb-classes a{display:flex;flex-direction:column}.wb-classes a{padding:7px 10px;border-radius:var(--r-lg);text-decoration:none;color:var(--ink);border-left:3px solid transparent}.wb-classes a:hover{background:var(--accent-soft);border-left-color:var(--accent)}.wb-go{display:flex;flex-direction:column;gap:4px}.wb-go .primary{width:100%;min-height:46px}.wb-go p{margin:0}.wb-main>.card{margin:0 0 16px;max-width:none}.class-row.card{padding:16px 18px;scroll-margin-top:90px}.cr-head{margin-bottom:4px}.cr-name input{width:96px}.remove-btn{display:inline-flex;gap:6px;align-items:center;color:var(--danger);border:1px solid var(--danger-line);background:#fff6f5;border-radius:var(--r-lg);min-height:40px;padding:6px 12px;font-weight:600}.remove-btn:hover{background:#ffe9e6;border-color:var(--danger)}.cr-sum{display:flex;gap:10px;align-items:center;margin:2px 0 8px;min-height:24px}.class-row .lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:6px;gap:6px;max-height:300px;overflow:auto;padding:2px}.class-row .lessons label{border-radius:var(--r-lg);padding:6px 10px;min-width:0;white-space:nowrap;gap:8px;font-size:var(--text-sm);margin:0}.class-row .lessons label input{min-height:0;flex:none}.class-row .lessons .ln{font-weight:700;color:var(--accent-ink);flex:none}.class-row .lessons .lt{overflow:hidden;text-overflow:ellipsis;min-width:0}.class-row .lessons .lo{font-size:var(--text-xs);color:var(--opt-ink);flex:none;margin-left:auto}@media (max-width:900px){.wb-layout{grid-template-columns:1fr}.wb-side{position:static;max-height:none}}@media print{.class-row,.top,.wb-side{display:none!important}.wb-layout{display:block;padding:0}}.top.student{grid-template-columns:auto 1fr}.top.student .who,.top>.who{justify-self:end}.gap-editor{border:1px dashed var(--line);border-radius:var(--r-lg);padding:8px 12px;margin:8px 0;background:#fafbfe}.gap-rounds{display:flex;flex-direction:column;gap:10px;margin-top:8px}.gap-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px}.gap-cards figure{margin:0;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;padding:6px}.gap-cards img{width:100%;height:auto;display:block}.gap-cards figcaption{font-size:var(--text-xs);color:var(--muted);margin-top:4px}.pairs{display:flex;flex-direction:column;gap:8px;width:100%}.pair-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:6px;gap:6px}.pair{display:flex;flex-wrap:wrap;align-items:center;gap:4px;border:1px solid var(--line);border-radius:var(--r-lg);padding:4px 6px;background:#fff}.pair-out{border-style:dashed}.pair-n{font-size:var(--text-xs);font-weight:700;color:var(--muted);width:18px;text-align:center}.pair-name{min-height:30px;padding:2px 10px;border-radius:var(--r-pill);font-size:var(--text-sm);font-weight:500;background:var(--accent-soft);border:1px solid transparent;color:var(--accent-ink)}.pair-name:hover{border-color:var(--accent)}.pair-name.on{background:var(--accent);color:#fff}.gap-box{display:block}.gap-live-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line)}.gap-card{border:2px solid var(--accent);border-radius:var(--r-xl);padding:10px 12px;margin:10px 0;background:#fff;color:var(--ink)}.gap-card.data{border-color:#0f766e}.gap-card.waiting{border-style:dashed;color:var(--muted)}.gap-card-head{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;align-items:baseline}.gap-card p{margin:6px 0}.gap-card img{width:100%;height:auto;display:block;border-radius:var(--r-md);border:1px solid var(--line)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.menu.help{vertical-align:middle;margin-left:4px}.menu.help>.menu-btn{min-height:0;padding:0;border:none;background:none}.help-i{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:var(--r-round);border:1.5px solid var(--accent);color:var(--accent);font:700 12px/1 Georgia,serif;font-style:italic;background:#fff}.menu.help.open .help-i,.menu.help>.menu-btn:hover .help-i{background:var(--accent);color:#fff}.menu.help .menu-pop{width:min(300px,80vw);padding:10px 12px;z-index:80}.help-text{margin:0;font-size:13.5px;line-height:1.45;font-weight:400;color:var(--ink);text-transform:none;letter-spacing:0;white-space:normal;text-align:left}h1 .menu.help,h2 .menu.help,h3 .menu.help,legend .menu.help,summary .menu.help{font-size:var(--text-md)}.menu-form{flex-wrap:wrap}.menu-note.ok{color:#067647;border-bottom:none}.tour{z-index:200}.tour,.tour-dim{position:fixed;inset:0}.tour-dim{background:rgba(15,23,42,.5)}.tour-spot{box-shadow:0 0 0 9999px rgba(15,23,42,.5);outline:3px solid var(--accent);transition:all .2s ease;pointer-events:none}.tour-card,.tour-spot{position:fixed;border-radius:var(--r-xl)}.tour-card{background:#fff;color:var(--ink);padding:16px 18px;box-shadow:0 18px 48px rgba(15,23,42,.3);max-width:calc(100vw - 24px);width:340px;animation:menu-in .15s ease-out}.tour-card h3{margin:4px 0 6px;font-size:var(--text-xl)}.tour-card p{margin:0 0 10px;line-height:1.45}.tour-card .row-actions{justify-content:flex-end;margin:0}@media (prefers-reduced-motion:reduce){.tour-spot{transition:none}}.wb-side h3 .menu.help{text-transform:none}.parent-box{border:1px solid var(--line);border-radius:var(--r-xl);padding:12px 16px;margin:0 0 16px;background:#fafbfe;display:flex;flex-direction:column;gap:8px}.parent-box h3{margin:0;font-size:var(--text-xl)}.parent-box textarea{width:100%}.parent-preview>summary{cursor:pointer;font-weight:600}.parent-preview select{margin-left:6px;min-height:32px}.parent-mail{width:100%;height:520px;border:1px solid var(--line);border-radius:var(--r-lg);background:#f5f7fb}.parent-dot{font-size:var(--text-sm)}.hand-wrap{display:inline-flex;align-items:center;gap:6px}.student-main .help-i{background:#fff}.board-tools .menu.help{align-self:center;margin:0 2px}.box-bar .menu.help,.prot-bar .menu.help{margin:0 4px}.board-rules .br-row{grid-template-columns:minmax(150px,1fr) minmax(250px,2.2fr) repeat(3,96px)}.ready-chips{display:flex;flex-wrap:wrap;gap:4px;padding:6px 4px}.ready-chip{min-height:30px;padding:2px 8px;border-radius:var(--r-pill);font-size:12.5px;font-weight:500;background:#fff;display:inline-flex;gap:4px;align-items:center}.ready-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.ready-chip.hint{border-style:dashed;border-color:var(--accent)}.br-all .ready-chip span{display:none}@media (max-width:900px){.board-rules .br-row{grid-template-columns:1fr repeat(3,64px)}.board-rules .br-row>:nth-child(2){grid-column:1/-1;grid-row:2}.ready-chip span{display:none}}.voice-rec{margin:10px 0}.voice-clip,.voice-rec{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.voice-clip{margin:6px 0}.voice-clip audio{height:36px;max-width:100%}.rec-dot{width:12px;height:12px;border-radius:var(--r-round);background:#d92d20;animation:rec 1s infinite}@keyframes rec{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.rec-dot{animation:none}}.guide-layout{display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:20px;gap:20px;max-width:1180px;margin:0 auto;padding:20px 16px 60px;align-items:start}.guide-side{position:-webkit-sticky;position:sticky;top:84px;margin:0;padding:16px;display:flex;flex-direction:column;gap:10px;max-width:none}.guide-side input[type=search]{width:100%}.guide-main>.card{margin:0 0 16px;max-width:none;scroll-margin-top:90px}.guide-sec h2{margin-top:0}.guide-sec li{margin:6px 0;line-height:1.5}.guide-sec ol ul,.guide-sec ul ul{margin:6px 0}.guide-lead{font-size:var(--text-lg)}.guide-sec .dim{opacity:.35}.guide-quick td:first-child{font-weight:600;width:34%}.tone-blue{--tone:var(--accent);--tone-soft:var(--accent-soft);--tone-ink:var(--accent-ink)}.tone-orange{--tone:var(--stuck-line);--tone-soft:var(--opt);--tone-ink:var(--stuck-ink)}.tone-navy{--tone:var(--chalk);--tone-soft:#E9EDF6;--tone-ink:var(--chalk)}.tone-sky{--tone:var(--chalk-yellow);--tone-soft:var(--working);--tone-ink:var(--working-ink)}.guide-intro{background:var(--chalk);color:var(--chalk-ink);border:none;background-image:radial-gradient(circle at 92% 20%,rgba(142,176,255,.35),transparent 40%)}.guide-intro h1{font-family:var(--font-title);margin-top:0}.guide-intro b{color:var(--chalk-yellow)}.guide-sec{border-top:5px solid var(--tone);box-shadow:var(--shadow-sm)}.guide-sec h2{display:flex;align-items:center;gap:var(--space-3);color:var(--tone-ink);font-family:var(--font-title)}.guide-ico{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-lg);font-size:var(--text-xl);flex:none}.guide-ico,.guide-lead{background:var(--tone-soft)}.guide-lead{border-left:4px solid var(--tone);border-radius:var(--r-md);padding:var(--space-3) var(--space-4)}.guide-sec li b,.guide-sec p b{color:var(--tone-ink)}.guide-sec li::marker{color:var(--tone)}.guide-sec>ol{list-style:none;counter-reset:step;padding-left:0}.guide-sec>ol>li{counter-increment:step;position:relative;padding-left:44px;min-height:32px}.guide-sec>ol>li:before{content:counter(step);position:absolute;left:0;top:-2px;width:30px;height:30px;border-radius:var(--r-round);background:var(--tone);color:#fff;font-weight:700;display:grid;place-items:center;font-size:var(--text-sm)}.tone-sky.guide-sec>ol>li:before{color:var(--chalk)}.guide-nav a{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);border-left:3px solid transparent;border-radius:var(--r-md)}.guide-nav a:hover{background:var(--tone-soft);border-left-color:var(--tone)}.guide-nav .guide-ico{width:28px;height:28px;border-radius:var(--r-md);font-size:var(--text-md)}.guide-quick th{background:var(--tone-soft);color:var(--tone-ink)}.guide-quick tbody tr:nth-child(2n) td{background:#FAFBFE}@media (max-width:860px){.guide-layout{grid-template-columns:1fr}.guide-side{position:static}}@media print{.feedback-fab,.guide-side{display:none!important}.guide-layout{display:block;padding:0}.guide-sec .dim{opacity:1}.guide-intro{background:none;color:var(--ink)}.guide-intro b{color:inherit}}.materials-box .check{gap:6px}.badge.on-screen{background:var(--accent-soft);color:var(--accent-ink);font-size:var(--text-xs)}.materials-add input{min-width:180px}.have-ready{margin:6px 0 0;font-size:var(--text-base)}.geo-bar{position:absolute;z-index:6;display:flex;flex-wrap:wrap;gap:3px;align-items:center;pointer-events:auto;background:rgba(255,255,255,.92);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:3px 6px;max-width:720px}.geo-bar .grip{background:#fff;border:1px solid var(--line-strong);border-radius:var(--r-md);padding:3px 8px;cursor:-webkit-grab;cursor:grab;touch-action:none;font-size:var(--text-sm)}.geo-bar .tool-tip{margin:0 4px}.trace-sheet{position:absolute;left:0;top:0;z-index:5;transform-origin:0 0;background:rgba(235,241,255,.45);border:1.5px dashed #8aa0c8;border-radius:var(--r-sm);pointer-events:none}.trace-sheet.tracing{pointer-events:auto;cursor:crosshair;background:rgba(235,241,255,.6);touch-action:none}.trace-sheet svg{position:absolute;inset:0;overflow:visible}.trace-pin{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:var(--r-round);background:var(--danger);border:2px solid #fff;box-shadow:0 0 0 1px var(--danger);pointer-events:auto;cursor:move;touch-action:none}.compass-svg{position:absolute;left:0;top:0;z-index:5;pointer-events:none;overflow:visible}.compass-needle,.compass-pencil{position:absolute;z-index:6;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:var(--r-round);pointer-events:auto;cursor:-webkit-grab;cursor:grab;touch-action:none}.compass-needle{background:#fff;border:3px solid #3a4a66}.compass-needle:after{content:"";position:absolute;left:7px;top:7px;width:4px;height:4px;border-radius:var(--r-round);background:var(--danger)}.compass-pencil{border:3px solid #fff;box-shadow:0 0 0 2px #3a4a66}.compass-pencil.drawing{box-shadow:0 0 0 3px var(--warn)}.tool-dilate .mini-field input{width:70px}.tone-blue{--tone:var(--c-blue);--tone-soft:var(--c-blue-soft);--tone-ink:var(--c-blue-ink)}.tone-green{--tone:var(--c-green);--tone-soft:var(--c-green-soft);--tone-ink:var(--c-green-ink)}.tone-yellow{--tone:var(--c-yellow);--tone-soft:var(--c-yellow-soft);--tone-ink:var(--c-yellow-ink)}.tone-orange{--tone:var(--c-orange);--tone-soft:var(--c-orange-soft);--tone-ink:var(--c-orange-ink)}.tone-pink{--tone:var(--c-pink);--tone-soft:var(--c-pink-soft);--tone-ink:var(--c-pink-ink)}.tone-purple{--tone:var(--c-purple);--tone-soft:var(--c-purple-soft);--tone-ink:var(--c-purple-ink)}.tone-teal{--tone:var(--c-teal);--tone-soft:var(--c-teal-soft);--tone-ink:var(--c-teal-ink)}body{background-color:var(--bg);background-image:radial-gradient(circle at 8% 12%,rgba(240,86,154,.1),transparent 32%),radial-gradient(circle at 92% 8%,rgba(255,194,61,.14),transparent 30%),radial-gradient(circle at 85% 70%,rgba(23,181,166,.1),transparent 34%),radial-gradient(circle at 12% 85%,rgba(139,92,246,.1),transparent 34%);background-attachment:fixed}.top{position:relative}.top:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:4px;background:var(--rainbow)}.mark{background:linear-gradient(135deg,var(--c-blue),var(--c-purple))}.card:not(.modal):not(.part):not(.guide-sec):not(.guide-intro):not(.home-hero):not(.home-tile):not(.guide-side){border-top:5px solid var(--c-blue)}.card:nth-of-type(6n+2):not(.modal):not(.part):not(.guide-sec):not(.guide-intro):not(.home-hero):not(.home-tile):not(.guide-side){border-top-color:var(--c-pink)}.card:nth-of-type(6n+3):not(.modal):not(.part):not(.guide-sec):not(.guide-intro):not(.home-hero):not(.home-tile):not(.guide-side){border-top-color:var(--c-green)}.card:nth-of-type(6n+4):not(.modal):not(.part):not(.guide-sec):not(.guide-intro):not(.home-hero):not(.home-tile):not(.guide-side){border-top-color:var(--c-purple)}.card:nth-of-type(6n+5):not(.modal):not(.part):not(.guide-sec):not(.guide-intro):not(.home-hero):not(.home-tile):not(.guide-side){border-top-color:var(--c-orange)}.card:nth-of-type(6n+6):not(.modal):not(.part):not(.guide-sec):not(.guide-intro):not(.home-hero):not(.home-tile):not(.guide-side){border-top-color:var(--c-teal)}.modal{border-top:5px solid transparent;border-image:var(--rainbow) 1;border-image-width:5px 0 0 0}.btn.primary,button.primary{background:var(--accent);border-color:transparent}button.primary:hover:not(:disabled){background:var(--accent-ink);border-color:transparent}button.ghost:hover:not(:disabled){background:var(--c-purple-soft);border-color:var(--c-purple)}.tabs button:hover{color:var(--c-purple-ink)}.tabs button.on{border-bottom:3px solid transparent;border-image:var(--rainbow) 1;border-image-width:0 0 3px 0}.pill{background:var(--c-yellow-soft);color:var(--c-yellow-ink);font-weight:600}.eyebrow{color:var(--c-pink-ink)}h1{color:inherit}.home-places .home-tile{border-top:5px solid var(--tone,var(--c-blue));background:linear-gradient(180deg,var(--tone-soft,#fff),#fff 65%)}.home-places .home-icon{background:var(--tone,var(--c-blue));color:#fff}.home-tile:nth-child(6n+1){--tone:var(--c-blue);--tone-soft:var(--c-blue-soft)}.home-tile:nth-child(6n+2){--tone:var(--c-pink);--tone-soft:var(--c-pink-soft)}.home-tile:nth-child(6n+3){--tone:var(--c-green);--tone-soft:var(--c-green-soft)}.home-tile:nth-child(6n+4){--tone:var(--c-purple);--tone-soft:var(--c-purple-soft)}.home-tile:nth-child(6n+5){--tone:var(--c-orange);--tone-soft:var(--c-orange-soft)}.home-tile:nth-child(6n+6){--tone:var(--c-teal);--tone-soft:var(--c-teal-soft)}.home-places .home-tile:hover{border-color:var(--tone);box-shadow:0 8px 22px rgba(23,32,51,.12)}.guide-intro,.home-hero{background-image:radial-gradient(circle at 95% 10%,rgba(139,92,246,.45),transparent 40%),radial-gradient(circle at 70% 120%,rgba(240,86,154,.35),transparent 45%),radial-gradient(circle at 0 0,rgba(23,181,166,.3),transparent 40%)}.guide-intro b,.home-hero .eyebrow{color:var(--c-yellow)}th{background:var(--c-blue-soft)}body:has(.student-main){background-image:radial-gradient(circle at 10% 10%,rgba(240,86,154,.18),transparent 30%),radial-gradient(circle at 90% 20%,rgba(255,194,61,.14),transparent 30%),radial-gradient(circle at 80% 90%,rgba(23,181,166,.16),transparent 34%),radial-gradient(circle at 5% 80%,rgba(139,92,246,.2),transparent 34%);background-attachment:fixed}.top.student .mark{background:linear-gradient(135deg,var(--c-yellow),var(--c-pink));color:#fff}.top.student button.primary{background:linear-gradient(135deg,var(--c-yellow),var(--c-orange));color:var(--chalk)}.practice .card.part,.student-main .card.part,.test .card.part{border:none;border-left:8px solid var(--c-blue)}.card.part:nth-of-type(6n+2){border-left-color:var(--c-pink)}.card.part:nth-of-type(6n+2) .chalk-task .part-head h2{color:#FF9CC6}.card.part:nth-of-type(6n+3){border-left-color:var(--c-green)}.card.part:nth-of-type(6n+3) .chalk-task .part-head h2{color:#7EE2A2}.card.part:nth-of-type(6n+4){border-left-color:var(--c-purple)}.card.part:nth-of-type(6n+4) .chalk-task .part-head h2{color:#C4AAFF}.card.part:nth-of-type(6n+5){border-left-color:var(--c-orange)}.card.part:nth-of-type(6n+5) .chalk-task .part-head h2{color:#FFB989}.card.part:nth-of-type(6n+6){border-left-color:var(--c-teal)}.card.part:nth-of-type(6n+6) .chalk-task .part-head h2{color:#7FE3D8}.card.part:nth-of-type(6n+1) .chalk-task .part-head h2{color:var(--c-yellow)}.card.part.exit{border-left-color:var(--c-yellow)}button.choice b{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:var(--r-md);color:#fff;background:var(--c-blue);padding:0 6px}button.choice:nth-child(4n+2) b{background:var(--c-pink)}button.choice:nth-child(4n+3) b{background:var(--c-green)}button.choice:nth-child(4n+4) b{background:var(--c-purple)}button.choice.on{background:var(--c-yellow-soft);border-color:var(--c-orange);box-shadow:0 0 0 2px var(--c-orange)}.practice button.primary,.student-main button.primary.hand-in,.test button.primary{background:linear-gradient(135deg,var(--c-green-ink),var(--c-teal-ink));color:#fff}.practice .badge,.student-main .badge{background:var(--c-yellow);color:var(--chalk)}.tally .slash{background:var(--c-pink)}.tally-plus{color:var(--c-yellow)}.practice-levels button:first-child.on{border-bottom-color:var(--c-green);border-image:none}.practice-levels button:nth-child(2).on{border-bottom-color:var(--c-blue);border-image:none}.practice-levels button:nth-child(3).on{border-bottom-color:var(--c-purple);border-image:none}.practice-score .bar span{background:linear-gradient(90deg,var(--c-green),var(--c-teal))}.tone-yellow.guide-sec>ol>li:before{color:var(--chalk)}@media print{body,body:has(.student-main){background-image:none}.top:after{display:none}}@media (prefers-reduced-motion:reduce){body{background-attachment:scroll}}.live-steps{border:1px solid var(--line);border-top:4px solid var(--c-teal);border-radius:var(--r-lg);padding:var(--space-2) var(--space-3);margin:var(--space-3) 0;background:var(--card)}.live-steps>summary{cursor:pointer;font-weight:600}.step-parts,.step-phases{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center;margin:var(--space-2) 0}.step-parts button{padding:4px 10px;font-size:var(--text-sm);border-radius:var(--r-pill)}.step-parts button.on{border-color:var(--c-teal);background:var(--c-teal-soft);color:var(--c-teal-ink);font-weight:600}.step-parts button.now{box-shadow:0 0 0 2px var(--c-green)}.step-title{margin:var(--space-1) 0}.step-clock{font-weight:700;color:var(--c-green-ink);background:var(--c-green-soft);border-radius:var(--r-pill);padding:2px 10px}.step-clock.over{color:var(--c-orange-ink);background:var(--c-orange-soft)}.step-notes,.step-watch{background:var(--bg);border-radius:var(--r-md);padding:var(--space-2) var(--space-3);margin-top:var(--space-2)}.watch-row{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center;margin:var(--space-1) 0;font-size:var(--text-md)}.watch-row.late{background:var(--c-orange-soft);border-radius:var(--r-sm);padding:2px var(--space-2)}.ask-box{margin-top:var(--space-2)}.ask-box select{max-width:100%}.badge.mode{background:var(--c-blue-soft);color:var(--c-blue-ink);margin-left:var(--space-2)}.now-card{position:-webkit-sticky;position:sticky;top:var(--space-2);z-index:9;border-radius:var(--r-lg);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0;background:var(--paper);color:var(--ink);border-left:6px solid var(--c-blue);box-shadow:var(--shadow-pop)}.now-card.work{border-left-color:var(--c-green)}.now-card.share{border-left-color:var(--c-purple)}.now-card p{margin:2px 0}.now-step{font-size:var(--text-xl);font-weight:700;font-family:var(--font-title)}.now-clock{color:var(--c-green-ink)}.now-go{font-weight:600;color:var(--accent)}.part.now{box-shadow:0 0 0 3px var(--c-green),var(--shadow-lg)}.first-by{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center;margin-bottom:var(--space-2)}.helpers{border-top:1px dashed var(--line);margin-top:var(--space-2);padding-top:var(--space-2)}.follow-list,.pair-list{margin:var(--space-1) 0 var(--space-2);padding-left:var(--space-5);font-size:var(--text-md)}.follow-up{border:1px solid var(--line);border-left:4px solid var(--c-orange);border-radius:var(--r-lg);padding:var(--space-2) var(--space-3);margin:var(--space-3) 0;background:var(--c-orange-soft)}.live-steps.compact .step-parts button{padding:2px 8px}.first-step{font-weight:600;color:var(--c-blue-ink)}.first-step.late{color:var(--c-orange-ink);background:var(--c-orange-soft);border-radius:var(--r-sm);padding:2px var(--space-2)}.first-step.done{color:var(--c-green-ink)}