:root{color:#eefaf4;font-synthesis:none;text-rendering:optimizelegibility;background:#050b10;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow:hidden}button{font:inherit}.menu-screen,.intro-screen,.result-screen,.game-shell{background:radial-gradient(circle at 30% 16%,#30e2b524,#0000 30%),radial-gradient(circle at 82% 26%,#ff75211f,#0000 26%),linear-gradient(135deg,#07151e,#03070c 56%,#071018);min-height:100vh;position:relative;overflow:hidden}.menu-bg,.result-art{filter:saturate(1.08);background-image:linear-gradient(90deg,#02070a14,#02070ab8),url(/assets/title-background.png);background-position:50%;background-size:cover;position:absolute;inset:0}.menu-video{object-fit:fill;opacity:.92;width:100%;height:100%;position:absolute;inset:0}.menu-bg{background-image:linear-gradient(90deg,#02070a05,#02070a70),radial-gradient(circle at 32% 28%,#5bff5917,#0000 34%)}.menu-bg:after,.result-art:after,.game-shell:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#8cffe606 0 1px,#0000 1px 4px),radial-gradient(circle,#0000 0 54%,#0000006b);position:absolute;inset:0}.menu-bg:after{background:repeating-linear-gradient(0deg,#8cffe605 0 1px,#0000 1px 4px),radial-gradient(circle,#0000 0 62%,#0000002e)}.menu-content{z-index:2;flex-direction:column;justify-content:flex-start;width:min(860px,92vw);min-height:100vh;padding:clamp(54px,10vh,94px) clamp(24px,6vw,82px) 48px;display:flex;position:relative}.logo-lockup,.mini-logo{color:#9fff65;letter-spacing:0;text-transform:uppercase;text-shadow:0 0 14px #6bff59eb,0 0 34px #6bff595c;font-weight:950;line-height:.88;display:grid}.logo-lockup{font-size:clamp(64px,12vw,132px)}.logo-lockup-image{width:min(560px,76vw);text-shadow:none;line-height:1;display:block}.logo-lockup-image img{object-fit:contain;image-rendering:auto;width:100%;height:auto;display:block}.logo-lockup span:first-child:after,.mini-logo span:first-child:after{content:"";background:#69ff74;border-radius:.5em 0;width:.42em;height:.58em;margin-left:.08em;display:inline-block;transform:rotate(22deg)}.menu-copy{color:#c8efe7;max-width:520px;margin:24px 0 0;font-size:18px;line-height:1.5}.menu-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.menu-actions button,.back-button{color:#041015;cursor:pointer;background:linear-gradient(#a4ff66,#42e675);border:1px solid #7dffe55c;border-radius:6px;font-weight:900;box-shadow:0 0 18px #62ff7042,inset 0 1px #ffffff6b}.menu-actions button{min-width:132px;padding:12px 16px}.menu-actions button:nth-child(2){color:#f7fff9;background:linear-gradient(#1a4d58,#09232d)}.menu-actions button:nth-child(3){color:#bffbf3;background:#051118c7}.menu-actions button.active{color:#031015;background:linear-gradient(#fff275,#6dff76);box-shadow:0 0 20px #fff27547,inset 0 1px #ffffff6b}.menu-actions button:nth-child(4){color:#9ffaf0;background:linear-gradient(#16434beb,#051219f0)}.how-to-panel,.result-panel,.hud-card,.hud-message,.inventory-bar,.side-hud,.menu-status{background:linear-gradient(#051118e0,#03090eeb);border:2px solid #34c5c26b;border-radius:8px;box-shadow:inset 0 0 0 1px #76ffe612,0 0 24px #11c3b524}.menu-status{z-index:3;color:#b8fff1;text-transform:uppercase;gap:14px;padding:12px 14px;font-size:13px;display:flex;position:absolute;bottom:28px;right:28px}.intro-screen{background:radial-gradient(circle at 22% 16%,#58ff6b29,#0000 28%),radial-gradient(circle at 78% 78%,#ff892a21,#0000 30%),linear-gradient(135deg,#041018,#02060b 62%,#07121a);place-items:center;padding:clamp(18px,4vw,42px);display:grid}.intro-screen:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#91ffe506 0 1px,#0000 1px 5px),radial-gradient(circle,#0000 0 62%,#0000007a);position:absolute;inset:0}.intro-comic-shell{z-index:2;background:linear-gradient(#071922e6,#02080df0),radial-gradient(circle at 24% 18%,#64ff5a17,#0000 34%);border:2px solid #40d4c87a;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(320px,410px);gap:18px;width:min(1320px,96vw);min-height:min(720px,88vh);padding:16px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #96ffe814,0 0 38px #10cfba2e}.intro-frame{background:#02070c;border:2px solid #67ffe138;border-radius:8px;align-self:center;width:100%;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 38px #0000009e}.intro-frame:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 0 80px #0000008c}.intro-comic-image{transform-origin:0 0;max-width:none;height:auto;transition:transform .42s,width .42s;position:absolute;top:0;left:0}.intro-caption{background:linear-gradient(#07171fe6,#030a0ff0),radial-gradient(circle at 22% 18%,#ff97291f,#0000 28%);border:1px solid #7effe033;border-radius:8px;flex-direction:column;justify-content:center;padding:clamp(18px,3vw,30px);display:flex}.intro-kicker{color:#fff275;text-transform:uppercase;font-size:12px;font-weight:950}.intro-caption h1{color:#9fff65;text-transform:uppercase;text-shadow:0 0 20px #6bff596b;margin:12px 0;font-size:clamp(34px,4.2vw,58px);line-height:.98}.intro-caption p{color:#d7f8f1;margin:0;font-size:18px;line-height:1.45}.intro-jury-tag{color:#fff7a8;text-transform:uppercase;background:#ffa12c1a;border:1px solid #fff27547;border-radius:6px;margin-top:18px;padding:10px 12px;font-size:13px}.intro-progress{gap:8px;margin-top:28px;display:flex}.intro-progress button{cursor:pointer;background:#7fffe238;border:0;border-radius:999px;width:38px;height:8px;padding:0}.intro-progress button.active{background:linear-gradient(90deg,#a4ff66,#fff275);box-shadow:0 0 14px #a4ff6657}.intro-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.intro-actions button{color:#041015;cursor:pointer;background:linear-gradient(#a4ff66,#42e675);border:1px solid #7dffe55c;border-radius:6px;min-height:44px;padding:0 15px;font-weight:950}.intro-actions button:first-child{color:#bffbf3;background:#051118d1}.how-to-panel{z-index:4;color:#dffbf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#a4ff6614,#0000 28%),linear-gradient(#051118f0,#02070bf5);flex-direction:column;gap:10px;width:min(900px,58vw);min-width:0;padding:14px;display:flex;position:absolute;inset:clamp(14px,3vh,28px) clamp(14px,3vw,34px) clamp(14px,3vh,28px) auto;overflow:hidden}.how-to-header{border-bottom:1px solid #7effe02e;justify-content:space-between;align-items:start;gap:18px;padding-bottom:10px;display:flex}.how-to-kicker{color:#fff275;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:950}.how-to-header h1{color:#9fff65;text-transform:uppercase;text-shadow:0 0 18px #6bff595c;align-items:center;gap:10px;margin:7px 0 0;font-size:clamp(24px,2.4vw,34px);line-height:1;display:flex}.how-to-header button{color:#ccfff7;cursor:pointer;background:#051219db;border:1px solid #7effe047;border-radius:6px;flex:none;place-items:center;width:38px;height:38px;display:grid}.how-to-control-strip{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.how-to-control-strip span{color:#fff8aa;text-align:center;text-transform:uppercase;background:#ffc23714;border:1px solid #fff27538;border-radius:6px;place-items:center;min-height:30px;padding:6px 8px;font-size:12px;font-weight:950;display:grid}.how-to-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.how-to-card{background:linear-gradient(#0a232abd,#030c11d1),radial-gradient(circle at 18px 20px,#7aff5b24,#0000 36px);border:1px solid #7effe029;border-radius:8px;grid-template-columns:30px 1fr;gap:8px;min-height:104px;padding:9px;display:grid}.how-to-icon{color:#8bfff0;background:#081b22e0;border:1px solid #7effe047;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 0 16px #2be6c61f}.how-to-card h2{color:#f4fff9;text-transform:uppercase;margin:0 0 5px;font-size:12px;line-height:1.1}.how-to-card p,.power-row p,.how-to-route span{color:#c9eee8;margin:0;font-size:11px;line-height:1.28}.power-manual{background:#030b10bd;border:1px solid #7effe02e;border-radius:8px;gap:8px;padding:10px;display:grid}.power-manual-title,.how-to-route{color:#bffbf3;text-transform:uppercase;align-items:center;gap:9px;font-size:13px;font-weight:950;display:flex}.power-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.power-row{background:#071820a3;border:1px solid #7effe01f;border-radius:7px;grid-template-columns:22px 36px 1fr;align-items:center;gap:7px;min-height:54px;padding:6px;display:grid}.power-key{color:#041015;background:#a4ff66;border-radius:6px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:950;display:grid}.power-row img{object-fit:contain;filter:drop-shadow(0 0 10px #7effe029);width:36px;height:36px}.power-row strong{color:#fff;margin-bottom:2px;font-size:12px;display:block}.power-row p{font-size:10.5px;line-height:1.2}.how-to-route{background:linear-gradient(90deg,#a4ff661a,#42d9ff14);border:1px solid #a4ff663d;border-radius:8px;justify-content:space-between;padding:8px 10px}.game-canvas{position:absolute;inset:0}.game-canvas canvas{image-rendering:auto;display:block}.side-hud{z-index:4;pointer-events:none;flex-direction:column;gap:12px;width:282px;padding:14px;display:flex;position:absolute;top:18px}.side-hud.left{left:18px}.side-hud.right{right:18px}.mini-logo{background:linear-gradient(#16393775,#01070ad1),repeating-linear-gradient(0deg,#78ff8e0f,#78ff8e0f 2px,#0000 2px 5px);border:2px solid #50d2c947;border-radius:8px;place-content:center;min-height:82px;padding:11px}.mini-logo img{object-fit:contain;image-rendering:auto;width:100%;height:auto;display:block}.hud-card{padding:15px}.hud-card h2{color:#f4fff9;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 14px;font-size:18px;display:flex}.hud-metric{border-top:1px solid #81dbd329;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px 0;display:grid}.hud-metric span{border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.hud-metric.orange span{color:#ff9a2f;box-shadow:inset 0 0 0 2px #ff8d28}.hud-metric.green span{color:#7cff5a;box-shadow:inset 0 0 0 2px #70ff57}.hud-metric strong{color:#d9efeb;text-transform:uppercase;font-size:14px}.hud-metric em{color:#fff;font-style:normal;font-weight:900}.progress-bar{background:#58ff4b1f;border:1px solid #65ff5480;border-radius:999px;height:14px;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg,#48ef5f,#bdff65);height:100%;transition:width .12s linear;display:block;box-shadow:0 0 16px #5eff4c9e}.hud-message{color:#caeee6;min-height:104px;padding:14px;font-size:14px;line-height:1.45}.alert-card h2{color:#ff666c;justify-content:center}.alert-dial{background:conic-gradient(from 270deg, #ff5963 0 var(--alert), #ff59632e var(--alert) 50%, transparent 50% 100%), radial-gradient(circle at 50% 76%, #071018 0 36%, transparent 37%);color:#ff757b;text-shadow:0 0 14px #ff4852bd;border-radius:110px 110px 12px 12px;place-items:center;width:154px;height:102px;margin:8px auto 2px;font-size:24px;font-weight:950;display:grid}.level-name{color:#c7efe8;margin:0 0 6px;font-weight:800}.life-label{color:#7fa7a1;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:900;display:block}.life-row{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.life-row span{background:#76ff6214;border:1px solid #76ff624d;border-radius:4px;height:28px}.life-row .on{background:linear-gradient(#bbff6d,#4bf261);box-shadow:0 0 14px #5bff597a}.inventory-bar{z-index:5;align-items:center;gap:10px;width:min(880px,100vw - 36px);min-height:104px;padding:13px 16px;display:flex;position:absolute;bottom:18px;left:18px}.inventory-slot,.empty-slot{background:#08141beb;border:2px solid #6abfbc6b;border-radius:8px;flex:none;place-items:center;width:78px;height:78px;display:grid;position:relative;overflow:hidden}.inventory-slot{color:#78948f}.inventory-slot.empty-power{opacity:.42}.inventory-slot img{z-index:2;object-fit:contain;filter:saturate(1.05)drop-shadow(0 0 8px #6fffe22e);width:68px;height:68px;position:relative}.inventory-slot.owned{color:#c8fff5;border-color:#73ffe49e;box-shadow:inset 0 0 16px #46ffcc14}.inventory-slot strong,.inventory-slot em{z-index:3;font-size:13px;font-style:normal;font-weight:950;position:absolute}.inventory-slot strong{color:#8fc5be;top:5px;left:7px}.inventory-slot em{color:#fff;bottom:5px;right:8px}.slot-cooldown,.slot-active{inset-inline:0;z-index:1;pointer-events:none;position:absolute;bottom:0}.slot-cooldown{background:#00000094}.slot-active{background:#68ff553d}.empty-slot{opacity:.56;border-style:dashed}.back-button{z-index:8;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;bottom:22px;right:22px}.result-screen .result-art{filter:saturate(1.05)brightness(.72)}.result-screen.lose .result-art{filter:saturate(1.1)hue-rotate(310deg)brightness(.5)}.result-panel{z-index:2;text-align:center;place-items:center;width:min(520px,92vw);margin:0 auto;padding:30px;display:grid;position:relative;top:50vh;transform:translateY(-50%)}.result-panel h1{color:#9cff69;text-transform:uppercase;text-shadow:0 0 20px #64ff5c80;margin:0 0 10px;font-size:clamp(42px,7vw,78px);line-height:.95}.result-screen.lose .result-panel h1{color:#ff686d;text-shadow:0 0 20px #ff596075}.result-panel p{color:#d5f5ee;line-height:1.45}.result-stats{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.result-stats span{color:#bffbf2;background:#040f15a8;border:1px solid #7effe03d;border-radius:6px;padding:8px 10px;font-weight:800}.geometry-screen{color:#eefaf4;background:#03080d;grid-template-columns:340px 1fr;min-height:100vh;display:grid}.geometry-panel{background:linear-gradient(#051118fa,#03090efa);border-right:1px solid #5cffe23d;flex-direction:column;gap:14px;padding:18px;display:flex}.geometry-panel h1{color:#9fff65;text-transform:uppercase;text-shadow:0 0 18px #6bff596b;margin:0;font-size:28px;line-height:1}.geometry-mode,.geometry-tools,.geometry-actions{gap:8px;display:grid}.geometry-mode{grid-template-columns:1fr 1fr}.geometry-version-box{background:#02090d9e;border:1px solid #6fffe22e;border-radius:6px;gap:8px;padding:10px;display:grid}.geometry-version-box label{color:#b8fff1;text-transform:uppercase;gap:5px;font-size:12px;font-weight:850;display:grid}.geometry-version-box input,.geometry-version-box select{color:#d4fff7;min-height:36px;font:inherit;background:#071820eb;border:1px solid #6fffe247;border-radius:6px;outline:none;padding:0 10px;font-size:13px}.geometry-version-box button{color:#031015;cursor:pointer;background:linear-gradient(#a4ff66,#42e675);border:1px solid #6fffe247;border-radius:6px;min-height:36px;font-weight:900}.geometry-tools{grid-template-columns:1fr}.geometry-actions{grid-template-columns:1fr 1fr}.geometry-mode button,.geometry-tools button,.geometry-actions button{color:#cffcf3;cursor:pointer;background:#071820e0;border:1px solid #6fffe247;border-radius:6px;min-height:38px;font-weight:850}.geometry-mode button.active,.geometry-tools button.active{color:#031015;background:linear-gradient(#a4ff66,#42e675)}.geometry-actions button:disabled{cursor:not-allowed;opacity:.38}.geometry-status{color:#cffcf3;background:#02090dad;border:1px solid #6fffe22e;border-radius:6px;min-height:44px;margin:0;padding:10px;font-size:13px;line-height:1.35}.geometry-board-wrap{background:radial-gradient(circle at 50% 35%,#45ffd417,#0000 34%),#03080d;place-items:center;min-width:0;padding:18px;display:grid;overflow:auto}.geometry-board{aspect-ratio:16/9;cursor:crosshair;touch-action:none;background:#050b10;border:2px solid #48cdc852;border-radius:8px;width:min(100vw - 390px,1280px);position:relative;overflow:hidden;box-shadow:0 0 34px #11c3b51f}.geometry-board.try-mode{cursor:pointer}.geometry-board.edit-mode{cursor:default}.geometry-stage{transform-origin:0 0;position:absolute;inset:0}.geometry-stage img{-webkit-user-select:none;user-select:none;pointer-events:none;width:87.5%;height:99.58%;position:absolute;top:.28%;left:6.25%}.geometry-stage svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.geometry-board.edit-mode svg{pointer-events:auto}.geometry-board.edit-mode polygon,.geometry-board.edit-mode line{cursor:pointer;pointer-events:visiblePainted}.geometry-selected{stroke:#fff275;stroke-width:4px;filter:drop-shadow(0 0 8px #fff275b3)}.geometry-handle{fill:#fff275;stroke:#031015;stroke-width:2px;cursor:grab;pointer-events:auto}.geometry-handle.selected{fill:#fff;stroke:#ff5363;stroke-width:3px}.geometry-handle:active{cursor:grabbing}.tester-player{filter:none}.try-help{color:#d4fff7;pointer-events:none;background:#02090dd1;border:1px solid #6fffe247;border-radius:6px;padding:9px 12px;font-size:13px;font-weight:800;position:absolute;bottom:14px;left:14px}@media (width<=1180px){body{overflow:auto}.menu-screen{flex-direction:column;display:flex;overflow:auto}.menu-content{width:min(720px,100%);min-height:auto;padding-bottom:20px}.how-to-panel{width:min(1060px,100% - 36px);min-width:0;margin:0 18px 22px;position:relative;inset:auto;overflow:visible}.how-to-grid,.power-list{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-status{width:fit-content;margin:0 18px 18px;position:relative;bottom:auto;right:auto}.intro-comic-shell{grid-template-columns:1fr;min-height:auto}}@media (width<=1080px){body{overflow:auto}.game-shell{min-height:820px}.side-hud{width:235px;padding:10px}.mini-logo{min-height:78px;padding:10px}.hud-card{padding:11px}.side-hud.right{top:146px}}@media (width<=720px){.side-hud{width:calc(100% - 20px);margin:10px;position:relative;top:auto;left:auto;right:auto}.game-canvas{height:520px;position:relative}.game-shell{flex-direction:column;min-height:100vh;display:flex;overflow:auto}.inventory-bar{width:calc(100% - 20px);margin:10px;position:relative;bottom:auto;left:auto;overflow-x:auto}.back-button{top:12px;bottom:auto;right:12px}.menu-status{justify-content:center;left:auto;right:auto}.how-to-grid,.power-list{grid-template-columns:1fr}.how-to-card{min-height:auto}.how-to-control-strip{grid-template-columns:1fr}.intro-screen{padding:12px}.intro-comic-shell{width:100%;padding:10px}.intro-caption{padding:16px}.intro-caption p{font-size:15px}.geometry-screen{grid-template-columns:1fr}.geometry-panel{border-bottom:1px solid #5cffe23d;border-right:0}.geometry-board{width:min(100%,1280px)}}
