:root{--night:#0f1533;--desk:#18214a;--ruling:#2b376b;--chalk:#f4ecdc;--dust:#a8aecb;--amber:#ffb340;--amber-hover:#ffc466;--bubblegum:#f5a9c6;--mint:#96e0c5;--sky:#a5c8f7;--shadow:#0a0f26;--font:"Martian Mono", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, "Cascadia Mono", "Roboto Mono", Consolas, monospace;--fs-12:.75rem;--fs-14:.875rem;--fs-16:1rem;--fs-21:1.3125rem;--fs-28:1.75rem;--fs-38:2.375rem;--fs-50:3.125rem;--fs-h2:clamp(2.375rem, 1.6rem + 3vw, 4.1875rem);--track-label:.08em;--track-display:-.03em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--text-row:32px;--margin:clamp(20px, 5vw, 80px);--n:4px;--notch:polygon(var(--n) 0, calc(100% - var(--n)) 0, calc(100% - var(--n)) var(--n), 100% var(--n), 100% calc(100% - var(--n)), calc(100% - var(--n)) calc(100% - var(--n)), calc(100% - var(--n)) 100%, var(--n) 100%, var(--n) calc(100% - var(--n)), 0 calc(100% - var(--n)), 0 var(--n), var(--n) var(--n));--dur-fast:.15s;--dur:.3s;--dur-slow:.6s}*,:before,:after{box-sizing:border-box}html{background:var(--night);color:var(--chalk);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--fs-16);margin:0;line-height:1.6;overflow-x:hidden}.page{overflow-x:clip}h1,h2,h3,p,ol,ul,fieldset{margin:0;padding:0}h2,h3{text-wrap:balance}p{text-wrap:pretty}img,svg{max-width:100%;display:block}a{color:var(--chalk);-webkit-text-decoration-color:var(--amber);text-decoration-color:var(--amber);text-underline-offset:4px;transition:color var(--dur-fast) steps(2);text-decoration-thickness:2px}a:hover{color:var(--amber)}:focus-visible{outline:3px solid var(--amber);outline-offset:3px}::selection{background:var(--amber);color:var(--night)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.label{font-size:var(--fs-12);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--dust);font-weight:700}.cursor{background:var(--amber);vertical-align:baseline;width:.62em;height:.16em;margin-left:.1em;animation:1s step-end 6 blink;display:inline-block}.lettering-cursor{animation:1s step-end 6 blink}@keyframes blink{50%{opacity:0}}.btn{min-height:44px;padding:0 var(--s-5);font:inherit;font-size:var(--fs-14);letter-spacing:var(--track-label);text-transform:uppercase;white-space:nowrap;cursor:pointer;clip-path:var(--notch);transition:background-color var(--dur-fast) steps(2), color var(--dur-fast) steps(2), transform var(--dur-fast) steps(2);border:0;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:translateY(2px)}.btn:focus-visible{outline:none}.btn--amber{background:var(--amber);color:var(--night)}.btn--amber:hover{background:var(--amber-hover);color:var(--night)}.btn--amber:focus-visible{box-shadow:inset 0 0 0 3px var(--night), inset 0 0 0 5px var(--chalk)}.btn--amber:disabled{background:var(--dust);cursor:progress}.btn--quiet{color:var(--chalk);box-shadow:inset 0 0 0 2px var(--dust);background:0 0}.btn--quiet:hover{color:var(--amber);box-shadow:inset 0 0 0 2px var(--amber)}.btn--quiet:focus-visible{box-shadow:inset 0 0 0 3px var(--amber)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.header{align-items:center;gap:var(--s-5);padding:var(--s-4) var(--margin);display:flex}.header-logo{flex:none;display:block}.header-logo img{width:auto;height:30px}.header-nav{margin-left:auto;display:none}.header-nav ul{gap:var(--s-5);list-style:none;display:flex}.header-nav a{min-height:44px;font-size:var(--fs-14);align-items:center;text-decoration:none;display:inline-flex}.header-nav a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--amber);text-decoration-color:var(--amber)}.header-cta{padding:0 var(--s-4);margin-left:auto}@media (width>=900px){.header-logo img{height:40px}.header-nav{display:block}.header-cta{margin-left:var(--s-2)}}@media (width<=479px){.header{gap:var(--s-3)}.header-logo img{height:24px}.header-cta{padding:0 var(--s-3);font-size:var(--fs-12)}}.poster{--cap:calc((100vw - 2 * var(--margin)) * .15);--cell:calc(var(--cap) * 40 / 44);--gap:calc(var(--cap) * .36);--row:calc(var(--cap) + var(--gap));--pup:calc(var(--cap) * 1.1);padding-bottom:var(--s-7);grid-template-columns:100%;display:grid;position:relative}.poster:before{content:"";top:0;bottom:0;left:calc(var(--margin) / 2 - 1px);background:var(--bubblegum);width:3px;position:absolute}.poster-rows{display:contents}.poster-title{font-size:inherit;font-weight:inherit;grid-area:1/1}.row{height:var(--row);display:block;position:relative}.row:before{content:"";inset:calc(var(--gap) - 2px) 0 0;border-top:2px solid var(--ruling);border-bottom:2px solid var(--ruling);pointer-events:none;position:absolute}.row:after{content:"";left:0;right:0;top:calc(var(--gap) + var(--cap) / 2 - 1px);border-top:2px dashed var(--ruling);opacity:.8;pointer-events:none;position:absolute}.row-word{z-index:1;left:calc(var(--margin) + var(--indent,0) * var(--cell));height:var(--cap);width:calc(var(--cap) * (var(--cells) * 40 - 8) / 44);color:var(--chalk);position:absolute;bottom:0}.row--blank{height:auto;min-height:var(--row);grid-area:3/1}.row--extra{display:none}.poster-pupil{z-index:1;align-self:start;align-items:flex-start;gap:var(--s-2);margin-top:calc(var(--row) - var(--pup) * 46 / 48);margin-left:calc(var(--margin) + var(--cell) * 4.15);pointer-events:none;grid-area:1/1;display:flex}.poster-sprite{width:var(--pup);height:var(--pup);animation:1.2s steps(2,end) 3 bob}@keyframes bob{50%{transform:translateY(-2px)}}.poster-says{margin-top:calc(var(--pup) * .12);padding:var(--s-1) var(--s-2);max-width:calc(100vw - var(--margin) - var(--cell) * 4.15 - var(--pup) - 20px);text-overflow:ellipsis;white-space:nowrap;background:var(--desk);color:var(--tint);font-size:clamp(var(--fs-14), calc(var(--cap) * .2), var(--fs-28));clip-path:var(--notch);font-weight:700;overflow:hidden}.poster-says--bubblegum{--tint:var(--bubblegum)}.poster-says--mint{--tint:var(--mint)}.poster-says--sky{--tint:var(--sky)}.poster-says--chalk{--tint:var(--chalk)}.poster-lede{max-width:40ch;margin:var(--s-5) var(--margin) 0;font-size:var(--fs-16);color:var(--chalk);grid-area:2/1;line-height:1.7}.poster-class{list-style:none;display:none}.lineup{--sprite:calc(var(--cap) * .7);align-items:flex-start;gap:var(--s-2);width:calc(var(--cell) * 1.45);flex-direction:column;display:flex}.lineup--bubblegum{--tint:var(--bubblegum)}.lineup--mint{--tint:var(--mint)}.lineup--sky{--tint:var(--sky)}.lineup--chalk{--tint:var(--chalk)}.lineup-says{max-width:calc(100% - var(--s-3));padding:0 var(--s-2);text-overflow:ellipsis;white-space:nowrap;background:var(--desk);color:var(--tint);font-size:var(--fs-14);clip-path:var(--notch);font-weight:700;line-height:1.7;overflow:hidden}.lineup-sprite{width:var(--sprite);height:var(--sprite);margin-bottom:calc(var(--sprite) * -2 / 48)}.poster-lede em{color:var(--amber);font-style:normal}.desk-wrap{z-index:2;width:min(560px, calc(100% - 2 * var(--margin)));margin:calc(var(--row) * -.55) var(--margin) 0;grid-area:4/1;justify-self:end;position:relative}.desk-wrap:before{content:"";background:var(--shadow);clip-path:var(--notch);position:absolute;inset:8px -8px -8px 8px}@media (width>=1080px){.poster{--cap:max(96px, min(9.4vw, 136px, 15vh))}.poster-says{max-width:calc(var(--cell) * 1.65)}.row--blank{grid-row:2}.row--extra{grid-row:3;display:block}.poster-class{z-index:1;margin:0 0 0 calc(var(--margin) + var(--cell) * .25);grid-area:2/1;align-self:end;align-items:flex-end;padding:0;display:flex}.poster-lede{max-width:38ch;margin:calc(var(--gap) + var(--s-1)) var(--margin) 0 calc(var(--margin) + var(--cell) * 7.4);font-size:var(--fs-14);grid-row:1;align-self:start;line-height:1.8}.desk-wrap{width:clamp(360px,32vw,440px);margin:calc(var(--row) * 1.45) var(--margin) 0 0;grid-row:1/4;align-self:start}}@media (width>=1280px){.poster-lede{font-size:var(--fs-16);line-height:1.75}}.desk{gap:var(--s-4);padding:calc(var(--s-6) + 4px) var(--s-5) var(--s-5);background:var(--desk);clip-path:var(--notch);scroll-margin-top:var(--s-4);grid-template-columns:minmax(0,1fr);display:grid;position:relative}.desk:before{content:"";border:2px solid var(--dust);pointer-events:none;position:absolute;inset:10px}.frame-label{top:11px;left:var(--s-6);padding:0 var(--s-2);background:var(--desk);font-size:var(--fs-12);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--chalk);font-weight:700;line-height:1;position:absolute;transform:translateY(-50%)}.picker{border:0;min-width:0}.picker legend{margin-bottom:var(--s-2);padding:0}.picker-row{gap:var(--s-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.pick{align-items:center;gap:var(--s-1);min-height:72px;padding:var(--s-2) var(--s-1) var(--s-1);background:var(--night);box-shadow:inset 0 0 0 2px var(--ruling);clip-path:var(--notch);cursor:pointer;transition:box-shadow var(--dur-fast) steps(2);flex-direction:column;display:flex;position:relative}.pick input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.pick svg,.pick-name{pointer-events:none}.pick svg{transition:transform var(--dur-fast) steps(2)}.pick:hover{box-shadow:inset 0 0 0 2px var(--dust)}.pick:hover svg{transform:translateY(-2px)}.pick:has(input:checked){box-shadow:inset 0 0 0 2px var(--amber)}.pick:has(input:focus-visible){box-shadow:inset 0 0 0 2px var(--amber), inset 0 0 0 4px var(--chalk)}.pick-name{font-size:var(--fs-12);color:var(--dust);font-weight:700}.pick:has(input:checked) .pick-name{color:var(--tint)}.pick--bubblegum,.line--bubblegum,.card--bubblegum{--tint:var(--bubblegum)}.pick--mint,.line--mint,.card--mint{--tint:var(--mint)}.pick--sky,.line--sky,.card--sky{--tint:var(--sky)}.pick--chalk,.line--chalk,.card--chalk{--tint:var(--chalk)}.teach{gap:var(--s-2);display:grid}.teach-row{gap:var(--s-2);display:flex}.field{min-width:0;min-height:48px;padding:0 var(--s-3);background:var(--night);box-shadow:inset 0 0 0 2px var(--dust);clip-path:var(--notch);flex:1;align-items:center;display:flex}.field:focus-within{box-shadow:inset 0 0 0 3px var(--amber)}.field--error{box-shadow:inset 0 0 0 2px var(--amber)}.field-prompt{color:var(--amber);font-weight:700}.field input{width:100%;min-width:0;padding:var(--s-3) var(--s-2);color:var(--chalk);font:inherit;font-size:var(--fs-16);caret-color:var(--amber);background:0 0;border:0;outline:none;flex:1}.field input::placeholder{color:var(--dust)}.teach .btn{min-height:48px}.teach-hint,.teach-error{font-size:var(--fs-12);color:var(--dust);line-height:1.6}.teach-error{gap:var(--s-2);color:var(--chalk);display:flex}.teach-error:before{content:"!";background:var(--amber);width:18px;height:18px;color:var(--night);flex:none;place-items:center;font-weight:800;display:inline-grid}.transcript{gap:var(--s-4);min-height:calc(5 * 28px + var(--s-6));padding-top:var(--s-4);border-top:2px dashed var(--ruling);grid-template-columns:56px minmax(0,1fr);display:grid}.transcript-pupil.is-proud{animation:hop var(--dur-slow) steps(2) 2}@keyframes hop{50%{transform:translateY(-4px)}}.transcript-lines{font-size:var(--fs-14);line-height:28px;list-style:none}.line{gap:var(--s-2);grid-template-columns:5.5ch minmax(0,1fr);display:grid}.line-who{color:var(--tint,var(--dust))}.line-who:after{content:" >";color:var(--dust)}.line-text{color:var(--chalk);overflow-wrap:anywhere}.line--you .line-text{color:var(--dust)}.verdict{min-height:72px}.verdict-status{font-weight:700;line-height:1.5}.verdict--learned:before{content:"★ ";color:var(--amber)}.verdict--asleep:before{content:"z ";color:var(--dust)}.verdict-reaction{margin-top:var(--s-1);font-size:var(--fs-14);color:var(--dust);line-height:1.6}.notebook{justify-content:space-between;align-items:center;gap:var(--s-3);padding-top:var(--s-3);border-top:2px solid var(--ruling);flex-wrap:wrap;display:flex}.notebook-words{min-width:0;font-size:var(--fs-14);overflow-wrap:anywhere}.notebook .btn{font-size:var(--fs-12);padding:0 var(--s-4)}@media (width<=420px){.desk{padding-inline:var(--s-4)}.desk:before{inset:8px}.teach .btn{padding:0 var(--s-4)}.transcript{gap:var(--s-3);grid-template-columns:40px minmax(0,1fr)}.transcript-pupil{width:40px;height:40px}}.bands{padding-top:0}.band{padding:var(--s-8) var(--margin);border-top:2px solid var(--ruling);scroll-margin-top:var(--s-4)}.band-head{gap:var(--s-2);margin-bottom:var(--s-6);display:grid}.band-head h2{font-size:var(--fs-h2);letter-spacing:var(--track-display);font-weight:800;line-height:1.05}.band-intro{max-width:62ch;color:var(--dust)}.cards{gap:var(--s-4);list-style:none;display:grid}#class .cards{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin-inline:calc(var(--margin) * -1);padding:0 var(--margin) var(--s-3);scroll-padding-inline:var(--margin);scrollbar-color:var(--ruling) transparent;grid-auto-columns:minmax(240px,78%);grid-auto-flow:column;overflow-x:auto}#class .card{scroll-snap-align:start}@media (width>=720px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}#class .cards{grid-auto-columns:auto;grid-auto-flow:row;margin-inline:0;padding:0;overflow:visible}}@media (width>=1080px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.cards--token{grid-template-columns:1.6fr 1fr 1fr}}.card{gap:var(--s-2);min-width:0;padding:var(--s-5);background-color:var(--desk);background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--text-row) - 2px), #2b376b8c calc(var(--text-row) - 2px) var(--text-row));background-position:0 var(--s-5);clip-path:var(--notch);font-size:var(--fs-14);line-height:var(--text-row);flex-direction:column;display:flex;position:relative}.card-title{font-size:var(--fs-21);font-weight:800;line-height:var(--text-row);letter-spacing:-.01em}.card--pupil{box-shadow:inset 0 4px 0 var(--tint)}.card--pupil .card-title{color:var(--tint)}.card-sprite{width:96px;height:96px;margin-bottom:var(--s-2)}.card-knows{margin-bottom:var(--s-3);overflow-wrap:anywhere}.card-action{align-self:flex-start;margin-top:auto}.card-number{font-size:var(--fs-50);letter-spacing:var(--track-display);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.card--fine p{color:var(--dust)}.report-head{align-items:center;gap:var(--s-4);display:flex}.report-ticker{color:var(--dust);letter-spacing:var(--track-label);font-weight:700}.report-status{margin-top:var(--s-2);font-size:var(--fs-21);color:var(--chalk);font-weight:700}.report-status--live{color:var(--amber)}.report-status--error{font-size:var(--fs-16)}.report-mint{gap:var(--s-2);display:grid}.report-mint code{padding:var(--s-2) var(--s-3);background:var(--night);font-family:var(--font);font-size:var(--fs-14);overflow-wrap:anywhere;word-break:break-all;line-height:1.6;display:block}.report-actions{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.footer{padding:var(--s-7) var(--margin) var(--s-6);border-top:2px solid var(--ruling)}.footer-top{align-items:center;gap:var(--s-5) var(--s-6);flex-wrap:wrap;display:flex}.footer-logo{width:auto;height:32px}.footer-links{gap:0 var(--s-5);font-size:var(--fs-14);flex-wrap:wrap;list-style:none;display:flex}.footer-links a{align-items:center;min-height:44px;display:inline-flex}.footer-contact{margin-left:auto}.footer-fine{gap:var(--s-1);margin-top:var(--s-5);font-size:var(--fs-12);color:var(--dust);line-height:1.7;display:grid}
