:root{color-scheme:dark;--bg:#080808;--fg:#f2f2f2;--muted:#adb1b6;--line:#34383d;--surface:#101214;--metal:#171a1d;--accent:#e57b45;--machine:#7693ad;--focus:var(--accent);--font:SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:13px/1.6 var(--font)}body::before{content:"";position:fixed;inset:12px;border:1px solid var(--line);pointer-events:none;z-index:10}
button,select{font:inherit;color:inherit;min-width:0}button{cursor:pointer;border:1px solid var(--line);border-radius:0;background:var(--surface);padding:9px 13px;transition:background .12s,border-color .12s,color .12s}button:hover:not(:disabled){border-color:var(--machine);color:var(--fg);background:var(--metal)}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}select{border:1px solid var(--line);background:var(--surface);border-radius:0;padding:10px 32px 10px 12px;width:100%;height:42px;cursor:pointer}
.thinkmax{max-width:1216px;margin:0 auto;padding:30px 36px 24px;min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;letter-spacing:-1.2px;line-height:1}.brand-mark{width:24px;height:24px;flex:none;color:var(--accent);shape-rendering:crispEdges}.header-actions{display:flex;align-items:center;gap:19px}.header-actions .outline-button{font-size:11px;padding:8px 12px}.icon-button{background:none;border:0;padding:4px;color:var(--muted)}.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:miter;display:block}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 256px;gap:50px;padding-top:32px}.puzzle-space{min-width:0}.intro{position:relative;padding:0 0 0 18px;margin:0 0 32px}.intro::before{content:"";position:absolute;left:0;top:2px;bottom:-5px;width:24px;border-left:1px solid var(--accent);border-bottom:1px solid var(--accent);pointer-events:none}.terminal-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--fg);font-size:13px;margin:0 0 9px;line-height:1.5}.terminal-prompt{color:var(--machine);margin-right:2px}.agent-token{background:var(--machine);color:var(--bg);padding:0 5px;font-weight:700}.ready-prompt{color:var(--muted)}.cursor{width:6px;height:13px;background:var(--machine);animation:blink 1.2s steps(1,end) infinite}h1{font-size:clamp(27px,3.5vw,44px);line-height:1.15;letter-spacing:-2px;font-weight:600;color:var(--accent);margin:0 0 12px}.intro-caption{color:var(--muted);font-size:12px;margin:0}.terminal-label{display:block;color:var(--muted);font-size:10px;letter-spacing:.7px;text-transform:lowercase;margin-bottom:8px}
.preferences{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;margin-bottom:30px}.difficulty-control{border:0;padding:0;margin:0;min-width:0}.difficulty-control legend{padding:0}.difficulty-levels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));height:42px}.difficulty-levels button{font-size:10px;padding:8px 3px;white-space:nowrap;background:transparent;border-color:var(--line);margin-left:-1px}.difficulty-levels button:first-child{margin-left:0}.difficulty-levels button.selected{border-color:var(--accent);color:var(--accent);background:#e57b4510;position:relative;z-index:1}
.challenge{border-top:1px solid var(--line);padding-top:20px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.challenge-kicker{font-size:10px;color:var(--machine);display:block;margin-bottom:6px}h2{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-1.2px;margin:0}.move-count{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3;color:var(--fg)}.move-count>span{font-size:24px;letter-spacing:-1px}.move-count small{font-size:9px;color:var(--muted)}.instruction{font-size:12px;color:var(--muted);margin:12px 0 24px;max-width:52ch}.board-stage{padding:12px 0 8px;min-width:0}
.primary,.outline-button{position:relative;border:1px solid var(--accent);color:var(--accent);background:var(--bg);box-shadow:3px 3px 0 var(--bg),4px 4px 0 var(--accent);transition:transform .12s,box-shadow .12s,background .12s,color .12s}.primary:hover:not(:disabled),.outline-button:hover:not(:disabled){background:var(--accent);color:var(--bg);border-color:var(--accent);transform:translate(-1px,-1px)}.primary:active:not(:disabled),.outline-button:active:not(:disabled){transform:translate(3px,3px);box-shadow:0 0 0 var(--bg),1px 1px 0 var(--accent)}.primary>span{margin-left:12px}.quiet{border-color:transparent;background:none;color:var(--muted)}.quiet:hover:not(:disabled){border-color:transparent;background:transparent;color:var(--accent)}.footer-controls{display:flex;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.footer-controls button{font-size:11px}.footer-controls .primary{margin-left:auto;min-width:106px}.feedback{min-height:34px;font-size:11px;color:var(--accent);margin:16px 0 0}
.side-2{--side:2}.side-3{--side:3}.side-4{--side:4}.side-5{--side:5}.side-6{--side:6}.side-7{--side:7}.side-8{--side:8}.side-9{--side:9}.lights-board{max-width:326px;margin:0 auto;padding:10px}.light-grid{display:grid;grid-template-columns:repeat(var(--side),minmax(0,1fr));gap:9px}.bulb{aspect-ratio:1;padding:20%;display:grid;place-items:center;min-width:0;border:1px solid #303437;background:#0e1012}.bulb svg{width:100%;max-width:35px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:miter;shape-rendering:geometricPrecision}.bulb.off{color:#646c73}.bulb.on{color:var(--accent);background:#e57b4510;border-color:#ae623d;box-shadow:inset 0 -3px 0 #e57b451a}.bulb.on svg{fill:#e57b4515}.bulb:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:#e57b451c}.hinted{outline:2px dashed var(--focus);outline-offset:3px}
.cube-board{display:grid;gap:20px;max-width:340px;margin:0 auto;padding:8px 12px}.cube-layer{display:flex;align-items:center;justify-content:center;gap:22px;min-width:0}.layer-label{flex:none;font-size:12px;color:var(--machine);line-height:1.5}.layer-label span{display:block;font-size:9px;color:var(--muted)}.cube-layer .light-grid{flex:0 1 180px;min-width:0;width:180px;transform:skewY(-5deg);gap:6px}.cube-layer .bulb{padding:17%;box-shadow:3px 4px 0 var(--metal)}.cube-layer .bulb svg{max-width:23px}
.track-board{position:relative;width:100%;max-width:410px;margin:0 auto}.track-grid{display:grid;grid-template-columns:repeat(var(--side),minmax(0,1fr));border:1px solid #434a51;overflow:hidden}.track-cell{position:relative;aspect-ratio:1;padding:0;border-width:0 1px 1px 0;border-color:#242a2e;background:transparent;z-index:2;display:grid;place-items:center;min-width:0}.track-cell:not(.blocked):hover{background:#7693ad16;border-color:#434a51}.track-cell.blocked{background:repeating-linear-gradient(135deg,#16191c,#16191c 3px,#101214 3px,#101214 7px);color:#5e676f;opacity:1}.track-cell.blocked span{font-size:23px;line-height:1}.track-cell.hinted{outline-offset:-4px}.rails{position:absolute;inset:0;width:100%;height:100%;padding:1px;z-index:1;pointer-events:none}.rail,.ghost-rail{fill:none;stroke-width:6;stroke-linecap:square;stroke-linejoin:miter}.rail-0{color:#e57b45;stroke:#e57b45}.rail-1{color:#7693ad;stroke:#7693ad}.rail-2{color:#cbbf9b;stroke:#cbbf9b}.rail-3{color:#9aaca4;stroke:#9aaca4}.rail-4{color:#b39cab;stroke:#b39cab}.rail-5{color:#bca18e;stroke:#bca18e}.rail-6{color:#8f9cbb;stroke:#8f9cbb}.rail-7{color:#aab48b;stroke:#aab48b}.rail-8{color:#be8d88;stroke:#be8d88}.rail-9{color:#88afa8;stroke:#88afa8}.rail-10{color:#bfa5c8;stroke:#bfa5c8}.selected-rail{stroke-width:9}.ghost-rail{stroke:var(--focus);stroke-width:5;stroke-dasharray:5 6;opacity:.75}.placement-anchor{fill:var(--fg);stroke:var(--bg);stroke-width:2}
.robot,.flag{display:grid;place-items:center;background:var(--bg);width:25px;height:25px;line-height:1}.robot{color:var(--machine)}.robot svg{width:24px;height:24px;shape-rendering:crispEdges}.robot-face{fill:var(--bg)}.robot-eyes{fill:var(--fg)}.flag{color:var(--accent);font-size:25px}.checkpoint{color:var(--fg);font-size:10px;text-shadow:0 0 3px var(--bg)}
.tray{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:18px}.piece{height:66px;position:relative;padding:16px 7px 8px}.piece.selected,.model.selected{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:2px}.piece.placed{background:#7693ad12}.piece-number{position:absolute;left:5px;top:2px;color:var(--muted);font-size:9px}.piece-shape{width:100%;height:100%;max-height:44px;overflow:visible}.piece-shape polyline{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter}.piece-shape circle{fill:var(--fg);stroke:var(--bg);stroke-width:1}.track-controls{display:flex;gap:8px;margin-top:16px}.track-controls button{flex:1;padding:8px 5px;font-size:11px;white-space:nowrap}.track-controls .primary{margin-right:4px}.hint-preview{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted);margin-top:18px}.hint-preview svg{width:64px;height:40px;color:var(--accent)}
.river-board{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:10px;min-height:290px}.bank{border:1px solid var(--line);background:var(--surface);padding:12px 9px;display:flex;flex-direction:column;gap:8px;min-width:0}.bank-title{font-size:9px;color:var(--muted);margin-bottom:8px}.model{display:flex;align-items:center;gap:9px;padding:8px 5px;font-size:12px;text-align:left;background:var(--bg);border-color:#242a2e}.model:disabled{opacity:.85}.model-symbol{color:var(--machine);font-size:17px}.model-2 .model-symbol{color:var(--accent)}.pilot{font-size:11px;margin-top:auto;color:var(--accent);padding:8px 4px}.pixel-person{margin-right:7px}.water{position:relative;display:flex;align-items:center;justify-content:center;border-top:1px solid #273744;border-bottom:1px solid #273744;background:#7693ad0a;color:var(--machine)}.river-wave{opacity:.35;font-size:25px;line-height:3}.boat{position:absolute;top:43%;font-size:38px;color:var(--machine);z-index:1}.boat.at-left{left:-8px}.boat.at-right{right:-8px}.rules{font-size:10px;color:var(--muted);margin-top:20px;line-height:1.8}.rules summary{cursor:pointer;color:var(--machine)}.rules ul{margin:8px 0 0;padding-left:16px}.rules li+li{margin-top:4px}.cross-row .primary{width:calc(100% - 4px);margin-top:16px;font-size:12px}
.agents-panel{align-self:start;margin-top:0;border:1px solid var(--line);padding:18px;min-width:0}.agents-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:14px}.agents-heading .terminal-label{margin:0;color:var(--machine)}.agent-count{color:var(--machine);font-size:12px}.conversation-list{display:grid;gap:0}.conversation{padding:14px 0;border-top:1px solid var(--line);min-width:0}.conversation-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.phase{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.status-dot{display:inline-block;width:5px;height:5px;background:var(--accent);flex:none}.phase .status-dot{background:#616a73}.phase-working,.phase-working .status-dot{color:var(--machine)}.phase-working .status-dot{background:var(--machine)}.phase-waiting{color:var(--accent)}.phase-waiting .status-dot{background:var(--accent)}.provider-symbol{color:var(--machine);font-size:16px;line-height:1}.conversation-link{position:relative;display:flex;flex-direction:column;gap:1px;width:100%;min-width:0;border:0;background:none;text-align:left;padding:0 18px 0 0}.conversation-link:hover:not(:disabled){background:none;color:var(--accent)}.conversation-link strong{font-size:12px;font-weight:500}.conversation-link span:not(.conversation-arrow){font-size:10px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-arrow{position:absolute;right:0;top:0;color:var(--machine)}.connection-note{font-size:10px;color:var(--muted);line-height:1.7;overflow-wrap:anywhere;margin:10px 0 0}.connect-alerts{font-size:10px;padding:6px 0}.agent-footnote{font-size:9px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:4px}.agent-footnote>span{color:var(--machine)}.empty-prompt{color:var(--machine);font-size:25px;line-height:1;display:block;margin:18px 0}.empty-agents p{font-size:13px;color:var(--fg);margin:0 0 15px}.empty-agents .empty-help{font-size:10px;color:var(--muted);line-height:1.8}.launch-actions{display:grid;gap:8px;margin:16px 0 22px}.launch-actions button{font-size:10px;text-align:left;background:none}
.attention-list{display:grid;gap:12px;margin-bottom:20px}.attention{border:1px solid var(--machine);background:#7693ad09;padding:12px;min-width:0}.attention.needs-input{border-color:var(--accent);background:#e57b4509}.alert-kicker{display:block;font-size:9px;color:var(--machine);margin-bottom:5px}.needs-input .alert-kicker{color:var(--accent)}.attention strong{display:block;font-size:12px;line-height:1.5;font-weight:500}.alert-label{display:block;font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin-top:4px}.alert-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.alert-actions .primary{font-size:10px;padding:7px 8px}.alert-actions .primary>span{margin-left:4px}.dismiss-alert{font-size:18px;padding:0 4px}
.solved{border-top:1px solid var(--line);min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.solved-symbol{margin-bottom:26px}.solved-symbol .brand-mark{width:44px;height:44px}.solved .terminal-label{color:var(--machine);margin-bottom:14px}.solved h2{font-size:32px;letter-spacing:-2px}.solved h2 span{color:var(--accent)}.solved p{color:var(--muted);font-size:12px;margin:14px 0 26px}.solved .primary{font-size:12px}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:14px;margin-top:18px;color:var(--muted);font-size:10px}.app-footer>span{display:flex;align-items:center;gap:8px}.app-footer button{padding:2px 0;font-size:10px}
.robot-runner{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.robot-runner rect{fill:var(--machine);stroke:var(--bg);stroke-width:2}.confetti{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:11}.confetti i{position:absolute;top:30%;width:5px;height:5px;animation:fall 1.2s ease-in forwards}.confetti-0{background:var(--accent)}.confetti-1{background:var(--machine)}.confetti-2{background:var(--fg)}@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}@keyframes fall{from{transform:translateY(-20px);opacity:1}to{transform:translateY(200px) rotate(180deg);opacity:0}}
@media(max-width:1050px){.workspace{gap:30px;grid-template-columns:minmax(0,1fr) 224px}.preferences{grid-template-columns:1fr;gap:14px}.thinkmax{padding:28px 32px}.tray{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:740px){.thinkmax{max-width:600px;padding:26px 28px}.workspace{display:flex;flex-direction:column;gap:24px;padding-top:28px}.agents-panel{width:100%;order:2;margin-top:0}.agents-heading{margin-bottom:12px}.conversation-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.attention-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.agents-panel:has(.attention){order:-1}.agents-panel:has(.attention) .conversation-list{display:none}.agents-panel:has(.attention) .agent-footnote{display:none}.agents-panel:has(.attention) .attention-list{margin-bottom:0}.empty-agents{display:grid;grid-template-columns:1fr 1.4fr;gap:0 18px}.empty-prompt{display:none}.empty-agents p{font-size:12px}.empty-agents .empty-help{grid-column:2;grid-row:1/3;margin:0}.launch-actions{margin:0 0 16px;gap:6px}.agent-footnote{font-size:10px}.intro{margin-bottom:28px}.preferences{grid-template-columns:1fr;gap:14px}.lights-board{max-width:320px}.tray{grid-template-columns:repeat(6,minmax(0,1fr))}h1{font-size:36px}}
@media(max-width:420px){body::before{inset:8px}.thinkmax{padding:22px 22px 18px}.app-header{padding-bottom:20px;gap:8px}.brand{font-size:18px;gap:8px}.brand-mark{width:21px;height:21px}.header-actions{gap:12px}.header-actions .outline-button{font-size:9px;padding:7px 8px}.icon-button svg{width:16px;height:16px}.workspace{padding-top:24px}.intro{padding-left:14px}.terminal-line{font-size:11px;gap:6px}h1{font-size:30px;letter-spacing:-1.7px}.intro-caption{font-size:10px}.difficulty-levels{height:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.difficulty-levels button{margin:0;font-size:11px;padding:9px 3px}.challenge{padding-top:18px}.instruction{font-size:11px}.title-row h2{font-size:22px}.lights-board{padding:6px}.light-grid{gap:7px}.tray{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.piece{height:60px}.river-board{gap:6px;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr)}.bank{padding:9px 6px}.bank-title{font-size:8px}.model{font-size:10px;gap:5px;padding:7px 3px}.model-symbol{font-size:14px}.footer-controls{gap:8px}.footer-controls button{padding:8px 9px;font-size:10px}.footer-controls .primary{min-width:82px}.attention-list{grid-template-columns:1fr}.conversation-list{grid-template-columns:1fr}.agents-panel{padding:14px}.empty-agents{grid-template-columns:1fr}.empty-agents .empty-help{grid-column:auto;grid-row:auto;margin-bottom:14px}.empty-agents p br{display:none}.launch-actions{grid-template-columns:1fr 1fr}.track-controls{gap:6px}.track-controls button{font-size:10px}.cube-layer{gap:15px}}
@media(max-width:300px){.thinkmax{padding:20px 17px}.brand{font-size:16px;gap:6px}.brand-mark{width:18px;height:18px}.header-actions{gap:8px}.header-actions .outline-button{font-size:8px;padding:6px}.intro-caption{max-width:28ch}.bank{padding:8px 4px}.model{font-size:9px;gap:3px}.bank-title{font-size:7px}.river-board{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.track-controls button{font-size:9px;padding:8px 2px}.primary>span{margin-left:6px}.robot,.flag{width:20px;height:20px}.robot svg{width:19px;height:19px}.flag{font-size:21px}.track-cell.blocked span{font-size:18px}.app-footer{font-size:9px;gap:8px}.app-footer button{font-size:9px}}
/* Keep the board and controls together in the height of an editor window. */
@media(min-width:741px){
  .thinkmax{padding-top:24px}.app-header{padding-bottom:12px}.workspace{padding-top:18px}
  .intro{margin-bottom:16px}.intro h1{font-size:30px;margin-bottom:0}.intro-caption{display:none}.terminal-line{font-size:12px;margin-bottom:7px}
  .terminal-label{margin-bottom:4px}.preferences{margin-bottom:18px}.preferences select{height:36px;padding-top:7px;padding-bottom:7px}.difficulty-levels{height:36px}
  .challenge{padding-top:12px}.instruction{margin:9px 0 8px}.board-stage{padding-top:0}
  .tracks-layout{display:grid;grid-template-columns:minmax(0,410px) 156px;grid-template-rows:auto 1fr;align-items:start;gap:16px 20px;justify-content:center}
  .track-board{grid-column:1;grid-row:1/4;max-width:clamp(230px,calc(100vh - 420px),410px)}
  .tray{grid-column:2;grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:0}.piece{height:52px;padding:13px 6px 6px}
  .track-controls{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;margin-top:0;gap:8px}.track-controls button{font-size:10px;padding:8px 3px}.track-controls .primary{margin-right:4px}
  .hint-preview{grid-column:1/-1;margin-top:0}.footer-controls{margin-top:18px;padding-top:14px}.feedback{min-height:18px;margin-top:12px}
  .lights-board{max-width:clamp(230px,calc(100vh - 415px),326px)}
}
@media(min-width:741px) and (max-width:1050px){.tracks-layout{grid-template-columns:minmax(0,1fr);gap:12px}.track-board{grid-column:1;grid-row:1}.tray{grid-column:1;grid-row:2;grid-template-columns:repeat(7,minmax(0,1fr))}.track-controls{grid-column:1;grid-row:3;display:flex}.hint-preview{grid-row:4}}
/* The water takes up most of the crossing; the rower and hull stay recognizable. */
.river-board{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,1fr);gap:10px;min-height:320px}
.bank{padding:12px 9px;gap:7px}.bank.current-bank{border-color:#686057}.bank-title{text-transform:lowercase;letter-spacing:.6px}
.model{font-size:11px;padding:8px 5px;gap:7px;flex-wrap:wrap;overflow-wrap:anywhere}
.water{position:relative;border:1px solid #344b5e;border-top-color:#263746;border-bottom-color:#263746;background:#101a22;overflow:hidden;min-width:0}
.river-surface{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#7693ad;stroke-width:1.5;opacity:.28;pointer-events:none}.river-surface path{vector-effect:non-scaling-stroke}
.boat{position:absolute;left:5%;right:auto;top:44%;width:min(100px,85%);color:var(--accent);line-height:1;font-size:inherit;display:flex;flex-direction:column;align-items:center}
.boat.at-left{left:5%;right:auto}.boat.at-right{left:auto;right:5%}
.boat svg{width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.boat-hull{fill:#e57b4510}.boat-oar{stroke:var(--machine)}.boat-person{color:var(--accent)}.boat-label{font-size:10px;margin-top:1px;color:var(--accent)}
.cross-row{margin-top:6px}
@media(max-width:420px){.river-board{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:6px}.bank{padding:10px 5px}.model{flex-direction:column;align-items:center;gap:3px;font-size:10px;padding:7px 2px;text-align:center}.boat{top:45%}.bank-title{font-size:9px}}
@media(max-width:300px){.bank{padding:9px 3px}.model{font-size:9px}.river-board{gap:5px}}
/* Focus always makes room, including when the VS Code terminal is already closed. */
.thinkmax.focus-mode{max-width:1440px}.focus-mode .app-header{position:sticky;top:13px;z-index:8;background:var(--bg)}
.focus-mode .workspace{display:flex;flex-direction:column;gap:18px}.focus-mode .puzzle-space{width:100%;min-width:0}
.focus-mode .agents-panel:not(:has(.attention)){display:none}.focus-mode .agents-panel:has(.attention){order:-1;width:100%;padding:12px;margin:0}
.focus-mode .agents-heading,.focus-mode .conversation-list,.focus-mode .connect-alerts,.focus-mode .empty-agents{display:none}
.focus-mode .attention-list{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));margin:0}.focus-mode .outline-button[aria-pressed="true"]{background:var(--accent);color:var(--bg)}
.focus-mode .track-board{max-width:clamp(230px,calc(100vh - 290px),560px)}.focus-mode .lights-board{max-width:clamp(230px,calc(100vh - 290px),440px)}
@media(min-width:741px){.focus-mode .tracks-layout{grid-template-columns:minmax(0,560px) 156px}.focus-mode .track-board{grid-column:1;grid-row:1/4}.focus-mode .tray{grid-column:2;grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.focus-mode .track-controls{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr}}
@media(min-width:600px){.focus-mode .cube-board{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px;gap:24px}.focus-mode .cube-layer{min-width:0}}
/* Pointer dragging keeps the grabbed point attached to the cursor. */
@media(min-width:481px) and (max-width:740px){.tracks-layout{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:12px 14px;align-items:start}.track-board{grid-column:1;grid-row:1/4}.tray{grid-column:2;grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:6px}.piece{height:52px;padding:13px 5px 6px}.track-controls{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;margin:0;gap:6px}.track-controls button{font-size:9px;padding:8px 2px}.hint-preview{grid-column:1/-1}}
.piece,.track-board{touch-action:none;user-select:none;-webkit-user-select:none}.piece,.track-cell.occupied{cursor:grab}
.dragging-track,.dragging-track *{cursor:grabbing!important}.drag-source{opacity:.2}.rails .drag-source{opacity:.18}.dragging-track .placement-anchor{display:none}
.tray{outline:1px dashed transparent;outline-offset:5px;transition:outline-color .12s,background .12s}.tray.drop-target{outline-color:var(--accent);background:#e57b4512}
.track-drag-float{position:fixed;left:0;top:0;z-index:20;pointer-events:none;opacity:.95;will-change:transform;filter:drop-shadow(0 3px 5px #0009)}.track-drag-float .piece-shape{display:block;width:100%;height:100%;max-height:none}
.drag-placement{position:absolute;inset:0;width:100%;height:100%;padding:1px;z-index:4;pointer-events:none;overflow:hidden;filter:drop-shadow(0 0 3px #000)}.drag-placement polyline{fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:square;stroke-linejoin:miter}.drag-placement.invalid{color:#d16d60}.drag-placement.invalid polyline{stroke-dasharray:7 5}
.track-cell.drop-valid{background:#7693ad28;box-shadow:inset 0 0 0 1px #7693ad80}.track-cell.drop-invalid{background:#d16d6024;box-shadow:inset 0 0 0 1px #d16d6080}
/* Brief instructions stay visible; controls and rules live behind the help icon. */
[hidden]{display:none!important}
.intro{padding:3px 0 3px 16px;margin-bottom:22px}.intro .terminal-line{margin:0;font-size:13px;line-height:1.6}.intro::before{top:0;bottom:-3px;width:20px}
.puzzle-title{display:flex;align-items:center;gap:10px;min-width:0}.instruction{max-width:none}
.challenge h1,.solved h1{color:var(--fg);font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-1.2px;margin:0}
.help-toggle{display:grid;place-items:center;flex:none;width:22px;height:22px;padding:0;border:1px solid #59636d;border-radius:50%;background:transparent;color:var(--muted);font-size:12px;line-height:1}
.help-toggle[aria-expanded="true"]{border-color:var(--accent);color:var(--accent)}
.puzzle-help{margin:12px 0 20px;padding:12px 14px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:11px;line-height:1.8;overflow-wrap:anywhere}
.puzzle-help p{margin:0}.puzzle-help p+p,.puzzle-help ul{margin:8px 0 0}.puzzle-help ul{padding-left:16px}.puzzle-help li+li{margin-top:4px}.puzzle-help kbd{font:inherit;color:var(--fg)}
.empty-agents{display:block}.empty-agents .empty-status{font-size:11px;color:var(--muted);margin:0 0 14px}.launch-actions{margin:0}.app-footer{justify-content:flex-end}
.solved{min-height:240px}.solved p{margin:10px 0 22px}
@media(min-width:741px){.intro{margin-bottom:22px}.intro .terminal-line{margin:0;font-size:13px}.track-board{max-width:clamp(230px,calc(100vh - 340px),410px)}.lights-board{max-width:clamp(230px,calc(100vh - 340px),326px)}}
@media(max-width:420px){.challenge h1{font-size:22px}.puzzle-help{padding:10px 12px}.intro .terminal-line{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body.vscode-high-contrast,body.vscode-high-contrast-light{--bg:#080808;--fg:#fff;--muted:#e1e1e1;--line:#c6c6c6;--focus:#fff}
@media(forced-colors:active){button,select,.agents-panel,.attention,.bulb{border:1px solid ButtonText}.bulb.on,.selected,.primary{outline:2px solid Highlight}.brand-mark,.robot{forced-color-adjust:none}}

/* Focused practice keeps the question and its explanation on the same page. */
.quiz h1{font-size:clamp(23px,3vw,32px);letter-spacing:-1px;color:var(--fg)}
.quiz-context{line-height:1.8;max-width:74ch;overflow-wrap:anywhere}
.quiz-table-wrap{overflow-x:auto;margin:18px 0}.quiz table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.quiz th,.quiz td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:right}.quiz th:first-child{text-align:left}.quiz thead{color:var(--muted)}
.quiz-code{max-width:100%;overflow:auto;background:var(--surface);border:1px solid var(--line);padding:16px;font:12px/1.8 var(--font);tab-size:2}
.quiz-choices{border:0;padding:0;margin:22px 0 0;min-width:0;display:grid;gap:9px}.quiz-choices legend{padding:0;margin-bottom:14px;line-height:1.8}.quiz-choice{width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.65}.quiz-choice.chosen{border-color:var(--machine);background:#7693ad18}.quiz-choice:disabled{opacity:1;cursor:default}.quiz-choice.answer-correct{border-color:var(--machine)}
.quiz-review{margin:22px 0 0;padding:16px;border-left:2px solid var(--machine);background:var(--surface);line-height:1.8;overflow-wrap:anywhere}.quiz-review p:last-child{margin-bottom:0}.quiz-review:focus{outline:1px solid var(--machine);outline-offset:4px}.quiz .primary{box-shadow:none}.quiz .footer-controls{justify-content:flex-start;flex-wrap:wrap}.quiz .footer-controls .primary{margin-left:0}

.quiz-success{border:1px solid var(--accent);border-left:3px solid var(--accent);background:#e57b4510;position:relative;animation:quiz-success-in .35s ease-out}.quiz-success>strong{display:block;color:var(--accent);font-size:20px;line-height:1.4;letter-spacing:-.4px}.success-check{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--accent);color:var(--accent);font-size:26px;margin-bottom:10px;animation:quiz-check-in .4s ease-out}.quiz-success p{color:var(--fg)}
@keyframes quiz-success-in{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes quiz-check-in{from{transform:scale(.6)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.quiz-success,.success-check{animation:none}}

/* Visual clues replace repeated prose; full reasoning stays behind Why?. */
.quiz-context{font-size:12px;color:var(--muted);margin:8px 0 16px}.clue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;margin:16px 0}.clue-card{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;background:var(--surface);border:1px solid var(--line)}.task-tile{font-size:19px;color:var(--fg);font-weight:600}.clue-link{display:flex;align-items:center;flex-direction:column;color:var(--machine);min-width:65px}.clue-link small{font-size:10px;white-space:nowrap}.clue-arrow{width:30px;height:14px;stroke:var(--machine);fill:none;stroke-width:1.5}.sequence{display:flex;align-items:center;justify-content:center;gap:clamp(3px,1vw,9px);width:100%}.sequence-tile{font-size:16px;font-weight:600}.sequence-link{color:var(--muted)}
.number-row{display:flex;gap:8px;margin:16px 0;max-width:360px}.number-tile{flex:1;min-width:0;text-align:center;border:1px solid var(--machine);background:#7693ad10;padding:5px}.number-tile small{display:block;color:var(--muted);font-size:9px}.number-tile strong{display:block;font-size:24px;font-weight:500}.step-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;padding:0;margin:14px 0}.step-grid li{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:8px;font-size:11px}.step-index{color:var(--muted);font-size:9px}.step-symbol{font-size:23px;color:var(--machine);width:26px;line-height:1;text-align:center;flex:none}.fact-list{border-left:2px solid var(--machine);padding:4px 0 4px 14px;margin:16px 0}.fact-list p{margin:4px 0;font-size:12px;line-height:1.7}.quiz-choices{margin-top:16px;gap:7px}.quiz-choices legend{margin-bottom:9px}.quiz-choice{padding:9px 12px}.quiz .footer-controls{margin-top:14px;padding-top:12px}.quiz-review{padding:12px;margin-top:14px}.quiz-success .success-check{width:28px;height:28px;font-size:21px;margin:0;float:left;margin-right:10px}.quiz-success>strong{font-size:21px;min-height:28px}.quiz-explanation{clear:both;margin-top:8px}.quiz-explanation summary{cursor:pointer;color:var(--muted);font-size:11px}.quiz-explanation p{margin:10px 0 0;font-size:12px;line-height:1.8}.quiz-tracing .quiz-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.quiz-tracing .quiz-choice{text-align:center;font-size:18px;padding:10px 4px}
@media(max-width:420px){.clue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clue-card{padding:8px 4px;gap:5px}.task-tile{font-size:16px}.clue-link{min-width:0}.clue-link small{font-size:8px}.step-grid{grid-template-columns:1fr}.sequence{gap:5px}.sequence-tile{font-size:14px}.quiz-choice{font-size:11px}.number-row{gap:5px}.quiz h1{font-size:25px}}

/* Algorithmic puzzles show boards and solids rather than written scenarios. */
.numeric-board-wrap{margin:16px auto 14px;max-width:390px}.numeric-board{border-collapse:separate;border-spacing:4px;width:100%;table-layout:fixed;text-align:center;font-variant-numeric:tabular-nums}.numeric-board td,.numeric-board th{height:52px;padding:0;border:1px solid var(--line);background:var(--surface);font-size:23px;font-weight:500}.numeric-board .empty-cell{color:#737980}.numeric-board .target-cell{border:2px solid var(--accent);color:var(--accent);background:#e57b450d}.numeric-board .edge-total{border:0;border-left:1px solid var(--accent);background:transparent;color:var(--accent);font-size:19px}.numeric-board .bottom-total{border:0;border-top:1px solid var(--accent)}.numeric-board .sum-corner{background:none;border:0;color:var(--muted);font-size:14px}.numeric-board.n-6 td{height:45px}.logic-symbol{width:25px;height:25px;fill:currentColor;color:var(--machine);vertical-align:middle}.given-cell .logic-symbol{width:23px;height:23px}.quiz-symbols .numeric-board-wrap{max-width:350px}.quiz-sums .quiz-choices,.quiz-symbols .quiz-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.quiz-sums .quiz-choice,.quiz-symbols .quiz-choice{text-align:center;font-size:22px;padding:10px 4px}.quiz-symbols .quiz-choice .logic-symbol{width:30px;height:30px}.quiz .quiz-choices legend{font-size:12px;color:var(--muted)}.quiz-rotation .quiz-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quiz-rotation .quiz-choice{position:relative;padding:4px;line-height:1}.solid-reference{width:min(100%,260px);margin:8px auto 4px;border-bottom:1px solid var(--line)}.solid-view{display:block;width:100%;height:auto;max-height:165px}.solid-view polygon{stroke:#080808;stroke-width:1.1;stroke-linejoin:round}.solid-top{fill:#b4c8d7}.solid-left{fill:#7899b2}.solid-right{fill:#47647b}.solid-option-label{position:absolute;left:9px;top:9px;font-size:10px;color:var(--muted)}.quiz-rotation .quiz-choice.chosen{border-color:var(--accent);background:#e57b4510}.quiz-choice.answer-correct{border-color:var(--accent)}.quiz-rotation .quiz-choice:disabled .solid-view{opacity:.65}.quiz-rotation .quiz-choice.answer-correct .solid-view{opacity:1}.quiz-review .logic-symbol{width:20px;height:20px}.quiz-explanation .numeric-board td .logic-symbol{width:22px;height:22px}
@media(max-width:420px){.numeric-board{border-spacing:3px}.numeric-board td,.numeric-board th{height:42px;font-size:19px}.numeric-board.n-6 td{height:33px}.numeric-board .edge-total{font-size:16px}.given-cell .logic-symbol{width:20px;height:20px}.numeric-board.n-6 .logic-symbol{width:17px;height:17px}.solid-view{max-height:130px}.solid-reference{max-width:190px}.quiz-rotation .quiz-choices{gap:7px}.solid-option-label{left:5px;top:5px;font-size:9px}}

.symbol-palette{display:flex;gap:14px;justify-content:center;margin:14px 0 4px}.symbol-palette .logic-symbol{width:17px;height:17px;color:var(--muted)}
.quiz .numeric-board{border-collapse:separate;border-spacing:4px}.quiz .numeric-board td,.quiz .numeric-board th{text-align:center;padding:0}
@media(min-width:1100px){.quiz-rotation .quiz-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Editable blanks preserve the fixed givens and let users work on the board. */
.quiz .numeric-board .editable-cell{background:#7693ad0b;border-color:#53616d}.sum-entry{display:block;appearance:none;width:100%;height:100%;min-height:48px;border:0;padding:0;background:transparent;color:var(--accent);font:inherit;font-size:23px;text-align:center;caret-color:var(--accent);border-radius:0}.sum-entry:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:#e57b4510}.sum-entry[readonly]{cursor:default}.symbol-entry{display:flex;width:100%;height:100%;min-height:42px;align-items:center;justify-content:center;padding:0;border:0;background:transparent;font-size:24px;color:var(--muted)}.symbol-entry.active-entry{outline:2px solid var(--accent);outline-offset:-2px;background:#e57b4510}.symbol-entry:disabled{opacity:1}.editable-cell .logic-symbol{color:var(--accent)}.grid-symbol-tools{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:12px 0 18px}.grid-symbol-tools button{min-width:38px;min-height:38px;padding:6px}.grid-symbol-tools .logic-symbol{width:22px;height:22px}.grid-feedback{font-size:12px;color:#ed9a79}.quiz .numeric-board .grid-conflict{border-color:#d27665}.quiz .numeric-board .invalid-total{color:#f59a86}.quiz .numeric-board.n-6 td{height:46px}.numeric-board.n-6 .symbol-entry{min-height:44px}
@media(max-width:420px){.sum-entry{min-height:39px;font-size:19px}.symbol-entry{min-height:37px}.quiz .numeric-board.n-6 td{height:33px}.numeric-board.n-6 .symbol-entry{min-height:31px}.grid-symbol-tools{gap:5px}.grid-symbol-tools button{min-width:30px;min-height:34px;padding:5px}.grid-symbol-tools .logic-symbol{width:19px;height:19px}}

.rotation-inspector{max-width:480px;margin:12px auto 0}.rotation-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;border-bottom:1px solid var(--line)}.rotation-comparison span{font-size:10px;color:var(--muted)}.rotation-comparison .solid-view{height:100px;max-height:100px}.rotation-live{display:block;width:100%;max-height:270px;background:#0b0e11;border:1px solid var(--line);touch-action:none;cursor:grab;user-select:none}.rotation-live:active{cursor:grabbing}.rotation-live polygon{stroke:#080808;stroke-width:1;stroke-linejoin:round}.rotation-live:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rotation-playback{display:flex;align-items:center;gap:8px;margin-top:10px}.rotation-progress{min-width:0;flex:1;width:100%;accent-color:var(--accent)}.rotation-playback button,.rotation-cameras button{padding:7px 9px;font-size:10px}.rotation-cameras{display:flex;justify-content:center;gap:7px;margin:10px 0 0}.rotation-cameras button[aria-pressed="true"]{color:var(--accent);border-color:var(--accent)}
@media(max-width:420px){.rotation-playback{gap:5px}.rotation-playback button{padding:7px 5px;font-size:9px}.rotation-cameras{gap:5px}.rotation-cameras button{padding:7px 8px}.rotation-comparison .solid-view{height:80px;max-height:80px}}


/* Shared puzzle actions: Hint, Skip, then the single submission control. */
.footer-controls,.quiz .footer-controls{flex-wrap:wrap;justify-content:flex-start}
.footer-controls .primary,.quiz .footer-controls .primary{margin-left:auto}

/* Teach the switch-to-lamp model before introducing the multi-stage puzzle. */
.quiz .numeric-board .editable-cell{position:relative}.remove-symbol{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:0;padding:0;border:0;background:var(--surface);color:var(--muted);font-size:16px;line-height:1}.remove-symbol:hover,.remove-symbol:focus-visible{color:var(--accent);outline:1px solid var(--accent)}.grid-symbol-tools button[data-value="0"]{font-size:11px;padding-inline:10px}
