:root{--ink:#30323a;--muted:#70727b;--line:#e7e0e4;--aqua:#d7f3f3;--aqua-strong:#42acb3;--rose:#ffd6dc;--rose-strong:#d66d86;--amber:#fce9bf;--amber-strong:#d89f36;--green:#d8f1df;--green-strong:#4e9e70;--violet:#ddd7f3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(145deg,#fff8f5,#f3fbfb 54%,#fbf8ff);color:var(--ink);font-family:"Source Sans 3",sans-serif;margin:0;min-height:100vh}button{cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}.topbar{align-items:center;background:rgba(255,253,251,.95);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:12px clamp(18px,4vw,52px);position:relative;z-index:20}.brand{align-items:center;color:inherit;display:flex;gap:11px;text-decoration:none}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font:900 21px/1 Nunito,sans-serif}.brand small{color:var(--muted);font-size:11px;margin-top:3px}.back-link{background:var(--amber);border:1px solid #ead7ae;border-radius:999px;color:var(--ink);font:900 13px Nunito,sans-serif;padding:9px 15px;text-decoration:none}
main{padding:40px clamp(12px,4vw,50px) 58px}.hero{margin:0 auto 24px;max-width:1070px;text-align:center}.eyebrow,.modal-kicker{color:#85631f;font:900 12px Nunito,sans-serif;letter-spacing:.12em;text-transform:uppercase}.hero h1{font:900 clamp(34px,5vw,60px)/1.05 Nunito,sans-serif;letter-spacing:-.035em;margin:8px 0 12px}.hero h1 em{color:var(--rose-strong);font-style:normal}.hero>p{color:var(--muted);font-size:clamp(16px,2vw,20px);margin:0 auto;max-width:760px}.hero-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:17px}.hero-pills span{background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:999px;font:800 13px Nunito,sans-serif;padding:7px 12px}
.game-shell{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:25px;box-shadow:0 24px 65px rgba(66,52,60,.12);margin:0 auto;max-width:1160px;overflow:hidden;position:relative}.toolbar{align-items:center;background:#fff;display:flex;gap:18px;justify-content:space-between;padding:13px 17px}.stats{display:flex;flex-wrap:wrap;gap:7px}.stats span{background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--muted);font:900 9px Nunito,sans-serif;letter-spacing:.07em;min-width:76px;padding:7px 9px}.stats strong{color:var(--ink);display:block;font-size:17px;letter-spacing:0;margin-top:1px}.tools{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.tools button{background:#fff;border:1px solid var(--line);border-radius:11px;color:var(--ink);font:900 12px Nunito,sans-serif;padding:9px 10px}.tools button:hover{background:var(--aqua)}.energy-rack{background:#ede9eb;display:grid;gap:3px;grid-template-columns:repeat(12,1fr);height:9px}.energy-cell{background:#dfd9dc;transition:.35s ease}.energy-cell.on{background:linear-gradient(90deg,var(--aqua-strong),#82c8a0);box-shadow:0 0 12px rgba(66,172,179,.55)}
.play-area{background:linear-gradient(150deg,rgba(215,243,243,.44),rgba(255,255,255,.94),rgba(252,233,191,.42));min-height:630px;padding:20px}.mission-card{align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;display:flex;gap:15px;margin-bottom:15px;padding:14px 18px}.mission-icon{align-items:center;background:linear-gradient(135deg,var(--aqua),var(--amber));border-radius:16px;display:flex;font-size:29px;height:58px;justify-content:center;min-width:58px}.mission-card small{color:#8a6924;font:900 11px Nunito,sans-serif;letter-spacing:.08em;text-transform:uppercase}.mission-card h2{font:900 clamp(21px,2.7vw,28px)/1.12 Nunito,sans-serif;margin:3px 0}.mission-card p{color:var(--muted);margin:0}.lab-layout{display:grid;gap:14px;grid-template-columns:minmax(205px,.68fr) minmax(310px,1.1fr) minmax(230px,.78fr)}.capsule-panel,.scanner-panel,.answer-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 28px rgba(62,57,62,.07);min-width:0;overflow:hidden;padding:16px}.panel-heading{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.panel-heading span,.scanner-top span{color:#876421;font:900 10px Nunito,sans-serif;letter-spacing:.09em}.panel-heading h3{font:900 18px Nunito,sans-serif;margin:2px 0 0}.panel-heading>b{background:var(--amber);border-radius:999px;font:900 11px Nunito,sans-serif;padding:6px 9px}
.capsule-list{display:grid;gap:10px}.capsule{align-items:center;background:#fff;border:2px solid #ece5e8;border-radius:18px;box-shadow:0 6px 14px rgba(69,66,78,.12);color:var(--ink);display:flex;gap:10px;min-height:78px;padding:8px 11px;text-align:left;touch-action:none;transition:.18s ease;width:100%}.capsule:hover:not(:disabled){border-color:var(--aqua-strong);transform:translateX(3px)}.capsule-shape{align-items:center;animation:capsuleFloat 2.5s ease-in-out infinite;background:linear-gradient(90deg,#ef8299 0 48%,#fff 48% 52%,#63c3c8 52%);border:4px solid #fff;border-radius:999px;box-shadow:0 3px 0 #b7aeb3,0 5px 12px rgba(59,49,55,.18);color:#fff;display:flex;font:900 20px Nunito,sans-serif;height:40px;justify-content:center;min-width:68px;position:relative;transform:rotate(-8deg)}.capsule:nth-child(2) .capsule-shape{animation-delay:-.6s}.capsule:nth-child(3) .capsule-shape{animation-delay:-1.2s}.capsule:nth-child(4) .capsule-shape{animation-delay:-1.8s}@keyframes capsuleFloat{0%,100%{translate:0 -1px;rotate:-2deg}50%{translate:0 3px;rotate:2deg}}.capsule-shape i{background:#343740;border-radius:50%;font-style:normal;height:27px;line-height:27px;text-align:center;width:27px}.capsule b{font:900 14px Nunito,sans-serif}.capsule small{color:var(--muted);display:block}.capsule.active{background:linear-gradient(135deg,var(--aqua),#fff);border-color:var(--aqua-strong)}.capsule.dragging{opacity:.35;transform:scale(.96)}.capsule.done{background:var(--green);opacity:.72}.capsule.done .capsule-shape{animation:none;background:linear-gradient(90deg,#78c397 0 48%,#fff 48% 52%,#78c397 52%)}.touch-ghost{left:0;margin:0;opacity:.94;pointer-events:none;position:fixed;top:0;width:205px;z-index:100;box-shadow:0 18px 45px rgba(25,29,34,.28)}
.scanner-panel{background:#30343f;border-color:#444955;color:#fff}.scanner-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:11px}.scanner-top b{background:rgba(255,255,255,.12);border-radius:999px;color:#d8f7f6;font:900 11px Nunito,sans-serif;padding:6px 9px}.scanner{align-items:center;background:radial-gradient(circle at 64% 42%,rgba(86,221,221,.2),transparent 34%),#181b23;border:2px dashed #66707e;border-radius:17px;display:flex;height:330px;justify-content:center;overflow:hidden;position:relative;transition:.2s ease}.scanner.drop-ready{border-color:#76dbd8;box-shadow:inset 0 0 32px rgba(83,224,222,.15)}.scanner.drop-target{background:radial-gradient(circle at center,rgba(99,235,229,.3),transparent 57%),#181b23;border-color:#9af2ee;box-shadow:inset 0 0 48px rgba(83,224,222,.3),0 0 0 4px rgba(118,219,216,.15);transform:scale(.985)}.scanner-grid{background-image:linear-gradient(rgba(105,225,225,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(105,225,225,.08) 1px,transparent 1px);background-size:25px 25px;inset:0;position:absolute}.microscope{bottom:25px;height:250px;left:24px;opacity:.42;position:absolute;width:165px}.micro-eye{background:linear-gradient(90deg,#93ebe7,#4aaeb6);border:8px solid #d9ffff;border-radius:28px 28px 13px 13px;height:44px;left:60px;position:absolute;top:5px;transform:rotate(-18deg);width:78px}.micro-arm{border:22px solid #62bdc4;border-bottom-color:transparent;border-left-color:transparent;border-radius:50%;height:130px;left:37px;position:absolute;top:42px;transform:rotate(-10deg);width:112px}.micro-stage{background:#d9ffff;border-radius:8px;height:16px;left:30px;position:absolute;top:160px;width:116px}.micro-base{background:linear-gradient(90deg,#57b6bd,#9de8e4);border-radius:50% 50% 13px 13px;height:30px;left:13px;position:absolute;top:205px;width:145px}.scan-beam{background:linear-gradient(90deg,transparent,rgba(106,242,239,.88),transparent);filter:blur(1px);height:100%;left:-25%;opacity:0;position:absolute;top:0;width:22%;z-index:4}.scanner.scanning .scan-beam{animation:scanPass .75s ease-in-out}.scanner.scanning{box-shadow:inset 0 0 45px rgba(83,224,222,.2)}@keyframes scanPass{0%{left:-25%;opacity:0}20%,80%{opacity:1}100%{left:105%;opacity:0}}.scan-placeholder,.operation-card{margin-left:115px;position:relative;text-align:center;z-index:3}.scan-placeholder span{align-items:center;background:linear-gradient(90deg,#ef8299 0 48%,#fff 48% 52%,#63c3c8 52%);border:4px solid #fff;border-radius:999px;box-shadow:0 5px 0 #615a62;color:#fff;display:flex;font:900 28px Nunito,sans-serif;height:58px;justify-content:center;margin:0 auto 14px;transform:rotate(-7deg);width:116px}.scan-placeholder strong{display:block;font:900 17px Nunito,sans-serif}.scan-placeholder p{color:#aeb8c5;font-weight:700;margin:5px 0}.operation-card{animation:revealCard .42s ease;background:linear-gradient(145deg,#fff,var(--aqua));border:4px solid rgba(255,255,255,.8);border-radius:21px;box-shadow:0 14px 32px rgba(0,0,0,.28);color:var(--ink);padding:24px 17px;width:min(66%,350px)}.operation-card small{color:#54747a;font:900 10px Nunito,sans-serif;letter-spacing:.1em}.operation-card strong{display:block;font:900 clamp(29px,4.5vw,46px)/1.1 Nunito,sans-serif;margin-top:8px}@keyframes revealCard{from{opacity:0;transform:scale(.75) rotate(-4deg)}to{opacity:1;transform:none}}
.answer-list{display:grid;gap:10px}.answer-list>p{color:var(--muted);line-height:1.4;margin:12px 3px}.answer-choice{background:#fff;border:2px solid var(--line);border-radius:15px;color:var(--ink);font:900 22px Nunito,sans-serif;min-height:61px;padding:10px;transition:.16s ease}.answer-choice:hover:not(:disabled){background:var(--aqua);border-color:var(--aqua-strong);transform:translateY(-2px)}.answer-choice.wrong{animation:shake .35s ease;background:#fff0f2;border-color:var(--rose-strong);color:#91314b}.answer-choice.correct{background:#e5f6ea;border-color:var(--green-strong);color:#266842}@keyframes shake{25%{translate:-6px 0}75%{translate:6px 0}}.feedback{align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;display:flex;font-weight:700;gap:9px;margin-top:14px;min-height:54px;padding:10px 14px}.feedback b{font-size:20px}.feedback.good{background:#e8f7ed;border-color:#bde3ca;color:#286744}.feedback.hint{background:#fff4dc;border-color:#ecd5a5;color:#735718}
.layer{align-items:center;background:rgba(255,250,248,.985);display:none;inset:0;justify-content:center;overflow:auto;padding:22px;position:absolute;z-index:30}.layer.show{display:flex}.modal{background:#fff;border:1px solid var(--line);border-radius:25px;box-shadow:0 28px 80px rgba(26,27,32,.25);max-width:690px;padding:30px;text-align:center;width:100%}.modal-icon{font-size:48px}.modal h2{font:900 clamp(27px,4vw,38px)/1.12 Nunito,sans-serif;margin:6px 0 8px}.modal>p{color:var(--muted);font-size:16px;line-height:1.45;margin:0 auto 18px;max-width:570px}.modal-steps{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:18px 0}.modal-steps span{background:#fffaf3;border:1px solid var(--line);border-radius:14px;font:800 13px Nunito,sans-serif;padding:11px 7px}.modal-steps b{align-items:center;background:var(--aqua);border-radius:50%;display:flex;height:27px;justify-content:center;margin:0 auto 6px;width:27px}.primary-action{background:linear-gradient(135deg,#bdebf0,#f6e4c1);border:0;border-radius:14px;color:#24484d;font:900 15px Nunito,sans-serif;padding:13px 22px}.finish-stats{display:flex;gap:8px;justify-content:center;margin:18px 0}.finish-stats span{background:#fff;border:1px solid var(--line);border-radius:13px;min-width:100px;padding:10px}.finish-stats strong{display:block;font:900 21px Nunito,sans-serif}.round-layer{align-items:center;background:rgba(31,35,44,.86);display:flex;inset:0;justify-content:center;position:absolute;z-index:28}.round-layer[hidden]{display:none}.round-layer>div{align-items:center;color:#fff;display:flex;flex-direction:column;text-align:center}.round-layer span{font-size:50px}.round-layer small{color:#8ee8e4;font:900 11px Nunito,sans-serif;letter-spacing:.12em;margin:5px}.round-layer strong{font:900 clamp(24px,4vw,38px) Nunito,sans-serif}
.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.teacher-guide{background:linear-gradient(135deg,#fff0dc,#edfafa);border:1px solid var(--line);border-radius:24px;display:grid;gap:22px;grid-template-columns:270px 1fr;margin:24px auto 0;max-width:1160px;padding:24px}.teacher-guide__intro>span{color:#945526;font:900 11px Nunito,sans-serif;letter-spacing:.1em;text-transform:uppercase}.teacher-guide h2{font:900 25px/1.15 Nunito,sans-serif;margin:7px 0}.teacher-guide p{color:#60636c;line-height:1.45;margin:0}.teacher-guide__grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.teacher-guide article{background:rgba(255,255,255,.8);border-radius:15px;padding:15px}.teacher-guide h3{font:900 14px Nunito,sans-serif;margin:0 0 5px}footer{border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:14px 22px;justify-content:center;padding:17px}footer a{color:inherit;text-decoration:none}
.capsule-panel{background:linear-gradient(145deg,rgba(242,252,252,.97),rgba(225,239,242,.96));box-shadow:inset 0 0 0 5px rgba(255,255,255,.5),0 12px 28px rgba(62,57,62,.1);position:relative}.capsule-panel::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);content:"";height:100%;left:-55%;pointer-events:none;position:absolute;top:0;transform:skewX(-12deg);width:42%;z-index:0}.capsule-panel:hover::before{animation:glassSweep 1.15s ease}.capsule-panel>*{position:relative;z-index:1}.capsule-list{background:repeating-linear-gradient(180deg,rgba(255,255,255,.74) 0 72px,#93a7ad 73px 77px,rgba(27,43,49,.09) 78px 86px);border:5px solid #6f858c;border-radius:16px;box-shadow:inset 0 0 28px rgba(40,74,81,.13);padding:10px}.capsule{background:rgba(255,255,255,.86);border-color:rgba(255,255,255,.96);box-shadow:0 7px 15px rgba(24,47,54,.15)}@keyframes glassSweep{to{left:120%}}
.scanner-panel{background:linear-gradient(155deg,#38404d,#202630 72%,#151a22);border:4px solid #687582;box-shadow:inset 0 0 0 2px #20262f,0 13px 30px rgba(25,28,34,.22);padding:14px}.scanner{background:radial-gradient(circle at 66% 59%,rgba(80,235,224,.18),transparent 24%),linear-gradient(145deg,#202731,#11161e);border:2px solid #576673;height:380px}.scanner::after{background:linear-gradient(90deg,rgba(112,233,228,.06),rgba(255,255,255,.02),rgba(112,233,228,.06));border:1px solid rgba(167,244,240,.16);border-radius:12px;content:"";inset:14px;pointer-events:none;position:absolute}.lab-machine{height:100%;inset:0;overflow:visible;position:absolute;width:100%;z-index:1}.machine-status-light{animation:statusBlink 1.8s ease-in-out infinite}.machine-cables path:last-child{animation:cableFlow 1.1s linear infinite}.lens-pool{animation:lensIdle 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.lab-shelf{align-items:flex-end;display:flex;gap:7px;position:absolute;right:17px;top:20px;z-index:2}.lab-shelf::after{background:#71818d;border-radius:4px;bottom:-7px;box-shadow:0 4px 8px rgba(0,0,0,.35);content:"";height:7px;left:-6px;position:absolute;width:91px}.lab-shelf i{background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(95,219,214,.25));border:2px solid #94dedb;border-radius:4px 4px 9px 9px;height:35px;position:relative;width:14px}.lab-shelf i:nth-child(2){height:44px}.lab-shelf i:nth-child(3){background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(238,121,150,.55));height:29px}.lab-shelf i:nth-child(4){background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(246,190,83,.55));height:40px}.scan-placeholder{left:68%;margin:0;position:absolute;top:51%;transform:translate(-50%,-50%);width:38%;z-index:5}.scan-placeholder span{box-shadow:0 7px 0 #171c23,0 12px 25px rgba(0,0,0,.42),0 0 24px rgba(106,237,230,.26)}.operation-card{margin:0;position:absolute;right:5%;top:21%;width:56%;z-index:6}.scanner.drop-ready .lens-pool,.scanner.drop-target .lens-pool{fill:#7bfff5;opacity:.35}.scanner.drop-target .machine-lens{filter:drop-shadow(0 0 10px #86fff7)}.scanner.drop-target .sample-stage{fill:#c4fff9}.scanner.scanning .machine-lens{animation:lensFocus .72s ease}.scanner.scanning .lens-pool{animation:lensScan .72s ease}.scanner.scanning .scan-placeholder span{animation:capsuleDock .72s ease}.scanner.scanning .machine-status-light{fill:#f7c65e}.answer-panel{background:linear-gradient(160deg,#fbffff,#eef7f7);border:3px solid #d8e4e5;box-shadow:inset 0 0 0 2px #fff,0 12px 28px rgba(62,57,62,.1)}.answer-choice{box-shadow:0 4px 0 #d7dfe1}.answer-choice:active:not(:disabled){box-shadow:0 1px 0 #bfcacc;transform:translateY(3px)}.energy-rack{overflow:hidden;position:relative}.energy-rack.charging::after{animation:energyRun .72s ease-out;background:linear-gradient(90deg,transparent,#fff,transparent);content:"";inset:0;position:absolute;transform:translateX(-100%)}
@keyframes statusBlink{0%,100%{opacity:.65}50%{opacity:1;filter:drop-shadow(0 0 8px #8ff9f2)}}@keyframes cableFlow{to{stroke-dashoffset:-32}}@keyframes lensIdle{0%,100%{opacity:.1;transform:scale(.9)}50%{opacity:.22;transform:scale(1.06)}}@keyframes lensFocus{0%,100%{transform:rotate(0)}45%{transform:rotate(-4deg) translateY(5px)}}@keyframes lensScan{0%{opacity:.18;transform:scale(.7)}50%{opacity:.7;transform:scale(1.18)}100%{opacity:.15;transform:scale(.85)}}@keyframes capsuleDock{0%{transform:translateY(0) rotate(-7deg)}45%{transform:translateY(13px) rotate(0) scale(.9)}70%{filter:brightness(1.8);transform:translateY(13px) scale(1.04)}100%{transform:translateY(0) rotate(-7deg)}}@keyframes energyRun{to{transform:translateX(100%)}}
.lab-machine,.lab-shelf{display:none}.lab-machine-img{filter:drop-shadow(0 18px 16px rgba(0,0,0,.34));height:auto;left:50%;max-height:96%;object-fit:contain;pointer-events:none;position:absolute;top:51%;transform:translate(-50%,-50%);transition:filter .2s ease,transform .2s ease;width:96%;z-index:1}.scanner.drop-ready .lab-machine-img{filter:drop-shadow(0 0 13px rgba(102,239,231,.5)) drop-shadow(0 18px 16px rgba(0,0,0,.34))}.scanner.drop-target .lab-machine-img{filter:brightness(1.08) drop-shadow(0 0 20px rgba(118,255,246,.8));transform:translate(-50%,-50%) scale(1.015)}.scanner.scanning .lab-machine-img{animation:machineScan .76s ease}.scan-placeholder{left:65%;top:64%;width:42%}.scan-placeholder span{height:48px;width:98px}.scan-placeholder strong{background:rgba(17,23,31,.74);border-radius:8px;padding:4px 7px;text-shadow:0 2px 3px #000}.scan-placeholder p{background:rgba(17,23,31,.7);border-radius:8px;font-size:12px;margin:4px auto 0;max-width:190px;padding:3px 6px}.operation-card{right:4%;top:20%;width:58%}@keyframes machineScan{0%,100%{filter:drop-shadow(0 18px 16px rgba(0,0,0,.34))}45%{filter:brightness(1.18) drop-shadow(0 0 28px #73eee8);transform:translate(-50%,-50%) scale(1.025)}}
.capsule-shape{animation:capsuleFloat 2.5s ease-in-out infinite;background:none;border:0;border-radius:0;box-shadow:none;height:58px;min-width:92px;position:relative;transform:none}.capsule-shape img{display:block;filter:drop-shadow(0 7px 7px rgba(22,34,43,.28));height:100%;object-fit:contain;pointer-events:none;width:100%}.capsule-shape i{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.capsule.done .capsule-shape{background:none;filter:saturate(.55)}.scan-placeholder span{animation:none;background:none;border:0;border-radius:0;box-shadow:none;height:82px;position:relative;transform:none;width:142px}.scan-placeholder span img{filter:drop-shadow(0 9px 8px rgba(0,0,0,.42));height:100%;object-fit:contain;width:100%}.scan-placeholder span i{background:#202b3c;border:2px solid #8ff8f2;border-radius:50%;font:900 23px/34px Nunito,sans-serif;height:38px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:38px}.scanner.scanning .scan-placeholder span{animation:capsuleDock .72s ease}
.capsule>div{min-width:0}.capsule b,.capsule small{display:block;white-space:nowrap}.capsule small{font-size:12px}
.capsule-list{gap:7px;padding:10px 12px}.capsule{background:transparent;border:0;border-radius:15px;box-shadow:none;justify-content:center;min-height:79px;padding:3px 5px}.capsule:hover:not(:disabled){background:rgba(255,255,255,.4);transform:scale(1.06)}.capsule .capsule-shape{height:72px;min-width:138px;width:92%}.capsule.dragging{background:transparent;opacity:.28;transform:scale(.94)}.capsule.done{background:transparent;opacity:.48}.touch-ghost{background:transparent;border:0;box-shadow:none;width:210px}.touch-ghost .capsule-shape{height:92px;width:100%}
.game-shell:fullscreen,.game-shell:-webkit-full-screen{background:#fffdfb;border:0;border-radius:0;display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:none;overflow:hidden}.game-shell:fullscreen .toolbar,.game-shell:fullscreen .energy-rack,.game-shell:-webkit-full-screen .toolbar,.game-shell:-webkit-full-screen .energy-rack{flex:0 0 auto}.game-shell:fullscreen .play-area,.game-shell:-webkit-full-screen .play-area{flex:1;min-height:0;overflow:auto}.game-shell:fullscreen .scanner,.game-shell:-webkit-full-screen .scanner{height:min(52vh,480px)}
@media(max-width:860px){main{padding:28px 10px 40px}.toolbar{align-items:stretch;flex-direction:column}.stats,.tools{justify-content:center}.stats span{flex:1}.lab-layout{grid-template-columns:minmax(200px,.75fr) minmax(300px,1.25fr)}.answer-panel{grid-column:1/-1}.answer-list{grid-template-columns:repeat(4,1fr)}.teacher-guide{grid-template-columns:1fr}.teacher-guide__grid{grid-template-columns:1fr}.scanner{height:345px}}
@media(max-width:590px){.brand small{display:none}.back-link{font-size:12px;padding:8px 10px}.hero h1{font-size:34px}.play-area{padding:12px}.tools button{flex:1;padding:8px 5px}.lab-layout{grid-template-columns:1fr}.answer-panel{grid-column:auto}.answer-list{grid-template-columns:repeat(2,1fr)}.capsule-list{grid-template-columns:repeat(2,1fr)}.capsule{border-radius:17px;flex-direction:column;gap:4px;min-height:104px;padding:7px;text-align:center}.capsule-shape{height:35px;min-width:61px}.capsule small{display:none}.scanner{height:320px}.lab-machine{transform:scale(.84);transform-origin:left bottom;width:116%}.lab-shelf{right:9px;transform:scale(.8);transform-origin:right top}.scan-placeholder{left:72%;margin:0;width:45%}.scan-placeholder strong{font-size:14px}.scan-placeholder p{font-size:12px}.operation-card{left:29%;margin:0;right:auto;top:23%;width:67%}.modal{padding:24px 15px}.modal-steps{gap:5px}.modal-steps span{font-size:11px;padding:8px 3px}.finish-stats span{min-width:0;padding:8px}.game-shell:fullscreen .play-area,.game-shell:-webkit-full-screen .play-area{overflow:auto}.game-shell:fullscreen .scanner,.game-shell:-webkit-full-screen .scanner{height:300px}}
@media(max-width:590px){.capsule{background:transparent;border:0;min-height:78px;padding:3px}.capsule .capsule-shape{height:66px;min-width:105px;width:100%}.capsule-list{background:rgba(255,255,255,.42);gap:5px}}
.operation-card{left:auto;padding:22px 12px;right:3%;width:72%}.operation-card strong{font-size:clamp(22px,3.2vw,40px);white-space:nowrap}.operation-card strong.op-long{font-size:clamp(19px,2.55vw,31px)}.operation-card strong.op-xlong{font-size:clamp(17px,2.2vw,27px)}@media(max-width:590px){.operation-card{left:25%;padding:17px 8px;right:auto;top:25%;width:72%}.operation-card strong{font-size:clamp(21px,7vw,29px)}.operation-card strong.op-long{font-size:clamp(18px,5.7vw,24px)}.operation-card strong.op-xlong{font-size:clamp(16px,5vw,21px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01s!important;transition-duration:.01s!important}}
.scan-placeholder span[hidden]{display:none!important}
