.labShell{--bg: #05080b;--panel: rgba(9, 17, 22, .84);--line: rgba(114, 238, 255, .2);--text: #e7faff;--muted: #7d9aa2;--cyan: #35ecff;--cyan-soft: rgba(53, 236, 255, .14);--danger: #ff4563;--danger-soft: rgba(255, 69, 99, .16);--good: #78ffd6;width:100%;height:100vh;padding:12px 16px;color:var(--text);overflow:hidden;overflow-x:hidden}.topBar{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:14px;width:min(1520px,100%);margin:0 auto 10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#03080bc7;box-shadow:0 18px 60px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brandBlock{display:flex;align-items:center;gap:12px;min-width:0}.brandMark{position:relative;display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border:1px solid rgba(53,236,255,.45);border-radius:8px;background:linear-gradient(135deg,rgba(53,236,255,.18),transparent),#071116;box-shadow:0 0 24px #35ecff24}.brandMark:before,.brandMark:after{position:absolute;content:"";background:var(--cyan);box-shadow:0 0 12px #35ecffe0}.brandMark:before{width:20px;height:2px}.brandMark:after{width:2px;height:20px}.brandBlock p,.sectionLabel,.panelHeader p,.activeRegionPanel p,.timelineHeader span,.metricCard span{margin:0;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.brandTitle{display:block;margin-top:2px;overflow:hidden;font-size:1.04rem;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.segmentedControl{display:inline-grid;grid-auto-flow:column;gap:4px;padding:4px;border:1px solid rgba(114,238,255,.18);border-radius:8px;background:#040a0edb}.segmentButton{min-height:34px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:#88aab1;cursor:pointer;font-size:.86rem;font-weight:800;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.segmentButton:hover{color:var(--text);background:#35ecff14}.segmentButton:disabled{cursor:not-allowed;opacity:.48}.segmentButton.active{color:#031115;background:var(--cyan);box-shadow:0 0 20px #35ecff42}.heroLab{display:grid;grid-template-columns:minmax(560px,1fr) minmax(360px,440px);gap:12px;width:min(1520px,100%);height:calc(100vh - 88px);margin:0 auto}.boardDeck,.enginePanel{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#101f26e6,#040a0eeb),var(--panel);box-shadow:0 22px 84px #00000054;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.boardDeck{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:clamp(12px,1.6vw,18px)}.boardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.boardHeader h2{margin:5px 0 0;font-size:clamp(1.5rem,2.6vw,2.6rem);font-weight:900;line-height:1}.puzzleDescription{max-width:58ch;margin:6px 0 0;color:var(--muted);font-size:.9rem;line-height:1.32}.solveState{flex:0 0 auto;min-width:112px;padding:8px 10px;border:1px solid rgba(255,69,99,.36);border-radius:8px;background:var(--danger-soft);color:#ffd7de;font-size:.78rem;font-weight:900;text-align:center;text-transform:uppercase}.solveState.solved{border-color:#78ffd66b;background:#78ffd61f;color:var(--good)}.solveState.running{border-color:#35ecff80;background:#35ecff1f;color:var(--cyan);box-shadow:inset 0 0 18px #35ecff24}.sudokuBoard{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,calc(100vh - 210px),560px);margin:0 auto;border:2px solid rgba(171,250,255,.68);background:#040a0ef5;box-shadow:inset 0 0 34px #35ecff24,0 0 48px #35ecff29}.boardDeck>.segmentedControl{margin:0 auto 10px}.scaleChallengeBoard{display:grid;gap:10px;width:100%;min-height:0;margin:0 auto}.scaleGridViewport{width:100%;max-height:calc(100vh - 286px);overflow:auto;border:2px solid rgba(171,250,255,.68);background:#03080bfa;box-shadow:inset 0 0 44px #35ecff1f,0 0 52px #35ecff24}.scaleNumberGrid{display:grid;grid-template-columns:repeat(var(--scale-size),var(--scale-cell));width:max-content;min-width:100%;padding:4px}.scaleCell{box-sizing:border-box;display:grid;width:var(--scale-cell);height:var(--scale-cell);place-items:center;border:1px solid rgba(114,238,255,.12);background:#081218fa;color:#c9f8ff;font-size:clamp(.46rem,calc(var(--scale-cell) * .36),.82rem);font-weight:800;line-height:1;overflow:hidden;text-align:center}.scaleCell.blockEdgeRight{border-right-color:#abfaffb8;border-right-width:2px}.scaleCell.blockEdgeBottom{border-bottom-color:#abfaffb8;border-bottom-width:2px}.scaleCell.fixed{color:#f4feff;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent),#0e1c22fa}.scaleCell.conflict{color:#ffd8df;background:radial-gradient(circle at 50% 45%,rgba(255,69,99,.3),transparent 72%),#1e090ffa;box-shadow:inset 0 0 12px #ff456338}.scaleCell.active{box-shadow:inset 0 0 0 1px #35ecff75,0 0 10px #35ecff1f}.challengeStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.challengeStat{min-height:54px;padding:8px;border:1px solid rgba(114,238,255,.16);border-radius:8px;background:#040a0ebd}.challengeStat span{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.challengeStat strong{display:block;margin-top:6px;overflow:hidden;color:#dffbff;font-size:clamp(1rem,1.45vw,1.36rem);line-height:1;text-overflow:ellipsis;white-space:nowrap}.sudokuCell{position:relative;display:grid;width:100%;aspect-ratio:1;place-items:center;border:1px solid rgba(114,238,255,.2);border-radius:0;background:#081218fa;color:var(--cyan);cursor:pointer;overflow:hidden;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.sudokuCell:nth-child(3n){border-right-color:#abfaffa8}.sudokuCell:nth-child(n+19):nth-child(-n+27),.sudokuCell:nth-child(n+46):nth-child(-n+54){border-bottom-color:#abfaffa8}.sudokuCell:nth-child(9n){border-right-color:#72eeff33}.sudokuCell.fixed{color:#f0fbff;cursor:default;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent),#0f1c22fa}.sudokuCell.candidate:hover{background:#35ecff21;box-shadow:inset 0 0 18px #35ecff24}.sudokuCell.conflict{color:#ffd4dc;background:radial-gradient(circle at 50% 45%,rgba(255,69,99,.3),transparent 70%),#1c090efa;box-shadow:inset 0 0 20px #ff456338,0 0 16px #ff456338}.sudokuCell.activeRegion:before{position:absolute;inset:4px;border:1px solid rgba(53,236,255,.55);content:"";pointer-events:none}.cellValue{font-size:clamp(1.15rem,2.8vw,2.35rem);font-weight:900;line-height:1;text-shadow:0 0 18px currentColor}.cellCandidates{position:absolute;right:5px;bottom:4px;color:#a2f6ff9e;font-size:clamp(.5rem,1vw,.72rem);font-weight:800;line-height:1}.enginePanel{display:flex;flex-direction:column;gap:9px;min-width:0;overflow:hidden;padding:10px}.robotFrame{position:relative;min-height:132px;overflow:hidden;border:1px solid rgba(114,238,255,.2);border-radius:8px;background:#020507}.robotFrame img{display:block;width:100%;height:150px;object-fit:cover;object-position:center 34%;opacity:.82;filter:saturate(1.08) contrast(1.04)}.robotFrame.thinking img{opacity:.92;filter:saturate(1.28) contrast(1.14) brightness(1.08)}.robotFrame:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 26%,rgba(2,5,7,.72) 100%),linear-gradient(90deg,rgba(2,5,7,.6),transparent 28%,transparent 72%,rgba(2,5,7,.6));content:""}.robotFrame.thinking:after{background:linear-gradient(180deg,#35ecff14,#020507b3),repeating-linear-gradient(180deg,rgba(171,250,255,.09) 0 1px,transparent 1px 6px),linear-gradient(90deg,rgba(2,5,7,.58),transparent 28%,transparent 72%,rgba(2,5,7,.58))}.robotThinkingLayer{position:absolute;inset:0;z-index:1;pointer-events:none}.thinkingCore{position:absolute;top:14px;right:14px;width:34px;height:34px;border:2px solid rgba(53,236,255,.18);border-top-color:var(--cyan);border-right-color:#78ffd6d1;border-radius:50%;box-shadow:0 0 18px #35ecff57;animation:robotSpin .72s linear infinite}.thinkingCore:after{position:absolute;inset:8px;border:1px solid rgba(171,250,255,.45);border-left-color:transparent;border-radius:50%;content:"";animation:robotSpin .52s linear reverse infinite}.thinkingScan{position:absolute;right:0;left:0;height:2px;background:linear-gradient(90deg,transparent,rgba(53,236,255,.86),transparent);box-shadow:0 0 16px #35ecffb8;animation:robotScan 1.1s ease-in-out infinite}.robotOverlay{position:absolute;right:12px;bottom:12px;left:12px;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.robotOverlay span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.robotOverlay strong{color:var(--cyan);font-size:1rem;text-align:right;text-shadow:0 0 18px rgba(53,236,255,.5)}.commandGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.commandButton{display:grid;min-height:50px;place-items:center;gap:5px;border:1px solid rgba(114,238,255,.22);border-radius:8px;background:linear-gradient(180deg,#35ecff1a,#35ecff08),#040a0ee6;color:#dffbff;cursor:pointer;font-size:.78rem;font-weight:900;transition:border-color .16s ease,transform .16s ease,background .16s ease}.commandButton:hover:not(:disabled){border-color:#35ecff9e;background:#35ecff1c;transform:translateY(-1px)}.commandButton.busy{border-color:#35ecff9e;background:linear-gradient(180deg,#35ecff29,#35ecff0d),#040a0ef0;color:#f2feff;box-shadow:inset 0 0 22px #35ecff1c}.commandButton:disabled{color:#7d9aa28c;cursor:not-allowed;opacity:.55}.commandButton.busy:disabled{opacity:1}.commandIcon{position:relative;display:block;width:18px;height:18px}.commandIcon.play:before{position:absolute;inset:2px 3px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid var(--cyan);content:""}.commandIcon.thinking{border:2px solid rgba(53,236,255,.18);border-top-color:var(--cyan);border-radius:50%;animation:robotSpin .64s linear infinite}.commandIcon.thinking:before,.commandIcon.thinking:after{position:absolute;content:""}.commandIcon.thinking:before{inset:4px;border:1px solid rgba(120,255,214,.64);border-bottom-color:transparent;border-radius:50%}.commandIcon.thinking:after{top:7px;left:7px;width:4px;height:4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px #35ecffdb}.commandIcon.step:before,.commandIcon.step:after,.commandIcon.reroll:before,.commandIcon.reset:before,.commandIcon.reset:after,.commandIcon.stop:before{position:absolute;content:""}.commandIcon.step:before{top:2px;left:2px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:9px solid var(--cyan)}.commandIcon.step:after{top:3px;right:3px;width:3px;height:12px;background:var(--cyan)}.commandIcon.reroll:before{inset:2px;border:2px solid var(--cyan);border-left-color:transparent;border-radius:50%}.commandIcon.reset:before{inset:3px;border:2px solid var(--cyan)}.commandIcon.reset:after{top:7px;left:7px;width:4px;height:4px;background:var(--cyan)}.commandIcon.stop:before{inset:3px;border-radius:2px;background:var(--cyan);box-shadow:0 0 12px #35ecffc2}.metricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.metricCard{min-height:58px;padding:8px;border:1px solid rgba(114,238,255,.16);border-radius:8px;background:#040a0ec2}.metricCard strong{display:block;margin-top:6px;font-size:clamp(1.1rem,1.7vw,1.55rem);line-height:1}.metricCard.danger{border-color:#ff456352}.metricCard.danger strong{color:var(--danger);text-shadow:0 0 20px rgba(255,69,99,.3)}.metricCard.good{border-color:#78ffd657}.metricCard.good strong{color:var(--good)}.activeRegionPanel,.seedPanel,.timelinePanel{padding:13px;border:1px solid rgba(114,238,255,.16);border-radius:8px;background:#040a0ebd}.seedPanel{display:grid;gap:8px;padding:10px}.seedPanelHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.seedPanelHeader p{margin:0;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.seedPanelHeader strong{display:block;margin-top:4px;color:var(--cyan);font-size:clamp(.88rem,1.6vw,1.04rem);line-height:1;word-break:break-all}.seedRerollButton{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border:1px solid rgba(114,238,255,.24);border-radius:8px;background:#35ecff14;color:var(--cyan);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.seedRerollButton:hover{border-color:#35ecff9e;background:#35ecff24;transform:translateY(-1px)}.seedRerollButton:disabled{cursor:not-allowed;opacity:.52;transform:none}.seedInput{width:100%;min-height:38px;padding:0 10px;border:1px solid rgba(114,238,255,.2);border-radius:8px;outline:none;background:#020507c7;color:#dffbff;font:inherit;font-size:.9rem;font-weight:800}.seedInput:focus{border-color:#35ecff94;box-shadow:0 0 0 3px #35ecff1f}.seedInput.invalid{border-color:#ff45639e;color:#ffd7de}.seedInput:disabled{cursor:not-allowed;opacity:.55}@keyframes robotSpin{to{transform:rotate(360deg)}}@keyframes robotScan{0%,to{top:12%;opacity:.1}45%,55%{opacity:1}50%{top:74%}}.activeRegionPanel strong{display:block;margin-top:6px;color:var(--cyan);font-size:1.28rem}.activeRegionPanel span{display:block;margin-top:8px;color:var(--muted);font-size:.88rem;line-height:1.35}.activeRegionPanel .seedCaveat{display:block;margin-top:8px;color:#ffdca8;font-size:.78rem;font-style:normal;line-height:1.35}.timelineHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.timelineHeader strong{color:var(--cyan)}.timelineRail{display:grid;grid-auto-columns:minmax(28px,1fr);grid-auto-flow:column;align-items:end;gap:5px;min-height:72px}.tracePoint{display:flex;align-items:flex-start;justify-content:center;min-width:0;height:var(--height);min-height:28px;padding-top:6px;border:1px solid rgba(53,236,255,.24);border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#35ecff57,#35ecff0d);color:#dffbff;font-size:.7rem;font-weight:900;overflow:hidden}.tracePoint.solved{border-color:#78ffd670;background:linear-gradient(180deg,#78ffd65c,#78ffd614);color:var(--good)}@media(max-width:1120px){.topBar,.heroLab{grid-template-columns:1fr}.labShell{height:auto;min-height:100vh;overflow:visible}.topBar{align-items:stretch}.segmentedControl,.segmentButton{width:100%}.enginePanel{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);align-items:start;overflow:visible}.commandGrid,.metricGrid,.activeRegionPanel,.seedPanel,.timelinePanel{grid-column:2}.robotFrame{grid-row:span 4;min-height:100%}.robotFrame img{height:100%;min-height:360px}.heroLab{height:auto}.sudokuBoard{width:min(100%,clamp(500px,56vw,620px))}.scaleChallengeBoard{width:min(100%,clamp(500px,56vw,640px))}.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.metricCard{min-height:70px;padding:10px}.metricCard strong{font-size:clamp(1.4rem,3vw,2rem)}}@media(max-width:760px){.labShell{padding:10px}.boardDeck,.enginePanel,.topBar{border-radius:8px}.boardHeader,.robotOverlay{display:grid}.enginePanel{display:flex;flex-direction:column}.commandGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.commandGrid,.metricGrid,.activeRegionPanel,.seedPanel,.timelinePanel{grid-column:auto}.robotFrame{grid-row:auto;min-height:0}.robotFrame img{height:220px;min-height:0}.metricGrid,.challengeStats{grid-template-columns:1fr 1fr}.cellValue{font-size:clamp(1rem,7vw,2rem)}.cellCandidates{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#05080b;color:#e7faff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:#05080b}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(135deg,#020406,#091014 44%,#040609)}button,input,select,textarea{font:inherit}button{color:inherit}#root{min-height:100vh}
