:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,sans-serif;--app-vh: 1vh;--app-vw: 1vw;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--hud-pad: clamp(8px, 2.2vmin, 16px);--hud-badge-h: 36px;--bg-root: radial-gradient(1100px 850px at 18% 8%, rgba(0, 255, 170, .1) 0%, rgba(0, 255, 170, 0) 55%), radial-gradient(900px 700px at 80% 18%, rgba(80, 220, 255, .08) 0%, rgba(80, 220, 255, 0) 58%), radial-gradient(1400px 1000px at 50% 55%, #07110e 0%, #05080c 55%, #04060a 100%);--bg-app: radial-gradient(920px 720px at 55% 55%, rgba(0, 255, 170, .16) 0%, rgba(0, 255, 170, 0) 62%), radial-gradient(900px 700px at 78% 16%, rgba(120, 255, 210, .14) 0%, rgba(120, 255, 210, 0) 60%), radial-gradient(900px 700px at 18% 82%, rgba(80, 220, 255, .1) 0%, rgba(80, 220, 255, 0) 62%), radial-gradient(1400px 1000px at 50% 55%, #07110e 0%, #05080c 55%, #04060a 100%);--bg-shell: linear-gradient(180deg, rgba(6, 14, 12, .96), rgba(5, 8, 12, .96));--bg-shell-glow: radial-gradient(860px 560px at 50% 0%, rgba(0, 255, 170, .14), rgba(0, 255, 170, 0) 58%), radial-gradient(620px 620px at 70% 62%, rgba(80, 220, 255, .1), rgba(80, 220, 255, 0) 62%), radial-gradient(560px 560px at 22% 72%, rgba(120, 255, 210, .08), rgba(120, 255, 210, 0) 62%);background:var(--bg-root);color:#e7e9ee}body.theme-fail{--bg-root: radial-gradient(1400px 900px at 20% 10%, #241015 0%, #0b070a 58%, #05070a 100%);--bg-app: radial-gradient(900px 700px at 72% 18%, rgba(255, 123, 123, .16) 0%, rgba(255, 123, 123, 0) 62%), radial-gradient(900px 700px at 18% 82%, rgba(244, 199, 106, .08) 0%, rgba(244, 199, 106, 0) 62%), radial-gradient(1200px 900px at 30% 20%, #241015 0%, #0b070a 58%, #05070a 100%);--bg-shell: linear-gradient(180deg, rgba(22, 10, 12, .96), rgba(10, 7, 10, .96));--bg-shell-glow: radial-gradient(760px 520px at 50% 0%, rgba(255, 123, 123, .16), rgba(255, 123, 123, 0) 55%), radial-gradient(560px 560px at 70% 62%, rgba(244, 199, 106, .08), rgba(244, 199, 106, 0) 60%), radial-gradient(520px 520px at 20% 70%, rgba(255, 98, 205, .06), rgba(255, 98, 205, 0) 60%)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;padding:0;overflow:hidden;touch-action:none}#app{display:flex;align-items:stretch;justify-content:stretch;background:var(--bg-app);transition:background .42s ease}#app:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(1200px 900px at 50% 55%,#0000 35%,#0000008c),radial-gradient(520px 420px at 50% 58%,#00ffaa12,#0fa0 70%),repeating-linear-gradient(135deg,#ffffff03 0px 2px,#00000003 2px 4px);mix-blend-mode:overlay;opacity:.85;transition:opacity .42s ease,background .42s ease}body.theme-fail #app:before{background:radial-gradient(1200px 900px at 50% 55%,#0000 35%,#0000009e),radial-gradient(520px 420px at 50% 58%,#ff7b7b1a,#ff7b7b00 70%),repeating-linear-gradient(135deg,#ffffff03 0px 2px,#00000003 2px 4px)}.game-shell{position:relative;isolation:isolate;width:calc(var(--app-vw) * 100);height:calc(var(--app-vh) * 100);max-width:100vw;max-height:100vh;border-radius:0;overflow:hidden;box-shadow:none;background:var(--bg-shell);transition:background .42s ease}@supports (height: 100dvh){.game-shell{width:100dvw;height:100dvh;max-width:100dvw;max-height:100dvh}}.game-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--bg-shell-glow);mix-blend-mode:screen;opacity:.9;transition:background .42s ease}.game-shell:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#ffffff0f,#fff0 40%);opacity:.8}canvas{display:block;width:100%;height:100%}.smoke-bg-video{position:absolute;inset:-18%;width:136%;height:136%;object-fit:cover;pointer-events:none;z-index:0;opacity:.55;transform:translateZ(0)}.game-shell canvas{position:relative;z-index:1}body.theme-fail .smoke-bg-video{filter:hue-rotate(-40deg) saturate(1.2);opacity:.5}body.export-smoke .hud,body.export-smoke .scene-button-label{display:none!important}.scene-button-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;user-select:none;text-align:center;font-weight:900;letter-spacing:.6px;line-height:1.05;text-transform:none;white-space:pre-line;word-break:break-word;overflow:visible;color:#ffffffeb;text-shadow:0 2px 0 rgba(0,0,0,.25),0 0 18px rgba(34,255,90,.18);filter:drop-shadow(0 10px 18px rgba(0,0,0,.55));z-index:2}.hud.overlay-open .scene-button-label{display:none!important}.hud{position:absolute;inset:0;pointer-events:none;z-index:5;display:flex;flex-direction:column;justify-content:flex-start;padding:calc(var(--hud-pad) + var(--safe-top)) calc(var(--hud-pad) + var(--safe-right)) calc(var(--hud-pad) + var(--safe-bottom)) calc(var(--hud-pad) + var(--safe-left))}.hud-top{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:10px;font-size:14px;opacity:.85;margin-top:clamp(12px,2.2vh,26px)}.hud-safe-row,.hud-top-hints{display:flex;justify-content:center;margin-top:8px;gap:10px;z-index:3}.hud-praise{display:none;font-size:28px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:#7cf5ff;text-shadow:0 0 10px rgba(124,245,255,.85),0 0 22px rgba(255,98,205,.55);filter:drop-shadow(0 12px 20px rgba(0,0,0,.55))}.hud-praise.thanos{animation:praiseThanos 1.1s ease-out forwards}@keyframes praiseThanos{0%{opacity:0;transform:translateY(6px) scale(.95)}20%{opacity:1;transform:translateY(0) scale(1.05)}60%{opacity:.9;transform:translateY(-4px) scale(1)}to{opacity:0;transform:translateY(-14px) scale(.92);filter:blur(6px)}}.hud-center{display:flex;align-items:center;justify-content:center;text-align:center;min-height:0;margin-top:clamp(10px,2.4vh,18px);margin-bottom:clamp(10px,2.4vh,20px);font-size:clamp(14px,3.4vmin,20px);letter-spacing:.3px;text-wrap:balance;position:relative;z-index:10}.hud-prompt{max-width:92%;padding:14px;border-radius:16px;background:#0c0e14ad;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 50px #00000059;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;z-index:11}.hud-prompt.is-empty{display:none}.hud-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;opacity:.85;margin-top:auto;margin-bottom:clamp(14px,2.6vh,30px)}.hud-bottom>.hud-badge:first-child{justify-self:start}.hud-bottom>.hud-badge:last-child{justify-self:end}.hud-timer-bottom{margin-left:auto}.hud-badge{display:inline-flex;align-items:center;gap:8px;background:#0c0e14b3;height:var(--hud-badge-h);padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hud-settings{position:fixed;top:calc(var(--hud-pad) + var(--safe-top) + clamp(12px,2.2vh,26px));right:calc(var(--hud-pad) + var(--safe-right));z-index:30;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;pointer-events:auto}.hud-settings-lang-btn{pointer-events:auto;appearance:none;border:none;background:#0c0e14b3;color:#e7e9eeeb;border-radius:999px;height:var(--hud-badge-h);padding:0 10px;font-size:12px;font-weight:900;letter-spacing:.6px;line-height:1;text-transform:uppercase;min-width:44px;box-shadow:0 10px 26px #00000059}.hud-settings-menu{position:fixed;z-index:100000;min-width:140px;padding:8px;border-radius:14px;background:#0c0e14e0;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 50px #00000073;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;gap:6px}.hud-settings-menu button{appearance:none;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#e7e9eeeb;border-radius:12px;padding:8px 10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.hud-settings-menu button.is-active{border-color:#f4c76a47;background:#f4c76a24}.hud-settings-sound{pointer-events:auto;appearance:none;border:none;background:#0c0e14b3;color:#e7e9eeeb;border-radius:999px;height:var(--hud-badge-h);padding:0 10px;font-size:16px;line-height:1;width:40px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 26px #00000059}.hud-score-badge{position:relative;overflow:visible}.hud-score-delta{position:absolute;right:-10px;top:-10px;font-size:12px;font-weight:800;color:#f4c76a;opacity:0;transform:translateY(6px);text-shadow:0 0 10px rgba(244,199,106,.6)}.hud-score-delta.show{animation:scorePop .7s ease-out forwards}@keyframes scorePop{0%{opacity:0;transform:translateY(6px) scale(.95)}25%{opacity:1;transform:translateY(0) scale(1.05)}to{opacity:0;transform:translateY(-10px) scale(1)}}.hud-score-fly{position:fixed;left:0;top:0;pointer-events:none;font-size:20px;font-weight:900;color:#f4c76a;text-shadow:0 0 14px rgba(244,199,106,.65);z-index:9999;will-change:transform,opacity}.hud-rule-hint{max-width:min(92vw,420px);white-space:pre-line;text-transform:none;letter-spacing:.4px;font-size:12px;font-weight:700;color:#e7e9eee6}.hud-rule-hint-text{white-space:pre-line}.hud-color-badge,.hud-blink-badge{font-size:12px;font-weight:700}.hud-blink-badge{position:relative;position:fixed;top:calc(var(--hud-pad) + var(--safe-top) + clamp(12px,2.2vh,26px));left:50%;transform:translate(-50%);z-index:29;min-width:54px;justify-content:center;pointer-events:none;border:none}.hud-blink-badge.is-hint{box-shadow:0 0 18px #f4c76a59}.hud-blink-arrow{position:absolute;top:calc(100% + 6px);right:6px;font-size:18px;color:#f4c76a;text-shadow:0 0 10px rgba(244,199,106,.6);animation:blinkArrow .8s ease-in-out infinite}@keyframes blinkArrow{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(-6px);opacity:1}}.hud-color-dot{width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.08);display:inline-block;box-shadow:0 0 0 3px #00000040 inset,0 0 18px #f4c76a2e}.hud-blink-text{display:inline-flex;align-items:center;justify-content:center;min-width:2.2ch;padding:2px 8px;border-radius:999px;font-size:16px;font-weight:900;line-height:1.1;letter-spacing:.3px;color:#f4c76a;background:transparent;border:none}.hud-blink-text.blink{animation:blinkPulse 1s infinite}@keyframes blinkPulse{0%,to{opacity:.2}50%{opacity:1}}.hud-timer{gap:10px}.hud-timer-text{display:inline-block;min-width:5.2ch;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.2px}.timer-ring{width:42px;height:42px}.timer-ring svg{width:100%;height:100%}.ring-segment{stroke:#e7e9ee33;stroke-width:6;stroke-linecap:round}.ring-segment.active{stroke:#f4c76a}.hud-badge.hud-timer{position:relative;width:46px;height:46px;padding:0;gap:0;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.timer-ring{width:46px;height:46px}.hud-timer-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:0;text-align:center;font-size:11px;font-weight:800;letter-spacing:.1px;color:#e7e9eeeb;text-shadow:0 1px 0 rgba(0,0,0,.55),0 0 10px rgba(0,255,170,.16);pointer-events:none}.hud-status,.hud-level{font-weight:600;color:#f4c76a}.hud-safe-icons{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.hud-safe-icons-text{display:inline-flex;align-items:center;gap:4px}.hud-intel{gap:10px}.hud-intel-label{opacity:.8;letter-spacing:.8px;font-size:12px}.hud-intel-slots{display:inline-flex;gap:4px}.hud-intel-slot{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-weight:800;font-size:12px;background:transparent;border:none;color:#e7e9eebf}.hud-intel-slot.known{color:#f4c76af2;background:transparent;border-color:transparent}.hud.mission-complete .hud-intel-slot{background:transparent;border-color:transparent;color:#e7e9eed9}.hud-shape{width:12px;height:12px;border-radius:4px;background:#f4c76a}.hud-shape.triangle{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid #7bd0ff;background:transparent}.hud-shape.square{border-radius:2px;background:#7bd0ff}.hud-shape.star{background:#ff7b7b}.hud-shape.circle{border-radius:50%;background:#8bff9a}.hud-overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#08090cd9;font-size:28px;letter-spacing:1px;text-transform:uppercase;color:#ff7b7b;pointer-events:none;z-index:20}.hud-overlay.visible{display:flex}.hud-overlay .hud-overlay-card{pointer-events:auto}.hud-start-overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#08090cb8;pointer-events:none;z-index:20}.hud-start-overlay.visible{display:flex}.hud-start-overlay .hud-overlay-card{pointer-events:auto}.hud-loading-overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#08090cd1;pointer-events:auto;z-index:30}.hud-loading-overlay.visible{display:flex}.hud-reward-cta{position:absolute;left:50%;top:72%;transform:translate(-50%);z-index:12;pointer-events:auto}.hud-reward-cta .hud-btn{pointer-events:auto}.hud-start-card{max-width:min(92%,420px)}.hud-start-title{font-size:clamp(14px,2.8vmin,18px);letter-spacing:2px;text-transform:uppercase;color:#e7e9eeeb}.hud-start-subtitle{font-size:clamp(12px,2.4vmin,14px);letter-spacing:.2px;text-transform:none;opacity:.85;text-align:center;max-width:38ch}.hud-floating-hint{position:absolute;left:var(--puzzle-hint-x, 50%);top:var(--puzzle-hint-y, 62%);transform:translate(-50%);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;pointer-events:none;user-select:none;z-index:1}.hud-floating-hint.has-icon.has-shape{gap:6px}.hud.overlay-open .hud-floating-hint{display:none}@media (max-width: 380px){.hud-intel-label{display:none}}@media (max-width: 360px){:root{--hud-pad: 10px;--hud-badge-h: 34px}.hud-top,.hud-bottom{gap:8px;font-size:12px}.hud-top{padding-right:0}.hud-badge{padding:6px 10px;gap:6px}.hud-intel-slot{width:14px;height:14px;border-radius:5px;font-size:11px}.hud-start-title{letter-spacing:1px}.hud-btn{padding:9px 12px;border-radius:11px;font-size:12px;letter-spacing:.4px}.hud-bottom{grid-template-columns:1fr 1fr}.hud-bottom>.hud-badge:first-child{grid-column:1;justify-self:start}.hud-bottom>.hud-badge:last-child{grid-column:2;justify-self:end}.hud-bottom>.hud-badge:nth-child(2){grid-column:1 / -1;justify-self:center}.hud-rule-hint{max-width:min(92vw,320px)}}.hud-floating-icon{min-height:clamp(44px,10vmin,80px);font-size:clamp(44px,10vmin,80px);line-height:1;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))}.hud-floating-hint.has-icon.has-shape .hud-floating-icon{min-height:clamp(36px,8.5vmin,66px);font-size:clamp(36px,8.5vmin,66px)}.hud-floating-shape{width:clamp(52px,12vmin,90px);height:clamp(52px,12vmin,90px);display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))}.hud-floating-hint.has-icon.has-shape .hud-floating-shape{width:clamp(44px,10vmin,78px);height:clamp(44px,10vmin,78px)}@media (max-height: 420px){.hud-top,.hud-bottom{font-size:12px}.hud-badge{padding:6px 10px}.hud-prompt{padding:10px 12px;border-radius:14px}.hud-overlay-card{gap:10px;padding:14px 12px}.hud-overlay-title{font-size:22px}.hud-overlay-actions{gap:10px;flex-wrap:wrap;justify-content:center}}@media (max-height: 340px){.hud-floating-hint{display:none}}.hud-shape-illustration{width:100%;height:100%}.hud-shape-illustration-path{fill:#ffffff0a;stroke:#e7e9eeeb;stroke-width:6;stroke-linejoin:round;stroke-linecap:round}.hud-overlay-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 16px;border-radius:16px;background:#0c0e14d9;border:1px solid rgba(255,255,255,.08)}.hud-overlay-title{font-size:28px;letter-spacing:1px;text-transform:uppercase;color:#ff7b7b}.hud-overlay-actions{display:flex;gap:12px}.hud-btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;appearance:none;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#e7e9ee;padding:10px 16px;border-radius:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.hud-btn-suffix{display:inline-flex;align-items:center;margin-left:10px;line-height:0}.hud-ad-badge-icon{width:48px;height:48px;display:inline-block;vertical-align:middle;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.hud-btn:has(.hud-ad-badge-icon){padding-top:0;padding-bottom:0}.hud-btn.hud-btn-primary{background:#f4c76a29;border-color:#f4c76a38}.hud-btn:active{transform:translateY(1px)}.hud.flash-success:before,.hud.flash-fail:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:18px;opacity:0;animation:hudFlash .26s ease-out}.hud.flash-success:before{background:radial-gradient(600px 420px at 50% 40%,#8bff9a2e,#8bff9a00 60%)}.hud.flash-fail:before{background:radial-gradient(600px 420px at 50% 40%,#ff7b7b33,#ff7b7b00 60%)}@keyframes hudFlash{0%{opacity:0}35%{opacity:1}to{opacity:0}}
