@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@500;600;700&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--accent: #9ff6c6;--accent-rgb: 159, 246, 198;--accent-2: #f7d77b;--accent-2-rgb: 247, 215, 123;--ink: #f1f6f9;--muted: #9ab0bd;--panel: rgba(8, 20, 27, .72);--panel-strong: rgba(7, 16, 23, .9);--panel-soft: rgba(13, 29, 38, .56);--border: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .06);--shadow: 0 18px 70px rgba(0, 0, 0, .42)}body[data-level="1"]{--accent: #a7f7a6;--accent-rgb: 167, 247, 166;--accent-2: #ffe07d;--accent-2-rgb: 255, 224, 125}body[data-level="2"]{--accent: #85e8ff;--accent-rgb: 133, 232, 255;--accent-2: #94c9ff;--accent-2-rgb: 148, 201, 255}body[data-level="3"]{--accent: #a79eff;--accent-rgb: 167, 158, 255;--accent-2: #85dbff;--accent-2-rgb: 133, 219, 255}body[data-level="4"]{--accent: #9de5a3;--accent-rgb: 157, 229, 163;--accent-2: #f3d288;--accent-2-rgb: 243, 210, 136}body[data-level="5"]{--accent: #ffd189;--accent-rgb: 255, 209, 137;--accent-2: #9bf7d8;--accent-2-rgb: 155, 247, 216}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%}body{overflow:hidden;background:radial-gradient(circle at top,rgba(var(--accent-rgb),.14),transparent 34%),radial-gradient(circle at 80% 20%,rgba(var(--accent-2-rgb),.09),transparent 24%),linear-gradient(180deg,#041016,#07161f 45%,#03090d);color:var(--ink);font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;letter-spacing:.01em}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1}body:before{background:radial-gradient(circle at 20% 20%,rgba(var(--accent-rgb),.05),transparent 28%),radial-gradient(circle at 80% 0%,rgba(var(--accent-2-rgb),.05),transparent 20%),repeating-linear-gradient(125deg,transparent 0,transparent 18px,rgba(255,255,255,.012) 18px,rgba(255,255,255,.012) 19px);mix-blend-mode:screen}body:after{opacity:.14;background:radial-gradient(circle at center,transparent 58%,rgba(0,0,0,.46) 100%)}#game-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0}#blocker{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,rgba(var(--accent-rgb),.15),transparent 26%),linear-gradient(180deg,#02070ab3,#03080ce6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100}#blocker.hidden{display:none}#title-screen{position:relative;width:min(760px,100%);padding:56px 56px 48px;text-align:center;background:linear-gradient(180deg,#0e1c23db,#060e13eb);border:1px solid rgba(255,255,255,.08);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}#title-screen:before,#title-screen:after{content:"";position:absolute;inset:auto;pointer-events:none}#title-screen:before{top:-120px;left:50%;width:420px;height:420px;transform:translate(-50%);background:radial-gradient(circle,rgba(var(--accent-rgb),.18),transparent 62%)}#title-screen:after{inset:1px;border-radius:27px;border:1px solid rgba(255,255,255,.04)}#title-screen .eyebrow{font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(var(--accent-2-rgb),.88);margin-bottom:18px}#title-screen h1{position:relative;z-index:1;font-family:Fraunces,Georgia,serif;font-size:clamp(3rem,7vw,5.2rem);line-height:.95;letter-spacing:-.04em;color:#fbfffd;text-shadow:0 16px 40px rgba(0,0,0,.35);margin-bottom:14px}#title-screen .subtitle{position:relative;z-index:1;font-size:1rem;color:#ffffffb8;letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px}#title-screen .instructions{position:relative;z-index:1;max-width:560px;margin:0 auto 28px;color:#ecf4f7c2;line-height:1.85;font-size:.98rem}.controls-info{position:relative;z-index:1;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}.controls-info span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:#ffffffad;font-size:.82rem}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:9px;background:linear-gradient(180deg,#ffffff2e,#ffffff14);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff1a;color:#fff;font-size:.72rem;font-family:Space Grotesk,sans-serif;font-weight:700}#start-btn,.overlay button,#info-popup-close{position:relative;overflow:hidden;border:none;border-radius:999px;padding:15px 30px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#071015;font-family:Space Grotesk,sans-serif;font-size:.94rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;pointer-events:auto;box-shadow:0 12px 32px rgba(var(--accent-rgb),.28);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}#start-btn:hover,.overlay button:hover,#info-popup-close:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(var(--accent-rgb),.32);filter:saturate(1.08)}#start-btn:active,.overlay button:active,#info-popup-close:active{transform:translateY(0)}#hud{position:fixed;inset:0;pointer-events:none;z-index:10}#hud.hidden{display:none}#crosshair{position:absolute;top:50%;left:50%;width:28px;height:28px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.58);border-radius:50%;box-shadow:0 0 20px rgba(var(--accent-rgb),.24);font-size:0}#crosshair:before,#crosshair:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#ffffffb8;border-radius:999px}#crosshair:before{width:10px;height:1px}#crosshair:after{width:1px;height:10px}#inventory-bar{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:10px;padding:12px;background:linear-gradient(180deg,#08141bbd,#050c10eb);border:1px solid rgba(255,255,255,.08);border-radius:22px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.inv-slot{--slot-accent: var(--accent);width:72px;height:72px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:18px;background:linear-gradient(180deg,#ffffff0a,#ffffff05);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0d;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.inv-slot[data-filled=true]{box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.06),inset 0 1px #ffffff0d,0 12px 26px #0000002e}.inv-slot.selected{transform:translateY(-5px);border-color:var(--slot-accent);box-shadow:inset 0 0 0 1px #ffffff14,0 18px 36px rgba(var(--accent-rgb),.22),0 0 0 1px rgba(var(--accent-rgb),.14)}.inv-slot .slot-key{position:absolute;top:7px;left:10px;font-size:.68rem;color:#fff6;letter-spacing:.08em;text-transform:uppercase}.inv-slot .item-icon{width:30px;height:30px;border-radius:10px;box-shadow:0 0 0 1px #ffffff26,0 10px 26px #00000038,0 0 24px rgba(var(--accent-rgb),.2)}.inv-slot .item-name{max-width:58px;text-align:center;font-size:.62rem;line-height:1.1;color:#ffffffb8}.inv-slot .item-count{position:absolute;right:8px;bottom:7px;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#ffffff24;color:#fff;font-size:.65rem;line-height:18px;text-align:center;box-shadow:0 0 12px #0000002e}#objectives-panel,#level-label,#level-menu,#interact-prompt,#molecule-info,#info-popup{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}#objectives-panel{position:absolute;top:22px;right:22px;width:min(310px,calc(100% - 44px));padding:18px 18px 16px;background:linear-gradient(180deg,#08141bb8,#050c10e6);border:1px solid rgba(255,255,255,.08);border-radius:22px}#objectives-panel h3{margin-bottom:14px;color:rgba(var(--accent-rgb),.98);font-size:.75rem;text-transform:uppercase;letter-spacing:.22em}#objectives-list{list-style:none;display:grid;gap:9px}#objectives-list li{position:relative;padding-left:28px;color:#eff5f8c7;font-size:.82rem;line-height:1.45}#objectives-list li:before{content:"";position:absolute;left:0;top:.28rem;width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#ffffff0a}#objectives-list li.completed{color:rgba(var(--accent-rgb),.96)}#objectives-list li.completed:before{background:radial-gradient(circle,rgba(var(--accent-rgb),.8),rgba(var(--accent-rgb),.25));border-color:rgba(var(--accent-rgb),.55);box-shadow:0 0 20px rgba(var(--accent-rgb),.3)}#level-label{position:fixed;top:22px;left:22px;z-index:45;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:220px;padding:11px 16px 12px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#08141bb3,#050c10e0);color:rgba(var(--accent-2-rgb),.94);font-family:Space Grotesk,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.02em;text-transform:none;text-align:left;cursor:pointer;pointer-events:auto}#level-label:before{content:"Select Level";color:#ffffff80;font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}#level-label:after{content:"▾";position:absolute;top:50%;right:15px;transform:translateY(-50%);color:#ffffffa3;font-size:.9rem;transition:transform .18s ease}#level-label[aria-expanded=true]:after{transform:translateY(-50%) rotate(180deg)}#level-menu{position:fixed;top:86px;left:22px;z-index:46;width:min(320px,calc(100% - 44px));padding:10px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#08141bdb,#050c10f5);pointer-events:auto}.level-menu-item{width:100%;display:block;padding:12px 14px;border:1px solid transparent;border-radius:14px;background:transparent;color:#eff5f8d1;font-family:Space Grotesk,sans-serif;font-size:.84rem;text-align:left;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.level-menu-item+.level-menu-item{margin-top:4px}.level-menu-item:hover{transform:translate(3px);background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.18)}.level-menu-item.active{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.28);color:#fff}#interact-prompt{position:absolute;bottom:112px;left:50%;transform:translate(-50%);padding:12px 18px;border-radius:999px;background:linear-gradient(180deg,#08141bbd,#050c10eb);border:1px solid rgba(var(--accent-rgb),.18);color:#ffffffe0;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}#interact-prompt.hidden,#molecule-info.hidden{display:none}#molecule-info{position:absolute;bottom:158px;left:50%;transform:translate(-50%);width:min(380px,calc(100% - 40px));padding:14px 18px;border-radius:18px;background:linear-gradient(180deg,#08141bbd,#050c10eb);border:1px solid rgba(255,255,255,.08);color:#eff5f8d1;font-size:.84rem;text-align:center;line-height:1.55}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:26px;background:radial-gradient(circle at top,rgba(var(--accent-rgb),.12),transparent 28%),#020609d1;z-index:50}.overlay.hidden{display:none}.overlay-content{position:relative;width:min(760px,100%);max-height:min(86vh,920px);overflow-y:auto;padding:34px 34px 30px;border-radius:28px;background:linear-gradient(180deg,#0e1c23e0,#060e13f5);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}.overlay-content:before{content:"";position:absolute;inset:1px;border-radius:27px;border:1px solid rgba(255,255,255,.04);pointer-events:none}.overlay-content h2{margin-bottom:14px;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,4vw,3rem);line-height:1;color:#fbfffd;letter-spacing:-.04em}.overlay-content p{margin-bottom:16px;color:#eff5f8cc;font-size:.98rem;line-height:1.75}#intro-science,#complete-summary,#final-equation{margin:22px 0 24px;padding:18px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.07)}#intro-science{text-align:left;background:rgba(var(--accent-rgb),.08);color:#eff5f8d1}#intro-science strong,#complete-summary strong{color:rgba(var(--accent-rgb),.96)}#complete-summary{text-align:left;background:rgba(var(--accent-2-rgb),.08);color:#eff5f8d1}#final-equation{text-align:center;background:linear-gradient(135deg,rgba(var(--accent-rgb),.14),rgba(var(--accent-2-rgb),.14));color:#fbfffd;font-size:1.15rem}.quiz-content{text-align:left}.quiz-question{margin-bottom:18px;padding:18px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.quiz-question p{margin-bottom:12px;color:#fbfffd;font-weight:700;line-height:1.5}.quiz-option{padding:12px 14px;margin:8px 0;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#eff5f8c7;cursor:pointer;pointer-events:auto;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.quiz-option:hover{transform:translate(4px);border-color:rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.08)}.quiz-option.selected{border-color:rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.12);box-shadow:0 12px 28px rgba(var(--accent-rgb),.12);color:#fff}.quiz-option.correct{border-color:#84ffa36b;background:#84ffa324;color:#d4ffe0}.quiz-option.incorrect{border-color:#ff7b7b73;background:#ff7b7b29;color:#ffdede}#quiz-results{margin-top:18px;text-align:center;font-size:1.05rem;color:#fff}#info-popup{position:fixed;bottom:170px;left:50%;width:min(460px,calc(100% - 34px));transform:translate(-50%);padding:18px 20px;border-radius:20px;background:linear-gradient(180deg,#08141bd6,#050c10f5);border:1px solid rgba(255,255,255,.08);text-align:center;pointer-events:auto;z-index:30}#info-popup.hidden{display:none}#info-popup-content{margin-bottom:14px;color:#eff5f8cc;line-height:1.7;font-size:.9rem}.pause-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:26px;background:#0206099e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40;cursor:pointer}.pause-card{width:min(520px,100%);padding:30px 28px;text-align:center;border-radius:24px;background:linear-gradient(180deg,#0e1c23db,#060e13f0);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}.pause-kicker{margin-bottom:12px;color:rgba(var(--accent-2-rgb),.9);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase}.pause-title{margin-bottom:10px;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-.04em;color:#fbfffd}.pause-copy{color:#eff5f8b8;line-height:1.7;font-size:.95rem}.hidden{display:none!important}@media(max-width:900px){#title-screen,.overlay-content{padding:28px 22px 24px;border-radius:22px}#objectives-panel{top:16px;right:16px;width:min(280px,calc(100% - 32px))}#level-label{top:16px;left:16px}#level-menu{top:80px;left:16px;width:min(320px,calc(100% - 32px))}#inventory-bar{gap:8px;padding:10px}.inv-slot{width:62px;height:62px;border-radius:16px}.inv-slot .item-name{max-width:50px;font-size:.56rem}}@media(max-width:640px){#title-screen h1{font-size:3.1rem}#title-screen .subtitle{letter-spacing:.06em}.controls-info{gap:10px}.controls-info span{font-size:.74rem}#inventory-bar{gap:6px;padding:8px}.inv-slot{width:52px;height:52px}.inv-slot .item-icon{width:24px;height:24px;border-radius:8px}.inv-slot .slot-key,.inv-slot .item-name,.inv-slot .item-count{font-size:.55rem}#objectives-panel{width:calc(100% - 24px);inset:auto 12px 110px}#level-label{padding:10px 14px;min-width:200px;font-size:.74rem}#level-menu{top:74px;left:12px;width:calc(100% - 24px)}#interact-prompt{bottom:88px;width:calc(100% - 24px);text-align:center}#molecule-info,#info-popup{width:calc(100% - 24px)}}
