@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');
:root{--bg:#050817;--ink:#f7f8ff;--muted:#8b93aa;--cyan:#48e8ff;--lime:#76ffb5;--violet:#806cff;--orange:#ff9d55;--glass:rgba(8,12,30,.76);--line:rgba(255,255,255,.14)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif}button,a{font:inherit;color:inherit}#math-lab,#math-canvas{position:absolute;inset:0}#math-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.lab-vignette{position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle,transparent 35%,rgba(0,0,0,.56)),linear-gradient(180deg,rgba(2,4,15,.7),transparent 25%,transparent 68%,rgba(2,4,15,.72))}.lab-header{position:absolute;z-index:9;top:0;left:0;right:0;height:78px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(5,8,23,.92),rgba(5,8,23,.12));pointer-events:none}.lab-header>*{pointer-events:auto}.lab-brand{display:flex;align-items:center;gap:11px;text-decoration:none}.lab-brand>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--cyan);border-radius:12px;font:700 14px Space Mono;color:var(--cyan);box-shadow:0 0 24px rgba(72,232,255,.16)}.lab-brand b,.lab-brand small{display:block}.lab-brand b{font-size:11px;letter-spacing:.16em}.lab-brand small{font:400 7px Space Mono;color:var(--muted);letter-spacing:.15em;margin-top:3px}.lab-status{font:400 8px Space Mono;color:var(--muted);letter-spacing:.14em}.lab-status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);margin-right:7px}.lab-status b{margin-left:9px;padding-left:9px;border-left:1px solid var(--line);color:#fff}.star-score{text-align:right}.star-score span{display:block;font:400 7px Space Mono;letter-spacing:.14em;color:var(--muted)}.star-score strong{font:700 22px Space Mono;color:var(--lime)}
.lab-modes{position:absolute;z-index:8;left:28px;top:104px;width:250px;display:grid;gap:7px}.mode-button{height:64px;padding:8px 11px;border:1px solid var(--line);background:rgba(8,12,30,.55);backdrop-filter:blur(14px);display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;transition:.2s}.mode-button>i{font:400 8px Space Mono;color:var(--muted);font-style:normal}.mode-button b,.mode-button small{display:block}.mode-button b{font:700 9px Space Mono;letter-spacing:.08em}.mode-button small{font-size:9px;color:var(--muted);margin-top:3px}.mode-button:hover,.mode-button.active{border-color:rgba(72,232,255,.6);background:rgba(52,90,130,.28);transform:translateX(4px)}.mode-button.active>i{color:var(--cyan)}
.mission-card{position:absolute;z-index:8;left:28px;bottom:70px;width:350px;padding:20px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(18px)}.mission-meta{display:flex;justify-content:space-between;font:400 8px Space Mono;color:var(--muted);letter-spacing:.15em}.mission-meta i{width:58px;height:2px;background:linear-gradient(90deg,var(--cyan),transparent)}.mission-card>p{font-size:11px;line-height:1.65;color:#abb1c3}.mission-card>p#mission-kicker{font:400 8px Space Mono;letter-spacing:.16em;color:var(--cyan);margin:17px 0 7px}.mission-card h1{font-size:25px;line-height:1.1;letter-spacing:-.04em;margin:0}.mission-card h1 strong{color:var(--cyan)}.mission-card button{border:0;background:none;color:var(--muted);font:400 8px Space Mono;letter-spacing:.12em;padding:0;cursor:pointer}.mission-card button:hover{color:#fff}
.quantity-display,.addition-console,.geometry-data{position:absolute;z-index:8;right:28px;top:105px;width:190px;padding:17px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(16px)}.quantity-display span,.quantity-display small,.addition-console>span,.geometry-data>span{display:block;font:400 7px Space Mono;letter-spacing:.14em;color:var(--muted)}.quantity-display strong{display:block;font:700 70px/.9 Space Mono;margin:12px 0 8px;color:var(--cyan)}.addition-console{width:230px}.addition-console>div{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.addition-console button{width:42px;height:42px;border:1px solid var(--line);background:rgba(255,255,255,.07);font-size:22px;cursor:pointer}.addition-console strong{font:700 45px Space Mono;color:var(--cyan)}.geometry-data{width:260px}.geometry-data h2{font-size:22px;margin:12px 0}.geometry-data>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.geometry-data p{margin:0;padding-left:8px;border-left:1px solid var(--line)}.geometry-data small{display:block;font:400 6px Space Mono;color:var(--muted);letter-spacing:.1em}.geometry-data strong{font:700 18px Space Mono;color:var(--cyan)}
.lab-controls{position:absolute;z-index:8;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.lab-controls button{height:48px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(12px);padding:0 18px;font:700 8px Space Mono;letter-spacing:.11em;cursor:pointer}.lab-controls .primary-action{min-width:190px;background:#f5f7ff;color:#0b0e1b;border:0}.primary-action span{float:right;margin-left:20px}.interaction-hint{position:absolute;z-index:7;right:28px;bottom:30px;display:flex;gap:9px;align-items:center;font:400 7px Space Mono;letter-spacing:.1em;color:#737a91}.interaction-hint i{width:3px;height:3px;background:#555b70;border-radius:50%}.feedback-panel{position:absolute;z-index:15;top:92px;left:50%;transform:translate(-50%,-130px);display:flex;align-items:center;gap:10px;padding:11px 17px;border:1px solid var(--line);background:rgba(8,12,30,.9);backdrop-filter:blur(18px);transition:.45s}.feedback-panel.visible{transform:translate(-50%,0)}.feedback-panel span{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 13px var(--lime)}.feedback-panel p{margin:0;font:600 9px Space Mono;letter-spacing:.08em}
#math-loading{position:absolute;z-index:50;inset:0;background:#050817;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .7s}.math-loader{display:flex;gap:8px}.math-loader i{width:14px;height:14px;background:var(--cyan);animation:load 1s infinite alternate}.math-loader i:nth-child(2){animation-delay:.18s;background:var(--violet)}.math-loader i:nth-child(3){animation-delay:.36s;background:var(--lime)}@keyframes load{to{transform:translateY(-18px);opacity:.35}}#math-loading p{font:400 8px Space Mono;letter-spacing:.2em;color:var(--muted);margin-top:26px}#math-loading.done{opacity:0;pointer-events:none}.lab-fallback{position:absolute;z-index:60;inset:0;background:#050817;display:grid;place-content:center;text-align:center}.lab-fallback[hidden]{display:none}.lab-fallback a{color:var(--cyan)}
@media(max-width:800px){.lab-header{height:62px;padding:0 12px}.lab-status{display:none}.lab-modes{left:10px;right:10px;top:72px;width:auto;grid-template-columns:repeat(3,1fr)}.mode-button{height:52px;padding:5px}.mode-button>i,.mode-button small{display:none}.mode-button b{font-size:7px}.mission-card{left:10px;bottom:68px;width:calc(100% - 20px);padding:13px}.mission-card>p#mission-copy{display:none}.mission-card h1{font-size:19px}.quantity-display,.addition-console,.geometry-data{right:10px;top:136px;transform:scale(.8);transform-origin:top right}.lab-controls{bottom:12px;width:calc(100% - 20px)}.lab-controls button{flex:1;padding:0 8px}.interaction-hint{display:none}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
