:root{color-scheme:light dark;--paper:#fff;--ink:#000;--soft:#595959;--wash:#f0f0f0;--hair:#000;--laser:#ff2b14;--laser-ink:#cf1505;--plate:#fff;--plate-ink:#000;--head:56px;--gutter:16px;--wide:1320px;--face:"Splashery Module", "Arial Black", Impact, sans-serif;--text:"OCR-B", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--m:calc(100vw / 37);--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#000;--ink:#fff;--soft:#a6a6a6;--wash:#161616;--hair:#fff;--laser-ink:#ff5a47}}:root[data-theme=dark]{color-scheme:dark;--paper:#000;--ink:#fff;--soft:#a6a6a6;--wash:#161616;--hair:#fff;--laser-ink:#ff5a47}:root[data-theme=light]{color-scheme:light}@media (width>=720px){:root{--gutter:32px}}@font-face{font-family:Splashery Module;src:url(/fonts/module.woff2)format("woff2");font-display:swap}@font-face{font-family:OCR-B;src:url(/fonts/ocrb.woff2)format("woff2");font-display:swap}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--text);-webkit-text-size-adjust:100%;font-variant-ligatures:none;scroll-padding-top:calc(var(--head) + 12px);font-size:100%}body{background:var(--paper);color:var(--ink);overflow-wrap:break-word;margin:0;font-size:1rem;line-height:1.55}img,svg,canvas{max-width:100%;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:2px}a:hover{color:var(--laser-ink)}:focus-visible{outline:3px solid var(--laser);outline-offset:2px}button{font:inherit;color:inherit}.skip{z-index:20;background:var(--ink);color:var(--paper);padding:8px 12px;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.head{z-index:10;height:var(--head);padding:0 var(--gutter);background:var(--paper);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand{font:400 20px/1 var(--face);text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand svg{flex:none;width:20px;height:20px}.nav{align-items:center;gap:2px;display:flex}.nav>a:not(.go,.icon){text-transform:uppercase;letter-spacing:.03em;padding:8px 10px;font-size:.8125rem;text-decoration:none;display:none}.nav>a:not(.go,.icon):hover,.nav>a[aria-current]:not(.go,.icon){text-decoration:underline}.icon,.menu>summary{cursor:pointer;background:0 0;border:0;place-items:center;width:38px;height:44px;padding:0;list-style:none;display:inline-grid}.menu>summary::-webkit-details-marker{display:none}.icon svg,.menu>summary svg{width:20px;height:20px}.nav>a.icon{display:none}.go{background:var(--ink);height:36px;color:var(--paper);text-transform:uppercase;white-space:nowrap;align-items:center;margin-left:2px;padding:0 10px;font-size:.75rem;text-decoration:none;display:inline-flex}.go:hover{background:var(--laser);color:#000}.mode{position:relative}.mode-button{cursor:pointer;text-transform:uppercase;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;min-width:38px;height:44px;padding:0;font-size:.8125rem;display:inline-flex}.mode-button svg{width:22px;height:22px;display:none}.mode-button[data-now=system] .m-system,.mode-button[data-now=light] .m-light,.mode-button[data-now=dark] .m-dark{display:block}.mode-word{display:none}.mode-say{background:var(--ink);color:var(--paper);text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:0;padding:4px 8px;font-size:.75rem;transition:opacity .2s;position:absolute;top:44px;right:0}.mode-say.is-on{opacity:1}.menu-panel{right:0;top:var(--head);background:var(--ink);width:min(280px,100%);color:var(--paper);padding:8px 0;display:grid;position:absolute}.menu-panel a{text-transform:uppercase;padding:11px 16px;font-size:.875rem;text-decoration:none}.menu-panel a:hover{background:var(--laser);color:#000}@media (width<=400px){.head{gap:6px}.brand{gap:6px;font-size:17px}.brand svg{width:18px;height:18px}.icon,.menu>summary,.mode-button{width:32px;min-width:32px}.go{padding:0 8px;font-size:.6875rem}}@media (width<=340px){:root{--gutter:12px}}@media (width>=900px){.mode-word{display:inline}.mode-button{padding:0 8px}.mode-say{display:none}.nav>a:not(.go,.icon){display:inline-block}.nav>a.icon{display:inline-grid}.menu{display:none}}.foot{padding:32px var(--gutter) 40px;border-top:6px solid var(--ink);gap:28px;margin-top:96px;display:grid}.foot-code{background:#fff;width:148px;height:148px}.foot nav{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:2px 16px;display:grid}.foot nav a{text-transform:uppercase;padding:6px 0;font-size:.875rem;text-decoration:none}.foot nav a:hover{text-decoration:underline}.foot .fine{color:var(--soft);max-width:62ch;margin:0;font-size:.8125rem}@media (width>=900px){.foot{grid-template-columns:148px minmax(0,1fr) minmax(0,1fr);column-gap:48px}.foot .fine{grid-column:2/-1}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}::view-transition-group(stage){animation-duration:.34s;animation-timing-function:var(--ease)}.plate,.stage{view-transition-name:stage}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}h1,h2,h3{font-family:var(--face);text-transform:uppercase;letter-spacing:0;text-wrap:balance;margin:0;font-weight:400;line-height:1.02}h1{font-size:clamp(38px,11.4vw,72px)}h2{font-size:clamp(32px,8.2vw,44px)}h3{font-size:22px;line-height:1.1}p{margin:0}.kicker{text-transform:uppercase;letter-spacing:.03em;color:var(--soft);font-size:.8125rem;line-height:1.4}.kicker a{color:inherit}.tile{background:var(--ink);min-height:48px;color:var(--paper);border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.9375rem;text-decoration:none;display:inline-flex}@media (hover:hover){.tile:hover{background:var(--laser);border-color:var(--laser);color:#000}}.tile:active{background:var(--laser);border-color:var(--laser);color:#000}.tile--open{color:var(--ink);background:0 0}.tile svg{width:18px;height:18px}.row{flex-wrap:wrap;gap:8px;display:flex}.hero{grid-template-columns:minmax(0,1fr);display:grid}.plate{aspect-ratio:1;background:var(--plate);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.ghost{z-index:2;border:3px solid var(--laser);opacity:0;width:56px;height:56px;transition:opacity .2s, transform .3s var(--ease);pointer-events:none;border-radius:50%;margin:-28px 0 0 -28px;position:absolute;transform:scale(1.5)}.ghost.is-on{opacity:1;transform:scale(1)}.plate-code{width:100%;height:100%;position:absolute;inset:0}.plate.is-live .plate-code{visibility:hidden;transition:visibility 0s .3s}.plate canvas{touch-action:none;cursor:crosshair;outline-offset:-3px;opacity:0;transition:opacity .3s;position:relative}.plate.is-live canvas{opacity:1}.read{min-height:88px;padding:8px var(--gutter);background:var(--ink);color:var(--paper);grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.read-art{object-fit:contain;background:#fff;width:56px;height:56px}.read-art[hidden]{visibility:hidden;display:block}.read-name{font:400 22px/1.05 var(--face);text-transform:uppercase;display:block}.read-where{color:inherit;opacity:.72;margin-top:3px;font-size:.75rem;line-height:1.3;display:block}.read-scan{min-height:1.3em;font-size:.75rem;line-height:1.3;display:block}.read-open{background:var(--laser);color:#000;text-transform:uppercase;align-items:center;min-height:44px;padding:0 14px;font-size:.875rem;text-decoration:none;display:inline-flex}.read-open[hidden]{display:none}button.read-open{cursor:pointer;border:0}@media (hover:hover){.read-open:hover{background:var(--paper);color:var(--ink)}}.is-breaking+.read{grid-template-columns:minmax(0,1fr) auto}.is-breaking+.read .read-art{display:none}.plate.is-breaking canvas{cursor:cell}.plate.is-broken{outline:6px solid var(--laser);outline-offset:-6px}.hero h1{font-size:clamp(30px,8.9vw,56px)}.panel{background:var(--ink);border-top:2px solid var(--paper);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;display:grid}.panel[hidden]{display:none}.panel button{background:var(--ink);min-height:46px;color:var(--paper);outline-offset:-3px;cursor:pointer;text-transform:uppercase;border:0;padding:0 4px;font-size:.8125rem}.panel .panel-hot{background:var(--laser);color:#000}.panel button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.ink{padding:8px var(--gutter);background:var(--ink);color:var(--paper);text-transform:uppercase;grid-template-columns:auto minmax(0,1fr) 3.4em auto;align-items:center;gap:10px;font-size:.8125rem;display:grid}.ink[hidden]{display:none}.ink input{-webkit-appearance:none;appearance:none;touch-action:none;background:0 0;width:100%;height:30px;margin:0}.ink input::-webkit-slider-runnable-track{background:var(--track);height:14px}.ink input::-moz-range-track{background:var(--track);height:14px}.ink input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--paper);border:2px solid var(--ink);border-radius:0;width:22px;height:30px;margin-top:-8px}.ink input::-moz-range-thumb{background:var(--paper);border:2px solid var(--ink);border-radius:0;width:18px;height:26px}.ink button{min-height:34px;color:inherit;font:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border:2px solid;padding:0 8px}.words{padding:20px var(--gutter) 0;align-content:center;gap:14px;display:grid}.words p{max-width:34em}@media (width>=960px),(orientation:landscape) and (width>=640px){.hero{grid-template-columns:minmax(0, calc(100vh - var(--head) - 8px)) minmax(0, 1fr);grid-template-columns:minmax(0, calc(100svh - var(--head) - 8px)) minmax(0, 1fr);min-height:calc(100vh - var(--head) - 8px);min-height:calc(100svh - var(--head) - 8px);grid-template-rows:minmax(0,1fr) auto auto auto}.plate{grid-row:1/5;align-self:start;width:100%}.words{grid-area:1/2;gap:22px;padding:0 48px}.panel{grid-area:2/2}.ink{grid-area:3/2;padding:8px 48px}.read{grid-area:4/2;margin:0;padding:12px 48px}.hero h1{font-size:clamp(44px,4.4vw,80px)}}.band{padding:72px var(--gutter) 0;max-width:var(--wide);margin:0 auto}.band>h2{margin-bottom:14px}.band>p{max-width:38em}.band>p+p{margin-top:12px}.band--ink{background:var(--ink);color:var(--paper);max-width:none;margin-top:72px;padding-top:56px;padding-bottom:56px}.band--ink a:hover{color:var(--laser)}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;margin:20px 0 0;padding:0;list-style:none;display:grid}.facts li{background:var(--ink);color:var(--paper);padding:14px 12px 12px}.facts b{font:400 clamp(44px, 13vw, 76px)/1 var(--face);display:block}.facts span{text-transform:uppercase;font-size:.8125rem}@media (width>=720px){.facts{grid-template-columns:repeat(4,minmax(0,1fr))}}.spec{gap:8px 16px;margin:18px 0 0;font-size:.875rem;display:grid}.spec div{grid-template-columns:11em minmax(0,1fr);gap:12px;display:grid}.spec dt{color:var(--soft)}.spec dd{margin:0}.cells{background:#000;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.cells{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=1100px){.cells{grid-template-columns:repeat(7,minmax(0,1fr))}}.cell{aspect-ratio:1;color:#000;background:#fff;text-decoration:none;display:block;position:relative;overflow:hidden}.cell--black{color:#fff;background:#000}.cell img{object-fit:contain;width:88%;height:76%;transition:transform .28s var(--ease);position:absolute;inset:6%}.cell-name{text-transform:uppercase;font-size:.6875rem;line-height:1.15;position:absolute;bottom:5px;left:6px;right:6px}.cell--all{background:var(--laser);color:#000;place-items:center;display:grid}.cell--all b{font:400 clamp(36px, 10vw, 64px)/1 var(--face)}.cell:hover{color:inherit}.cell--all:hover{color:#000}.cell:hover img{transform:scale(1.14)}.cell:active img{transform:scale(.94)}.shelves{border-top:2px solid var(--ink);grid-template-columns:minmax(0,1fr);gap:0;margin:18px 0 0;padding:0;list-style:none;display:grid}@media (width>=720px){.shelves{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}}.shelf-row{border-bottom:2px solid var(--ink);grid-template-columns:68px minmax(0,1fr) 70px;align-items:center;gap:12px;padding:10px 0;text-decoration:none;display:grid}.shelf-row .locator{width:68px;height:68px}.shelf-row b{font:400 22px/1.06 var(--face);text-transform:uppercase;display:block}.shelf-row span{color:var(--soft);font-size:.8125rem}.shelf-row img{object-fit:contain;width:70px;height:70px;transition:transform .28s var(--ease)}.shelf-row:hover{color:var(--laser-ink)}.shelf-row:hover img{transform:scale(1.18)rotate(-4deg)}.locator{background:#fff;display:block}.page-head{padding:28px var(--gutter) 22px;max-width:var(--wide);gap:10px;margin:0 auto;display:grid}.page-head--code{grid-template-columns:minmax(0,1fr) 96px;align-items:end}.page-head--code .locator{width:96px;height:96px}.lead-line{max-width:34em;font-size:1.0625rem}.page-body{padding:0 var(--gutter);max-width:var(--wide);margin:0 auto}.page-body>.cells{margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1)}.prose{grid-template-columns:minmax(0,1fr);gap:12px;max-width:40em;display:grid}.prose h2{margin-top:28px;font-size:clamp(26px,6.6vw,34px)}.prose ul{gap:8px;margin:0;padding-left:1.2em;list-style:square;display:grid}.prose code:not(.block){overflow-wrap:anywhere;background:var(--wash);padding:0 4px;font-family:inherit}.needs-words{border:3px solid var(--laser);padding:0 12px 12px;font-size:.875rem}.needs-words strong{background:var(--laser);color:#000;width:fit-content;font:400 18px/1 var(--face);text-transform:uppercase;margin:0 -12px 10px;padding:6px 10px 4px;display:block}.links{gap:2px;max-width:40em;margin:0;padding:0;list-style:none;display:grid}.links a{background:var(--ink);color:var(--paper);gap:2px;padding:14px 14px 12px;text-decoration:none;display:grid}.links b{font:400 26px/1 var(--face);text-transform:uppercase}.links span{word-break:break-all;font-size:.8125rem}.links a:hover{background:var(--laser);color:#000}.crumbs{padding:2px var(--gutter) 8px;text-transform:uppercase;color:var(--soft);flex-wrap:wrap;gap:4px 8px;font-size:.8125rem;display:flex}.crumbs a{color:inherit}.stage{background:0 0;place-items:center;transition:background .4s;display:grid;position:relative;overflow:hidden}.stage.night{background:#000}.stage.is-code{background:#fff}.stage-box{aspect-ratio:1/1.08;place-items:center;width:100%;max-height:86svh;display:grid;position:relative}.stage-box img{object-fit:contain;width:100%;height:100%}.stage-box canvas{z-index:2;position:absolute}.stage-box.is-live img{visibility:hidden}.stage-box splashery-toy{aspect-ratio:auto;z-index:3;width:100%;height:100%;position:absolute;inset:0}.stage-tools{flex-wrap:wrap;gap:2px;padding:2px 0 0;display:flex}.stage-tools>*{flex:40%}.proof{padding:0 var(--gutter);overflow-wrap:anywhere;flex:100%;font-size:.8125rem}.proof:empty{display:none}.splash{grid-template-columns:minmax(0,1fr);display:grid}.label{padding:22px var(--gutter) 0;gap:12px;display:grid}.label .what{font-size:1.0625rem}.kv{border-top:2px solid var(--ink);margin:0;display:grid}.kv>div{border-bottom:1px solid var(--soft);grid-template-columns:7.5em minmax(0,1fr);gap:12px;padding:8px 0;font-size:.9375rem;display:grid}.kv dt{color:var(--soft)}.kv dd{margin:0}.reading{padding:0 var(--gutter);max-width:54em}.block{margin-top:44px}.block>h2{margin-bottom:12px;font-size:clamp(26px,6.6vw,34px)}.block-body{gap:12px;display:grid}.howto{font-size:1.125rem}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--soft);padding:8px 10px 8px 0;font-weight:400}thead th{border-bottom:2px solid var(--ink);text-transform:uppercase;color:var(--soft);font-size:.75rem}tbody th{font-weight:400}small{color:var(--soft);margin-top:4px;font-size:.8125rem;display:block}.claims,.references,.chapters{gap:12px;margin:0;padding:0;list-style:none;display:grid}.references{font-size:.875rem}.ref-n{color:var(--soft);margin-right:8px}sup{line-height:0}.chapters a{text-transform:uppercase}@media (width>=960px){.splash{grid-template-columns:minmax(0,11fr) minmax(0,9fr);align-items:start;column-gap:40px}.stage-wrap{top:var(--head);position:sticky}.stage-box{height:calc(100vh - var(--head) - 60px);height:calc(100svh - var(--head) - 60px);aspect-ratio:auto}.label{padding:18px var(--gutter) 0 0}.reading{padding:0 var(--gutter) 0 0;grid-column:2}.stage-wrap{grid-row:1/4}}.copy{background:var(--wash);border-left:6px solid var(--ink);position:relative}.copy pre{white-space:pre-wrap;word-break:break-all;font:.8125rem/1.5 var(--text);margin:0;padding:12px 48px 12px 12px;overflow-x:auto}.copy-button{cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:2px;right:2px}.copy-button svg{width:18px;height:18px}.copy-button:hover{color:var(--laser-ink)}.copy-say{background:var(--ink);color:var(--paper);text-transform:uppercase;padding:2px 6px;font-size:.75rem;position:absolute;top:8px;right:40px}.tool-list{border-top:2px solid var(--ink);gap:0;margin:14px 0 0;padding:0;list-style:none;display:grid}@media (width>=720px){.tool-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}}.tool{border-bottom:2px solid var(--ink);grid-template-columns:72px minmax(0,1fr);gap:4px 12px;padding:12px 0;display:grid}.tool img{object-fit:contain;grid-row:1/4;width:72px;height:72px}.tool h3 a{text-decoration:none}.tool p{font-size:.875rem}.tool .go-line{text-transform:uppercase;font-size:.8125rem}.section{margin-top:56px}.drop{max-width:44em;margin-top:8px}.drop-box{border:3px dashed var(--ink);cursor:pointer;justify-items:start;gap:8px;padding:20px 16px;display:grid}.drop.is-over .drop-box{border-color:var(--laser);background:var(--wash)}.drop-title{font:400 26px/1.05 var(--face);text-transform:uppercase}.drop-input{opacity:0;width:1px;height:1px;position:absolute}.drop-promise{margin-top:10px;font-size:.875rem}.drop-say{font-size:.875rem}.search-form{gap:2px;display:flex}.search-form input{border:2px solid var(--ink);background:var(--paper);width:0;min-width:0;min-height:48px;color:var(--ink);font:inherit;border-radius:0;flex:1;padding:0 12px}.search-results{gap:14px;margin:0;padding:0;list-style:none;display:grid}.search-results li{grid-template-columns:56px minmax(0,1fr);gap:12px;display:grid}.search-results h2{font-size:22px}.search-results h2 a{text-decoration:none}.credit-fold{border-top:2px solid var(--ink);padding:10px 0}.credit-fold summary{cursor:pointer;font:400 22px/1.1 var(--face);text-transform:uppercase}.credit-body{padding:10px 0;font-size:.875rem;overflow-x:auto}.jump{flex-wrap:wrap;gap:2px;margin:0 0 20px;padding:0;list-style:none;display:flex}.jump a{background:var(--wash);text-transform:uppercase;padding:6px 8px;font-size:.8125rem;text-decoration:none;display:block}.jump a:hover{background:var(--laser);color:#000}.shelf-section{margin-top:36px}.shelf-section>h2{margin-bottom:10px;font-size:clamp(26px,6.6vw,34px)}.shelf-section>h2 a{text-decoration:none}.shelf-section>.cells{margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1)}@media (prefers-reduced-motion:reduce){.cell img,.shelf-row img,.stage{transition:none}}.band--tight{padding-top:14px}.band--ink .inner{max-width:var(--wide);gap:14px;margin:0 auto;display:grid}.band--ink p{max-width:38em}.band--ink h3{margin-top:22px;font-size:clamp(32px,8.2vw,44px)}.map{background:#fff;width:min(100%,420px)}.band--ink .spec dt{opacity:.7;color:inherit}.tile--laser{background:var(--laser);border-color:var(--laser);color:#000}.band--ink .tile--laser:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}.real{gap:18px;margin-top:18px;display:grid}.real-stage{aspect-ratio:1;place-items:center;display:grid;position:relative;overflow:hidden}.real-stage img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.real-stage.is-live img{visibility:hidden}.real-stage .tile{position:absolute;bottom:0;left:0}.real-stage splashery-toy{aspect-ratio:auto;width:100%;height:100%;position:absolute;inset:0}.verbs{font:400 clamp(38px, 11.5vw, 72px)/1.04 var(--face);text-transform:uppercase;margin:0;padding:0;list-style:none}@media (width>=900px){.real{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}.cells--six{margin-top:16px}.cells--near{grid-template-columns:repeat(4,minmax(0,1fr))!important}.cells--near .cell-name{font-size:.625rem}.label-top{grid-template-columns:minmax(0,1fr) 72px;align-items:start;gap:12px;display:grid}.label-top .locator{width:72px;height:72px}.label-top h1{margin-bottom:8px}
