/* The original game keeps its complete layout and controls. Monochrome cues
   distinguish the two heads/layers without depending on red versus blue. */
:root{--red:#eeeeea;--red-dark:#c9c9c3;--red-light:#f0f0ea;--blue:#999994;--blue-light:#c6c6c0;--green:#deded6;--amber:#d8d8cf;--bg:#171717;--surface:#202020;--surface-2:#2c2c2c;--line:#ffffff2b;--line-strong:#ffffff77;--text:#f0f0e9;--muted:#bcbcb4;--dim:#aaaA9f;--sans:Arial,Helvetica,sans-serif}
body{filter:grayscale(1)}.container{max-width:1100px;padding-left:25px;padding-right:25px}header{border-bottom-color:#666;text-align:left;padding-top:20px}header h1{font:400 32px/1.2 Georgia,serif;text-transform:none;letter-spacing:-.04em}header p{font-size:10px;line-height:1.7}.level-nav{gap:0}.level-btn,.btn,.panel,.tok .word,.dtok .word,.demo-pred,.rule,.hint,.chip,.fchip,.toast{border-radius:0}.level-btn.active,.level-btn.active .stars,.btn.primary,.toast,.tok.cur .word::before{color:#171717}.level-btn.active{border-color:#eee}.intro{border-left-color:#ddd}.intro h2{font:400 24px/1.2 Georgia,serif;text-transform:none;letter-spacing:-.025em}.welcome h2{font:400 31px/1.2 Georgia,serif;letter-spacing:-.03em}.welcome h2.small{font:12px/1.6 var(--mono);letter-spacing:.08em}.welcome .eyebrow{color:#bebeb6}.stage,.demo-stage{border-color:#73736c}.panel{border-color:#55554f}.panel h3{color:#deded8}.heads .panel.b{border-top:3px double #a7a79f}.heads .panel.a{border-top:3px solid #ededE6}.tok .beam{background:#e2e2db;border-radius:0}.tok .beam.b,.panel h3 .swatch.b{background:repeating-linear-gradient(135deg,#bababa 0 3px,#555 3px 5px)}.tok .beam.on::after{background:transparent}.tok .keys span.hit{color:#fff;background:#333;border-color:#e6e6dc}.tok .keys span.miss{color:#bebeb8;background:#232323;border-color:#666;text-decoration:line-through}.chip.pos,.fchip.pos{border-color:#ddd;background:#3c3c3c}.chip.pos .lbl,.chip.pos .w,.fchip.pos{color:white}.chip.neg,.fchip.neg{border-color:#999;background:#252525;border-style:dashed}.chip.neg .lbl,.chip.neg .w,.fchip.neg{color:#ccc}.chip.neg .lbl,.fchip.neg{text-decoration:line-through}.fchip.acq{border-color:#bbb;border-style:dashed;background:#303030;color:#eee}.fchip.acq i,.forge-rule i{color:#cecece}.tok.cur .word,.dtok.cur .word{box-shadow:0 0 0 2px #aaa5}.tok.forge-sel .word{box-shadow:0 0 0 2px #eee4;border-style:dashed}.puzzle-bar .dots i.now{box-shadow:0 0 0 2px #eee4}.heat-legend .ramp{background:linear-gradient(to right,#242424,#606060,#adadad,#f0f0f0)}.lesson{background:#ffffff06;border-left-color:#ddd}.lesson b,.goal .msg.ok{color:#e6e6df}.pred-row.chosen .pbar i{background:#e5e5db;border:1px solid white}.pred-row.chosen .pw{font-weight:700}.pred-row.rest .pbar i{background:repeating-linear-gradient(135deg,#555,#555 3px,#777 3px,#777 5px)}:focus-visible{outline:2px solid #e5e5dd;outline-offset:3px}.btn:focus-visible,.level-btn:focus-visible{outline-offset:-5px}.formula{color:#aaa;font-size:12px}.about summary{color:#c9c9bf}.demo-stage svg path{stroke:#e5e5db}
@media(max-width:560px){.container{padding-left:12px;padding-right:12px}header h1{font-size:28px}.intro h2{font-size:22px}.welcome h2{font-size:25px}}
/* The effects canvas starts at the canvas default width before its first burst. */
#fx{width:100%;height:100%;max-width:100%}
/* Follow the host's light/dark preference without altering game state. */
:root[data-theme=light]{color-scheme:light;--red:#242424;--red-dark:#444;--red-light:#333;--blue:#676760;--blue-light:#444;--green:#353530;--amber:#45453f;--bg:#f6f6f0;--surface:#fdfdf8;--surface-2:#e9e9e1;--line:#20202030;--line-strong:#20202070;--text:#202020;--muted:#55554f;--dim:#65655d}
[data-theme=light] :is(.intro p,.goal .msg,.lesson,details.about .body,.welcome p,.levels-list li,.demo-caption){color:#353530}[data-theme=light] :is(.level-btn.active,.level-btn.active .stars,.btn.primary,.toast,.tok.cur .word::before){color:#fafaf5}[data-theme=light] :is(.welcome .eyebrow,.panel h3,.formula,.about summary){color:#50504a}[data-theme=light] :is(.intro,.heads .panel.a,.lesson){border-color:#333}[data-theme=light] .heads .panel.b{border-color:#777}[data-theme=light] .tok .beam{background:#333}[data-theme=light] .tok .beam.b{background:repeating-linear-gradient(135deg,#777 0 3px,#aaa 3px 5px)}[data-theme=light] .tok .keys span.hit{color:#222;background:#d4d4ca;border-color:#555}[data-theme=light] .tok .keys span.miss{color:#555;background:#efefe7;border-color:#aaa}[data-theme=light] :is(.chip.pos,.fchip.pos){background:#d9d9cf;border-color:#666}[data-theme=light] :is(.chip.pos .lbl,.chip.pos .w,.fchip.pos){color:#222}[data-theme=light] :is(.chip.neg,.fchip.neg){background:#efefe8;border-color:#777}[data-theme=light] :is(.chip.neg .lbl,.chip.neg .w,.fchip.neg){color:#555}[data-theme=light] .fchip.acq{background:#deded5;color:#222;border-color:#666}[data-theme=light] :is(.fchip.acq i,.forge-rule i,.lesson b,.goal .msg.ok){color:#333}[data-theme=light] :is(.btn:hover,.tok .stepper button:hover){background:#deded4}[data-theme=light] .chip button:disabled{color:#aaa}[data-theme=light] .blend span{background:#d3d3c9;color:#222}[data-theme=light] .blend span.tgt{background:#444;color:#fff}[data-theme=light] .blend span.rest{background:#e2e2d9;color:#555}[data-theme=light] .tip{background:#fdfdf8}[data-theme=light] .dtok.ghost .word{background:repeating-linear-gradient(135deg,#deded6 0 4px,#efefe8 4px 8px);border-color:#999}[data-theme=light] .pred-row.chosen .pbar i{background:#333;border-color:#333}[data-theme=light] .demo-stage svg path{stroke:#444}[data-theme=light] .heat-legend .ramp{background:linear-gradient(to right,#ededE5,#b0b0a8,#707068,#333)}[data-theme=light] :focus-visible{outline-color:#333}[data-theme=light] .heat .cell.tgt,[data-theme=light] .heat-legend .tg{outline-color:#333}
:root{--heat-0:#242424;--heat-1:#606060;--heat-2:#adadad;--heat-3:#f0f0f0}:root[data-theme=light]{--heat-0:#ededE5;--heat-1:#b0b0a8;--heat-2:#707068;--heat-3:#333}.heat-legend .ramp{background:linear-gradient(to right,var(--heat-0),var(--heat-1),var(--heat-2),var(--heat-3))}
