@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#e8f0ed;font-synthesis:none;--ink:#e8f0ed;--muted:#91a09b;--line:#283632;--panel:#131c1a;--accent:#73e2b8;--warm:#f1d27a;background:#0c1211;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% -10%,#173329 0,#0000 32rem),#0c1211;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}.home{grid-template-rows:auto 1fr auto;grid-template-columns:1.05fr .95fr;gap:48px 80px;max-width:1240px;min-height:100vh;margin:auto;padding:28px 48px;display:grid}.home nav{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.wordmark{letter-spacing:.16em;font-size:.78rem;font-weight:800}.wordmark span,.brand-button{border:1px solid var(--accent);width:34px;height:34px;color:var(--accent);place-items:center;margin-right:12px;font-family:DM Mono,monospace;display:inline-grid}.icon-button,.brand-button{letter-spacing:.12em;cursor:pointer;background:0 0;border:0;font-size:.68rem}.brand-button{width:auto;color:var(--accent);white-space:nowrap;display:flex}.brand-button span{color:var(--ink);margin-left:12px}.hero{align-self:center}.eyebrow,.section-label{letter-spacing:.18em;color:var(--accent);font:500 .68rem DM Mono,monospace}h1{letter-spacing:-.06em;margin:18px 0 28px;font-size:clamp(3rem,6vw,5.8rem);line-height:.95}h1 em{color:var(--accent);font-style:normal}.lede{color:#b8c3bf;max-width:620px;font-size:1.05rem;line-height:1.75}.sequence{letter-spacing:.12em;color:#aec0b9;align-items:center;gap:10px;margin-top:44px;font:500 .65rem DM Mono,monospace;display:flex}.sequence i{color:#426158;font-style:normal}.setup{border:1px solid var(--line);background:#111a18;align-self:center;padding:30px;box-shadow:0 24px 70px #0005}.setup-block>label,.switch-row strong{letter-spacing:.16em;color:#a9b7b2;margin-bottom:12px;font:500 .65rem DM Mono,monospace;display:block}.segmented{border:1px solid #33443f;display:flex}.segmented button{color:#8d9b96;cursor:pointer;background:#0d1513;border:0;border-right:1px solid #33443f;flex:1;padding:12px 10px}.segmented button:last-child{border-right:0}.segmented button.active{color:#9af3d0;box-shadow:inset 0 -2px var(--accent);background:#204237}.setup-row{grid-template-columns:1.15fr .85fr;gap:20px;margin-top:26px;display:grid}.setup small,.switch-row small{color:#74857f;margin-top:9px;font-size:.7rem;display:block}.switch-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin:28px 0;padding-top:22px;display:flex}.switch-row strong{margin:0}.switch-row input{width:46px;height:24px;accent-color:var(--accent)}button.primary{background:var(--accent);color:#092019;letter-spacing:.08em;cursor:pointer;border:0;padding:14px 20px;font-weight:800}.start{justify-content:space-between;width:100%;display:flex}.availability{color:var(--warm);font-size:.75rem}footer{border-top:1px solid var(--line);color:#65746f;grid-column:1/-1;justify-content:space-between;padding-top:18px;font:400 .65rem DM Mono,monospace;display:flex}.game{min-height:100vh}.game-header{border-bottom:1px solid var(--line);z-index:4;background:#0c1211ee;justify-content:space-between;align-items:center;height:64px;padding:0 36px;display:flex;position:relative}.run-meta{color:#aab7b2;gap:24px;font:500 .7rem DM Mono,monospace;display:flex}.target-bar{z-index:3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#13201def;border-bottom:1px solid #355147;grid-template-columns:120px 1fr;align-items:center;min-height:104px;padding:20px max(36px,50vw - 650px);display:grid;position:sticky;top:0;box-shadow:0 14px 35px #0004}.target-bar .equation{font-size:clamp(1.05rem,2vw,1.5rem);font-weight:600}.game-grid{grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);gap:48px;max-width:1400px;margin:auto;padding:42px 42px 80px;display:grid}.section-heading{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.section-heading h2{margin:7px 0 0;font-size:1.4rem}.utility{gap:8px;display:flex}.utility button,.assist button,.stack button,.completion button:not(.primary){color:#a8b6b1;letter-spacing:.1em;cursor:pointer;background:0 0;border:1px solid #344640;padding:9px 12px;font:500 .64rem DM Mono,monospace}.utility button:disabled{opacity:.3}.reaction-row{border-top:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:21px 4px;transition:background .2s;display:grid}.reaction-row:last-of-type{border-bottom:1px solid var(--line)}.reaction-row.flipped{background:#14231f}.reaction-number{color:#64756f;font:500 .7rem DM Mono,monospace}.reaction-main{min-width:0}.reaction-equation{padding:2px 0 8px;overflow-x:auto}.equation{white-space:nowrap;letter-spacing:.01em;font-family:Manrope,sans-serif}.term{display:inline}.formula sub{font-size:.66em;line-height:0}.formula sup{margin-left:1px;font-size:.62em}.state{color:#a8b4b0;margin-left:2px;font-size:.78em}.arrow{color:var(--accent);margin:0 7px}.fraction{vertical-align:middle;text-align:center;flex-direction:column;margin:0 4px 0 1px;font-size:.7em;line-height:.72;display:inline-flex}.fraction span:first-child{border-bottom:1px solid;padding:0 2px 2px}.fraction span:last-child{padding-top:2px}.enthalpy{color:#9eaca7;font:400 .76rem DM Mono,monospace}.enthalpy span{color:#66766f}.controls{align-items:center;gap:12px;display:flex;position:relative}.flip{cursor:pointer;background:0 0;border:1px solid #41544d;padding:9px 12px;font:500 .68rem DM Mono,monospace}.flip.active{border-color:var(--accent);color:var(--accent);background:#19362d}.controls label{color:#8fa099;white-space:nowrap;font:500 .65rem DM Mono,monospace}.controls input{width:62px;color:var(--ink);text-align:center;background:#09100e;border:1px solid #42564f;padding:8px}.input-error{font-size:.7rem;color:#ff9f91!important}.controls .input-error{z-index:2;background:#311d1a;width:220px;padding:7px;position:absolute;top:42px;right:0}.assist{justify-content:space-between;margin-top:20px;display:flex}.hint{border-left:2px solid var(--warm);color:#e7d9ad;background:#211f17;padding:12px 16px}.hint span{letter-spacing:.12em;color:var(--warm);margin-right:18px;font:500 .63rem DM Mono,monospace}.result-panel{border:1px solid var(--line);background:#101816;align-self:start;min-height:330px;padding:26px;position:sticky;top:136px}.current-equation{border-bottom:1px solid var(--line);align-items:center;min-height:108px;font-size:1.05rem;display:flex;overflow-x:auto}.empty-result{color:#63726d;font-style:italic}.cancelling{animation:.5s cancel}.combo{color:var(--warm);font:700 .7rem DM Mono,monospace;animation:.65s combo;position:absolute;top:18px;right:22px}.proportion{color:#91aaa1;border-left:2px solid #66b99a;gap:5px;margin-top:18px;padding:10px 12px;font-size:.74rem;display:grid}.proportion strong{color:#8ce6c3;font:600 .62rem DM Mono,monospace}.completion{padding-top:24px}.completion .eyebrow{font-size:.72rem}.calculation{color:#a8b6b1;gap:10px;padding:16px 0;font:400 .74rem DM Mono,monospace;display:grid}.calculation strong{color:var(--ink);font-size:1rem}.stars{letter-spacing:.15em;color:var(--warm);margin:14px 0 5px;font-size:1.8rem}.completion h3{letter-spacing:.08em;margin:0;font-size:1rem}.completion>p{color:#85958f;font-size:.78rem}.completion .primary{width:100%;margin-top:10px}.exam-entry{gap:14px;margin-top:18px;display:grid}.exam-entry input{width:130px;color:var(--ink);background:#0a110f;border:1px solid #486159;padding:10px}.exam-entry small{color:#7f908a}.stack{gap:9px;margin-top:18px;display:grid}.summary{text-align:center;max-width:720px;margin:60px auto}.summary h1{font-size:3rem}.summary-score strong{color:var(--accent);font-size:5rem}.summary-score span{color:#74857f}.achievement{border:1px solid var(--warm);padding:16px;color:var(--warm)!important}.result-list{text-align:left;border-top:1px solid var(--line);margin:32px 0}.result-list>div{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:4px;padding:12px;display:grid}.result-list small{color:#788983;grid-column:1/-1}.shell{padding:30px}.summary .primary{min-width:220px}@keyframes cancel{40%{color:var(--accent);filter:drop-shadow(0 0 8px #73e2b866);transform:scale(1.02)}}@keyframes combo{0%{opacity:0;transform:translateY(8px)scale(.8)}35%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}@media (width<=900px){.home{grid-template-columns:1fr;gap:36px;padding:24px}.home nav,.hero,.setup,footer{grid-column:1}.hero{padding-top:28px}.game-grid{grid-template-columns:1fr;padding:28px 20px}.result-panel{grid-row:1;position:relative;top:auto}.target-bar{grid-template-columns:76px 1fr;padding:16px 20px}.reaction-row{grid-template-columns:34px 1fr}.controls{grid-column:2;justify-content:flex-start}.game-header{padding:0 18px}.brand-button span{display:none}}@media (width<=560px){.home{padding:20px}.home h1{font-size:3.1rem}.sequence{gap:6px;overflow-x:auto}.setup{padding:20px}.setup-row{grid-template-columns:1fr}.segmented button{padding:12px 5px;font-size:.72rem}footer{flex-direction:column;gap:8px}.run-meta{gap:10px}.game-header .icon-button{font-size:0}.game-header .icon-button:after{content:"♪";font-size:1rem}.target-bar{display:block}.target-bar .section-label{margin-bottom:10px;display:block}.reaction-row{padding:18px 0}.reaction-equation{font-size:.9rem}.controls{flex-wrap:wrap}.result-panel{padding:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.exam-shell{grid-template-columns:minmax(0,1.4fr) minmax(320px,.65fr);gap:48px;max-width:1240px;margin:auto;padding:42px;display:grid}.exam-paper{min-width:0}.exam-reaction{border-top:1px solid var(--line);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;padding:24px 4px;display:grid}.exam-reaction:last-child{border-bottom:1px solid var(--line)}.exam-answer{border:1px solid var(--line);background:#101816;align-self:start;padding:26px;position:sticky;top:136px}.exam-answer>p{color:#a8b6b1;font-size:.82rem;line-height:1.6}.answer-label{white-space:nowrap;align-items:center;gap:8px;margin:26px 0 10px;font:500 .78rem DM Mono,monospace;display:flex}.answer-label input{width:130px;min-width:0;color:var(--ink);background:#09100e;border:1px solid #486159;padding:11px}.exam-answer small{color:#7f908a;font-size:.7rem}.exam-actions{grid-template-columns:1fr auto;gap:9px;margin-top:22px;display:grid}.exam-actions button:not(.primary){color:#a8b6b1;letter-spacing:.1em;cursor:pointer;background:0 0;border:1px solid #344640;padding:9px 14px;font:500 .64rem DM Mono,monospace}.exam-incorrect{color:#ff9f91;letter-spacing:.08em;font:600 .72rem DM Mono,monospace}.exam-completion{padding-top:20px}@media (width<=900px){.exam-shell{grid-template-columns:1fr;padding:28px 20px}.exam-answer{grid-row:1;position:relative;top:auto}}@media (width<=560px){.exam-shell{padding:24px 16px}.exam-reaction{grid-template-columns:30px minmax(0,1fr)}.exam-reaction .reaction-equation{font-size:.88rem}.exam-answer{padding:20px}.answer-label{flex-wrap:wrap;align-items:flex-start}.answer-label input{order:3;width:100%}.exam-actions{grid-template-columns:1fr}.run-meta span:nth-child(2){display:none}}.game{overflow-x:hidden}.game-grid>*{min-width:0}.hero-brand{letter-spacing:.2em;font-size:.78rem;font-weight:600}.home-brand{align-items:center;gap:20px;display:flex}.lab-return{color:#91a09b;white-space:nowrap;align-items:center;min-height:32px;font-size:.72rem;text-decoration:none;display:inline-flex}.lab-return:hover{text-decoration:underline}.lab-return:focus-visible{outline-offset:3px;outline:1px solid}.sound-control{color:#aab7b2;align-items:center;gap:8px;padding:8px 0;transition:color .18s;display:inline-flex}.sound-control:hover{color:var(--accent)}.sound-control:focus-visible{outline:1px solid var(--accent);outline-offset:5px}.sound-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.sound-icon path:first-child{fill:currentColor;stroke:none}.site-footer{align-items:flex-end}.colophon{gap:3px;line-height:1.45;display:grid}.colophon strong{color:#93a39d;letter-spacing:.14em;margin-top:6px;font-weight:600}.colophon .contact-label{margin-top:6px}.colophon a{color:inherit;text-decoration:none}.colophon a:hover,.colophon a:focus-visible{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.product-note{text-align:right}@media (width<=560px){.home-brand{flex-direction:column;align-items:flex-start;gap:0}.site-footer{align-items:flex-start;gap:20px}.product-note{text-align:left}.colophon a{overflow-wrap:anywhere}.sound-control{font-size:.65rem!important}.home nav .sound-control:after{content:none}}.cancellation-stage{position:relative}.cancellation-equation{transition:transform .18s,opacity .18s;display:inline-block}.cancellation-term{display:inline-block}.species-content{display:inline-block;position:relative}.is-cancelling .species-content{animation:.7s both cancel-warm;animation-delay:calc(var(--cancel-index) * .12s)}.cancel-strike{transform-origin:0;height:2px;animation:.16s ease-out both strike-sweep;animation-delay:calc(.18s + var(--cancel-index) * .12s);background:#f28b66;position:absolute;top:50%;left:-3px;right:-3px;transform:scaleX(0);box-shadow:0 0 8px #f28b6699}.particles{position:absolute;inset:50%}.particles i{--angle:calc(var(--particle) * 36deg);opacity:0;width:4px;height:4px;animation:.34s ease-out both particle-burst;animation-delay:calc(.34s + var(--cancel-index) * .12s);background:#f28b66;border-radius:50%;position:absolute}.particles i:nth-child(2n){background:#73e2b8;width:3px;height:3px}.particles i:nth-child(3n){border-radius:0;transform:rotate(45deg)}.particles i:first-child{--tx:24px;--ty:-5px}.particles i:nth-child(2){--tx:18px;--ty:15px}.particles i:nth-child(3){--tx:5px;--ty:23px}.particles i:nth-child(4){--tx:-14px;--ty:18px}.particles i:nth-child(5){--tx:-24px;--ty:4px}.particles i:nth-child(6){--tx:-19px;--ty:-14px}.particles i:nth-child(7){--tx:-5px;--ty:-23px}.particles i:nth-child(8){--tx:13px;--ty:-19px}.particles i:nth-child(9){--tx:28px;--ty:8px}.particles i:nth-child(10){--tx:-28px;--ty:-8px}.phase-reflow .cancellation-equation,.phase-settle .cancellation-equation,.phase-combo .cancellation-equation{animation:.24s ease-out both equation-reflow}.is-settled .species-content{animation:.24s ease-out both coefficient-morph}.combo{text-shadow:0 0 12px #f1d27a55;color:#f1d27a!important;animation:.9s cubic-bezier(.2,.8,.2,1) both combo-upgrade!important}.assist button:disabled{opacity:.35;cursor:not-allowed}@keyframes cancel-warm{0%{color:inherit;filter:none}22%,62%{color:#f2a27f;filter:drop-shadow(0 0 7px #f28b6677);transform:scale(1.04)}to{color:#c96f52;filter:drop-shadow(0 0 2px #f28b6644);opacity:.18;transform:scale(.96)}}@keyframes strike-sweep{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes particle-burst{0%{opacity:0;transform:translate(0)scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(0)}}@keyframes equation-reflow{0%{opacity:.55;transform:translateY(2px)scale(.985)}to{opacity:1;transform:none}}@keyframes coefficient-morph{0%{color:#f2a27f;transform:scale(1.12)}to{color:inherit;transform:none}}@keyframes combo-upgrade{0%{opacity:0;transform:translateY(7px)scale(.85)}24%{opacity:1;transform:translateY(0)scale(1.08)}40%,76%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-5px)scale(.98)}}@media (width<=560px){.combo{top:14px;right:14px}}@media (prefers-reduced-motion:reduce){.is-cancelling .species-content{animation:.28s both cancel-warm-reduced!important}.cancel-strike{animation:.14s ease-out 80ms both strike-sweep!important}.particles{display:none}.phase-reflow .cancellation-equation,.phase-settle .cancellation-equation,.phase-combo .cancellation-equation,.is-settled .species-content{animation:.16s both reduced-reflow!important}.combo{animation:.38s both reduced-combo!important}@keyframes cancel-warm-reduced{0%,55%{color:#f2a27f;background:#f28b6618}to{color:#c96f52;opacity:.25}}@keyframes reduced-reflow{0%{opacity:.55}to{opacity:1}}@keyframes reduced-combo{0%{opacity:0}20%,80%{opacity:1}to{opacity:0}}}
