:root{
  --ink:#2e2448;
  --muted:#716981;
  --paper:#fffdfb;
  --glass:rgba(255,255,255,.76);
  --line:rgba(73,54,91,.14);
  --purple:#8d6bd8;
  --purple2:#c8b6ff;
  --pink:#f6a9c8;
  --mint:#aee8d5;
  --blue:#a8d7f6;
  --yellow:#ffe19a;
  --orange:#f4bb7a;
  --green:#95d8a7;
  --red:#ef8c93;
  --shadow:0 15px 40px rgba(74,57,97,.12);
  --radius:28px;
  --radius-sm:18px;
  --font:"Arial Rounded MT Bold","Trebuchet MS","Avenir Next Rounded",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;overflow-x:hidden;background:#f7f4fb;color:var(--ink);font-family:var(--font)}
body{min-height:100vh;background:
  radial-gradient(circle at 12% 12%,rgba(255,225,154,.55),transparent 28%),
  radial-gradient(circle at 88% 18%,rgba(174,232,213,.55),transparent 24%),
  radial-gradient(circle at 85% 82%,rgba(200,182,255,.55),transparent 29%),
  linear-gradient(145deg,#fff7e9 0%,#f7f5ff 48%,#eefaf7 100%);
}
button,input,select,textarea{font:inherit}
button{color:inherit}
a{color:inherit;text-decoration:none}
.app-shell{min-height:100vh;position:relative;overflow-x:hidden}
.app-shell:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:
  linear-gradient(rgba(72,52,90,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(72,52,90,.06) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,transparent,black 15%,black 85%,transparent)}
.suite-bar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px clamp(12px,4vw,34px);background:rgba(255,255,255,.78);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);position:sticky;top:0;z-index:30}
.suite-home{display:flex;align-items:center;gap:8px;line-height:1.05;min-width:0}
.suite-home strong{display:block;font-size:14px;white-space:nowrap}
.suite-home small{display:block;font-family:system-ui,sans-serif;color:var(--muted);font-size:10px;margin-top:2px}
.suite-arrow{font-size:26px;font-family:system-ui,sans-serif}
.game-mark{font-size:14px;white-space:nowrap}.mark-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 4px rgba(141,107,216,.13);margin-right:7px}
.tiny-btn,.ghost-btn,.soft-btn,.primary-btn,.gate-chip,.world-card,.level-card,.switch-card,.port,.wire-source,.icon-button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tiny-btn{background:#f1ecfa;border:1px solid rgba(91,67,119,.1);padding:9px 12px;border-radius:14px;font-size:12px;white-space:nowrap}
main{position:relative;z-index:1}
.entrance{max-width:1120px;margin:0 auto;padding:clamp(28px,6vw,70px) clamp(16px,4vw,36px) 60px;display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid var(--line);font-size:11px;letter-spacing:.03em;color:#6f577c}
.hero h1{font-size:clamp(46px,8vw,84px);line-height:.88;letter-spacing:-.045em;margin:18px 0 14px}.hero h1 .logic{color:#4b336e}.hero h1 .lab{color:#e14d88}
.hero .tagline{font-size:clamp(17px,2.2vw,24px);max-width:620px;line-height:1.35;margin:0 0 24px;color:#584f67}
.character-quote{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.72);border:1px solid var(--line);padding:12px 16px;border-radius:22px;max-width:600px;box-shadow:0 8px 22px rgba(70,50,92,.06)}
.character-quote img{width:56px;height:56px;object-fit:contain;object-position:center bottom}.character-quote p{margin:0;font-family:system-ui,sans-serif;font-size:14px;line-height:1.35}.character-quote b{font-family:var(--font);color:#704e99}
.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;max-width:620px}
.mode-card{position:relative;overflow:hidden;text-align:left;padding:17px;border-radius:23px;border:1px solid rgba(255,255,255,.7);box-shadow:0 9px 24px rgba(76,58,98,.07);min-height:108px;transition:transform .18s ease,box-shadow .18s ease}
.mode-card:hover,.mode-card:focus-visible{transform:translateY(-2px);box-shadow:0 13px 27px rgba(76,58,98,.12)}
.mode-card .mode-icon{font-size:28px;display:block;margin-bottom:8px}.mode-card strong{font-size:17px;display:block}.mode-card small{font-family:system-ui,sans-serif;color:#5f5769;font-size:12px;display:block;margin-top:4px;line-height:1.25}.mode-card.story{background:linear-gradient(135deg,#fff0b9,#ffe2a4)}.mode-card.sandbox{background:linear-gradient(135deg,#dff8ef,#bdebdc)}.mode-card.achievements{background:linear-gradient(135deg,#f9e4ef,#f4bdd5)}.mode-card.help{background:linear-gradient(135deg,#e9e1ff,#d6c7ff)}
.hero-art{min-height:520px;position:relative;display:flex;align-items:center;justify-content:center}
.lab-window{width:min(100%,450px);aspect-ratio:1/1.02;border-radius:42px;background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(255,255,255,.5));border:2px solid rgba(255,255,255,.8);box-shadow:var(--shadow);position:relative;overflow:hidden}
.lab-window:before{content:"";position:absolute;inset:22px;border-radius:30px;background:linear-gradient(#e8e4fa,#d6eef3 58%,#f4ddc9 58%);border:1px solid rgba(75,57,97,.12)}
.lab-console{position:absolute;left:12%;right:12%;bottom:7%;height:32%;border-radius:24px 24px 12px 12px;background:linear-gradient(#8a77a8,#66547f);border:4px solid #55436c;box-shadow:inset 0 8px 0 rgba(255,255,255,.12)}
.console-face{position:absolute;left:8%;right:8%;top:14%;height:52%;border-radius:15px;background:#e9eef4;border:3px solid #443954;display:flex;align-items:center;justify-content:space-around}.console-face i{width:24px;height:24px;background:#8de0b1;border-radius:50%;box-shadow:0 0 16px rgba(91,220,147,.7);border:3px solid #4c5460}.console-face i:nth-child(2){background:#ffd66e;box-shadow:0 0 16px rgba(255,214,110,.7)}.console-face i:nth-child(3){background:#f199ae;box-shadow:0 0 16px rgba(241,153,174,.7)}
.hero-characters img{position:absolute;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 9px rgba(64,46,84,.14))}.hero-characters .elle{height:55%;left:6%;bottom:4%}.hero-characters .jay{height:50%;right:9%;bottom:5%}.hero-characters .kay{height:30%;right:33%;bottom:10%}
.float-chip{position:absolute;padding:10px 15px;border-radius:16px;background:white;border:1px solid var(--line);box-shadow:0 10px 26px rgba(65,50,82,.12);font-size:14px;animation:float 4s ease-in-out infinite}.float-chip.and{left:3%;top:12%;transform:rotate(-5deg)}.float-chip.not{right:3%;top:22%;transform:rotate(5deg);animation-delay:-1.4s}.float-chip.xor{left:38%;top:4%;animation-delay:-2.2s}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -8px}}
.section-shell{max-width:1120px;margin:0 auto;padding:30px clamp(14px,4vw,34px) 60px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 20px}.section-head h1,.section-head h2{margin:3px 0 0;font-size:clamp(30px,5vw,48px);letter-spacing:-.035em}.section-head p{font-family:system-ui,sans-serif;color:var(--muted);margin:6px 0 0;font-size:14px}.back-btn{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:15px;padding:10px 13px;cursor:pointer}
.worlds-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.world-card{padding:18px;text-align:left;border-radius:26px;border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 22px rgba(60,47,80,.07);min-height:190px;position:relative;overflow:hidden;transition:.18s ease}.world-card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 14px 30px rgba(60,47,80,.11)}.world-card:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.64}.world-card .world-no{font-family:system-ui,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.68}.world-card h3{font-size:24px;margin:8px 0 6px}.world-card p{font-family:system-ui,sans-serif;font-size:13px;line-height:1.35;margin:0;max-width:85%;color:#544d61}.world-card .world-icon{position:absolute;right:16px;bottom:10px;font-size:50px;opacity:.72}.world-card .progress{position:absolute;left:18px;right:18px;bottom:18px;height:6px;background:rgba(255,255,255,.55);border-radius:8px;overflow:hidden}.world-card .progress span{display:block;height:100%;background:rgba(67,49,85,.7);border-radius:8px}.world-card.w1{background:linear-gradient(140deg,#fff5c8,#ffe29c)}.world-card.w2{background:linear-gradient(140deg,#dff6ef,#afe8d7)}.world-card.w3{background:linear-gradient(140deg,#e6f4ff,#b8ddf5)}.world-card.w4{background:linear-gradient(140deg,#f9e8ef,#f2bfd1)}.world-card.w5{background:linear-gradient(140deg,#eee7ff,#d3c1ff)}.world-card.w6{background:linear-gradient(140deg,#faead7,#efc89e)}
.levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.level-card{padding:17px;text-align:left;border-radius:22px;background:rgba(255,255,255,.78);border:1px solid var(--line);min-height:135px;position:relative}.level-card:disabled{opacity:.5;cursor:not-allowed}.level-card .n{display:inline-flex;width:32px;height:32px;border-radius:12px;align-items:center;justify-content:center;background:#eee8f8;margin-bottom:10px}.level-card strong{display:block;font-size:16px}.level-card small{font-family:system-ui,sans-serif;color:var(--muted);display:block;margin-top:5px;line-height:1.3}.level-card .star{position:absolute;right:13px;top:12px}
.game-layout{max-width:1180px;margin:0 auto;padding:18px clamp(10px,3vw,28px) 50px}.game-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:12px}.level-title{min-width:0;text-align:center}.level-title small{display:block;font-family:system-ui,sans-serif;color:var(--muted);font-size:11px}.level-title strong{font-size:clamp(17px,3vw,24px);overflow-wrap:anywhere}
.primary-btn,.soft-btn,.ghost-btn{border-radius:15px;padding:11px 14px}.primary-btn{background:#4b386a;color:white;box-shadow:0 7px 14px rgba(73,54,103,.18)}.soft-btn{background:#ede6f6;border:1px solid rgba(75,54,97,.09)}.ghost-btn{background:rgba(255,255,255,.74);border:1px solid var(--line)}
.mission-card{display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:14px;background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:24px;padding:12px 14px;margin-bottom:12px;box-shadow:0 8px 22px rgba(60,46,80,.06)}.mission-card img{width:64px;height:64px;object-fit:contain;object-position:center bottom}.mission-card .speech small{font-family:system-ui,sans-serif;color:var(--muted);font-size:11px}.mission-card .speech p{margin:3px 0 0;font-family:system-ui,sans-serif;font-size:14px;line-height:1.35}.mission-device{font-size:38px;width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:#f6f2fb}
.lab-board{background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);border-radius:30px;overflow:hidden}.lab-board-top{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 14px;background:rgba(255,255,255,.72);border-bottom:1px solid var(--line)}.status-pill{display:flex;align-items:center;gap:8px;font-family:system-ui,sans-serif;font-size:12px;color:#554d61}.status-light{width:12px;height:12px;border-radius:50%;background:#b8b2bd;border:2px solid #7f7883;transition:.2s}.status-light.on{background:#8ae0ad;border-color:#479268;box-shadow:0 0 15px rgba(80,206,132,.72)}
.workspace{position:relative;min-height:460px;background:linear-gradient(180deg,#f2eef9,#ece8f4);overflow:hidden}.workspace:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#b8aec5 1.1px,transparent 1.1px);background-size:24px 24px;opacity:.42}.wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.wire{fill:none;stroke:#75608f;stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 2px 1px rgba(74,55,91,.12));transition:stroke .15s,opacity .15s}.wire.live{stroke:#57bf84}.wire.pending{stroke-dasharray:8 8;opacity:.45}
.node{position:absolute;z-index:3}.input-node{left:20px;width:152px}.output-node{right:20px;width:160px;top:50%;transform:translateY(-50%)}.gate-node{width:132px}.switch-card{width:100%;min-height:84px;border-radius:22px;background:#fff;border:1px solid rgba(83,64,99,.13);box-shadow:0 8px 18px rgba(64,49,82,.09);padding:10px 12px;text-align:left;display:flex;align-items:center;gap:10px}.switch-toggle{width:46px;height:28px;border-radius:999px;background:#c8c2cc;position:relative;flex:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.12)}.switch-toggle:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.16);transition:.15s}.switch-card.on .switch-toggle{background:#67c78f}.switch-card.on .switch-toggle:after{left:21px}.switch-copy small{display:block;font-family:system-ui,sans-serif;color:var(--muted);font-size:10px}.switch-copy strong{display:block;font-size:13px;margin-top:2px}.switch-copy em{display:block;font-family:system-ui,sans-serif;font-size:10px;font-style:normal;margin-top:2px;color:#7a7281}
.gate-box{border-radius:22px;background:#fff;border:1px solid rgba(83,64,99,.13);box-shadow:0 8px 18px rgba(64,49,82,.09);min-height:90px;display:flex;align-items:center;justify-content:center;position:relative}.gate-symbol{width:72px;height:54px;display:grid;place-items:center;border-radius:18px;font-size:20px;background:#eee8f6;color:#4e3768}.gate-symbol small{display:block;font-size:9px;font-family:system-ui,sans-serif;letter-spacing:.07em}.gate-delete{position:absolute;right:-8px;top:-8px;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 4px 10px rgba(50,40,62,.12);cursor:pointer;font-family:system-ui,sans-serif}.port{position:absolute;width:22px;height:22px;border-radius:50%;background:#fdfcff;border:4px solid #9079a4;z-index:6;box-shadow:0 2px 5px rgba(60,46,80,.12)}.port:hover,.port.selected{transform:scale(1.12);border-color:#5d3c83}.port.out{right:-11px;top:50%;transform:translateY(-50%)}.port.in{left:-11px}.port.in.p0{top:25%;transform:translateY(-50%)}.port.in.p1{top:75%;transform:translateY(-50%)}.port.in.single{top:50%;transform:translateY(-50%)}
.output-device{height:128px;border-radius:25px;background:#fff;border:1px solid rgba(83,64,99,.13);box-shadow:0 8px 20px rgba(64,49,82,.09);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;text-align:center}.output-device .device-icon{font-size:42px;filter:grayscale(.75);opacity:.65;transition:.2s}.output-device.on .device-icon{filter:none;opacity:1;transform:scale(1.08)}.output-device strong{font-size:12px;margin-top:7px}.output-device .device-state{font-family:system-ui,sans-serif;font-size:10px;color:var(--muted);margin-top:2px}.output-device.on{box-shadow:0 8px 20px rgba(64,49,82,.09),0 0 30px rgba(109,215,153,.3)}
.palette{display:flex;align-items:center;gap:9px;padding:12px 14px;background:rgba(255,255,255,.78);border-top:1px solid var(--line);overflow-x:auto}.palette-label{font-family:system-ui,sans-serif;font-size:11px;color:var(--muted);white-space:nowrap;margin-right:3px}.gate-chip{min-width:78px;padding:10px 12px;border-radius:16px;background:#eee7f7;border:1px solid rgba(75,54,97,.08);font-size:12px}.gate-chip:disabled{opacity:.45;cursor:not-allowed}.gate-chip b{display:block;font-size:16px}.gate-chip span{display:block;font-family:system-ui,sans-serif;font-size:9px;color:var(--muted);margin-top:2px}.palette-spacer{flex:1}.board-actions{display:flex;gap:8px}.board-tip{font-family:system-ui,sans-serif;color:var(--muted);font-size:11px;white-space:nowrap}
.test-panel{margin-top:12px;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:22px;padding:12px 14px;display:flex;align-items:center;gap:10px;justify-content:space-between}.test-panel p{font-family:system-ui,sans-serif;font-size:12px;color:#5e5667;margin:0;line-height:1.35}.test-actions{display:flex;gap:8px;flex:none}
.success-card{max-width:520px;margin:12vh auto 0;background:#fff;border-radius:32px;padding:26px;text-align:center;box-shadow:0 24px 70px rgba(59,44,78,.23);border:1px solid var(--line)}.success-card .big{font-size:62px;animation:pop .45s ease}.success-card h2{font-size:32px;margin:8px 0 6px}.success-card p{font-family:system-ui,sans-serif;color:var(--muted);font-size:14px;line-height:1.45}.success-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}@keyframes pop{0%{transform:scale(.4) rotate(-10deg)}70%{transform:scale(1.12) rotate(3deg)}100%{transform:scale(1)}}
.modal-wrap{position:fixed;inset:0;background:rgba(42,33,52,.38);backdrop-filter:blur(7px);z-index:80;display:flex;align-items:center;justify-content:center;padding:16px}.modal{width:min(620px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:30px;padding:22px;box-shadow:0 28px 80px rgba(39,29,51,.3);border:1px solid rgba(255,255,255,.8)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head h2{margin:0;font-size:28px}.icon-button{width:38px;height:38px;border-radius:13px;background:#f1edf5}.modal p,.modal li{font-family:system-ui,sans-serif;color:#5f5868;font-size:13px;line-height:1.5}.modal .mini-demo{background:#f5f2f8;border-radius:20px;padding:15px;margin:15px 0}.modal .mini-demo strong{display:block;margin-bottom:8px}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.achievement{padding:14px;border-radius:18px;background:#f6f2f8;border:1px solid var(--line)}.achievement.locked{filter:grayscale(1);opacity:.5}.achievement .aicon{font-size:28px}.achievement strong{display:block;margin-top:5px;font-size:14px}.achievement small{font-family:system-ui,sans-serif;color:var(--muted);font-size:11px;line-height:1.3;display:block;margin-top:3px}.achievement.locked strong,.achievement.locked small{visibility:hidden}.achievement.locked:after{content:"Hidden until earned";font-family:system-ui,sans-serif;font-size:10px;color:var(--muted)}
.sandbox-grid{display:grid;grid-template-columns:1fr 300px;gap:14px}.sandbox-side{background:rgba(255,255,255,.76);border:1px solid var(--line);border-radius:24px;padding:14px}.sandbox-side h3{margin:0 0 8px}.sandbox-side p{font-family:system-ui,sans-serif;color:var(--muted);font-size:12px;line-height:1.4}.codebox{width:100%;min-height:92px;border:1px solid var(--line);background:#faf8fc;border-radius:14px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;resize:vertical}.field{display:block;margin:10px 0}.field span{display:block;font-family:system-ui,sans-serif;font-size:11px;color:var(--muted);margin-bottom:5px}.field input,.field select{width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px}.sandbox-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.truth-reveal{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:6px;margin-top:8px}.truth-case{padding:8px;border-radius:12px;background:#f5f2f8;font-family:system-ui,sans-serif;font-size:10px;text-align:center}.truth-case.good{background:#e4f7eb}.truth-case.bad{background:#fde8ec}
.toast{position:fixed;left:50%;bottom:22px;translate:-50% 15px;background:#332642;color:white;padding:11px 15px;border-radius:16px;font-family:system-ui,sans-serif;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:.22s;box-shadow:0 12px 30px rgba(39,28,50,.24);max-width:min(90vw,540px);text-align:center}.toast.show{opacity:1;translate:-50% 0}
.confetti{position:fixed;width:10px;height:16px;border-radius:3px;z-index:95;animation:fall 1.7s ease-in forwards;pointer-events:none}@keyframes fall{from{transform:translateY(-10vh) rotate(0)}to{transform:translateY(105vh) rotate(540deg)}}
@media(max-width:850px){.entrance{grid-template-columns:1fr;padding-top:30px}.hero-art{min-height:400px;order:-1}.lab-window{width:min(86vw,410px)}.worlds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sandbox-grid{grid-template-columns:1fr}.sandbox-side{order:-1}}
@media(max-width:620px){.suite-bar{height:58px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.game-mark{display:none}.tiny-btn{min-height:42px;padding:8px 10px}.entrance{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.hero-art{min-height:330px}.mode-grid{grid-template-columns:1fr 1fr}.mode-card{min-height:98px;padding:14px}.worlds-grid,.levels{grid-template-columns:1fr}.world-card{min-height:155px}.game-layout{padding-left:max(7px,env(safe-area-inset-left));padding-right:max(7px,env(safe-area-inset-right));padding-bottom:calc(34px + env(safe-area-inset-bottom))}.mission-card{grid-template-columns:54px minmax(0,1fr) auto;padding:9px 10px}.mission-card img{width:48px;height:48px}.mission-card .speech{min-width:0}.mission-device{width:46px;height:46px;font-size:30px}.workspace{min-height:520px}.input-node{left:8px;width:118px}.output-node{right:8px;width:118px}.gate-node{width:105px}.switch-card{min-height:74px;padding:8px}.switch-toggle{width:38px;height:24px}.switch-toggle:after{width:18px;height:18px}.switch-card.on .switch-toggle:after{left:17px}.switch-copy strong{font-size:11px}.gate-box{min-height:80px}.gate-symbol{width:60px;height:46px}.output-device{height:112px}.palette{padding:10px 8px}.board-tip{display:none}.test-panel{align-items:flex-start;flex-direction:column}.test-actions{width:100%}.test-actions button{flex:1}.achievement-grid{grid-template-columns:1fr}.game-top{grid-template-columns:auto minmax(0,1fr) auto}.game-top .soft-btn{min-height:42px;padding:9px 10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Logic Lab activity variety */
.mode-card.surprise{background:linear-gradient(135deg,#e8e2ff,#d5c8ff)}
.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.activity-mix{position:absolute;right:18px;bottom:28px;font-size:17px;letter-spacing:2px;opacity:.78}.progress-copy{position:absolute;left:18px;bottom:10px;font-family:system-ui,sans-serif;font-size:10px;color:var(--muted)}
.varied-levels .level-card{min-height:174px;padding-right:88px;overflow:hidden}.level-card.done{background:rgba(255,255,255,.62)}.mission-type{display:flex;gap:7px;align-items:baseline;margin-bottom:7px}.mission-type b{font-size:11px;color:#6c5089}.mission-type em{font-family:system-ui,sans-serif;font-size:10px;color:var(--muted);font-style:normal}.level-sprite{position:absolute;right:-8px;bottom:-45px;width:80px;height:132px;object-fit:contain;object-position:center bottom;opacity:.92;filter:drop-shadow(0 6px 6px rgba(74,57,97,.11))}.mission-device-mini{position:absolute;right:11px;top:10px;font-size:24px}.suggested-tag,.challenge-tag{position:absolute;left:51px;bottom:10px;border-radius:999px;padding:4px 7px;font-family:system-ui,sans-serif;font-size:9px}.suggested-tag{background:#e4f7eb;color:#347653}.challenge-tag{background:#f1e8ff;color:#6a4e91}.level-card .suggested-tag+.challenge-tag{left:134px}
.activity-layout{max-width:980px}.activity-card{background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:28px;box-shadow:0 12px 32px rgba(66,49,86,.08);padding:clamp(14px,3vw,24px);margin-top:12px}.activity-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.activity-actions>span{font-family:system-ui,sans-serif;font-size:11px;color:var(--muted)}.activity-actions button:disabled{opacity:.45;cursor:not-allowed}
.blackbox-stage{display:grid;grid-template-columns:minmax(160px,1fr) 150px minmax(110px,.65fr);align-items:center;gap:18px;min-height:220px}.blackbox-inputs{display:grid;gap:9px}.switch-card.compact{min-height:64px}.mystery-machine{height:150px;border-radius:30px;background:linear-gradient(145deg,#eee9f5,#d9d0e7);border:1px solid rgba(80,60,99,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 0 0 6px rgba(255,255,255,.35)}.mystery-machine>span{font-size:54px;color:#725d8c}.mystery-machine small{font-family:system-ui,sans-serif;color:var(--muted);font-size:10px}.pulse-light{position:absolute;bottom:14px;width:16px;height:16px;border-radius:50%;background:#b8b1be;box-shadow:0 0 0 4px rgba(70,60,80,.06)}.mystery-machine.on .pulse-light{background:#67c78f;box-shadow:0 0 18px rgba(77,202,132,.75)}.blackbox-output{text-align:center}.big-device{font-size:58px;filter:grayscale(.8);opacity:.5;transition:.15s}.big-device.on{filter:none;opacity:1;transform:scale(1.06)}.blackbox-output b{display:block;margin-top:6px}.observation-strip{margin-top:12px;background:#f5f2f8;border-radius:20px;padding:12px}.observation-head{display:flex;justify-content:space-between;font-family:system-ui,sans-serif;font-size:11px;color:#60576a}.observation-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.observation-chips span{background:white;border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.rule-guess{margin-top:18px}.rule-guess>p,.bench-question{margin:0 0 10px;font-size:15px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.choice-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px;text-align:left;cursor:pointer;min-height:76px;transition:.15s}.choice-card:hover:not(:disabled),.choice-card.selected{transform:translateY(-1px);border-color:#a78bd0;box-shadow:0 8px 18px rgba(78,55,104,.09)}.choice-card:disabled{opacity:.43;cursor:not-allowed}.choice-card strong{display:block;font-size:13px}.choice-card small{display:block;font-family:system-ui,sans-serif;font-size:10px;color:var(--muted);margin-top:4px;line-height:1.3}.try-more{display:block;margin-top:8px;font-family:system-ui,sans-serif;color:var(--muted);font-size:10px}
.forecast-intro{display:flex;align-items:center;gap:10px;margin-bottom:14px}.forecast-intro span{font-size:28px}.forecast-intro p{font-family:system-ui,sans-serif;margin:0;color:#5e5667}.scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.scenario{background:#f7f4fa;border:1px solid transparent;border-radius:20px;padding:11px;transition:.18s}.scenario.needs-look{border-color:#e58a9c;animation:nudge .25s ease 2}.scenario-inputs{display:flex;gap:5px;flex-wrap:wrap}.state-pill{display:flex;flex-direction:column;min-width:68px;background:#ece8ef;border-radius:12px;padding:6px 8px;font-family:system-ui,sans-serif;font-size:9px;color:#7a7281}.state-pill.on{background:#dcf5e6;color:#327050}.state-pill b{font-family:var(--font);font-size:9px;color:var(--ink)}.scenario-answer{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:9px}.scenario-answer button{border:1px solid var(--line);min-height:44px;background:#fff;border-radius:11px;padding:7px;cursor:pointer;font-size:11px}.scenario-answer button.selected{background:#e8e0f5;border-color:#9879c2}@keyframes nudge{50%{transform:translateX(4px)}}
.repair-bench{display:grid;grid-template-columns:minmax(150px,1fr) 45px minmax(150px,.8fr) 45px minmax(90px,.6fr);align-items:center;gap:8px;min-height:190px;background:#f6f3f9;border-radius:24px;padding:18px}.repair-input-stack{display:grid;gap:7px}.repair-input-stack span{display:flex;align-items:center;gap:8px;background:white;border-radius:14px;padding:8px;font-size:11px}.repair-input-stack i{font-style:normal;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:#e5f4ee}.cable-line{height:5px;border-radius:999px;background:#a58eb9}.broken-slot{min-height:110px;border:2px dashed #d08aa5;border-radius:20px;background:#fff2f6;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px}.broken-slot>span{font-size:28px}.broken-slot b{font-size:12px}.broken-slot small{font-family:system-ui,sans-serif;color:var(--muted);font-size:9px;margin-top:4px}.repair-device{text-align:center;font-size:48px}.repair-device small{display:block;font-family:system-ui,sans-serif;color:var(--muted);font-size:9px}.bench-question{margin-top:16px}.repair-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
.twin-header{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;gap:12px}.reference-machine,.unknown-twin{min-height:130px;border-radius:22px;padding:15px;text-align:center;background:#f5f2f8;display:flex;flex-direction:column;align-items:center;justify-content:center}.reference-machine>span,.unknown-twin>span{font-size:38px}.reference-machine b,.unknown-twin b{font-size:13px;margin-top:5px}.reference-machine small,.unknown-twin small{font-family:system-ui,sans-serif;color:var(--muted);font-size:10px;line-height:1.3;margin-top:4px}.mirror-glyph{text-align:center;font-size:30px;color:#8d6bd8}.equiv-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}.equiv-option{border:1px solid var(--line);background:#fff;border-radius:20px;padding:13px;cursor:pointer;text-align:left}.equiv-option.selected{border-color:#9a79c6;background:#f5effd}.equiv-option strong{display:block;font-size:12px;margin-top:8px}.equiv-option small{display:block;font-family:system-ui,sans-serif;color:var(--muted);font-size:9px;margin-top:3px;line-height:1.35}.circuit-mini{height:42px;border-radius:12px;background:#f2eef6;display:grid;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:#674f80}
.control-goal{text-align:center;background:#f5f1f9;border-radius:22px;padding:16px}.control-goal>span{font-family:system-ui,sans-serif;font-size:10px;color:var(--muted)}.control-goal h2{font-size:20px;margin:5px 0 8px}.goal-output{font-family:system-ui,sans-serif;font-size:11px}.goal-output b{display:inline-block;padding:4px 9px;border-radius:999px;background:#e7e2e9;margin-left:4px}.goal-output b.on{background:#dcf5e6;color:#327050}.control-console{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;align-items:center;margin-top:16px}.console-switch{border:1px solid var(--line);background:white;border-radius:19px;padding:12px;min-height:118px;cursor:pointer}.console-switch.locked{background:#f0edf2;opacity:.75;cursor:not-allowed}.console-switch .lever{display:block;width:44px;height:26px;border-radius:999px;background:#c8c2cc;margin:0 auto 8px;position:relative}.console-switch .lever:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:white;left:3px;top:3px;transition:.15s}.console-switch.on .lever{background:#67c78f}.console-switch.on .lever:after{left:21px}.console-switch strong{display:block;font-size:11px}.console-switch small{display:block;font-family:system-ui,sans-serif;font-size:9px;color:var(--muted);margin-top:3px}.control-arrow{text-align:center;font-size:28px}.control-device{min-height:118px;border-radius:20px;background:#f0edf2;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:40px;filter:grayscale(.8);opacity:.62}.control-device.on{background:#e3f7ea;filter:none;opacity:1}.control-device strong{font-size:11px;margin-top:5px}.gate-budget{font-family:system-ui,sans-serif;font-size:10px;background:#e4f7eb;padding:6px 9px;border-radius:999px;color:#347653}.gate-budget.over{background:#fde6eb;color:#9b4055}.success-character{height:96px;display:flex;justify-content:center;align-items:flex-end;gap:8px}.success-character img{height:92px;width:58px;object-fit:contain;object-position:center bottom}.success-character span{font-size:52px}.success-insight{margin:14px auto 0;max-width:420px;background:#f5f2f8;border-radius:15px;padding:9px 12px;font-family:system-ui,sans-serif;font-size:11px;color:#62586c}
@media(max-width:720px){.scenario-grid{grid-template-columns:1fr}.blackbox-stage{grid-template-columns:1fr 100px;gap:10px}.blackbox-inputs{grid-column:1}.mystery-machine{grid-column:2;grid-row:1;height:130px}.blackbox-output{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:10px}.blackbox-output .big-device{font-size:40px}.repair-bench{grid-template-columns:1fr 24px 1fr}.repair-device{grid-column:1/-1}.repair-bench .cable-line:nth-of-type(2){display:none}.repair-choices,.equiv-options{grid-template-columns:1fr}.twin-header{grid-template-columns:1fr 40px 1fr}.varied-levels .level-card{padding-right:76px}.activity-actions{align-items:stretch;flex-direction:column}.activity-actions button{width:100%}}
@media(max-width:480px){.blackbox-stage{display:block}.mystery-machine{height:100px;margin:10px 0}.blackbox-output{margin-top:8px}.repair-bench{grid-template-columns:1fr}.cable-line{height:22px;width:5px;justify-self:center}.twin-header{grid-template-columns:1fr}.mirror-glyph{transform:rotate(90deg)}.control-console{grid-template-columns:1fr 1fr}.control-arrow{display:none}.choice-grid{grid-template-columns:1fr}.head-actions .soft-btn{display:none}}
.world-card.w7{background:linear-gradient(140deg,#edf6ff,#cbdff5)}.world-card.w8{background:linear-gradient(140deg,#fff0df,#f7cfaa)}
.world-card .world-icon{top:14px;bottom:auto;font-size:42px}.world-card .activity-mix{bottom:34px}.world-card .progress{bottom:17px}.world-card .progress-copy{bottom:3px}
