:root{--ink:#30323a;--muted:#6d7079;--paper:#fffdf9;--line:#e4e6e8;--violet:#7667c8;--violet-soft:#ece9fb;--aqua:#d5f3f6;--pink:#ffd4df;--gold:#f8c85b;--green:#bfe9d0;--red:#e96770;--shadow:0 22px 55px rgba(48,50,58,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 18%,rgba(118,103,200,.2),transparent 28rem),radial-gradient(circle at 92% 32%,rgba(213,243,246,.7),transparent 27rem),var(--paper);color:var(--ink);font-family:"Source Sans 3",sans-serif;margin:0;min-height:100vh}button{font:inherit}.topbar{align-items:center;background:rgba(255,253,249,.94);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:12px clamp(16px,4vw,52px)}.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:#f1effc;border:1px solid #d8d1f3;border-radius:999px;color:var(--ink);font:900 13px Nunito,sans-serif;padding:9px 15px;text-decoration:none}main{margin:auto;max-width:1220px;padding:36px clamp(10px,3vw,32px) 62px}.hero{margin:0 auto 22px;max-width:1100px;text-align:center}.eyebrow,.panel-kicker,.modal-kicker,.teacher-guide>div>span{color:#6655b0;font:900 11px Nunito,sans-serif;letter-spacing:.11em;text-transform:uppercase}.hero h1{font:900 clamp(36px,5vw,58px)/1.04 Nunito,sans-serif;letter-spacing:-.045em;margin:7px 0 10px}.hero h1 em{color:var(--violet);font-style:normal}.hero>p{color:var(--muted);font-size:18px;line-height:1.5;margin:0 auto;max-width:820px}.hero-pills{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:15px 0}.hero-pills span{background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800;padding:7px 10px}.series-track{display:flex;gap:7px;justify-content:center;overflow:auto;padding:4px 2px}.series-track span,.series-track a{align-items:center;background:#f5f4f1;border:1px solid var(--line);border-radius:10px;color:#8b8b8b;display:flex;flex:0 0 auto;font:800 11px Nunito,sans-serif;gap:5px;padding:7px 9px;text-decoration:none}.series-track b{align-items:center;background:#e4e1dc;border-radius:50%;display:flex;height:19px;justify-content:center;width:19px}.series-track a:hover{background:#fff;border-color:#a99de0;color:var(--ink)}.series-track .active{background:var(--violet-soft);border-color:#aca0e4;color:var(--ink)}.series-track .active b{background:var(--violet);color:#fff}.game-shell{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow);overflow:hidden;position:relative}.toolbar{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:10px 14px}.stats,.tools{display:flex;flex-wrap:wrap;gap:8px}.stats span{background:#f7f7f5;border-radius:10px;color:var(--muted);font-size:10px;font-weight:800;min-width:65px;padding:6px 9px;text-align:center;text-transform:uppercase}.stats strong{color:var(--ink);display:block;font:900 15px Nunito,sans-serif}.tools button{background:#fff;border:1px solid var(--line);border-radius:9px;color:var(--ink);cursor:pointer;font:900 11px Nunito,sans-serif;padding:8px 10px}.tools button:hover{background:var(--violet-soft)}.progress{background:#efefec;height:6px}.progress i{background:linear-gradient(90deg,var(--violet),#72cbd4);display:block;height:100%;transition:width .35s;width:0}.phase-track{background:#fbfaf8;display:grid;grid-template-columns:repeat(3,1fr);padding:10px 14px}.phase-track span{align-items:center;color:#a09d98;display:flex;font:900 11px Nunito,sans-serif;gap:6px;justify-content:center}.phase-track b{align-items:center;background:#e8e5e0;border-radius:50%;display:flex;height:22px;justify-content:center;width:22px}.phase-track .active{color:var(--ink)}.phase-track .active b{background:#b8abe9}.phase-track .done b{background:var(--green)}.play-area{padding:16px}.mission-card{align-items:center;background:linear-gradient(135deg,#ece9fb,#f8f6ff);border:1px solid #c9c0ec;border-radius:17px;display:flex;gap:13px;padding:13px 16px}.mission-icon{align-items:center;background:#fff;border-radius:14px;display:flex;font-size:28px;height:53px;justify-content:center;width:53px}.mission-card>div{flex:1}.mission-card small{color:#6655b0;font-size:11px;font-weight:900;text-transform:uppercase}.mission-card h2{font:900 clamp(17px,2.2vw,23px)/1.25 Nunito,sans-serif;margin:3px 0}.equation{color:#58499c;font:900 21px Nunito,sans-serif;min-height:25px}.workbench{display:grid;gap:15px;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);margin-top:15px}.model-card,.decision-card{border:1px solid var(--line);border-radius:18px}.model-card{background:linear-gradient(145deg,#fff,#faf9ff);overflow:hidden}.model-head{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:11px 14px}.model-head>div:first-child{display:flex;flex-direction:column}.model-head span{font:900 14px Nunito,sans-serif}.model-head small{color:var(--muted);font-size:10px}.model-tag{background:var(--violet-soft);border-radius:999px;font:900 12px Nunito,sans-serif;padding:7px 10px}.power-stage{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:300px;padding:18px}.power-card{align-items:center;background:#fff;border:1px solid #ddd8ef;border-radius:18px;box-shadow:0 9px 24px rgba(89,72,158,.1);display:flex;gap:22px;justify-content:center;padding:18px;width:100%}.power-expression{font:900 35px Nunito,sans-serif}.power-expression sup{color:var(--violet);font-size:.56em}.power-explain{display:grid;gap:6px;grid-template-columns:1fr 1fr}.power-explain span{background:#f5f3fd;border-radius:9px;color:var(--muted);font-size:10px;font-weight:800;padding:7px 10px;text-align:center}.power-explain b{color:var(--ink);display:block;font:900 16px Nunito,sans-serif}.factor-row{align-items:center;display:flex;flex-wrap:wrap;gap:7px;justify-content:center;min-height:72px}.orb{align-items:center;border:2px solid rgba(48,50,58,.35);border-radius:50%;box-shadow:inset -5px -6px 0 rgba(48,50,58,.1),0 5px 0 rgba(48,50,58,.1);display:flex;font:900 18px Nunito,sans-serif;height:58px;justify-content:center;width:58px}.orb.positive{background:#92dbe2}.orb.negative{background:#f08b96}.times{color:#aaa;font:900 16px Nunito,sans-serif}.pair-box{align-items:center;background:#eef9f2;border:2px solid #91cba7;border-radius:35px;display:flex;gap:6px;padding:6px 9px}.pair-box::after{color:#2c6b43;content:'→ +';font:900 13px Nunito,sans-serif;margin-left:2px}.leftover{outline:3px dashed #e0939c;outline-offset:4px}.result-orbit{background:#fff8d9;border:1px solid #e4ca6e;border-radius:12px;font-weight:800;padding:10px 16px;text-align:center}.result-orbit strong{font:900 22px Nunito,sans-serif}.pattern-grid{display:grid;gap:8px;grid-template-columns:repeat(4,1fr);width:100%}.pattern-grid span{background:#f5f3fd;border:1px solid #ddd8ef;border-radius:11px;font:900 14px Nunito,sans-serif;padding:10px 5px;text-align:center}.pattern-grid .focus{background:#fff1bd;border-color:#dfbd56}.legend{background:#f7f6fa;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;padding:10px}.legend span{align-items:center;color:#716d79;display:flex;font-size:10px;font-weight:800;gap:5px}.mini-orb{align-items:center;border-radius:50%;display:flex;font-style:normal;height:20px;justify-content:center;width:20px}.mini-orb.positive{background:#92dbe2}.mini-orb.negative{background:#f08b96}.pair-ring{border:2px solid #91cba7;border-radius:999px;height:18px;width:34px}.decision-card{align-self:start;background:#fff;padding:18px}.decision-card h2{font:900 21px Nunito,sans-serif;margin:5px 0 4px}.decision-card>p{color:var(--muted);line-height:1.45;margin:0 0 13px}.choice-list{display:grid;gap:8px}.choice{background:#fff;border:2px solid var(--line);border-radius:11px;color:var(--ink);cursor:pointer;font-weight:800;min-height:50px;padding:10px 12px;text-align:left}.choice:hover{border-color:#a99de0}.choice.correct{background:#e9f8ee;border-color:#72bf8e}.choice.wrong{animation:shake .25s;background:#fff0f2;border-color:#ed819b}.choice:disabled{cursor:default}.bottom-bar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:14px}.feedback{align-items:center;background:#f5f7f7;border-radius:11px;color:#586267;display:flex;flex:1;font-weight:700;gap:9px;min-height:47px;padding:9px 12px}.feedback.good{background:#e8f8ed;color:#28623c}.feedback.bad{background:#fff0f2;color:#9d4056}.feedback b{font-size:18px}.next-btn,.start-btn{background:var(--ink);border:1px solid var(--ink);border-radius:11px;color:#fff;cursor:pointer;font:900 14px Nunito,sans-serif;min-height:43px;padding:9px 16px}.next-btn{display:none;flex:0 0 auto}.next-btn.show{display:block}.layer{align-items:center;background:rgba(255,253,249,.96);display:none;inset:0;justify-content:center;padding:20px;position:absolute;z-index:10}.layer.show{display:flex}.modal{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);max-width:650px;padding:30px;text-align:center;width:100%}.modal-icon{font-size:48px}.modal h2{font:900 clamp(25px,4vw,38px)/1.1 Nunito,sans-serif;margin:7px 0 10px}.modal>p{color:var(--muted);font-size:16px;line-height:1.55}.modal-steps{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:20px 0}.modal-steps span{align-items:center;background:#f7f7f5;border-radius:12px;display:flex;flex-direction:column;font-weight:800;gap:5px;padding:12px}.modal-steps b{align-items:center;background:#b8abe9;border-radius:50%;display:flex;height:28px;justify-content:center;width:28px}.finish-summary{display:flex;gap:10px;justify-content:center;margin:17px 0}.finish-summary span{background:#f5f4f1;border-radius:12px;color:var(--muted);min-width:125px;padding:10px}.finish-summary strong{color:var(--ink);display:block;font:900 24px Nunito,sans-serif}.teacher-guide{background:linear-gradient(135deg,rgba(118,103,200,.16),rgba(213,243,246,.52));border:1px solid var(--line);border-radius:20px;display:grid;gap:18px;grid-template-columns:240px 1fr;margin-top:22px;padding:22px}.teacher-guide h2{font:900 23px/1.2 Nunito,sans-serif;margin:5px 0}.guide-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.guide-grid article{background:rgba(255,255,255,.72);border-radius:12px;padding:13px}.guide-grid h3{font:900 13px Nunito,sans-serif;margin:0 0 5px}.guide-grid p{color:var(--muted);font-size:12px;line-height:1.5;margin:0}footer{border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:14px 22px;justify-content:center;padding:17px}footer a{color:inherit;text-decoration:none}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.game-shell:fullscreen,.game-shell:-webkit-full-screen{background:var(--paper);border:0;border-radius:0;height:100vh;height:100dvh;overflow:auto}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:850px){main{padding:28px 9px 45px}.workbench{grid-template-columns:1fr}.teacher-guide{grid-template-columns:1fr}.guide-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.brand small{display:none}.back-link{font-size:11px;padding:8px 10px}.toolbar{align-items:stretch;flex-direction:column}.stats,.tools{display:grid;grid-template-columns:repeat(3,1fr)}.tools{grid-template-columns:1fr 1fr}.phase-track{padding:9px 3px}.phase-track span{font-size:9px}.phase-track b{height:18px;width:18px}.play-area{padding:10px}.mission-card{align-items:flex-start;padding:12px}.mission-icon{height:43px;width:43px}.power-stage{min-height:270px;padding:11px}.power-card{align-items:stretch;flex-direction:column;gap:8px;text-align:center}.orb{height:50px;width:50px}.pattern-grid,.guide-grid{grid-template-columns:1fr 1fr}.bottom-bar{align-items:stretch;flex-direction:column}.next-btn{width:100%}.modal{padding:22px 16px}.modal-steps{grid-template-columns:1fr}.teacher-guide{padding:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
