@font-face{font-family:bricolage;src:url(../media/BricolageGrotesque_latin-s.p.2lg3sxkcxwsl6.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:bricolage Fallback;src:local(Arial);ascent-override:91.48%;descent-override:26.56%;line-gap-override:0.0%;size-adjust:101.66%}.bricolage_2b46ad94-module__Qnlw7G__className{font-family:bricolage,bricolage Fallback,system-ui,sans-serif}.bricolage_2b46ad94-module__Qnlw7G__variable{--font-bricolage:"bricolage", "bricolage Fallback", system-ui, sans-serif}
@font-face{font-family:hanken;src:url(../media/HankenGrotesk_latin-s.p.2rlmbw0a3_pri.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:hanken Fallback;src:local(Arial);ascent-override:98.46%;descent-override:29.83%;line-gap-override:0.0%;size-adjust:101.56%}.hanken_98a08cae-module__1V4LzW__className{font-family:hanken,hanken Fallback,system-ui,sans-serif}.hanken_98a08cae-module__1V4LzW__variable{--font-hanken:"hanken", "hanken Fallback", system-ui, sans-serif}
@font-face{font-family:Bricolage Grotesque Ext;src:url(../media/BricolageGrotesque-latin-ext.14r01_8b-ryu9.woff2)format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Ext;src:url(../media/HankenGrotesk-latin-ext.1akpt5k8ff_pw.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--page:#fff;--tint:#faf7f4;--line:#e8e4e1;--row:#f4f1ee;--ink:#262b31;--muted:#5f6670;--placeholder:#7a828b;--primary:#4c6084;--on-primary:#fff;--secondary-border:#d9d3d6;--destructive:#8e5b46;--observer:#b5806a;--observer-ink:#8e5b46;--observer-soft:#f8eee9;--pupils:#8a6478;--pupils-ink:#6d4a5c;--pupils-soft:#f3edf1;--pupils-track:#e2d5dd;--teacher:#6b7fa3;--teacher-ink:#4c6084;--teacher-soft:#eef1f6;--rail:#262b31;--rail-label:#b2b8bf;--rail-active:#ffffff1f;--gold:#c9a68f;--grid-line:#f1eeeb;--field-border:#e0dcd8;--line-soft:#eeeae7;--neutral-fill:#e6e2de;--neutral-soft:#f2f0ee;--teacher-pale:#c7d0de;--track:#efece9;--r-card:14px;--r-control:8px;--r-chip:999px;--rail-width:88px;--font-display:"Bricolage Grotesque Ext", var(--font-bricolage), system-ui, sans-serif;--font-body:"Hanken Grotesk Ext", var(--font-hanken), system-ui, sans-serif;--fs-body:15px;--fs-small:13.5px;--fs-table:13.5px;--fs-rail:10.5px;--fs-h1:27px;--fs-h1-landing:64px;--ls-display:-.03em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--page);min-height:100vh;color:var(--ink);font:400 var(--fs-body) / 1.5 var(--font-body);margin:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:var(--ls-display);overflow-wrap:break-word;margin:0;font-weight:600;line-height:1.15}h1{font-size:var(--fs-h1)}h2{font-size:20px}h3{font-size:17px}p{margin:0}a{color:inherit}a:hover{color:var(--primary)}button,input,select,textarea{font:inherit;color:inherit}svg{display:block}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.num{font-family:var(--font-display);letter-spacing:var(--ls-display);font-variant-numeric:tabular-nums;font-weight:600}.btn{border:1px solid var(--secondary-border);border-radius:var(--r-control);background:var(--page);color:var(--primary);font:600 13.5px/1.35 var(--font-body);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:9px 16px;text-decoration:none;display:inline-flex}.btn:hover{color:var(--primary);border-color:var(--teacher)}.btn.primary{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.btn.primary:hover{color:var(--on-primary);filter:brightness(.93)}.btn.destructive{color:var(--destructive)}.btn.large{border-radius:10px;padding:14px 18px;font-size:15px}.btn.block{width:100%;display:flex}.btn:disabled,.btn[aria-disabled=true],.btn.primary:disabled,.btn.primary[aria-disabled=true]{border-color:var(--neutral-fill);background:var(--neutral-fill);color:var(--muted);filter:none;cursor:not-allowed}.link-action{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:none}.link-action:hover{text-decoration:underline}.field{gap:8px;display:grid}.field>label,.field>.label{color:var(--ink);font-size:14px;font-weight:600}.field>.hint{font-size:var(--fs-small);color:var(--muted)}.field>.error{font-size:var(--fs-small);color:var(--destructive)}.input,.select,.textarea{border:1px solid var(--field-border);background:var(--page);border-radius:9px;width:100%;padding:11px 13px;font-size:14px;line-height:1.4}.input.large{border-radius:10px;padding:15px 16px;font-size:15.5px}.textarea{resize:vertical;min-height:120px}.input::placeholder,.textarea::placeholder{color:var(--placeholder);opacity:1}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary);border-radius:9px}.segmented{border:1px solid var(--line);border-radius:var(--r-chip);background:var(--tint);gap:2px;padding:3px;font-size:13px;display:inline-flex}.segmented>a,.segmented>label{border-radius:var(--r-chip);color:var(--muted);cursor:pointer;padding:6px 14px;text-decoration:none}.segmented>a[aria-current=true]{background:var(--ink);color:var(--on-primary);font-weight:600}.segmented>label:has(input:checked){background:var(--ink);color:var(--on-primary);font-weight:600}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented>label:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--page)}.card.tint{background:var(--tint)}.card-head{border-bottom:1px solid var(--line-soft);border-radius:var(--r-card) var(--r-card) 0 0;background:var(--tint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:14px 20px;display:flex}.card-head>b,.card-head>h2{font:700 15px/1.3 var(--font-body);letter-spacing:0;flex:none}.plain-page{gap:18px;max-width:880px;margin:0 auto;padding:40px 24px 72px;display:grid}.plain-page>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:18px;display:flex}.plain-page table{border-collapse:collapse;width:100%;font-size:var(--fs-table)}.plain-page th,.plain-page td{border-bottom:1px solid var(--row);text-align:left;vertical-align:top;padding:10px 8px}.plain-page th{color:var(--muted);font-weight:600}.pupil-screen{background:var(--page);flex-direction:column;width:100%;max-width:420px;min-height:100dvh;margin:0 auto;padding:0 28px;font-size:15px;line-height:1.5;display:flex}.pupil-entry{text-align:center;flex-direction:column;flex:1;align-items:center;padding:62px 0 34px;display:flex}.pupil-screen h1{margin:22px 0 0;line-height:1.15}.pupil-entry h1{font-size:26px}.pupil-entry>p{color:var(--muted);margin:12px 0 0}.pupil-entry>.pupil-small{margin-top:22px;font-size:13px}.pupil-error{color:var(--destructive);margin:14px 0 0;font-size:14px}.code-entry{margin-top:28px;position:relative}.code-entry input{border:1.5px solid var(--field-border);width:100%;font:600 26px var(--font-display);letter-spacing:.3em;text-align:center;text-transform:uppercase;border-radius:12px;padding:14px}.code-boxes{display:none}.code-entry.awake input{opacity:0;cursor:text;width:100%;height:100%;position:absolute;inset:0}.code-entry.awake .code-boxes{justify-content:center;gap:8px;display:flex}.code-boxes span{border:1.5px solid var(--field-border);width:52px;height:60px;font:600 26px var(--font-display);border-radius:12px;justify-content:center;align-items:center;display:flex}.code-boxes span.filled{border-color:var(--primary)}.code-entry:focus-within .code-boxes span.caret:after{content:"";background:var(--primary);width:1px;height:26px}.code-entry:focus-within .code-boxes span.caret{border-color:var(--primary)}.code-entry.awake:has(input:focus-visible) .code-boxes{outline:2px solid var(--primary);outline-offset:4px;border-radius:14px}.pupil-continue,.pupil-next{font:600 16px var(--font-body);cursor:pointer;border:0;border-radius:14px}.pupil-continue{background:var(--primary);width:100%;color:var(--on-primary);margin-top:auto;padding:16px}.pupil-entry:has(input:invalid) .pupil-continue{background:var(--neutral-fill);color:var(--muted)}.pupil-says{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 0;display:flex}.pupil-says p{max-width:34ch;color:var(--muted);margin:12px 0 0}.pupil-form{flex-direction:column;flex:1;padding:14px 0 30px;display:flex}.pupil-count{color:var(--muted);text-align:right;margin:0;font-size:12px}.pupil-progress{gap:4px;margin-top:22px;display:flex}.pupil-progress i{background:var(--pupils-track);border-radius:99px;flex:1;height:4px}.pupil-progress i.on{background:var(--pupils)}.pupil-kicker{color:var(--pupils-ink);letter-spacing:.06em;text-transform:uppercase;margin:22px 0 0;font-size:12.5px;font-weight:700}.pupil-form fieldset{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.pupil-form legend{padding:0}.pupil-form legend h1{margin:10px 0 28px;font-size:27px;line-height:1.2}.pupil-form legend h1:focus{outline:none}.pupil-form label{border:1.5px solid var(--field-border);cursor:pointer;border-radius:14px;justify-content:space-between;padding:16px 18px;font-size:16px;display:flex;position:relative}.pupil-form label input{opacity:0;cursor:pointer;position:absolute;inset:0}.pupil-form label:has(input:focus-visible){outline:2px solid var(--pupils-ink);outline-offset:2px}.pupil-form label.chosen{border-color:var(--pupils);background:var(--pupils-soft);color:var(--pupils-ink);font-weight:600}.pupil-nav{justify-content:space-between;align-items:center;margin-top:auto;padding-top:28px;display:flex}.pupil-back{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:14px}.pupil-back:disabled{visibility:hidden}.pupil-next{background:var(--pupils-ink);color:var(--on-primary);padding:14px 26px}.pupil-next:disabled{background:var(--neutral-fill);color:var(--muted);cursor:not-allowed}.wordmark{font-family:var(--font-display);letter-spacing:var(--ls-display);color:inherit;align-items:center;gap:.42em;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.mark{flex:none}.skip-link{z-index:60;border-radius:var(--r-control);background:var(--page);color:var(--primary);padding:9px 14px;font-weight:600;text-decoration:none;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.app-frame{background:var(--page);min-height:100vh;font:400 var(--fs-body) / 1.55 var(--font-body);display:flex}.app-main{flex:1;min-width:0;padding:32px 36px}.rail{width:var(--rail-width);background:var(--rail);height:100vh;color:var(--rail-label);font:500 var(--fs-rail) / 1.2 var(--font-body);flex-direction:column;flex:none;align-items:center;padding:18px 6px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.rail>.mark{margin-bottom:22px}.rail-items{flex-direction:column;gap:4px;width:100%;margin:0;padding:0;list-style:none;display:flex}.rail-item{width:100%;color:var(--rail-label);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 0;text-decoration:none;display:flex;position:relative}.rail-item:hover{color:var(--on-primary)}.rail-item[aria-current=page]{background:var(--rail-active);color:var(--on-primary);font-weight:700}.rail :focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:10px}.rail-badge{border-radius:var(--r-chip);background:var(--gold);min-width:16px;height:16px;color:var(--ink);justify-content:center;align-items:center;padding:0 3px;font-size:10px;font-weight:700;display:flex;position:absolute;top:4px;right:14px}.rail-foot{flex-direction:column;align-items:center;width:100%;margin-top:auto;display:flex}.rail-avatar{border-radius:var(--r-chip);background:var(--gold);width:32px;height:32px;color:var(--ink);justify-content:center;align-items:center;margin-top:10px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.rail-avatar:hover{color:var(--ink)}.rail-avatar[aria-current=page]{box-shadow:0 0 0 3px var(--rail-active)}.rail .rail-avatar:focus-visible{border-radius:var(--r-chip)}.rail-switch{border-top:1px solid var(--rail-active);border-bottom:1px solid var(--rail-active);flex-direction:column;align-items:center;gap:2px;width:100%;margin:0 0 8px;padding:8px 0 10px;display:flex}.rail-switch-title{font-size:var(--fs-rail);letter-spacing:.04em;text-transform:uppercase;color:var(--rail-label);margin:0 0 4px;font-weight:700}.rail-switch-item{width:100%;color:var(--rail-label);font:400 var(--fs-rail) / 1.2 var(--font-body);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;display:flex}.rail-switch-item:hover{color:var(--on-primary)}.rail-switch-initials{border-radius:var(--r-chip);background:var(--rail-active);width:26px;height:26px;color:var(--on-primary);justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.rail-switch-item[aria-pressed=true]{background:var(--rail-active);color:var(--on-primary);font-weight:700}.rail-switch-item[aria-pressed=true] .rail-switch-initials{background:var(--gold);color:var(--ink)}.app-column{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}:is(.app-column>.app-main:has(>.notes-screen),.app-column>.app-main:has(>.code-screen)){flex-direction:column;display:flex}.app-column .notes-screen,.app-column .code-screen{flex:1;min-height:0}.demo-banner{background:var(--ink);color:var(--on-primary);flex-wrap:wrap;align-items:center;gap:4px 16px;padding:7px 36px;font-size:13px;line-height:1.4;display:flex}.demo-banner p{margin:0}.demo-banner a{color:var(--gold);white-space:nowrap;font-weight:600;text-decoration:none}.demo-banner a:hover{text-decoration:underline}.demo-banner form{margin-left:auto}.demo-banner-again{border:1px solid var(--rail-label);border-radius:var(--r-control);color:var(--on-primary);font:600 12.5px/1.4 var(--font-body);cursor:pointer;background:0 0;padding:3px 12px}.demo-banner-again:hover{border-color:var(--on-primary)}.demo-banner :focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (max-width:900px){.demo-banner{padding:7px 18px}}.not-here{text-align:center;max-width:520px;margin:56px auto 0}.not-here>.mark{opacity:.5;margin:0 auto}.not-here>h1{margin-top:26px;font-size:26px}.not-here>p{color:var(--muted);margin-top:10px}.not-here-actions{justify-content:center;gap:10px;margin-top:18px;display:flex}.not-here-actions .btn{padding:10px 16px}.toasts{z-index:50;pointer-events:none;justify-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:grid;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}body:has(.app-frame) .toasts{left:calc(50% + var(--rail-width) / 2);max-width:calc(100vw - var(--rail-width) - 32px)}.toast{background:var(--ink);color:var(--on-primary);font-size:var(--fs-small);pointer-events:auto;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;line-height:1.4;display:flex;box-shadow:0 12px 30px -12px #00000080}.toast-dot{border-radius:var(--r-chip);background:var(--gold);flex:none;width:8px;height:8px}.toast-dismiss{color:var(--rail-label);font-size:var(--fs-small);cursor:pointer;background:0 0;border:0;flex:none;margin-left:6px;padding:0}.toast-dismiss:hover{color:var(--on-primary)}.toast-dismiss:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.placeholder{gap:10px;max-width:560px;display:grid}.placeholder>p{color:var(--muted)}.page-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.page-head .dateline{color:var(--muted);font-size:13px}.page-head h1{margin-top:6px}.page-head .btn{padding:11px 18px;font-size:14px}.state-pill{border-radius:var(--r-chip);white-space:nowrap;border:1.5px solid #0000;padding:4px 11px;font-size:12px;font-weight:600;line-height:1.35;display:inline-block}.state-pill.proposed{border-color:var(--teacher);background:var(--page);color:var(--teacher-ink)}.state-pill.scheduled{background:var(--teacher-soft);color:var(--teacher-ink)}.state-pill.live,.state-pill.evidence-window{background:var(--observer-soft);color:var(--observer-ink)}.state-pill.summary{background:var(--pupils-soft);color:var(--pupils-ink)}.state-pill.closed,.state-pill.lapsed,.state-pill.cancelled{background:var(--neutral-soft);color:var(--muted)}.coverage-dots{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dot{border-radius:var(--r-chip);flex:none;width:14px;height:14px;display:inline-block}.dot.closed{background:var(--teacher)}.dot.scheduled{border:2px solid var(--teacher)}.dot.walk{border:1.5px dashed var(--secondary-border)}.dot.none{background:var(--neutral-fill)}.coverage-key{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.coverage-key>span{align-items:center;gap:5px;display:flex}.coverage-key .dot{width:10px;height:10px}.coverage-bar{border-radius:var(--r-chip);background:var(--track);display:flex;overflow:hidden}.coverage-bar.lg{height:12px}.coverage-bar.row{height:9px}.coverage-bar .observed{background:var(--teacher)}.coverage-bar .scheduled{background:var(--teacher-pale)}.coverage-bar.alert .observed{background:var(--observer)}.card.waiting,.card.coverage,.card.departments{overflow:hidden}.card-head .count{border-radius:var(--r-chip);background:var(--ink);min-width:22px;height:22px;color:var(--on-primary);justify-content:center;align-items:center;padding:0 5px;font-size:12px;font-weight:700;display:flex}.waiting ul,.agenda ul{margin:0;padding:0;list-style:none}.waiting li+li{border-top:1px solid var(--row)}.waiting a{color:inherit;gap:12px;padding:13px 20px;text-decoration:none;display:flex}.waiting li.with-quick{align-items:center;display:flex}.waiting li.with-quick>a{flex:1;min-width:0}.waiting li.with-quick>form{flex:none;padding-right:20px}.waiting a.with-action{padding:14px 20px}.waiting a:hover{background:var(--tint);color:inherit}.waiting a:focus-visible{outline-offset:-2px}.waiting .tone{border-radius:var(--r-chip);flex:none;width:8px;height:8px;margin-top:7px}.tone.almond{background:var(--observer)}.tone.plum{background:var(--pupils)}.tone.denim{background:var(--teacher)}.waiting .words{flex:1;gap:2px;display:grid}.waiting .words>b{font-size:14px}.waiting .words>span{color:var(--muted);font-size:13px}.waiting a.with-action .words>b{font-size:14.5px}.waiting a.with-action .words>span{font-size:var(--fs-small)}.waiting .action{font-size:var(--fs-small);color:var(--primary);flex:none;font-weight:600}.empty{font-size:var(--fs-small);color:var(--muted);padding:14px 20px}.card.agenda{padding:18px 20px}.card.agenda>h2{font:700 15px/1.3 var(--font-body);letter-spacing:0}.agenda ul{gap:8px;margin-top:10px;display:grid}.agenda a{background:var(--tint);color:inherit;font-size:var(--fs-small);border-radius:9px;padding:10px 12px;text-decoration:none;display:grid}.agenda a>span{color:var(--muted)}.agenda a.mine{border-left:3px solid var(--observer);background:var(--observer-soft)}.agenda a.no-observer{border:1px dashed var(--secondary-border)}.agenda a>span.alert{color:var(--destructive);font-weight:600}.agenda .empty{padding:8px 0 0}.next-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 0;padding:0;list-style:none;display:grid}.next-steps>li{background:var(--tint);border-radius:10px;padding:12px 14px;font-size:14px}.next-steps .n{margin-right:8px}.date-tile{border:1px solid var(--line);background:var(--tint);border-radius:10px;flex:none;justify-items:center;width:58px;padding:7px 0;display:grid}.date-tile>span{color:var(--muted);font-size:11px}.date-tile>b{font:600 24px/1 var(--font-display);letter-spacing:var(--ls-display)}.person-discs{display:inline-flex}.person-discs>i{border-radius:var(--r-chip);width:24px;height:24px;color:var(--on-primary);justify-content:center;align-items:center;font-size:10px;font-style:normal;font-weight:700;display:flex}.person-discs>i+i{box-sizing:content-box;border:2px solid var(--page);margin-left:-4px}.person-discs .lead{background:var(--teacher-ink)}.person-discs .guest{background:var(--observer-ink)}.today-grid{align-items:start;gap:22px;margin-top:22px;display:grid}.today-grid.teacher{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);margin-top:24px}.today-grid.wide{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.today-grid.first-run{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);margin-top:24px}.stack{gap:20px;display:grid}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.card .top{justify-content:space-between;align-items:center;gap:12px;display:flex}.card .top>h2,.what-happens>h2{font:700 15px/1.3 var(--font-body);letter-spacing:0}.card .top .meta,.card-head .meta{color:var(--muted);font-size:13px}.card .when{align-items:center;gap:16px;margin-top:16px;display:flex}.card .when>div{display:grid}.card .when>div>b{font-size:16px}.card .when>div>span{font-size:var(--fs-small);color:var(--muted)}.card .focus{border-top:1px solid var(--grid-line);gap:3px;margin-top:16px;padding-top:14px;display:grid}.card .focus>p{margin-top:1px}.card .focus>.small{color:var(--muted);font-size:12.5px}.card .actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.card .actions .error{font-size:var(--fs-small);color:var(--destructive);flex-basis:100%}.next-observation{padding:20px 22px}.next-observation .observers{font-size:var(--fs-small);align-items:center;gap:12px;margin-top:14px;display:flex}.next-observation .nothing{color:var(--muted);margin-top:14px;font-size:14.5px}.last-steps{border-left:3px solid var(--teacher);margin-top:22px;padding:18px 22px}.last-steps .foot{color:var(--muted);margin-top:12px;font-size:13px}.today-foot{font-size:var(--fs-small);color:var(--muted);flex-wrap:wrap;gap:26px;margin-top:22px;display:flex}.today-foot b{color:var(--ink)}.today-foot a{color:var(--primary);margin-left:auto;font-weight:600;text-decoration:none}.today-foot a:hover{text-decoration:underline}.card.invite{border-left:3px solid var(--pupils);max-width:760px;margin-top:24px;padding:20px 22px}.card.invite .actions .btn{padding:10px 18px}.peer-note{background:var(--pupils-soft);color:var(--pupils-ink);border-radius:8px;margin-top:14px;padding:10px 12px;font-size:12.5px}.one-thing{border-left:3px solid var(--teacher);justify-items:start;padding:22px 24px;display:grid}.one-thing .eyebrow{color:var(--teacher-ink)}.one-thing>h2{letter-spacing:-.02em;margin-top:8px;font-size:22px;line-height:1.2}.one-thing>p{color:var(--muted);margin-top:8px;font-size:14.5px}.one-thing>.reminded{color:var(--observer-ink);font-weight:600}.one-thing .week{grid-template-columns:repeat(5,1fr);gap:3px;width:100%;max-width:260px;margin-top:12px;display:grid}.one-thing .week>i{background:var(--neutral-fill);border-radius:3px;height:16px}.one-thing>.btn{margin-top:18px;padding:10px 18px}.what-happens{padding:18px 20px}.what-happens ul{font-size:var(--fs-small);color:var(--muted);gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.what-happens li{gap:10px;display:flex}.what-happens li b{color:var(--ink)}.what-happens .tone{border-radius:var(--r-chip);flex:none;width:10px;height:10px;margin-top:6px}.what-happens>p{color:var(--muted);margin-top:14px;font-size:13px}.first-run-foot{font-size:var(--fs-small);color:var(--muted);margin-top:22px}.coverage ul,.departments ul{margin:0;padding:0;list-style:none}.coverage li,.departments li{border-bottom:1px solid var(--row);font-size:var(--fs-small);align-items:center;gap:14px;display:grid}.coverage li{grid-template-columns:minmax(0,1.3fr) 150px minmax(0,1.4fr) 92px;min-height:66px;padding:12px 20px}.departments li{grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) 110px 70px;padding:13px 20px}.departments li:last-child{border-bottom:0}.coverage li.alert,.departments li.alert{background:var(--tint)}.coverage .who,.departments .who{display:grid}.coverage .who>span,.departments .who>span{color:var(--muted);font-size:12.5px}.coverage .note,.departments .counts{color:var(--muted)}.coverage li.alert .note,.departments li.alert .counts,.departments li.alert .who>span{color:var(--destructive)}.departments li.alert .counts,.departments li.alert .who>span{font-weight:600}.departments .counts{font-variant-numeric:tabular-nums}.coverage .link-action,.departments .link-action{text-align:right}.coverage .foot{border-top:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 20px;font-size:13px;display:flex}.coverage ul+.foot{margin-top:-1px}.coverage .foot b{color:var(--ink)}.school-coverage{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:24px;margin-top:22px;padding:18px 22px;display:grid}.school-coverage .total{color:var(--muted);align-items:baseline;gap:6px;font-size:14px;display:flex}.school-coverage .total .num{color:var(--ink);font-size:32px;line-height:1}.school-coverage .caption{color:var(--muted);margin-top:4px;font-size:13px}.school-coverage .legend{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:8px;font-size:12.5px;display:flex}.school-coverage .legend b{color:var(--ink)}.school-coverage .legend .left{margin-left:auto}@media (max-width:900px){.app-main{padding:24px 18px}.today-grid.teacher,.today-grid.wide,.today-grid.first-run,.next-steps,.school-coverage{grid-template-columns:minmax(0,1fr)}.coverage li,.departments li{grid-template-columns:minmax(0,1fr) auto}.page-head{flex-wrap:wrap}}.public-card{min-height:100vh;font:400 var(--fs-body) / 1.55 var(--font-body);justify-content:center;align-items:center;padding:40px 20px;display:flex}.public-card .over{color:var(--muted);margin-top:28px;font-size:13px}.public-card h1{margin-top:28px;font-size:30px;line-height:1.12}.public-card .over+h1{margin-top:6px}.public-card .lede{color:var(--muted);margin-top:10px}.public-card .lede b{color:var(--ink)}.public-form{gap:12px;margin-top:26px;display:grid}.public-form .field{gap:6px}.public-form .field>label{font-size:13px}.public-form .input.large{padding:12px 14px;font-size:14.5px}.public-form .notice{border-radius:var(--r-control);background:var(--observer-soft);color:var(--observer-ink);font-size:var(--fs-small);padding:10px 12px}.public-card .small-print{color:var(--muted);margin-top:18px;font-size:12.5px}.public-card .small-print a,.public-actions a:not(.btn){color:var(--primary);font-weight:600;text-decoration:none}.public-card .small-print a:hover,.public-actions a:not(.btn):hover{text-decoration:underline}.public-note{font-size:var(--fs-small);color:var(--muted);margin-top:22px;padding:18px 20px}.public-note b{color:var(--ink)}.public-note p{margin-top:6px}.public-actions{font-size:var(--fs-small);color:var(--muted);flex-wrap:wrap;align-items:flex-start;gap:10px 14px;margin-top:18px;display:flex}.public-actions>span{padding:10px 0}.public-actions .btn{padding:10px 16px}.resend-status{color:var(--muted);margin-top:6px;font-size:12.5px}.resend-status:empty{display:none}.you-are{margin-top:22px;padding:18px 20px;display:grid}.you-are>b{margin-top:6px;font-size:16px;font-weight:600}.you-are .chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.you-are>p{color:var(--muted);margin-top:10px;font-size:12.5px}.sign-in-with{gap:6px;margin-top:14px}.sign-in-with .label{font-size:12.5px}.sign-in-with+form{margin-top:16px}.sign-in-with+form .error{font-size:var(--fs-small);color:var(--destructive);margin-top:8px}.membership-chip{background:var(--neutral-soft);color:var(--muted);border-radius:6px;padding:3px 9px;font-size:12px;display:inline-block}.membership-chip.curriculum-leader{background:var(--observer-soft);color:var(--observer-ink);font-weight:600}.membership-chip.slt{background:var(--teacher-soft);color:var(--teacher-ink);font-weight:600}.back-link{color:var(--muted);font-size:13px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--primary)}.page-head.bottom{align-items:flex-end;margin-top:8px}.page-head.bottom h1{margin-top:0}.page-head .lede{color:var(--muted);margin-top:6px;font-size:14px}.status-chip{border-radius:var(--r-chip);background:var(--neutral-soft);color:var(--muted);white-space:nowrap;flex:none;padding:5px 12px;font-size:12.5px;font-weight:600}.status-chip.verified,.status-chip.filled-in{background:var(--teacher-soft);color:var(--teacher-ink)}.status-chip.not-started{background:var(--observer-soft);color:var(--observer-ink)}.empty-words{color:var(--muted);margin-top:22px;padding:22px 24px}.week-grid{border-collapse:collapse;table-layout:fixed;width:100%}.week-grid thead th,.week-grid thead td{border-bottom:1px solid var(--line-soft);background:var(--tint);text-align:left;padding:11px 12px;font-size:13px;font-weight:600}.week-grid thead td{width:78px}.week-grid thead th,.week-grid tbody td{border-left:1px solid var(--grid-line)}.week-grid thead th .sub{color:var(--muted);font-weight:400}.week-grid tbody th[scope=row]{color:var(--muted);text-align:left;vertical-align:top;padding:8px 12px;font-size:12px;font-weight:400;line-height:1.3}.week-grid tbody th[scope=row] b{color:var(--ink);display:block}.week-grid tbody td{vertical-align:top;height:60px;padding:0}.week-grid tbody tr:not(.band)+tr:not(.band) td{border-top:1px solid var(--row)}.week-grid tr.band th{vertical-align:middle;border-top:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);background:var(--tint);height:60px;color:var(--muted);padding:6px 12px;font-size:11.5px}.week-grid.picker thead td{width:44px}.week-grid.picker tbody td{height:56px}.timetable-layout{grid-template-columns:minmax(0,1fr) 268px;align-items:start;gap:22px;margin-top:22px;display:grid}.week-card{overflow:hidden}.slot-block,.slot-edit{border-radius:var(--r-control);border:1.5px solid #0000;flex-direction:column;min-height:48px;margin:6px;padding:6.5px 8.5px;font-size:13px;line-height:1.55;display:flex}.slot-block,.slot-edit.filled{background:var(--row)}.slot-block b{font-weight:700}.slot-block span{color:var(--muted);font-size:12px}.slot-edit input{width:100%;min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;padding:0;line-height:1.55}.slot-edit input:focus-visible{outline:none}.slot-edit .code{font-weight:700}.slot-edit .room{color:var(--muted);font-size:12px}.slot-edit input::placeholder{color:#0000}.slot-edit:not(.filled):not(:focus-within) .room{visibility:hidden}.slot-edit:hover{border-color:var(--teacher-pale)}.slot-edit:focus-within{border-color:var(--primary);background:var(--page)}.slot-edit:focus-within .code{font-weight:400}.slot-edit:focus-within input::placeholder,.slot-edit:hover input::placeholder{color:var(--placeholder)}.slot-edit.filled:not(:focus-within):hover input::placeholder{color:var(--muted)}.timetable-side .card{padding:18px 20px}.timetable-side .card+.card{margin-top:16px}.timetable-side h2{font:700 15px/1.3 var(--font-body);letter-spacing:0}.timetable-side p{color:var(--muted);margin-top:12px;font-size:13px}.this-week .totals{gap:22px;margin:12px 0 0;display:flex}.this-week .totals dd{font:600 24px/1 var(--font-display);letter-spacing:var(--ls-display);margin:0}.this-week .totals dt{color:var(--muted);margin-top:4px;font-size:12.5px}.this-week .totals>div{flex-direction:column;display:flex}.class-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.class-chip{border:1px solid var(--line);border-radius:var(--r-chip);background:var(--page);font:400 12.5px/1.5 var(--font-body);color:var(--ink);cursor:pointer;padding:4px 10px}.class-chip:hover{border-color:var(--teacher);color:var(--primary)}.this-week .hint:empty{display:none}.unsaved .eyebrow{color:var(--observer-ink)}.unsaved h2{margin-top:4px}.unsaved p{margin-top:6px;font-size:13.5px}.unsaved .error{color:var(--destructive);margin:10px 0 0;padding-left:18px;font-size:13px}.unsaved .btn{white-space:normal;margin-top:12px}.timetable-side .foot-note{margin-top:14px;font-size:12.5px}@media (max-width:900px){.timetable-layout{grid-template-columns:minmax(0,1fr)}.week-card{overflow-x:auto}.week-card .week-grid{min-width:640px}}.queue-counts{gap:22px;margin:20px 0 0;font-size:13.5px;display:flex}.queue-counts>div{align-items:baseline;gap:5px;display:flex}.queue-counts dd{font:600 22px/1 var(--font-display);letter-spacing:var(--ls-display);margin:0}.queue-counts dt{color:var(--muted)}.queue-counts .awaiting dd{color:var(--teacher-ink)}.queue-counts .not-started dd{color:var(--observer-ink)}.queue{margin-top:18px;position:relative;overflow:hidden}.queue table{border-collapse:collapse;width:100%;font-size:var(--fs-table)}.queue th,.queue td{border-bottom:1px solid var(--row);text-align:left;color:var(--muted);padding:13px 7px}.queue th:first-child{padding-left:20px}.queue td:last-child,.queue th:last-child{padding-right:20px}.queue thead th{letter-spacing:.06em;text-transform:uppercase;padding-top:10px;padding-bottom:10px;font-size:11.5px;font-weight:700}.queue thead th:nth-child(2){width:164px}.queue thead th:nth-child(3){width:154px}.queue thead th:nth-child(5){width:160px}.queue tbody th{color:var(--ink);font-weight:700}.queue tbody th a{text-decoration:none}.queue tbody th .you{color:var(--muted);font-weight:400}.queue tr.filled-in .status{color:var(--teacher-ink);font-weight:600}.queue tr.not-started .status{color:var(--observer-ink);font-weight:600}.queue .act{text-align:right;padding-top:4px;padding-bottom:4px}.queue .act .btn{padding:8px 16px}.queue .act .open{color:var(--muted);font-size:13px;text-decoration:none}.queue .act .open:hover{color:var(--primary);text-decoration:underline}.queue-foot{background:var(--tint);color:var(--muted);padding:12px 20px;font-size:13px}@media (max-width:760px){.queue{overflow-x:auto}.queue table{min-width:640px}}.state-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;padding:6px 0 0;font-size:12px;list-style:none;display:flex}.state-line>li{white-space:nowrap;align-items:center;gap:6px;display:flex}.state-line>li+li:before{content:"·"}.state-line .state-pill{font-weight:700}.state-line>li.side:before{content:"";width:10px}.page-head.bottom .segmented{flex:none;font-size:13.5px}.page-head.bottom .segmented>a{padding:7px 14px}.slot-picker{grid-template-columns:196px minmax(0,1fr) 256px;align-items:start;gap:18px;margin-top:22px;display:grid}.slot-picker.ask{grid-template-columns:236px minmax(0,1fr) 280px}.slot-picker.move{grid-template-columns:minmax(0,1fr) 300px;gap:22px}.slot-picker>.card{overflow:hidden}.picker-head{border-bottom:1px solid var(--line-soft);background:var(--tint);font:600 13px/1.4 var(--font-body);letter-spacing:0;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:12px 16px;display:flex}.picker-head h2{font:inherit;letter-spacing:0}.picker-foot{border-top:1px solid var(--line-soft);color:var(--muted);padding:10px 16px;font-size:12.5px}.picker-people ul{margin:0;padding:0;list-style:none}.picker-empty{color:var(--muted);padding:14px 16px;font-size:13px}.picker-people li+li{border-top:1px solid var(--row)}.picker-people li>a,.picker-people li>.unavailable{color:var(--ink);align-items:center;gap:10px;padding:11px 16px;font-size:13.5px;text-decoration:none;display:flex}.picker-people li>a:hover,.picker-people li>a[aria-current=true]{background:var(--teacher-soft);color:var(--ink)}.picker-people li>a:focus-visible{outline-offset:-2px}.picker-people .dot{width:10px;height:10px}.picker-people .who{flex:1;min-width:0}.picker-people .who b{display:block}.picker-people .note,.picker-people .trailing{color:var(--muted);font-size:12px}.picker-people .note.alert{color:var(--observer-ink)}.picker-people .trailing{flex:none}.disc{border-radius:var(--r-chip);background:var(--neutral-fill);width:28px;height:28px;color:var(--muted);font:700 10.5px/1 var(--font-body);flex:none;justify-content:center;align-items:center;font-style:normal;display:inline-flex}.picker-people a[aria-current=true] .disc{background:var(--primary);color:var(--on-primary)}.week-switch{gap:2px;font-size:12.5px;font-weight:400;display:flex}.week-switch a{border-radius:var(--r-chip);color:var(--muted);border:1px solid #0000;padding:4px 10px;text-decoration:none}.week-switch a[aria-current=true]{border-color:var(--line);background:var(--page);color:var(--ink);font-weight:600}.week-grid.picker thead th,.week-grid.picker thead td{border-bottom:1px solid var(--line-soft);background:var(--page);padding:9px 8px;font-size:12.5px}.week-grid.picker thead th .sub{color:inherit;font-weight:600}.week-grid.picker tbody th[scope=row]{text-align:right;padding:6px 8px;font-size:11px}.week-grid.picker tbody th[scope=row] b{color:var(--muted);font-weight:400}.week-grid.picker tbody th[scope=row] .time{display:none}.week-grid.picker tbody tr+tr td{border-top-color:var(--row)}.slot-cell{border:1px solid var(--teacher-pale);border-radius:var(--r-control);background:var(--teacher-soft);color:var(--muted);margin:5px;padding:7px 9px;font-size:12.5px;line-height:1.45;text-decoration:none;display:block}.slot-cell b{color:var(--teacher-ink);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.slot-cell>span{white-space:nowrap;min-height:1.45em;display:block}a.slot-cell:hover{border-color:var(--teacher);color:var(--muted)}a.slot-cell[aria-current=true],a.slot-cell[aria-current=true]:hover{border-color:var(--primary);background:var(--primary);color:#ffffffd9}a.slot-cell[aria-current=true] b{color:var(--on-primary)}.slot-cell.past{background:var(--neutral-soft);color:var(--muted);border-color:#0000;font-size:12px}.slot-cell.current{border:0;border-left:3px solid var(--observer);background:var(--observer-soft)}.slot-cell.current b{color:var(--observer-ink)}.picker-summary{padding:20px 22px}.picker-summary h2{font:700 15px/1.3 var(--font-body);letter-spacing:0}.picker-summary .when{color:var(--muted);margin-top:2px;font-size:13.5px}.picker-summary .eyebrow{margin-top:16px;display:block}.picker-summary .value{margin-top:4px;font-size:14.5px}.picker-summary .field-block .input,.picker-summary .field-block .textarea{border-radius:var(--r-control);margin-top:6px;padding:10px 12px;font-size:13.5px}.picker-summary .field-block .textarea{resize:vertical;min-height:0;display:block}.picker-summary .hint{color:var(--muted);margin-top:5px;font-size:12px}.picker-summary .field-block+.field-block .eyebrow,.picker-summary .observers .eyebrow{margin-top:14px}.add-guest summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:13.5px;list-style:none;display:flex}.add-guest summary::-webkit-details-marker{display:none}.add-guest .you{align-items:center;gap:8px;display:flex}.add-guest .you .disc{background:var(--observer-ink);width:24px;height:24px;color:var(--on-primary);font-size:10px}.add-guest .add{color:var(--primary);font-weight:600}.add-guest .select{border-radius:var(--r-control);margin-top:8px;padding:9px 10px;font-size:13.5px}.type-note{border:1px solid var(--field-border);border-radius:var(--r-control);background:var(--page);color:var(--muted);margin-top:16px;padding:10px 12px;font-size:12.5px}.type-note b{color:var(--ink)}.arrange-form .error{color:var(--destructive);margin-top:12px;font-size:13px}.arrange-form .btn.block{white-space:normal;margin-top:16px;padding:12px;font-size:14px}@media (max-width:1000px){.slot-picker,.slot-picker.ask,.slot-picker.move{grid-template-columns:minmax(0,1fr)}.slot-picker>.picker-week{overflow-x:auto}.picker-week .week-grid{min-width:560px}}.room-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-top:8px;display:flex}.room-head .meta{color:var(--muted);font-size:13px}.room-head h1{margin-top:4px}.room-head .state-line{flex:none;max-width:100%}.room-facts{border-top:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);justify-content:space-between;align-items:flex-start;gap:12px 24px;margin-top:14px;padding:12px 0;font-size:13.5px;display:flex}.room-facts .facts{flex-wrap:wrap;align-items:baseline;gap:10px 28px;min-width:0;padding-top:10px;display:flex}.room-facts .label{color:var(--muted);margin-right:6px}.room-facts .acts{flex:none;gap:10px;display:flex}.room-facts .acts .btn{padding:10px 16px}.focus-edit{vertical-align:top;margin-left:8px;display:inline-block}.focus-edit summary{color:var(--primary);cursor:pointer;font-weight:600;list-style:none;display:inline}.focus-edit summary::-webkit-details-marker{display:none}.focus-edit form{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.focus-edit .input{width:min(420px,60vw);max-width:100%;padding:9px 12px;font-size:13.5px}@media (max-width:480px){.focus-edit{margin-left:0;display:block}.focus-edit .input{width:100%}}.room-body{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:22px;margin-top:22px;display:grid}.room-main{gap:16px;display:grid}.room-body .panel{padding:18px 20px}.room-body .panel h2{font:700 15px/1.3 var(--font-body);letter-spacing:0}.room-body .panel p{color:var(--muted);margin-top:6px;font-size:13.5px}.room-body .panel p.small{margin-top:10px;font-size:13px}.room-body .panel p b{color:var(--ink)}.room-body .panel.alert{border-left:3px solid var(--observer)}.room-body .panel form,.room-body .panel>.btn,.room-body .panel .row-actions{margin-top:12px}.room-body .panel .row-actions{flex-wrap:wrap;gap:10px;display:flex}.room-body .panel .row-actions form{margin-top:0}.room-body .panel .actions,.room-body .with-pill{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.room-body .with-pill.apart{flex-wrap:nowrap;justify-content:space-between;align-items:flex-start}.room-body .with-pill.apart .state-pill{flex:none}.room-body .panel p.quoted{color:var(--ink)}.cancel-dialog{border:1px solid var(--line);border-radius:var(--r-card);background:var(--page);width:min(420px,100vw - 32px);color:var(--ink);padding:20px 22px;box-shadow:0 16px 40px -24px #00000059}.cancel-dialog::backdrop{background:#262b3152}.cancel-dialog .eyebrow{color:var(--observer-ink)}.cancel-dialog h2{font:700 16px/1.3 var(--font-body);letter-spacing:0;margin-top:6px}.cancel-dialog p{color:var(--muted);margin-top:6px;font-size:13.5px}.cancel-dialog fieldset{border:0;gap:6px;margin:12px 0 0;padding:0;font-size:13.5px;display:grid}.cancel-dialog fieldset label{border:1px solid var(--line);border-radius:var(--r-control);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;display:flex}.cancel-dialog fieldset label:has(input:checked){border-color:var(--teacher-pale);background:var(--teacher-soft)}.cancel-dialog fieldset input{width:14px;height:14px;accent-color:var(--primary);margin:0}.cancel-dialog .actions{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:16px;font-size:13.5px;display:flex}.cancel-dialog .actions .btn{padding:10px 18px}.cancel-dialog .link-action.quiet{color:var(--muted);font:600 13.5px/1.35 var(--font-body);margin-left:auto}.cancel-dialog .foot{margin-top:12px;font-size:12.5px}.cancel-dialog .error{color:var(--destructive)}.picker-summary .value.small{font-size:13.5px}.picker-summary .value.replaced{color:var(--muted)}.picker-summary .hint.after{margin-top:14px;font-size:12.5px}@media (max-width:1000px){.room-body{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.room-head{flex-direction:column;gap:8px}.room-facts{flex-direction:column}}.app-main:has(>.notes-screen){padding:0}.notes-screen{flex-direction:column;min-height:100vh;display:flex}.notes-head{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:18px 36px;display:flex}.notes-head .back{color:var(--muted);white-space:nowrap;font-size:13px;text-decoration:none}.notes-head .back:hover{color:var(--primary)}.notes-what{flex-direction:column;min-width:0;display:flex}.notes-what b{font-size:16px;font-weight:700}.notes-what span{color:var(--muted);font-size:13px}.notes-live{border:0;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.notes-live i,.notes-waiting i{background:var(--observer);border-radius:99px;width:7px;height:7px}.notes-focus{border:1px solid var(--line);border-radius:var(--r-chip);background:var(--tint);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:320px;padding:5px 12px;font-size:12.5px;overflow:hidden}.notes-others{color:var(--muted);text-align:right;margin-left:auto;font-size:12.5px}.note-lines{flex-direction:column;flex:1;gap:10px;max-width:892px;margin:0;padding:22px 36px;list-style:none;display:flex}.note-lines li{gap:14px;font-size:14.5px;line-height:1.5;display:flex}.note-lines time{width:44px;color:var(--observer-ink);font-variant-numeric:tabular-nums;flex:none;padding-top:2px;font-size:12.5px;font-weight:700}.note-lines li.pending span{color:var(--muted)}.note-lines li.pending small{font-size:12px}.note-lines li.none{color:var(--muted)}.notes-dock{border-top:1px solid var(--line);background:var(--tint);padding:16px 36px 0;position:sticky;bottom:0}.notes-dock>*{max-width:820px}.notes-add{border:1px solid var(--secondary-border);background:var(--page);border-radius:12px;align-items:center;gap:12px;padding:4px 16px 4px 4px;display:flex}.notes-add:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--teacher-soft)}.notes-add input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;flex:1;padding:10px 12px;font-size:15px}.notes-add input:focus{outline:none}.notes-add input::placeholder{color:var(--placeholder)}.notes-add kbd{background:var(--row);color:var(--muted);font:inherit;border-radius:6px;padding:3px 8px;font-size:11.5px}.notes-add-btn{background:var(--ink);color:var(--page);font:inherit;cursor:pointer;border:0;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;display:none}.notes-hints{color:var(--muted);align-items:center;gap:18px;margin-top:10px;font-size:12.5px;display:flex}.notes-waiting{white-space:nowrap;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.notes-waiting i{background:var(--gold)}.notes-closed,.notes-refusal{margin:0;font-size:14px}.notes-refusal{color:var(--destructive);margin-top:8px;font-size:13px}.notes-submit{background:var(--tint);padding:18px 36px 22px}.notes-submit-row{border-top:1px solid var(--line);max-width:820px;color:var(--muted);justify-content:space-between;align-items:center;gap:18px;margin:0;padding-top:16px;font-size:13px;display:flex}.notes-submit-row p{flex:1;margin:0}.notes-submit-row .notes-error{color:var(--destructive)}.notes-submit-row .btn{padding:10px 18px}.notes-submit-row .btn:not(.primary){color:var(--ink)}.notes-hints .on-tablet{display:none}.notes-submit-form{max-width:820px}.mark-step{border:1px solid var(--line);border-radius:var(--r-card);background:var(--page);margin:0 0 4px;padding:18px 20px 6px}.mark-step-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.mark-step h2{margin:0 0 4px;font-size:17px}.notes-dock.marking{display:none}.mark-step h2:focus{outline:none}.mark-step>p{color:var(--muted);max-width:62ch;margin:0 0 14px;font-size:13.5px}.mark-rows{margin:0;padding:0;list-style:none}.mark-rows li{border-top:1px solid var(--row)}.mark-rows fieldset{border:0;justify-content:space-between;align-items:center;gap:18px;min-width:0;margin:0;padding:10px 0;display:flex}.mark-rows legend{float:left;color:var(--ink);padding:0;font-size:14.5px}.mark-rows li.unmarked legend{color:var(--observer-ink)}.mark-choice{border:1px solid var(--line);border-radius:var(--r-chip);background:var(--tint);flex:none;gap:2px;padding:3px;font-size:13px;display:inline-flex}.mark-choice label{border-radius:var(--r-chip);color:var(--muted);cursor:pointer;white-space:nowrap;padding:6px 12px;position:relative}.mark-choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.mark-choice label.on{background:var(--observer-ink);color:var(--on-primary);font-weight:600}.mark-choice label.on.partly{background:var(--observer-soft);color:var(--observer-ink);box-shadow:inset 0 0 0 1.5px var(--observer)}.mark-choice label.on.not_seen{background:var(--ink)}.mark-choice label:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.marks-locked{padding:0 36px 18px}.marks-locked h2{margin:0 0 8px;font-size:15px}.marks-locked ul{max-width:820px;margin:0;padding:0;list-style:none}.marks-locked li{border-top:1px solid var(--row);justify-content:space-between;gap:18px;padding:7px 0;font-size:13.5px;display:flex}.marks-locked .mark{color:var(--observer-ink);flex:none;font-weight:600}.marks-locked .mark.not_seen{color:var(--ink)}.marks-locked .mark.partly{color:var(--muted)}@media (max-width:1100px),(pointer:coarse){body:has(.notes-screen) .rail{display:none}.notes-head{gap:14px;padding:14px 22px}.notes-others{display:none}.notes-hints{justify-content:space-between}.notes-hints .on-desktop{display:none}.notes-hints .on-tablet{display:inline}.notes-focus{background:0 0;border:0;margin-left:auto;padding:0}.note-lines{flex:none;gap:12px;padding:18px 22px}.note-lines li{font-size:16px}.note-lines time{width:48px;padding-top:3px;font-size:13px}.notes-submit{background:0 0;flex:1;order:2;padding:0 22px 22px}.notes-dock{order:3;padding:14px 22px 18px}.notes-add{border-radius:14px;padding:6px}.notes-add input{font-size:17px}.notes-add kbd{display:none}.notes-add-btn{display:block}.mark-step{padding:18px 18px 8px}.mark-step h2{font-size:19px}.mark-step>p{font-size:15px}.mark-rows fieldset{flex-direction:column;align-items:stretch;gap:8px;padding:12px 0}.mark-rows legend{float:none;font-size:16px}.mark-choice{font-size:15px;display:flex}.mark-choice label{text-align:center;white-space:normal;flex:1;justify-content:center;align-items:center;min-height:44px;padding:8px 10px;display:flex}.marks-locked{padding:0 22px 18px}.marks-locked li{font-size:15px}}@media (max-width:760px){.notes-head{flex-wrap:wrap}.notes-hints,.notes-submit-row{flex-direction:column;align-items:stretch;gap:8px}.notes-waiting{margin-left:0}}body:has(.code-screen) .rail{display:none}.app-main:has(>.code-screen){padding:0}.code-screen{background:var(--rail);min-height:100vh;color:var(--page);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px;display:flex}.code-screen a:focus-visible,.code-screen button:focus-visible,.code-screen input:focus-visible{outline-color:var(--page)}.code-kicker{color:var(--rail-label);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:14px;font-weight:700}.code-main{align-items:center;gap:60px;margin-top:36px;display:flex}.code-qr{background:var(--page);border-radius:18px;flex:none;width:220px;height:220px;padding:18px}.code-qr svg{width:100%;height:100%;display:block}.code-type{text-align:left}.code-type p{color:var(--rail-label);margin:0;font-size:15px}.code-type .code-host{color:var(--page);font:600 30px/1.1 var(--font-display);margin-top:4px}.code-type .code-tiles{gap:10px;margin-top:22px;display:flex}.code-tiles span{background:var(--page);width:64px;height:76px;color:var(--ink);font:600 38px var(--font-display);border-radius:14px;justify-content:center;align-items:center;display:flex}.code-type p:last-child{margin-top:18px;font-size:14px}.code-foot{color:var(--rail-label);flex-wrap:wrap;justify-content:center;gap:8px 24px;margin:36px 0 0;font-size:13.5px;display:flex}.code-foot a{color:var(--page);font-weight:600;text-decoration:none}.code-foot a:hover{color:var(--page);text-decoration:underline}.code-ask{max-width:560px;margin-top:28px}.code-ask h1{color:var(--page);margin:0;font-size:30px;line-height:1.15}.code-ask p{color:var(--rail-label);margin:12px 0 0}.code-ask-buttons{justify-content:center;gap:12px;margin-top:24px;display:flex}.code-ask input[type=number]{border:1px solid var(--field-border);border-radius:var(--r-control);background:var(--page);width:110px;color:var(--ink);font:600 22px var(--font-display);text-align:center;padding:10px 14px}.code-ask .btn.primary{border-color:var(--page);background:var(--page);color:var(--ink)}.code-ask .code-error{color:var(--gold)}@media (max-width:760px){.code-screen{padding:28px 18px}.code-main{flex-direction:column;gap:28px}.code-type{text-align:center}.code-type .code-tiles{justify-content:center}.code-tiles span{width:52px;height:64px;font-size:30px}}.legs-dots{vertical-align:middle;align-items:center;gap:5px;display:inline-flex}.legs-dots i{box-sizing:border-box;border:1.5px solid var(--secondary-border);border-radius:99px;width:12px;height:12px}.legs-dots i.observer.open{border-color:var(--observer)}.legs-dots i.pupils.open{border-color:var(--pupils)}.legs-dots i.teacher.open{border-color:var(--teacher)}.legs-dots i.observer.in{border-color:var(--observer);background:var(--observer)}.legs-dots i.pupils.in{border-color:var(--pupils);background:var(--pupils)}.legs-dots i.teacher.in{border-color:var(--teacher);background:var(--teacher)}.room-facts .aside{color:var(--muted);text-align:right;align-self:center;margin:0 0 0 auto}.room-head h1 .optional{vertical-align:middle;border-radius:var(--r-chip);background:var(--teacher-soft);color:var(--teacher-ink);font:600 12px/1.4 var(--font-body);letter-spacing:0;margin-left:10px;padding:3px 10px}.prediction-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;margin-top:22px;display:grid}.prediction-form{flex-direction:column;gap:16px;display:flex}.prediction-card{border:1px solid var(--line);border-top:3px solid var(--teacher);border-radius:var(--r-card);padding:18px 22px 8px}.prediction-card h2{letter-spacing:-.02em;margin:0;font-size:20px;line-height:1.3}.prediction-lead{color:var(--muted);max-width:64ch;margin:6px 0 14px;font-size:13.5px}.tap-rows{margin:0;padding:0;list-style:none}.tap-rows li{border-top:1px solid var(--row)}.tap-rows fieldset{border:0;min-width:0;margin:0;padding:12px 0}.tap-rows legend{float:left;width:100%;padding:0 0 8px}.tap-no{color:var(--teacher-ink);letter-spacing:.07em;text-transform:uppercase;font-size:11.5px;font-weight:700;display:block}.tap-statement{color:var(--ink);font-size:15.5px;display:block}.tap-choice{clear:both;border:1px solid var(--line);border-radius:var(--r-chip);background:var(--tint);gap:2px;padding:3px;font-size:13px;display:flex}.tap-choice label{border-radius:var(--r-chip);min-height:34px;color:var(--muted);text-align:center;cursor:pointer;flex:1;justify-content:center;align-items:center;padding:6px 8px;display:flex;position:relative}.tap-choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.tap-choice label.on{background:var(--teacher-ink);color:var(--on-primary);font-weight:600}.tap-choice label:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.tap-rows.locked li{grid-template-columns:56px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:10px 0;display:grid}.tap-rows.locked .tap-made{color:var(--teacher-ink);font-size:13.5px}.prediction-says{margin:0}.prediction-foot{justify-content:space-between;align-items:center;gap:16px;padding-top:6px;display:flex}.prediction-foot p{color:var(--muted);margin:0;font-size:13px}.prediction-foot p.unsaved{color:var(--destructive)}.prediction-foot.end{justify-content:flex-end}.prediction-foot div{gap:10px;display:flex}.prediction-foot .btn{padding:10px 16px}.prediction-grid aside{flex-direction:column;gap:16px;display:flex}.prediction-grid aside .card{padding:18px 20px}.prediction-grid aside .card.tinted{background:var(--tint)}.prediction-grid aside h2{font:700 15px/1.4 var(--font-body);letter-spacing:0;margin:0}.prediction-grid aside p{color:var(--muted);margin:8px 0 0;font-size:13.5px}.legs-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;font-size:13.5px;list-style:none;display:flex}.legs-list li{align-items:center;gap:10px;display:flex}@media (max-width:1000px){.prediction-grid{grid-template-columns:minmax(0,1fr)}.room-facts .aside{text-align:left;margin-left:0}}@media (max-width:760px){.prediction-foot{flex-direction:column;align-items:stretch}.prediction-foot div{flex-wrap:wrap}.prediction-foot .btn{text-align:center;flex:auto}.tap-choice{flex-wrap:wrap}.tap-choice label{flex:30%;min-height:40px}}.week-grid thead th b{font-weight:inherit}.week-grid .today-pill,.week-grid .day-note{display:none}.calendar-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.calendar-head .left,.calendar-head .right{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.week-nav{align-items:center;gap:4px;font-size:13.5px;display:flex}.week-nav b{white-space:nowrap;padding:0 10px;font-weight:600}.week-nav .step,.week-nav .today{border:1px solid var(--line);border-radius:var(--r-control);height:30px;color:var(--muted);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.week-nav .step{width:30px}.week-nav .today{margin-left:6px;padding:0 12px;font-size:13px}.week-nav .mine{color:var(--primary);margin-left:14px;font-size:13px;font-weight:600;text-decoration:none}.week-nav .mine:hover{text-decoration:underline}.week-nav .step:hover,.week-nav .today:hover{border-color:var(--teacher);color:var(--primary)}.calendar-head .btn{padding:10px 16px;font-size:14px}.calendar-card{margin-top:20px;overflow:hidden}.week-grid.calendar thead td{width:64px}.week-grid.calendar thead th,.week-grid.calendar thead td{background:var(--page);padding:12px;font-size:13.5px;font-weight:400}.week-grid.calendar thead th b{font-weight:700}.week-grid.calendar thead th .sub{color:var(--muted)}.week-grid.calendar thead th.today{background:var(--tint)}.week-grid.calendar .today-pill{border-radius:var(--r-chip);background:var(--ink);color:var(--on-primary);text-transform:uppercase;margin-left:6px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.week-grid.calendar .day-note{color:var(--observer-ink);font-size:11.5px;display:block}.week-grid.calendar tbody th[scope=row]{text-align:right;padding:8px 10px;font-size:11.5px}.week-grid.calendar tbody th[scope=row] b{color:var(--muted);font-weight:400}.week-grid.calendar tbody th[scope=row] .time{font-size:10.5px}.week-grid.calendar tbody td{height:74px}.cal-event{border-left:3px solid var(--teacher);background:var(--teacher-soft);color:var(--muted);border-radius:9px;margin:5px 6px;padding:8px 10px;font-size:12.5px;line-height:1.45;text-decoration:none;display:block}.cal-event b,.cal-event span{display:block}.cal-event b{color:var(--teacher-ink)}.cal-event .label{margin-top:2px;font-size:11px}.cal-event .label.strong{font-weight:700}a.cal-event:hover{color:var(--muted);filter:brightness(.97)}.cal-event.proposed{border:1.5px solid var(--teacher);background:var(--page)}.cal-event.proposed .label{color:var(--teacher-ink)}.cal-event.live-today{border-left-color:var(--observer);background:var(--observer-soft)}.cal-event.live-today b,.cal-event.live-today .label,.cal-event.no-observer b,.cal-event.no-observer .label{color:var(--observer-ink)}.cal-event.after{border-left-color:var(--secondary-border);background:var(--neutral-soft)}.cal-event.after b{color:var(--ink)}.cal-event.peer{border-left-color:var(--pupils);background:var(--pupils-soft)}.cal-event.peer b,.cal-event.peer .label{color:var(--pupils-ink)}.cal-event.no-observer{border:1px dashed var(--gold);background:var(--page)}.calendar-empty{border-top:1px solid var(--line-soft);color:var(--muted);padding:14px 18px;font-size:13.5px}.calendar-legend{border-top:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;gap:8px 18px;padding:12px 18px;font-size:12.5px;display:flex}.calendar-legend>span{align-items:center;gap:6px;display:flex}.calendar-legend .note{margin-left:auto}.swatch{border-left:3px solid var(--teacher);background:var(--teacher-soft);border-radius:3px;width:12px;height:12px;display:inline-block}.swatch.proposed{border:1.5px solid var(--teacher);background:var(--page)}.swatch.live-today{border-left-color:var(--observer);background:var(--observer-soft)}.swatch.after{border-left-color:var(--secondary-border);background:var(--neutral-soft)}.swatch.peer{border-left-color:var(--pupils);background:var(--pupils-soft)}.swatch.walk{border:1.5px dashed var(--secondary-border);background:var(--page)}@media (max-width:900px){.calendar-card{overflow-x:auto}.calendar-card .week-grid{min-width:720px}}.week-waiting{color:var(--muted);margin-bottom:16px;padding:14px 18px;font-size:13.5px}.next-observation .actions .asked{color:var(--muted);font-size:13px}.week-nav a,.week-switch a,.segmented>a,.queue-counts>div,.picker-head h2{white-space:nowrap}@media (max-width:760px){.page-head.bottom{flex-wrap:wrap}.page-head.bottom .segmented{max-width:100%;overflow-x:auto}.picker-head{flex-wrap:wrap}.picker-head h2{white-space:normal}.week-nav{flex-wrap:wrap;row-gap:8px}.week-nav .mine{margin-left:6px}.queue-counts{flex-wrap:wrap;gap:10px 22px}.room-facts .acts{flex-wrap:wrap}}@media (max-width:480px){.page-head.bottom .segmented{border-radius:14px;flex-wrap:wrap;overflow-x:visible}}.obs-list-head{align-items:center}.obs-list-head .head-acts{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.obs-search .input{width:240px;padding:9px 12px;font-size:13.5px}@media (max-width:480px){.obs-list-head{flex-direction:column;align-items:stretch}.obs-list-head .head-acts,.obs-list-head .obs-search,.obs-search .input,.obs-list-head .btn{text-align:center;width:100%}}.obs-tabs{border-bottom:1px solid var(--line);align-items:center;gap:4px;margin-top:18px;font-size:14px;display:flex}.obs-tabs>a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;text-decoration:none}.obs-tabs>a[aria-current=page]{border-bottom-color:var(--ink);color:var(--ink);font-weight:600}.obs-tabs>a .count{margin-left:6px}.obs-tabs>a .badge{background:var(--observer-soft);color:var(--observer-ink);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:12px;font-weight:700}.obs-tabs .scope{color:var(--muted);margin-left:auto;padding:10px 0;font-size:13px}.obs-table{border:1px solid var(--line);border-radius:var(--r-card);background:var(--page);margin-top:18px;overflow:hidden}.obs-row{border-bottom:1px solid var(--row);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 150px 120px minmax(0,1fr) 110px;align-items:center;gap:14px;padding:14px 20px;font-size:13.5px;display:grid}.obs-table.teacher .obs-row{grid-template-columns:minmax(0,1.6fr) 150px 120px minmax(0,1.4fr) 110px}.obs-row.head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:10px 20px;font-size:11.5px;font-weight:700}.obs-row.plain{grid-template-columns:minmax(0,1fr) 110px}.obs-row .who{align-items:center;gap:10px;min-width:0;display:flex}.obs-row .who i{background:var(--primary);color:#fff;width:30px;height:30px;font:700 11px/1 var(--font-body);border-radius:99px;flex:none;justify-content:center;align-items:center;font-style:normal;display:inline-flex}.obs-row .who small,.obs-row .lesson small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.obs-row .needed{color:var(--muted)}.obs-row .needed.alert{color:var(--observer-ink);font-weight:600}.obs-row .act{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.obs-row .act .btn{padding:7px 12px;font-size:13px}.obs-row .act form{margin:0}.obs-empty{color:var(--muted);margin:0;padding:22px 20px;font-size:14px}.obs-foot{background:var(--tint);color:var(--muted);margin:0;padding:14px 20px;font-size:13px}.obs-foot b.observer{color:var(--observer-ink)}.obs-foot b.pupils{color:var(--pupils-ink)}.obs-foot b.teacher{color:var(--teacher-ink)}@media (max-width:1100px){.obs-row,.obs-table.teacher .obs-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.obs-row.head{display:none}.obs-tabs{flex-wrap:wrap}.obs-tabs .scope{flex-basis:100%;margin-left:0}}.room-inside{gap:20px;margin-top:20px;display:grid}.room-facts .facts .fact.visible{color:var(--muted);margin-left:auto}.room-facts .facts .fact.first-read{color:var(--teacher-ink);margin-left:auto;font-weight:600}.summary-panel{border:1px solid var(--line);border-top:3px solid var(--pupils);border-radius:var(--r-card);background:var(--page)}.summary-head{border-bottom:1px solid var(--line-soft);border-radius:var(--r-card) var(--r-card) 0 0;background:var(--tint);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 22px;display:flex}.summary-head h2{font:700 15px/1.3 var(--font-body);letter-spacing:0}.summary-head .stamp{background:var(--pupils-soft);color:var(--pupils-ink);letter-spacing:.02em;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:700}.summary-head .stamp.teacher{background:var(--teacher-soft);color:var(--teacher-ink)}.summary-head .stamp.draft{text-transform:uppercase}.summary-head .note{color:var(--muted);font-size:12.5px}.summary-head .switch{margin-left:auto}.summary-head .acts{gap:8px;display:flex}.summary-head .acts.alone{margin-left:auto}.summary-head .acts form{margin:0}.summary-head .acts .btn{padding:8px 14px;font-size:13px}.summary-preface{border-bottom:1px solid var(--grid-line);color:var(--muted);margin:0;padding:12px 22px;font-size:13.5px}.switch{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.switch input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.switch i{background:var(--neutral-fill);border-radius:99px;width:32px;height:18px;transition:background .12s;position:relative}.switch i:after{content:"";background:#fff;border-radius:99px;width:14px;height:14px;transition:transform .12s;position:absolute;top:2px;left:2px}.switch input:checked+i{background:var(--primary)}.switch input:checked+i:after{transform:translate(14px)}.switch input:focus-visible+i{outline:2px solid var(--primary);outline-offset:2px}.buckets{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.summary-panel.stacked .buckets{grid-template-columns:minmax(0,1fr)}.bucket{border-right:1px solid var(--grid-line);padding:18px 22px}.bucket:last-child{border-right:0}.bucket.differ{background:#fdfbfa}.summary-panel.stacked .bucket{border-right:0;border-bottom:1px solid var(--grid-line)}.summary-panel.stacked .bucket.differ{background:#fdfbfa}.bucket h3{font:700 11px/1.4 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0}.bucket.differ h3{color:var(--observer-ink)}.bucket .line{margin-top:10px}.bucket .line+.line{margin-top:14px}.bucket .line p{margin:0;font-size:14px;line-height:1.5}.bucket-empty{color:var(--muted);margin:10px 0 0;font-size:13px}.cite-chips{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.summary-panel[data-no-evidence] .cite-chips{display:none}.cite{font:500 11px/1.5 var(--font-body);cursor:pointer;border:0;border-radius:5px;padding:2px 7px}.cite.observer{background:var(--observer-soft);color:var(--observer-ink)}.cite.pupils{background:var(--pupils-soft);color:var(--pupils-ink)}.cite.teacher{background:var(--teacher-soft);color:var(--teacher-ink)}.cite:hover{filter:brightness(.96)}.cite-pop{border:1px solid var(--line);border-radius:var(--r-card);background:var(--page);width:min(560px,100vw - 32px);max-height:min(70vh,640px);color:var(--ink);padding:18px 20px 16px;overflow:auto;box-shadow:0 18px 48px #262b312e}.cite-pop::backdrop{background:#262b3147}.cite-pop-head{color:var(--muted);font-size:12.5px}.cite-pop-head.observer b{color:var(--observer-ink)}.cite-pop-head.pupils b{color:var(--pupils-ink)}.cite-pop-head.teacher b{color:var(--teacher-ink)}.cite-pop-body{margin:8px 0 0;font-size:15px;line-height:1.5}.cite-pop-count{color:var(--muted);margin:10px 0 0;font-size:13px}.cite-dist{margin:8px 0 0;padding:0;font-size:13px;list-style:none}.cite-dist li{border-top:1px solid var(--row);justify-content:space-between;padding:4px 0;display:flex}.cite-lines{margin:8px 0 0;padding:0;font-size:13.5px;list-style:none}.cite-lines li{border-top:1px solid var(--row);padding:6px 0}.cite-lines b{color:var(--observer-ink);margin-right:6px}.cite-close{margin-top:14px;padding:8px 14px;font-size:13px}.line.editing{border-bottom:1px solid var(--row);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 10px;padding:10px 0 14px;display:grid}.line.editing form:first-child{gap:8px;display:grid}.line.editing .input{resize:vertical;font-size:14px}.line.editing .line-acts .btn{padding:8px 14px;font-size:13px}.line.editing form:nth-child(2) .btn{padding:8px 12px;font-size:13px}.line.editing .cite-chips{grid-column:1/-1;margin-top:0}.summary-steps{border-top:1px solid var(--line-soft);padding:16px 22px}.summary-steps .steps-title{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.summary-steps .steps-title b{font-size:14.5px}.summary-steps .steps-title span{color:var(--muted);font-size:12.5px}.summary-steps .after{color:var(--muted);margin:12px 0 0;font-size:12.5px}.steps-empty{color:var(--muted);margin:10px 0 0;font-size:13.5px}.steps-written{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.steps-written li{border:1px solid var(--teacher-pale);background:var(--teacher-soft);border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;font-size:13.5px;display:flex}.steps-written li p{margin:0}.steps-written li small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.steps-written li form .btn{padding:6px 10px;font-size:12.5px}.steps-written.read li{border-color:var(--line);background:var(--page)}.steps-add{gap:6px;max-width:640px;margin-top:14px;display:grid}.steps-add label{color:var(--muted);font-size:13px}.steps-add .input{font-size:13.5px}.steps-add .btn{justify-self:start;margin-top:4px;padding:8px 14px;font-size:13px}.steps-answer{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.steps-answer .step{border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:14px}.steps-answer .step.agreed,.steps-answer .step.changed{border-color:var(--teacher-pale);background:var(--teacher-soft)}.steps-answer .step p{margin:0}.steps-answer .step-changed{color:var(--muted);font-size:13px;margin-top:6px!important}.steps-answer .step-acts{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;display:flex}.steps-answer .step-acts .btn{border-radius:999px;padding:8px 16px;font-size:13px}.step-state{color:var(--muted);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-block}.step-state.agreed,.step-state.changed{background:var(--primary);color:#fff}.step-change summary{color:var(--primary);cursor:pointer;font-size:13.5px;font-weight:600;list-style:none}.step-change summary::-webkit-details-marker{display:none}.step-change form{gap:8px;margin-top:8px;display:flex}.step-change .input{font-size:13.5px}.step-change .btn{padding:8px 14px;font-size:13px}.steps-agreed{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.steps-agreed li{background:var(--teacher-soft);border-radius:10px;gap:8px;padding:14px 16px;font-size:14px;display:flex}.steps-agreed .n{font-family:var(--font-display);color:var(--teacher-ink);flex:none;font-weight:600}.steps-agreed small{color:var(--muted);margin-top:6px;font-size:12.5px;display:block}.response-block{border-top:1px solid var(--line-soft);padding:16px 22px}.response-block h3{font:700 11px/1.4 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--teacher-ink);margin:0}.response-block blockquote{margin:8px 0 0;font-size:14.5px;font-style:italic;line-height:1.5}.respond-card{padding:18px 22px}.respond-card h2{font:700 15px/1.3 var(--font-body);letter-spacing:0}.respond-card p{color:var(--muted);margin:4px 0 0;font-size:13.5px}.respond-card .textarea{min-height:140px;margin-top:12px;font-size:15px}.respond-card .foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.respond-card .foot .btns{flex-wrap:wrap;gap:10px;display:flex}.respond-card .foot .btn{padding:10px 16px}@media (max-width:480px){.respond-card .foot .btns,.respond-card .foot .btns form,.respond-card .foot .btn{width:100%}}.room-aside{gap:16px;display:grid}.room-aside .card{padding:18px 20px}.room-aside .card h2{font:700 15px/1.3 var(--font-body);letter-spacing:0}.room-aside .card>p{color:var(--muted);margin-top:6px;font-size:13.5px}.room-aside .card .kicker{font:700 11px/1.4 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--teacher-ink);margin:0 0 4px}.room-aside .card.next{border-top:3px solid var(--teacher)}.room-aside .card.next .btn{text-align:center;width:100%;margin-top:10px;display:block}.room-aside .card.next .btn:first-of-type{margin-top:16px}.room-aside .card.next form{margin:0}.legs-list{margin:12px 0 0;padding:0;font-size:14px;list-style:none}.legs-list li{align-items:center;gap:8px;padding:7px 0;display:flex}.legs-list li a{color:var(--primary);margin-left:auto;font-weight:600}.travels{border-collapse:collapse;width:100%;margin-top:10px;font-size:14px}.travels td{border-top:1px solid var(--row);padding:7px 0}.travels tr:first-child td{border-top:0}.travels td:last-child{text-align:right;font-weight:700}.edit-log ul{margin:8px 0 0;padding:0;font-size:13.5px;list-style:none}.edit-log li+li{margin-top:8px}.edit-log details{margin-top:4px;font-size:13px}.edit-log summary{color:var(--primary);cursor:pointer;font-weight:600}.edit-log details p{margin:6px 0 0}.edit-log .since,.edit-log>p{color:var(--muted);margin-top:8px;font-size:13.5px}.legs-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.leg-card{border:1px solid var(--line);background:var(--page);border-radius:12px}.leg-card.observer{border-top:3px solid var(--observer)}.leg-card.pupils{border-top:3px solid var(--pupils)}.leg-card.teacher{border-top:3px solid var(--teacher)}.leg-head{border-bottom:1px solid var(--line-soft);background:var(--tint);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:12px 16px;display:flex}.leg-head b{font-size:14px}.leg-head span{color:var(--muted);font-size:12px}.leg-card.compact .leg-head{background:var(--page);border-bottom:0}.leg-card.compact .leg-head span{flex-basis:100%;font-size:13.5px}.leg-card.compact{position:relative}.leg-card.compact .leg-head{padding-right:72px}.leg-more.compact{border-top:0}.leg-more.compact>summary{padding:0;font-size:14px;font-weight:700;position:absolute;top:12px;right:16px}.leg-more.compact[open]>summary{border-bottom:0}.leg-more.compact[open]{border-top:1px solid var(--line-soft)}.leg-tally{border-bottom:1px solid var(--row);flex-wrap:wrap;gap:6px;padding:10px 16px;font-size:12px;display:flex}.leg-tally span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 9px}.leg-tally span.on{background:var(--observer-soft);color:var(--observer-ink);border-color:#0000;font-weight:600}.leg-line{border-bottom:1px solid var(--row);padding:12px 16px;font-size:13px;line-height:1.5}.leg-line b{color:var(--observer-ink);margin-right:6px}.leg-line small{color:var(--muted);display:block}.leg-words{color:var(--muted);margin:0;padding:12px 16px;font-size:13.5px}.leg-words a{font-weight:600}.leg-more{border-top:1px solid var(--line-soft)}.leg-more>summary{color:var(--primary);cursor:pointer;padding:10px 16px;font-size:13px;font-weight:600;list-style:none}.leg-more>summary::-webkit-details-marker{display:none}.leg-more[open]>summary{border-bottom:1px solid var(--row)}.leg-marks{border-top:1px solid var(--line-soft);padding:12px 16px}.leg-marks h4{font:700 12px/1.4 var(--font-body);color:var(--observer-ink);margin:0 0 6px}.leg-marks ol{margin:0;padding:0;font-size:13px;list-style:none}.leg-marks li{border-top:1px solid var(--row);justify-content:space-between;gap:12px;padding:5px 0;display:flex}.leg-marks li b{color:var(--observer-ink);flex:none;font-weight:600}.leg-marks li b.not_seen,.leg-marks li b.none{color:var(--muted)}.leg-item{border-bottom:1px solid var(--row);padding:12px 16px;font-size:13px}.leg-item small{color:var(--muted);margin-top:4px;display:block}.leg-item b.tap{color:var(--teacher-ink);margin-top:4px;display:block}.leg-bar{align-items:center;gap:8px;margin-top:6px;display:flex}.leg-bar .track{background:var(--pupils-track);border-radius:99px;flex:1;height:8px;overflow:hidden}.leg-bar .fill{background:var(--pupils);border-radius:99px;height:100%;display:block}.leg-bar b{color:var(--pupils-ink);flex:none;font-size:12.5px}.leg-bar small{flex:none;margin:0;font-size:12px}.not-ready{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.not-ready .card{padding:20px 24px}.not-ready .card .with-pill{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.not-ready .card h2{font:700 17px/1.3 var(--font-body);letter-spacing:0}.not-ready .card>p{margin-top:10px;font-size:14.5px;line-height:1.55}.not-ready .card .aside{background:var(--tint);color:var(--muted);border-radius:10px;margin-top:14px;padding:12px 14px;font-size:13.5px}.not-ready .card .link-action{margin-top:12px;display:inline-block}.not-ready .pupils-pill{background:var(--pupils-soft);color:var(--pupils-ink);border-radius:999px;flex:none;padding:6px 12px;font-size:13px;font-weight:600}.not-ready .card.wide{grid-column:1/-1}.room-aside .card.next .handed{color:var(--teacher-ink);margin-top:12px;font-size:13px}.export-page{max-width:760px;font-size:14px;line-height:1.55}.export-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.export-page header{border-bottom:1px solid var(--line);padding-bottom:14px}.export-page h1{margin:6px 0}.export-page .meta{color:var(--muted);margin:2px 0;font-size:13px}.export-page section{margin-top:22px}.export-page h2{font:600 18px/1.3 var(--font-display);letter-spacing:var(--ls-display)}.export-page h3{font:700 11px/1.4 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:12px 0 4px}.export-page ol{margin:4px 0 0;padding-left:22px}.export-page li{margin:4px 0}.export-page li small{color:var(--muted)}.export-page blockquote{margin:6px 0 0;font-style:italic}.export-page footer{border-top:1px solid var(--line);margin-top:28px;padding-top:12px}@media print{nav[aria-label=Observewell],.no-print,.toast,.skip-link{display:none!important}body,main{background:#fff;margin:0;padding:0}.export-page{max-width:none}}.room-closed-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:22px;display:grid}.room-teacher-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px;display:grid}@media (max-width:1100px){.buckets,.steps-written,.legs-row,.not-ready{grid-template-columns:minmax(0,1fr)}.bucket{border-right:0;border-bottom:1px solid var(--grid-line)}.steps-answer,.steps-agreed,.room-closed-grid,.room-teacher-grid{grid-template-columns:minmax(0,1fr)}}.state-pill.walk{background:var(--neutral-soft);color:var(--muted)}.obs-row .legs.muted{font-size:12.5px}.obs-start-walk{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.obs-start-walk .small{color:var(--muted);font-size:13px}.walk-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-top:8px;display:flex}.walk-head p{max-width:900px;color:var(--muted);margin:6px 0 0;font-size:14px}.walk-pill{flex:none;align-items:center;gap:6px;display:inline-flex}.walk-pill i{background:var(--observer);border-radius:99px;width:8px;height:8px}.walk-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px;margin-top:22px;display:grid}.walk-main{gap:16px;display:grid}.walk-page .card{padding:18px 20px}.walk-page .card h2{font:700 15px/1.3 var(--font-body);letter-spacing:0}.walk-where h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font:700 11px/1.4 var(--font-body)!important}.walk-page .small{color:var(--muted);margin:8px 0 0;font-size:12.5px}.walk-chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.walk-chips form{margin:0}.walk-chips .chip{border:1px solid var(--line);background:var(--page);color:var(--muted);font:600 12px/1.6 var(--font-body);cursor:pointer;border-radius:999px;padding:4px 10px;text-decoration:none;display:inline-block}.walk-chips .chip.on{background:var(--teacher-soft);color:var(--teacher-ink);border-color:#0000}.walk-elsewhere summary{list-style:none}.walk-elsewhere summary::-webkit-details-marker{display:none}.walk-elsewhere form{gap:6px;max-width:420px;margin-top:10px;display:grid}.walk-elsewhere label{color:var(--muted);font-size:13px}.walk-elsewhere .btn{justify-self:start;margin-top:4px}.walk-line{gap:14px;margin-bottom:10px;font-size:14.5px;line-height:1.5;display:flex}.walk-line b{width:44px;color:var(--observer-ink);flex:none;padding-top:2px;font-size:12.5px}.walk-field{margin:4px 0 0}.walk-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.walk-foot.end{justify-content:flex-end}.walk-foot .small{margin:0}.walk-foot .row-actions{gap:10px;display:flex}.walk-foot form{margin:0}.walk-stop+.walk-stop{border-top:1px solid var(--row);margin-top:16px;padding-top:16px}.walk-stop-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:8px;display:flex}.walk-stop-head .small{margin:0}.walk-aside{gap:16px;display:grid}.walk-sofar{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;font-size:13.5px;list-style:none;display:flex}.walk-sofar li{justify-content:space-between;gap:12px;display:flex}.walk-sofar li span:last-child{color:var(--muted)}.walk-sofar li.now span{font-weight:700}.walk-sofar li.now span:last-child{color:var(--observer-ink);font-weight:600}.walk-by{align-items:center;gap:8px;display:flex}.walk-by .disc{background:var(--gold);width:26px;height:26px;color:var(--ink);font:700 10px/1 var(--font-body);border-radius:99px;justify-content:center;align-items:center;font-style:normal;display:inline-flex}@media (max-width:1100px){.walk-grid{grid-template-columns:minmax(0,1fr)}.walk-head{flex-wrap:wrap}}.landing{--landing-caveat:#7a6a58;--landing-rule:#d9d4cf;--landing-cell-observer:#e6dcd4;--landing-cell-teacher:#dfe3ea;--landing-cell-pupils:#e8dee4;--landing-gold-soft:#d8bf94;--landing-on-ink:#cfd4d9;--landing-on-ink-strong:#e2e6ea;--landing-arrow:#bdaa84;background:var(--page);color:var(--ink);font:400 16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}.landing a{color:inherit;text-decoration:none}.landing a:hover{color:var(--primary)}.landing h1,.landing h2,.landing h3{font-family:var(--font-display);margin:0;font-weight:600}.landing-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;max-width:1440px;margin:0 auto;padding:20px 44px;display:flex}.landing-logo,.landing-foot-logo{align-items:center;gap:10px;display:flex}.landing-logo>span{font:600 21px/1 var(--font-display);letter-spacing:-.03em}.landing-nav{color:var(--muted);align-items:center;gap:30px;font-size:14.5px;display:flex}.landing a.landing-start,.landing a.landing-cta{border-radius:var(--r-control);background:var(--primary);color:var(--on-primary);font-weight:600}.landing a.landing-start{padding:11px 20px;font-size:14.5px}.landing a.landing-start:hover,.landing a.landing-cta:hover{color:var(--on-primary);filter:brightness(.93)}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:48px;max-width:1280px;margin:0 auto;padding:64px 44px 0;display:grid}.landing-hero h1{font:600 clamp(42px, 4.6vw, 64px) / 1.05 var(--font-display);letter-spacing:-.045em;padding-bottom:12px}.landing-underlined{white-space:nowrap;display:inline-block;position:relative}.landing-underlined svg{fill:none;width:100%;height:14px;stroke:var(--observer);stroke-width:2.5px;stroke-linecap:round;position:absolute;bottom:-10px;left:0}.landing-lede{max-width:44ch;color:var(--muted);margin:26px 0 0;font-size:17.5px;line-height:1.65}.landing-ctas{flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px;display:flex}.landing a.landing-cta{align-items:center;gap:22px;padding:15px 24px;font-size:15px;display:inline-flex}.landing-play{align-items:center;gap:10px;font-size:14.5px;font-weight:600;display:inline-flex}.landing-play-icon{border:1px solid var(--secondary-border);border-radius:99px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.landing-play-icon>span{border-top:4.5px solid #0000;border-bottom:4.5px solid #0000;border-left:7px solid var(--ink);width:0;height:0;margin-left:2px}.landing-art-column{min-width:0;position:relative}.landing-caveat{color:var(--landing-caveat);transform-origin:0 100%;margin:0 0 30px 46%;font-size:23px;font-weight:500;line-height:1.2;transform:rotate(-2deg)}.landing-art-frame{position:relative}.landing-art{-webkit-mask-composite:source-in;width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000),linear-gradient(#0000,#000 6% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000),linear-gradient(#0000,#000 6% 92%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.landing-badge{border:1px solid var(--line);border-radius:var(--r-chip);background:var(--page);align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:600;line-height:1.6;display:flex;position:absolute;box-shadow:0 6px 18px -12px #00000073}.landing-badge>span{border-radius:99px;width:7px;height:7px}.landing-badge.teacher{color:var(--teacher-ink);top:1%;left:0;transform:rotate(-2deg)}.landing-badge.teacher>span{background:var(--teacher)}.landing-badge.observer{color:var(--observer-ink);bottom:26%;right:0;transform:rotate(1.6deg)}.landing-badge.observer>span{background:var(--observer)}.landing-badge.pupils{color:var(--pupils-ink);bottom:7%;left:26%;transform:rotate(-1.4deg)}.landing-badge.pupils>span{background:var(--pupils)}.landing-how{background:var(--page);margin-top:96px}.landing-how-inner{max-width:1280px;margin:0 auto;padding:84px 44px}.landing-how-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:64px;display:flex}.landing-how-head h2{font:600 42px/1.12 var(--font-display);letter-spacing:-.04em}.landing-how-head p{max-width:34ch;color:var(--muted);font-size:16px}.landing-steps{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:stretch;gap:26px;margin-top:40px;display:grid}.landing-step{flex-direction:column;height:100%;display:flex}.landing-step-rule{border-top:1px solid var(--landing-rule);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-content:space-between;padding-top:16px;font-size:10.5px;font-weight:700;display:flex}.landing-step h3{font:600 23px/1.2 var(--font-display);letter-spacing:-.03em;margin:18px 0 0}.landing-step>p{min-height:48px;color:var(--muted);margin:10px 0 18px;font-size:15px}.landing-mock{border:1px solid var(--field-border);background:var(--page);border-radius:10px;margin-top:auto;overflow:hidden}.landing-mock-head{border-bottom:1px solid var(--line-soft);background:var(--tint);color:var(--muted);align-items:center;gap:8px;padding:10px 14px;font-size:11.5px;display:flex}.landing-mock-head.spread{justify-content:space-between}.landing-mock-head .live{color:var(--observer-ink);font-weight:600}.landing-mock-body{flex-direction:column;min-height:206px;padding:14px;display:flex}.landing-mock-body.notes{gap:8px}.landing-mock-foot{border-top:1px solid var(--line-soft);color:var(--muted);margin-top:auto;padding-top:12px;font-size:12px}.landing-mock-foot .tick{margin-right:6px;font-weight:700}.landing-mock-foot .tick.teacher{color:var(--teacher-ink)}.landing-mock-foot .tick.observer{color:var(--observer-ink)}.landing-week-days,.landing-week{grid-template-columns:34px repeat(5,1fr);gap:4px;display:grid}.landing-week-days{color:var(--muted);text-align:center;font-size:10px}.landing-week{margin-top:6px}.landing-week>span{color:var(--muted);align-self:center;font-size:10px}.landing-week>i{background:var(--grid-line);border-radius:4px;height:20px}.landing-week>i.observer{background:var(--landing-cell-observer)}.landing-week>i.teacher{background:var(--landing-cell-teacher)}.landing-week>i.pupils{background:var(--landing-cell-pupils)}.landing-note{border:1px solid var(--line-soft);background:var(--page);border-radius:8px;gap:10px;padding:9px 11px;display:flex}.landing-note.shared{border:0;border-left:3px solid var(--observer);background:var(--observer-soft)}.landing-note .when{width:34px;color:var(--muted);text-align:right;flex:none;font-size:11px}.landing-note.shared .when{color:var(--observer-ink);font-weight:700}.landing-note .when .tag{letter-spacing:.08em;font-size:9px;font-weight:700}.landing-note .what{flex:1;font-size:12.5px;line-height:1.45}.landing-summary-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.landing-summary-title>div{font-size:13px;font-weight:700}.landing-summary-title>span{background:var(--observer-soft);color:var(--observer-ink);border-radius:6px;padding:3px 9px;font-size:10.5px;font-weight:700}.landing-voices{gap:6px;margin-top:12px;display:flex}.landing-voices>div{border-radius:8px;flex:1;padding:9px 10px;font-size:11.5px;line-height:1.4}.landing-voices .who{letter-spacing:.09em;margin-bottom:6px;font-size:9px;font-weight:700;line-height:1.6}.landing-voices .observer{background:var(--observer-soft)}.landing-voices .observer .who{color:var(--observer-ink)}.landing-voices .pupils{background:var(--pupils-soft)}.landing-voices .pupils .who{color:var(--pupils-ink)}.landing-voices .teacher{background:var(--teacher-soft)}.landing-voices .teacher .who{color:var(--teacher-ink)}.landing-questions{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:64px;max-width:1280px;margin:0 auto;padding:84px 44px 0;display:grid}.landing-questions h2{font:600 36px/1.12 var(--font-display);letter-spacing:-.04em}.landing-questions details{border-bottom:1px solid var(--line)}.landing-questions summary{cursor:pointer;padding:18px 0;font-size:15.5px;font-weight:600}.landing-questions details>p{color:var(--muted);margin:0;padding:0 30px 20px 0;font-size:14.5px}.landing-demo{background:var(--ink);margin-top:88px}.landing-demo-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:64px;max-width:1280px;margin:0 auto;padding:76px 44px;display:grid}.landing-demo-pitch{position:relative}.landing-demo-pitch h2{font:600 42px/1.1 var(--font-display);letter-spacing:-.04em;color:var(--on-primary)}.landing-demo-pitch h2>span{color:var(--landing-gold-soft)}.landing-demo-pitch>p{max-width:44ch;color:var(--landing-on-ink);margin:18px 0 0;font-size:16px;line-height:1.7}.landing-demo-list{color:var(--landing-on-ink-strong);flex-direction:column;gap:10px;margin-top:28px;font-size:14px;display:flex}.landing-demo-list>span>span{color:var(--gold);margin-right:14px}.landing-demo-arrow{fill:none;width:150px;stroke:var(--landing-arrow);stroke-width:1.4px;position:absolute;bottom:0;right:-10px;transform:rotate(-12deg)}.landing-book{background:var(--page);border-radius:12px;padding:28px}.landing-book-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.landing-book-head h3{font:600 24px/1.1 var(--font-display);letter-spacing:-.03em}.landing-book-head span{color:var(--muted);font-size:11.5px}.landing-book-fields{flex-direction:column;gap:12px;margin-top:20px;display:flex}.landing-book-fields label{margin-bottom:6px;font-size:12px;font-weight:600;line-height:1.6;display:block}.landing-book-fields input{border:1px solid var(--field-border);border-radius:var(--r-control);background:var(--page);width:100%;height:44px;padding:0 12px;font-size:15px;display:block}.landing-book-fields input:focus-visible,.landing-book-fields button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.landing-book-fields button{border-radius:var(--r-control);background:var(--primary);color:var(--on-primary);cursor:pointer;border:0;margin-top:6px;padding:13px;font-size:15px;font-weight:600;line-height:1.6}.landing-book-fields button:hover{filter:brightness(.93)}.landing-foot{flex-wrap:wrap;align-items:center;gap:28px;max-width:1280px;margin:0 auto;padding:36px 44px 48px;display:flex}.landing-foot-logo{gap:9px}.landing-foot-logo>span{font:600 18px/1 var(--font-display);letter-spacing:-.03em}.landing-foot>p{color:var(--muted);font-size:13.5px}.landing-foot>p>span{color:var(--secondary-border);margin:0 8px}.landing-foot>p>a{text-underline-offset:3px;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.landing-foot-links{color:var(--muted);gap:24px;margin-left:auto;font-size:13.5px;display:flex}.landing .glyph{font-family:system-ui,sans-serif}.landing :focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}@media (max-width:900px){.landing-head{flex-wrap:wrap;gap:14px 28px;padding:18px 20px}.landing-hero,.landing-questions,.landing-demo-inner{grid-template-columns:minmax(0,1fr);gap:40px;padding-left:20px;padding-right:20px}.landing-how-inner,.landing-foot{padding-left:20px;padding-right:20px}.landing-caveat{margin-left:20%}.landing-demo-arrow{display:none}}@media (max-width:480px){.landing-nav{display:none}.landing-underlined{white-space:normal}}
