:root{color:#f4f1f8;font-synthesis:none;text-rendering:optimizelegibility;--ink:#07050c;--paper:#f4f1f8;--gold:#b9a1ff;--cyan:#e7e1f3;--coral:#e15f7b;--violet:#9f7dea;--violet-bright:#cbb9ff;--danger:#f36c86;--surface-0:#050309f0;--surface-1:#120c1be0;--surface-2:#251934c7;--line-soft:#e6def821;--line-strong:#dccfff57;--text-muted:#efeaf794;--text-faint:#efeaf757;--shadow-deep:0 28px 70px #00000085;--ease-out:cubic-bezier(.2, .8, .2, 1);background:#030205;font-family:Inter,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:radial-gradient(circle at 50% -25%,#35244e 0%,#0000 54%),radial-gradient(circle at 10% 90%,#59397726,#0000 32%),#030205;width:100%;min-width:320px;min-height:100%;margin:0;overflow:hidden}button{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}button[hidden]{display:none!important}button:focus-visible{outline-offset:3px;outline:2px solid #fff;box-shadow:0 0 0 5px #9f7dea6b}#app{min-height:100vh;min-height:100dvh;padding:max(clamp(8px, 2vw, 24px), env(safe-area-inset-top)) max(clamp(8px, 2vw, 24px), env(safe-area-inset-right)) max(clamp(8px, 2vw, 24px), env(safe-area-inset-bottom)) max(clamp(8px, 2vw, 24px), env(safe-area-inset-left));place-items:center;display:grid}#game-shell{width:min(100vw - 32px,177.778vh - 120.889px);aspect-ratio:16/9;background:radial-gradient(circle at 50% 0%, #593e7e26, transparent 45%), var(--ink);isolation:isolate;border:1px solid #e0d6f938;border-radius:clamp(12px,1.8vw,24px);width:min(100vw - 32px,177.778dvh - 120.889px);position:relative;overflow:hidden;box-shadow:0 34px 80px #00000073,0 0 0 6px #ffffff08}#game-shell:after{z-index:90;border-radius:inherit;content:"";pointer-events:none;border:1px solid #ffffff0d;position:absolute;inset:0;box-shadow:inset 0 0 38px #00000038}#game-shell:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0;height:100dvh}#game-canvas,#game-canvas canvas,#ui-root{position:absolute;inset:0;width:100%!important;height:100%!important}#game-canvas canvas{display:block}#ui-root{z-index:10;pointer-events:none}.outside-hint{bottom:max(5px, env(safe-area-inset-bottom));color:#ded7eb75;letter-spacing:.08em;white-space:nowrap;margin:0;font-size:11px;position:fixed;left:50%;transform:translate(-50%)}.is-hidden{visibility:hidden!important;opacity:0!important;pointer-events:none!important}.screen{pointer-events:auto;place-items:center;padding:clamp(16px,4vw,54px);transition:opacity .18s,visibility .18s;display:grid;position:absolute;inset:0}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.boot-screen{z-index:80;background:linear-gradient(135deg,#030206fa,#0d0814f7),repeating-linear-gradient(90deg,#0000 0 49px,#ffffff05 49px 50px);overflow:hidden}.boot-screen:before,.boot-screen:after{aspect-ratio:1;content:"";border:1px solid #b9a1ff21;border-radius:50%;width:min(68vmin,620px);position:absolute}.boot-screen:before{animation:18s linear infinite boot-orbit}.boot-screen:after{border-style:dashed;width:min(48vmin,430px);animation:12s linear infinite reverse boot-orbit}.boot-panel{z-index:2;text-align:center;justify-items:center;width:min(480px,78%);display:grid;position:relative}.boot-sigil{aspect-ratio:1;border:1px solid #d2c6f342;border-radius:50%;width:clamp(76px,9vw,116px);margin-bottom:20px;position:relative;box-shadow:0 0 55px #9f7dea26}.boot-sigil i{border:1px solid #cbb9ff57;border-radius:50%;animation:5s linear infinite boot-orbit;position:absolute;inset:12%}.boot-sigil i:nth-child(2){border-style:dashed;animation-direction:reverse;inset:27%}.boot-sigil b{color:#d8caff;text-shadow:0 0 18px #a383f1;place-items:center;display:grid;position:absolute;inset:0}.boot-panel h2{letter-spacing:.05em;margin:0;font-family:Georgia,Yu Mincho,serif;font-size:clamp(28px,4.2vw,54px)}.boot-copy{color:var(--text-muted);margin:12px 0 24px;font-size:clamp(10px,1vw,14px)}.boot-progress{background:#ffffff17;border-radius:8px;width:min(380px,100%);height:3px;overflow:hidden}.boot-progress i{transform-origin:0;width:100%;height:100%;transition:transform .18s var(--ease-out);background:linear-gradient(90deg,#7252ba,#d4c4ff,#fff);display:block;transform:scaleX(0);box-shadow:0 0 18px #a685f4}.boot-percent{color:var(--violet-bright);letter-spacing:.2em;margin-top:9px;font-family:Arial Narrow,sans-serif;font-size:11px}.boot-error{justify-items:center;margin-top:18px;display:grid}.boot-error p{color:#ffd8e0c7;max-width:430px;margin:0 0 18px;font-size:12px;line-height:1.7}.boot-screen.is-error .boot-progress,.boot-screen.is-error .boot-percent{opacity:.3}.boot-screen.is-error .boot-sigil{border-color:#f36c867a;box-shadow:0 0 55px #f36c8624}@keyframes boot-orbit{to{transform:rotate(360deg)}}.title-screen{background:linear-gradient(90deg,#040207f0,#07040bad 48%,#04020757),radial-gradient(circle at 76% 42%,#a990ee1f,#0000 38%);place-items:center;overflow:hidden}.title-screen:after{content:"";pointer-events:none;background:linear-gradient(125deg,#0000 45%,#9f7dea14);transition:background .3s;position:absolute;inset:0}.title-screen[data-biome=verdant]:after{background:linear-gradient(125deg,#0000 45%,#5cab8e17)}.title-screen[data-biome=twilightRuins]:after{background:linear-gradient(125deg,#0000 45%,#c4835817)}.title-screen[data-biome=cavern]:after{background:linear-gradient(125deg,#0000 45%,#8f5eb61a)}.title-screen[data-biome=cosmos]:after,.title-screen[data-biome=theoryNexus]:after{background:linear-gradient(125deg,#0000 45%,#8177e01f)}.title-fullscreen{z-index:8;position:absolute;top:16px;right:16px}.title-panel{z-index:2;grid-area:1/1/-1;align-self:center;min-width:0;position:relative}.eyebrow{color:var(--gold);letter-spacing:.25em;text-transform:uppercase;margin:0 0 clamp(6px,1vw,13px);font-size:clamp(7px,.85vw,11px);font-weight:900}h1,h2,p{text-wrap:balance}h1{color:#fff;letter-spacing:-.055em;text-shadow:0 8px 22px #000000db;flex-direction:column;margin:0;font-family:Georgia,Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(40px,6vw,78px);font-weight:900;line-height:.81;display:flex}h1 strong{color:#cbbdf2;letter-spacing:.08em;-webkit-text-stroke:1px #ffffff38;font-size:.77em}.title-subtitle{color:#f2edf9d1;letter-spacing:.17em;margin:clamp(8px,1vw,13px) 0 0;font-family:Georgia,Yu Mincho,serif;font-size:clamp(12px,1.4vw,19px);font-weight:700}.title-copy{color:#f0ebf8b8;margin:clamp(12px,1.7vw,22px) 0;font-size:clamp(10px,1vw,14px);font-weight:700;line-height:1.7}.primary-button,.secondary-button,.text-button,.icon-button{cursor:pointer;border:0}.primary-button{min-width:min(290px,100%);color:var(--ink);letter-spacing:.06em;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out), filter .12s ease;background:linear-gradient(105deg,#eee9f8,#b49af2 72%,#9875e8);border:1px solid #f4efff;border-radius:9px;justify-content:space-between;align-items:center;padding:clamp(10px,1.15vw,15px) clamp(14px,1.55vw,21px);font-size:clamp(11px,1.08vw,15px);font-weight:900;display:inline-flex;box-shadow:6px 7px #020104bd,0 8px 32px #8c67dc24}.primary-button:hover{filter:brightness(1.08);transform:translate(3px,3px);box-shadow:3px 4px #020104bd,0 10px 34px #8c67dc36}.primary-button:active{transform:translate(5px,5px)}kbd{color:#f3efff;white-space:nowrap;background:#050308d1;border:1px solid #ffffff57;border-radius:5px;place-items:center;min-width:24px;min-height:21px;padding:3px 6px;font-family:inherit;font-size:.69em;font-weight:900;display:inline-grid;box-shadow:inset 0 -2px #00000059}.campaign-progress-summary{width:min(370px,100%);margin:0 0 10px}.campaign-progress-summary>div:first-child{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.campaign-progress-summary span{color:var(--violet-bright);letter-spacing:.18em;font-size:7px;font-weight:900}.campaign-progress-summary strong{color:var(--text-muted);letter-spacing:.05em;font-size:8px}.campaign-progress-track{background:#ffffff17;border-radius:8px;height:3px;overflow:hidden}.campaign-progress-track i{transform-origin:0;width:100%;height:100%;transition:transform .38s var(--ease-out);background:linear-gradient(90deg,#7754c4,#d7c9ff);display:block;transform:scaleX(0);box-shadow:0 0 12px #9f7dea}.continue-button{width:min(370px,100%)}.control-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;margin-top:clamp(12px,1.5vw,19px);display:grid}.control-grid div{color:#fff9;align-items:center;gap:4px;min-width:0;font-size:clamp(7px,.72vw,10px);font-weight:800;display:flex}.control-grid span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gamepad-note{color:#ffffff4f;letter-spacing:.07em;margin:9px 0 0;font-size:clamp(6px,.62vw,8px)}.title-orbit{aspect-ratio:1;border:1px solid #a990ee29;border-radius:50%;width:34%;position:absolute;right:9%;box-shadow:0 0 80px #a990ee0f}.title-orbit:after{aspect-ratio:1;background:var(--gold);width:8px;box-shadow:0 0 18px var(--gold);content:"";border-radius:50%;position:absolute;top:6%;left:50%}.orbit-one{animation:18s linear infinite title-orbit}.orbit-two{border-style:dashed;width:23%;animation:12s linear infinite reverse title-orbit}@keyframes title-orbit{to{transform:rotate(360deg)}}.campaign-title-layout{z-index:2;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(285px,.72fr) minmax(600px,1.28fr);align-items:center;gap:14px clamp(20px,2.6vw,42px);width:100%;height:100%;display:grid;position:relative}.stage-select-panel{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:linear-gradient(145deg,#1b1326d4,#050308e6),repeating-linear-gradient(0deg,#0000 0 45px,#ffffff08 45px 46px);border-radius:16px;grid-area:2/2;align-self:end;min-width:0;padding:clamp(11px,1.1vw,16px);box-shadow:0 22px 48px #00000061,inset 0 1px #ffffff0a}.stage-select-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.stage-select-heading .eyebrow{margin-bottom:2px}.stage-select-heading h2{margin:0;font-family:Georgia,Yu Mincho,serif;font-size:clamp(18px,1.8vw,25px)}.stage-select-heading>span{color:var(--text-faint);letter-spacing:.13em;white-space:nowrap;font-size:6px;font-weight:900}.stage-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(5px,.55vw,8px);display:grid}.stage-button{--stage-accent:#a990ee;color:#ece8f3;background:linear-gradient(145deg, color-mix(in srgb, var(--stage-accent) 14%, transparent), transparent 48%), linear-gradient(150deg, #231b2ebd, #07040ae6);cursor:pointer;text-align:left;min-width:0;min-height:clamp(44px,3.8vw,54px);transition:transform .13s var(--ease-out), border-color .13s ease, background .13s ease, box-shadow .13s ease;border:1px solid #ffffff1c;border-radius:9px;align-content:center;padding:clamp(5px,.55vw,8px);display:grid;position:relative;overflow:hidden}.stage-button[data-act="1"]{--stage-accent:#72b89c}.stage-button[data-act="2"]{--stage-accent:#c8906d}.stage-button[data-act="3"]{--stage-accent:#a97bc4}.stage-button[data-act="4"]{--stage-accent:#8c83df}.stage-button:hover,.stage-button:focus-visible,.stage-button.is-selected{z-index:2;border-color:color-mix(in srgb, var(--stage-accent) 72%, #fff);background:linear-gradient(145deg, color-mix(in srgb, var(--stage-accent) 28%, transparent), transparent 55%), linear-gradient(150deg, #332643db, #08050df5);box-shadow:inset 0 0 18px color-mix(in srgb, var(--stage-accent) 10%, transparent), 0 8px 24px #00000040;transform:translateY(-2px)}.stage-button>span{color:color-mix(in srgb, var(--stage-accent) 72%, #fff);font-family:Arial Narrow,sans-serif;font-size:clamp(13px,1.2vw,18px);font-weight:900;line-height:1}.stage-button strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:clamp(7px,.7vw,10px);line-height:1.25;overflow:hidden}.stage-button small{color:var(--text-faint);letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:clamp(5px,.45vw,7px);font-weight:800;overflow:hidden}.stage-button>i{color:color-mix(in srgb, var(--stage-accent) 62%, #fff);letter-spacing:.12em;text-shadow:0 0 9px var(--stage-accent);font-size:8px;font-style:normal;font-weight:900;position:absolute;top:5px;right:6px}.stage-button.is-boss{--stage-accent:#e15f7b}.stage-button.is-cleared:after{background:linear-gradient(90deg, var(--stage-accent), transparent);content:"";width:100%;height:2px;position:absolute;bottom:0;left:0}.debug-room-button{color:#dffcf8;cursor:pointer;letter-spacing:.12em;background:linear-gradient(110deg,#16615b57,#0d0914db);border:1px solid #67e2d46b;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:7px;padding:7px 11px;font-size:10px;font-weight:900;display:flex}.debug-room-button[hidden]{display:none}.debug-room-button small{color:#8ecdc4;letter-spacing:.05em;font-size:8px}.stage-preview{background:#00000030;border:1px solid #ffffff14;border-radius:9px;grid-template-columns:minmax(150px,.9fr) minmax(180px,1.3fr) auto;align-items:center;gap:12px;min-height:52px;margin-top:8px;padding:6px 9px;display:grid}.stage-preview>div{min-width:0;display:grid}.stage-preview span{color:var(--violet-bright);letter-spacing:.13em;font-size:6px;font-weight:900}.stage-preview strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-family:Georgia,Yu Mincho,serif;font-size:13px;overflow:hidden}.stage-preview small{color:var(--text-faint);letter-spacing:.09em;font-size:6px}.stage-preview p{color:var(--text-muted);margin:0;font-size:8px;line-height:1.55}.stage-preview em{color:#d8caff;letter-spacing:.1em;white-space:nowrap;font-size:7px;font-style:normal;font-weight:900}.hud{z-index:22;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:clamp(10px,1.15vw,16px);transition:opacity .14s;display:flex;position:absolute;top:0;left:0;right:0}.hud-cluster{align-items:stretch;display:flex}.hud-left{flex-direction:column;width:clamp(172px,17vw,232px);position:relative}.stage-chip,.health-meter,.ability-row>div,.boss-hud,.hud-right{border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:linear-gradient(145deg,#0f0a16e0,#040307d6);box-shadow:0 9px 28px #0000002e,inset 0 1px #ffffff08}.stage-chip{border-radius:5px 13px 10px 5px;flex-direction:column;min-width:0;padding:clamp(7px,.7vw,10px) clamp(9px,.9vw,13px) 12px;display:flex}.stage-chip span,.hud-stat span{color:var(--violet-bright);letter-spacing:.15em;font-size:clamp(5px,.52vw,7px);font-weight:900}.stage-chip strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:clamp(9px,.9vw,13px);overflow:hidden}.stage-chip small{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:clamp(5px,.48vw,7px);font-weight:700;overflow:hidden}.health-meter{z-index:2;border-radius:9px 16px 16px 9px;gap:3px;width:clamp(128px,12vw,170px);margin:-6px 0 0 10px;padding:6px 9px 7px;display:grid}.player-health-summary{justify-content:space-between;align-items:center;gap:8px;display:flex}.player-health-summary span{color:var(--coral);letter-spacing:.16em;font-size:clamp(6px,.58vw,8px);font-weight:950}.player-health-summary strong{letter-spacing:.06em;font-family:Arial Narrow,sans-serif;font-size:clamp(9px,.86vw,12px)}.player-health-track{background:#ffffff1a;border-radius:5px;height:6px;overflow:hidden}.player-health-track i{border-radius:inherit;background:linear-gradient(90deg,#8d2943,#e7607f,#ffbac8);width:100%;height:100%;transition:width .15s;display:block;box-shadow:0 0 10px #e7607f75}.hud-right{border-radius:14px;align-items:stretch;gap:0;min-height:48px;padding:3px;display:flex}.hud-stat{border-right:1px solid #ffffff14;flex-direction:column;justify-content:center;align-items:flex-end;min-width:clamp(58px,5.5vw,79px);padding:4px clamp(6px,.65vw,9px);display:flex}.hud-stat.compact{min-width:clamp(45px,4.3vw,61px)}.hud-stat strong{letter-spacing:.04em;margin-top:2px;font-family:Arial Narrow,sans-serif;font-size:clamp(9px,.95vw,14px)}.debt-stat strong{color:#c8b4ff}.icon-button{color:#ffffffb8;pointer-events:auto;background:#ffffff0a;border:1px solid #ffffff1c;border-radius:11px;width:clamp(34px,3vw,40px);margin:2px;font-size:clamp(10px,1vw,14px);font-weight:900;transition:color .12s,background .12s,border-color .12s,transform .12s}.icon-button:hover,.icon-button.is-active{color:#fff;background:#9f7dea4d;border-color:#e0d6ff6b}.icon-button:active{transform:scale(.94)}.hud-center{flex-direction:column;align-items:center;width:min(480px,36vw);display:flex;position:absolute;top:clamp(10px,1.15vw,16px);left:50%;transform:translate(-50%)}.ability-row{justify-content:center;gap:5px;transition:opacity .16s,transform .16s;display:flex}.dash-meter,.attack-meter{text-align:center;border-radius:10px;width:clamp(84px,8vw,108px);height:clamp(31px,2.8vw,38px);padding:0 8px;position:relative;overflow:hidden}.dash-meter i,.attack-meter i{opacity:.52;transform:scaleX(var(--charge-progress,0));transform-origin:0;background:linear-gradient(90deg,#4c347585,#c2a8ffbd);transition:transform 90ms linear,opacity .13s,background .13s;position:absolute;inset:0}.dash-meter i{transform:translate(-102%)}.dash-meter.is-ready i{transform:translate(0)}.punch-meter i{background:linear-gradient(90deg,#6f274f85,#ff9fcdb8)}.dash-meter span,.attack-meter span{z-index:2;color:#ffffff8c;letter-spacing:.08em;white-space:nowrap;place-items:center;height:100%;font-size:clamp(5px,.5vw,7px);font-weight:900;display:grid;position:relative}.dash-meter.is-ready span,.attack-meter.is-ready span,.attack-meter.is-charging span,.attack-meter.is-charged span{color:#fff}.attack-meter.is-ready i{opacity:.2;transform:scaleX(1)}.attack-meter.is-charging i{opacity:.82;transform:scaleX(var(--charge-progress,0))}.attack-meter.is-charged{border-color:#f6efffa8;box-shadow:0 0 18px #bc97ff45,inset 0 0 11px #ffffff1c}.attack-meter.is-charged i{opacity:.92;background:linear-gradient(90deg,#7450c4,#f8f2ff,#b987ff);transform:scaleX(1)}.punch-meter.is-charged i{background:linear-gradient(90deg,#91365f,#fff3fa,#ff88c2)}.beam-meter.is-sealed{border-color:#f36c8661}.beam-meter.is-sealed i{opacity:.58;background:#cb435e94;transform:scaleX(1)}.beam-meter.is-sealed span{color:#ffc0cd}.boss-hud{border-radius:10px;width:min(450px,100%);margin-top:26px;padding:7px 11px 9px}.boss-hud>div:first-child{justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px;display:flex}.boss-hud span{text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Yu Mincho,serif;font-size:clamp(9px,.85vw,12px);font-weight:800;overflow:hidden}.boss-hud strong{color:#ef708a;align-items:baseline;gap:8px;display:flex}.boss-hud strong small{letter-spacing:.2em;font-size:7px}.boss-hud strong b{color:#ffe9ee;letter-spacing:.05em;font-family:Arial Narrow,sans-serif;font-size:clamp(8px,.76vw,11px)}.boss-health-track{background:#ffffff17;border-radius:5px;height:6px;overflow:hidden}.boss-health-track i{border-radius:inherit;background:linear-gradient(90deg,#922b43,#f16d88,#ffd3dc);width:100%;height:100%;transition:width .15s;display:block;box-shadow:0 0 12px #ef6d887a}.boss-hud.is-secret{background:linear-gradient(145deg,#26070eed,#070307e8);border-color:#ff54717a}.hud:not(.is-boss-active) .boss-hud{display:none}.hud.is-boss-active .ability-row{opacity:.72;transform:scale(.9)}.touch-controls{z-index:38;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0}.touch-cluster{bottom:max(14px, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;display:flex;position:absolute}.touch-movement{left:max(14px, env(safe-area-inset-left));gap:8px}.touch-actions{right:max(14px, env(safe-area-inset-right));grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,50px);gap:7px;display:grid}.touch-cluster button{color:#ffffffe0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);touch-action:none;background:linear-gradient(145deg,#281d39c7,#050309c7);border:1px solid #f1ebff47;border-radius:18px;place-content:center;min-width:52px;min-height:52px;font-size:18px;font-weight:900;display:grid;box-shadow:0 9px 24px #00000040,inset 0 0 14px #ffffff0a}.touch-cluster button small{color:#ffffff8a;letter-spacing:.08em;font-size:6px;font-weight:900}.touch-cluster button b{margin-top:1px;font-size:14px}.touch-cluster button.is-pressed{color:#09060e;background:#c6b0ff;border-color:#e5dcff;transform:scale(.94);box-shadow:0 0 25px #b596ff7a}.touch-movement button{border-radius:22px;width:62px;height:62px}.touch-observe{grid-area:1/1}.touch-jump{grid-area:1/2}.touch-beam{grid-area:1/3/span 2;align-self:center;height:66px;border-color:#c9b7ff6b!important}.touch-dash{grid-area:2/1}.touch-punch{grid-area:2/2;border-color:#ff97c257!important}.orientation-hint{display:none}.pause-screen,.result-screen{z-index:50;-webkit-backdrop-filter:blur(9px)saturate(.72);backdrop-filter:blur(9px)saturate(.72);background:radial-gradient(circle at 50% 38%,#6c4d941c,#0000 42%),#020104c2}.modal-panel{border:1px solid var(--line-strong);width:min(540px,84%);box-shadow:var(--shadow-deep), inset 0 1px 0 #ffffff0d;text-align:center;background:linear-gradient(145deg,#261b34f7,#07040afc),repeating-linear-gradient(0deg,#0000 0 44px,#ffffff05 44px 45px);border-radius:18px;padding:clamp(24px,3vw,42px);position:relative;overflow:hidden}.modal-panel:before{content:"";background:linear-gradient(90deg,#0000,#c9b5ff,#0000);width:42%;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.modal-panel h2{letter-spacing:.04em;margin:0;font-family:Georgia,Yu Mincho,serif;font-size:clamp(30px,3.6vw,48px);line-height:1.15}.modal-panel>p:not(.eyebrow){color:var(--text-muted);margin:10px 0 22px;font-size:clamp(9px,.95vw,13px);line-height:1.65}.pause-panel{width:min(690px,86%)}.pause-panel .eyebrow{margin-bottom:8px}.pause-content{grid-template-columns:minmax(220px,.9fr) minmax(260px,1.1fr);align-items:stretch;gap:12px;margin:18px 0;display:grid}.pause-controls{text-align:left;background:#00000026;border:1px solid #ffffff17;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:2px 13px;padding:8px 12px;display:grid}.pause-controls p{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:6px;min-width:0;margin:0;padding:5px 0;display:flex}.pause-controls span{color:var(--text-faint);letter-spacing:.12em;font-size:6px;font-weight:900}.pause-controls kbd{text-overflow:ellipsis;max-width:78px;font-size:6px;overflow:hidden}.pause-panel>.primary-button{width:min(350px,100%)}.button-row{justify-content:center;align-items:center;gap:8px;margin-top:17px;display:flex}.secondary-button,.text-button{color:#ffffffab;background:0 0;padding:9px 13px;font-size:clamp(8px,.78vw,11px);font-weight:800}.secondary-button{border:1px solid #ffffff2b;border-radius:8px}.secondary-button:hover,.text-button:hover{color:#fff;border-color:var(--violet-bright);background:#9f7dea17}.pause-fullscreen{height:34px;margin:0}.result-panel{width:min(600px,86%)}.result-panel .eyebrow{margin-bottom:9px}.result-panel .primary-button{width:min(390px,100%)}.result-achievements{justify-content:center;align-items:center;gap:6px;min-height:23px;margin-top:-8px;display:flex}.result-achievements span{color:#dacdff;letter-spacing:.12em;background:#9f7dea1a;border:1px solid #cebbff47;border-radius:20px;padding:4px 8px;font-size:6px;font-weight:900}.result-stats{grid-template-columns:repeat(4,1fr);gap:7px;margin:16px 0 10px;display:grid}.result-stats div,.result-bonus div{background:#00000026;border:1px solid #ffffff17;border-radius:8px;flex-direction:column;min-width:0;padding:10px 5px;display:flex}.result-stats span,.result-bonus span{color:var(--violet-bright);letter-spacing:.11em;font-size:clamp(6px,.6vw,8px);font-weight:900}.result-stats strong{margin-top:3px;font-family:Arial Narrow,sans-serif;font-size:clamp(12px,1.4vw,19px)}.result-bonus{grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 16px;display:grid}.result-bonus div{padding:6px 5px}.result-bonus strong{color:var(--text-muted);margin-top:2px;font-family:Arial Narrow,sans-serif;font-size:clamp(8px,.9vw,12px)}.result-bonus .is-earned{background:#9f7dea14;border-color:#cdb7ff33}.result-bonus .is-earned strong{color:#e9e0ff}.result-screen:not(.is-loss) .modal-panel{box-shadow:0 0 90px #9f7dea29, var(--shadow-deep)}.result-screen.is-loss .eyebrow{color:var(--coral)}.result-screen.is-loss .modal-panel:before{background:linear-gradient(90deg, transparent, var(--coral), transparent)}.result-screen.is-true-ending .modal-panel{box-shadow:0 0 105px #ce466133, var(--shadow-deep);border-color:#e0587069}.result-screen.is-true-ending .modal-panel:before{background:linear-gradient(90deg,#0000,#ff758f,#f3e4ff,#0000)}.audio-mixer{background:linear-gradient(110deg,#08050ddb,#221730b8),repeating-linear-gradient(90deg,#0000 0 31px,#ffffff08 31px 32px);border:1px solid #d8caff30;border-radius:10px;width:min(370px,100%);margin:12px 0 0;padding:9px 11px 10px;box-shadow:inset 0 0 22px #a990ee0f}.audio-mixer>p{justify-content:space-between;align-items:baseline;margin:0 0 6px;display:flex}.audio-mixer>p span{color:#d6c9fa;letter-spacing:.2em;font-size:8px;font-weight:900}.audio-mixer>p small{color:#ffffff59;font-size:7px}.audio-mixer label{color:#ffffffb0;letter-spacing:.12em;grid-template-columns:34px minmax(90px,1fr) 38px;align-items:center;gap:8px;min-height:24px;font-size:8px;font-weight:900;display:grid}.audio-mixer input[type=range]{appearance:none;background:linear-gradient(90deg, #b49af4 var(--audio-level,50%), #ffffff1f var(--audio-level,50%));cursor:pointer;border-radius:4px;width:100%;height:4px;margin:0}.audio-mixer input[type=range]::-webkit-slider-thumb{appearance:none;background:#7f60c8;border:2px solid #f5f0ff;border-radius:50%;width:13px;height:13px;box-shadow:0 0 10px #b99eff9e}.audio-mixer input[type=range]:focus-visible{outline-offset:5px;outline:2px solid #e5dcff}.audio-mixer output{color:#f0ebff;text-align:right;font-family:Arial Narrow,sans-serif;font-size:9px}.pause-screen .audio-mixer{text-align:left;width:100%;height:100%;margin:0}@media (max-width:1000px),(max-height:760px){.title-screen{padding:clamp(18px,2.4vw,32px) clamp(24px,4vw,54px)}.campaign-title-layout{grid-template-columns:minmax(235px,.68fr) minmax(500px,1.32fr);column-gap:16px}.title-copy{margin:8px 0 10px}.control-grid{gap:4px 7px;margin-top:8px}.gamepad-note{margin-top:6px}.stage-select-panel{padding:10px}.stage-select-heading{margin-bottom:6px}.stage-button{min-height:43px;padding:4px 6px}.stage-preview{min-height:46px;margin-top:6px;padding:5px 8px}.campaign-title-layout .audio-mixer{margin-top:7px;padding:6px 8px}.campaign-title-layout .audio-mixer>p{display:none}.campaign-title-layout .audio-mixer label{min-height:20px}.hud-center{width:min(420px,36vw);left:calc(50% - 64px)}.ability-row{transform-origin:top;transform:scale(.9)}.boss-hud{width:min(390px,100%)}.hud.is-boss-active .ability-row{transform-origin:top;transform:scale(.82)}}@media (max-width:900px),(max-height:620px){#game-shell{width:min(100vw - 16px,177.778dvh - 42.6667px)}.outside-hint,.title-copy,.control-grid,.gamepad-note{display:none}.campaign-title-layout{grid-template-columns:minmax(210px,.58fr) minmax(480px,1.42fr);column-gap:12px}.campaign-progress-summary{margin-top:12px}.stage-select-heading>span{display:none}.stage-button{min-height:46px}.stage-preview{grid-template-columns:minmax(130px,.9fr) minmax(150px,1.3fr) auto}.stage-preview p{font-size:7px}.hud{padding:7px}.hud-left{width:165px}.stage-chip{padding:6px 8px 10px}.hud-stat{min-width:50px;padding:3px 5px}.hud-stat.compact{min-width:40px}.hud-center{width:340px;top:7px}.dash-meter,.attack-meter{width:82px;height:29px}.boss-hud{width:335px;margin-top:28px;padding:5px 8px 7px}.pause-panel{width:min(720px,94%);padding:15px 20px}.pause-panel>p:not(.eyebrow){margin:4px 0 9px}.pause-content{margin:9px 0}.pause-controls p{padding:3px 0}.result-panel{padding:17px 22px}.result-panel>p:not(.eyebrow){margin:5px 0 10px}.result-stats{margin:10px 0 7px}.result-bonus{margin-bottom:10px}.button-row{margin-top:9px}}@media (max-width:760px),(max-height:520px){#app{padding:4px}#game-shell{border-radius:10px;width:min(100vw - 8px,177.778dvh - 14.2222px)}.hud{padding:4px}.hud-left{width:132px}.stage-chip{border-radius:4px 9px 7px 4px;padding:4px 6px 8px}.stage-chip small{display:none}.health-meter{gap:2px;width:112px;margin-top:-4px;padding:3px 6px 5px}.player-health-track{height:4px}.hud-right{border-radius:9px;min-height:36px;padding:2px}.hud-stat{min-width:42px;padding:2px 4px}.hud-stat.compact,.debt-stat{display:none}.hud-right .icon-button{border-radius:7px;width:29px}.hud-center{width:286px;top:4px}.dash-meter,.attack-meter{border-radius:7px;width:70px;height:25px;padding:0 4px}.boss-hud{width:286px;margin-top:20px;padding:4px 7px 5px}.boss-health-track{height:4px}.hud.is-boss-active .ability-row{transform-origin:top;transform:scale(.78)}.modal-panel h2{font-size:27px}.pause-panel{width:min(720px,96%);padding:10px 15px}.pause-panel .eyebrow{margin-bottom:3px}.pause-content{grid-template-columns:1fr 1fr;gap:7px;margin:6px 0}.pause-controls{padding:3px 8px}.pause-controls p:nth-child(n+5){display:none}.pause-screen .audio-mixer{padding:4px 7px}.pause-screen .audio-mixer>p{display:none}.pause-screen .audio-mixer label{min-height:18px}.pause-panel>.primary-button{padding:7px 11px}.secondary-button,.text-button{padding:6px 9px}.result-panel{width:min(600px,94%);padding:12px 16px}.result-achievements{min-height:18px}.result-stats div{padding:6px 3px}.result-bonus div{padding:4px 3px}.result-panel .primary-button{padding:7px 11px}}@media (orientation:landscape) and (max-height:320px){.boss-hud{margin-top:54px}.ability-row,.hud.is-boss-active .ability-row{transform-origin:top;gap:3px;transform:translate(-32px)}.dash-meter,.attack-meter{border-radius:6px;width:40px;height:20px;padding:0 2px}.dash-meter span,.attack-meter span{font-size:0}.dash-meter span:after,.attack-meter span:after{letter-spacing:.04em;font-size:6px}.dash-meter span:after{content:"DASH"}.beam-meter span:after{content:"BEAM"}.punch-meter span:after{content:"PUNCH"}}@media (orientation:portrait) and (max-width:760px){#game-shell.is-title-mode{aspect-ratio:auto;border-radius:12px;width:calc(100vw - 8px);height:calc(100dvh - 8px)}#game-shell.is-title-mode #game-canvas{opacity:0}#game-shell.is-title-mode .title-screen{padding:max(28px, env(safe-area-inset-top)) 12px max(24px, env(safe-area-inset-bottom));display:block;overflow:hidden auto}#game-shell.is-title-mode .campaign-title-layout{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;height:auto;display:grid}#game-shell.is-title-mode .title-panel{grid-area:auto/1;width:100%;padding:0 4px}#game-shell.is-title-mode h1{font-size:clamp(39px,14vw,58px)}#game-shell.is-title-mode .title-copy,#game-shell.is-title-mode .control-grid,#game-shell.is-title-mode .gamepad-note,#game-shell.is-title-mode .title-orbit{display:none}#game-shell.is-title-mode .campaign-progress-summary{width:100%;margin-top:14px}#game-shell.is-title-mode .continue-button,#game-shell.is-title-mode .audio-mixer{width:100%}#game-shell.is-title-mode .stage-select-panel{border-radius:12px;grid-area:auto/1;max-height:none;padding:10px;overflow:visible}#game-shell.is-title-mode .stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}#game-shell.is-title-mode .stage-button{min-height:48px;padding:4px 7px}#game-shell.is-title-mode .stage-button strong{font-size:8px}#game-shell.is-title-mode .stage-button small{font-size:6px;display:block}#game-shell.is-title-mode .stage-preview{grid-template-columns:minmax(0,1fr) auto}#game-shell.is-title-mode .stage-preview p,.touch-cluster{display:none}.touch-controls{z-index:60}.orientation-hint{z-index:1;width:min(280px,82%);color:var(--text);pointer-events:auto;text-align:center;background:#08050df7;border:1px solid #ded1ff7a;border-radius:14px;place-items:center;padding:16px 18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 50px #000000a3}.orientation-hint span{color:var(--violet-bright);font-size:30px}.orientation-hint strong{margin-top:5px;font-family:Georgia,Yu Mincho,serif;font-size:16px;line-height:1.45}.orientation-hint small{color:#efeaf7d1;margin-top:5px;font-size:10px;line-height:1.5}}@media (max-width:440px){#game-shell.is-title-mode .title-screen{padding-left:9px;padding-right:9px}#game-shell.is-title-mode .title-subtitle{font-size:10px}#game-shell.is-title-mode .stage-select-heading h2{font-size:16px}#game-shell.is-title-mode .stage-button{min-height:45px}#game-shell.is-title-mode .stage-preview{min-height:45px;padding:5px 7px}.title-fullscreen{top:8px;right:8px}}@media (any-pointer:coarse){.outside-hint{display:none}}@media (any-pointer:coarse) and (orientation:landscape) and (max-height:520px){.touch-cluster{bottom:max(8px, env(safe-area-inset-bottom))}.touch-movement{left:max(8px, env(safe-area-inset-left))}.touch-actions{right:max(8px, env(safe-area-inset-right))}.touch-movement button{width:54px;min-width:54px;height:54px;min-height:54px}.touch-actions{grid-template-rows:repeat(2,41px);grid-template-columns:repeat(3,44px);gap:5px}.touch-actions button{border-radius:14px;min-width:44px;min-height:44px}.touch-beam{height:58px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.attack-meter i,.audio-mixer input[type=range],.campaign-progress-track i,.boot-progress i{transition:none!important}}.card-hud{--card-slot-width:clamp(42px,5.8vh,52px);--card-slot-height:clamp(63px,8.7vh,78px);z-index:48;pointer-events:auto;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.card-stock{grid-template-columns:repeat(5,var(--card-slot-width));background:#05040ad1;border:1px solid #8874b5;border-radius:10px;gap:4px;padding:5px;display:grid}.card-slot{width:var(--card-slot-width);height:var(--card-slot-height);color:#fff;cursor:pointer;background:#100c1a;border:1px solid #9a86c5;border-radius:6px;padding:0;position:relative;overflow:hidden}.card-slot img{object-fit:cover;width:100%;height:100%}.card-slot-empty{width:var(--card-slot-width);height:var(--card-slot-height);background:#100c1a80;border:1px dashed #5d526f;border-radius:6px}.card-slot.is-selected{outline-offset:2px;outline:2px solid #e5d5ff}.card-slot.is-used img,.card-slot[aria-disabled=true] img{filter:brightness(.35)saturate(.6)}.card-name{text-overflow:ellipsis;white-space:nowrap;background:#040308d1;padding:2px;font-size:8px;line-height:1.1;position:absolute;inset:auto 2px 2px;overflow:hidden}.card-cost{background:#17136a;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid;position:absolute;top:3px;left:3px}.card-used,.card-cooldown{letter-spacing:1px;background:#05030a7a;place-items:center;font-weight:900;display:grid;position:absolute;inset:0}.card-cooldown{font-size:18px}.card-invalid{color:#ff92a9;font-size:16px;position:absolute;top:3px;right:4px}.card-library-button{color:#ddd2f4;background:#100b1c;border:1px solid #8874b5;border-radius:7px;height:34px}.card-hud.is-debug-room{--card-slot-width:36px;--card-slot-height:54px}.card-hud.is-debug-room .card-stock{grid-template-columns:repeat(10,var(--card-slot-width));gap:3px}.card-hud.is-debug-room .card-name{font-size:6px}.card-hud.is-debug-room .card-cost{width:16px;height:16px;font-size:8px}.card-hud.is-debug-room .card-used{letter-spacing:0;font-size:9px}.card-hud.is-debug-room .card-library-button{width:42px;font-size:0}.card-hud.is-debug-room .card-library-button:after{content:"LIB";font-size:9px}.card-library-overlay{z-index:120;pointer-events:auto;background:#020207d6;place-items:center;display:grid;position:absolute;inset:0}.card-library-panel{color:#eee;background:#090711;border:1px solid #8d79b9;border-radius:14px;width:min(1040px,92vw);max-height:86vh;padding:20px;overflow:auto}.card-library-panel header{justify-content:space-between;align-items:center;display:flex}.card-library-panel header button{color:#fff;background:0 0;border:0;font-size:28px}.card-library-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}.card-library-section-title{color:#cfc0e8;letter-spacing:.12em;border-bottom:1px solid #4f4163;grid-column:1/-1;margin:8px 0 0;padding-bottom:5px;font-size:12px}.library-card-entry{align-content:start;min-width:0;display:grid}.library-card{color:#ddd;background:#100c19;border:1px solid #554869;border-radius:8px;gap:4px;width:100%;padding:7px;display:grid}.library-card.is-active{border-color:#78e2be;box-shadow:0 0 0 2px #78e2be55}.library-card img{aspect-ratio:2/3;object-fit:cover;width:100%}.library-card small{color:#a99ac5}.library-card-controls{grid-template-columns:30px 1fr 30px;gap:3px;margin-top:6px;display:grid}.library-card-controls button{color:#e8dcfa;background:#181022;border:1px solid #67567e;border-radius:5px;min-width:0;padding:5px 2px;font-size:10px}.library-card-controls button[aria-pressed=true]{color:#fff2cf;background:#3a2712;border-color:#ffca77}.library-card-controls button:disabled{opacity:.3}.card-library-empty{text-align:center;color:#aaa0b8;grid-column:1/-1;padding:50px}@media (max-width:600px){.card-hud{--card-slot-width:42px;--card-slot-height:63px;bottom:8px}.card-stock{gap:3px;padding:5px}.card-name{font-size:7px}.card-cost{width:18px;height:18px;font-size:9px}.card-library-button{width:34px;font-size:0}.card-library-button:after{content:"L";font-size:12px}.library-card-controls{grid-template-columns:26px 1fr 26px}.library-card-controls button{font-size:9px}.card-hud.is-debug-room{--card-slot-width:29px;--card-slot-height:44px}.card-hud.is-debug-room .card-stock{grid-template-columns:repeat(7,var(--card-slot-width));gap:2px;padding:3px}.card-hud.is-debug-room .card-used{font-size:7px}}@media (max-width:600px) and (any-pointer:coarse){.card-hud{bottom:72px}}@media (orientation:landscape) and (max-height:320px) and (pointer:fine){.card-hud{--card-slot-width:32px;--card-slot-height:48px;gap:4px;bottom:4px}.card-stock{border-radius:7px;gap:2px;padding:3px}.card-slot,.card-slot-empty{border-radius:4px}}.stage-maker-screen{--maker-panel:#0c0812f5;--maker-panel-raised:#191124f5;--maker-line:#dfd5f829;--maker-line-strong:#cdbbff61;--maker-accent:#bba3ff;--maker-accent-strong:#e2d8ff;--maker-gold:#e4c778;--maker-safe:#70dfc0;--maker-danger:#f0718b;z-index:85;color:#f5f1fa;background:radial-gradient(circle at 52% 42%,#5b3f841f,#0000 45%),linear-gradient(135deg,#09060f,#050308 62%);grid-template-rows:clamp(48px,5.2vw,64px) auto minmax(0,1fr) 28px;place-items:stretch stretch;padding:0;font-size:clamp(8px,.72vw,11px);display:grid;overflow:hidden}#game-shell.is-maker-mode{aspect-ratio:auto;border-radius:14px;width:min(100vw - 12px,1600px);height:min(100dvh - 12px,1000px)}#app.is-maker-mode{padding:6px}#game-shell.is-maker-mode #game-canvas{opacity:.12;filter:saturate(.3)brightness(.35)}#game-shell.is-maker-mode~.outside-hint{display:none}.maker-command-bar{z-index:4;border-bottom:1px solid var(--maker-line);background:linear-gradient(#1e142bfa,#0b0711fa),repeating-linear-gradient(90deg,#0000 0 80px,#ffffff05 80px 81px);align-items:center;gap:clamp(6px,.8vw,12px);min-width:0;padding:6px clamp(8px,1.15vw,16px);display:flex;box-shadow:0 10px 28px #0000005c}.maker-brand{align-items:center;gap:9px;min-width:clamp(150px,14vw,220px);display:flex}.maker-brand>div{display:grid}.maker-brand span,.maker-panel-heading span{color:var(--maker-accent);letter-spacing:.18em;font-family:Arial Narrow,Arial,sans-serif;font-size:7px;font-weight:900}.maker-brand strong{letter-spacing:.08em;font-family:Georgia,Yu Mincho,serif;font-size:clamp(14px,1.2vw,19px)}.maker-command-bar button,.maker-command-bar select,.maker-inspector button,.maker-inspector input,.maker-inspector select{border:1px solid var(--maker-line);color:#eee9f6;background:#ffffff0d;border-radius:8px;min-height:32px}.maker-command-bar button,.maker-inspector button{cursor:pointer;letter-spacing:.05em;transition:border-color .12s ease, background .12s ease, transform .12s var(--ease-out);padding:6px 10px;font-size:9px;font-weight:900}.maker-command-bar button:hover,.maker-inspector button:hover{border-color:var(--maker-line-strong);background:#bba3ff1c;transform:translateY(-1px)}.maker-icon-button{place-items:center;width:34px;min-width:34px;display:inline-grid;padding:0!important;font-size:16px!important}.maker-command-bar button:disabled{cursor:not-allowed;opacity:.36}.maker-delete-button:not(:disabled){color:#ffb7c4!important;border-color:#f0718b7a!important}.maker-back{border-color:#fff3!important;border-radius:50%!important}.maker-history,.maker-file-actions,.maker-primary-actions{align-items:center;gap:5px;min-width:0;display:flex}.maker-file-actions{flex:1}.maker-stage-copy{border-left:1px solid var(--maker-line);align-items:center;gap:5px;min-width:150px;padding-left:8px;display:flex}.maker-stage-copy span{color:var(--text-faint);letter-spacing:.08em;font-size:7px;font-weight:900}.maker-stage-copy select{width:min(180px,14vw);padding:0 7px;font-size:8px}.maker-primary-actions{margin-left:auto}.maker-copy-json-button{color:#b9f6e4!important;border-color:#70dfc061!important}.maker-save-state{color:var(--text-faint);white-space:nowrap;font-size:7px;font-weight:800;transition:color .16s}.maker-save-state.is-saved{color:var(--maker-safe)}.maker-export-receipt{z-index:3;min-width:0;min-height:34px;color:var(--text-muted);background:linear-gradient(90deg,#14433a70,#0d0914f5 70%);border-bottom:1px solid #70dfc038;justify-content:center;align-items:center;gap:10px;padding:4px 12px;display:flex}.maker-export-receipt>div{align-items:center;gap:7px;min-width:0;display:flex}.maker-export-receipt span{color:var(--maker-safe);letter-spacing:.08em;white-space:nowrap;font-size:7px;font-weight:900}.maker-export-receipt strong{color:#e8fff8;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.maker-export-receipt em{color:var(--text-faint);white-space:nowrap;font-size:7px;font-style:normal}.maker-export-receipt button{color:#c9f8eb;cursor:pointer;white-space:nowrap;background:#70dfc014;border:1px solid #70dfc057;border-radius:7px;min-height:26px;padding:4px 8px;font-size:7px;font-weight:900}.maker-export-receipt button:hover{background:#70dfc024;border-color:#70dfc09e}.maker-export-receipt button:focus-visible{outline:2px solid var(--maker-safe);outline-offset:2px}.maker-play-button{min-width:clamp(112px,11vw,160px);box-shadow:0 7px 22px #5d3d0b3d,inset 0 1px #ffffff21;color:#fff7d7!important;background:linear-gradient(135deg,#8f681bb3,#4a2e0ee0)!important;border-color:#e4c77894!important;font-size:10px!important}.maker-play-button span{color:#ffe28f}.maker-layout{grid-template-columns:clamp(150px,13vw,210px) minmax(0,1fr) clamp(190px,18vw,285px);min-width:0;min-height:0;display:grid}.maker-palette,.maker-inspector{z-index:3;background:var(--maker-panel);scrollbar-color:#bba3ff4d transparent;scrollbar-width:thin;min-width:0;min-height:0;position:relative;overflow:hidden auto}.maker-palette{border-right:1px solid var(--maker-line);padding:clamp(8px,1vw,14px)}.maker-inspector{border-left:1px solid var(--maker-line)}.maker-panel-heading{gap:2px;margin-bottom:10px;display:grid}.maker-panel-heading strong{font-family:Georgia,Yu Mincho,serif;font-size:14px}.maker-palette-group+.maker-palette-group{margin-top:12px}.maker-palette-group>p{color:var(--text-faint);letter-spacing:.15em;margin:0 0 5px;font-size:6px;font-weight:900}.maker-palette-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.maker-palette-group button{border:1px solid var(--maker-line);color:#efeaf7b8;cursor:pointer;text-align:center;min-width:0;min-height:clamp(58px,4.8vw,72px);transition:border-color .12s ease, color .12s ease, background .12s ease, transform .12s var(--ease-out);background:linear-gradient(145deg,#bba3ff0d,#0000),#ffffff08;border-radius:9px;align-content:center;padding:5px;display:grid;position:relative}.maker-palette-group button:hover,.maker-palette-group button.is-active{color:#fff;background:linear-gradient(145deg,#bba3ff33,#0000 65%),#ffffff0d;border-color:#bba3ffa3;transform:translateY(-1px);box-shadow:inset 0 0 18px #bba3ff12}.maker-palette-preview{background:radial-gradient(circle at 50% 42%,#bba3ff21,#0000 64%),#0000003d;border:1px solid #dfd5f81a;border-radius:6px;place-items:center;width:100%;height:clamp(29px,2.6vw,38px);display:grid;overflow:hidden}.maker-palette-preview img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.maker-palette-preview-ground img,.maker-palette-preview-ledge img,.maker-palette-preview-movingPlatform img{object-fit:cover}.maker-palette-preview-ground,.maker-palette-preview-ledge,.maker-palette-preview-movingPlatform{border-color:#97cdb433}.maker-palette-preview-cardPickup img{width:68%}.maker-palette-preview-goal img{width:72%}.maker-palette-preview-bossArena img{width:78%}.maker-palette-preview-spawn img{object-fit:fill;object-position:left top;width:400%;max-width:none;height:100%}.maker-palette-preview-hazard img{width:74%;height:90%}.maker-palette-preview-reversalBlock img,.maker-palette-preview-oneWayPlatform img{width:92%}.maker-palette-preview-reversalSwitch img{width:78%}.maker-palette-preview-reversalDoor img{width:42%}.maker-palette-select-preview i{color:var(--maker-accent);font-family:Georgia,serif;font-size:23px;font-style:normal;line-height:1}.maker-palette-group button>.maker-palette-label{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:8px;font-weight:900;overflow:hidden}.maker-palette-group button kbd{color:#ffffff47;font-size:6px;position:absolute;top:4px;right:5px}.maker-tool-readout{background:#bba3ff0f;border:1px solid #bba3ff2e;border-radius:9px;margin-top:12px;padding:9px;display:grid}.maker-tool-readout span{color:var(--text-faint);letter-spacing:.13em;font-size:6px;font-weight:900}.maker-tool-readout strong{color:var(--maker-accent-strong);margin-top:2px;font-size:9px}.maker-tool-readout small{color:var(--text-faint);margin-top:4px;font-size:6px;line-height:1.4}.maker-workbench{background:radial-gradient(circle at 50% 55%,#54377924,#0000 50%),#06040a;grid-template-rows:32px minmax(0,1fr) 25px;min-width:0;min-height:0;padding:8px;display:grid;position:relative;overflow:hidden}.maker-canvas-toolbar{min-width:0;color:var(--text-faint);justify-content:space-between;align-items:center;gap:8px;padding:0 3px;display:flex}.maker-canvas-toolbar>div{align-items:center;gap:4px;display:flex}.maker-canvas-toolbar button{border:1px solid var(--maker-line);min-height:24px;color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:6px;padding:3px 7px;font-size:7px;font-weight:900}.maker-canvas-toolbar button:disabled{cursor:not-allowed;opacity:.35}.maker-canvas-toolbar .maker-icon-button{width:24px;min-width:24px;font-size:12px!important}.maker-canvas-toolbar output{min-width:36px;color:var(--maker-accent);text-align:center;font-size:7px;font-weight:900}.maker-canvas-toolbar p{margin:0;font-size:6px}.maker-canvas-toolbar>span{text-align:right;min-width:82px;font-family:monospace;font-size:7px}.maker-stage-width-control{min-width:0;color:var(--text-faint);white-space:nowrap;align-items:center;gap:3px;font-size:6px;font-weight:900;display:flex}.maker-stage-width-control input{border:1px solid var(--maker-line-strong);width:62px;min-height:24px;color:var(--maker-accent);text-align:right;background:#ffffff0d;border-radius:6px;padding:2px 4px;font-family:monospace;font-size:8px;font-weight:900}.maker-stage-width-control em{color:var(--text-faint);font-family:monospace;font-size:6px;font-style:normal}.maker-stage-width-control input:focus-visible{outline:2px solid var(--maker-accent);outline-offset:1px}.maker-canvas-frame{border:1px solid var(--maker-line-strong);background:#0a0710;border-radius:11px;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #00000057,0 14px 38px #0000004d}.maker-canvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.maker-canvas:active{cursor:grabbing}.maker-canvas.is-placing{cursor:crosshair}.maker-world-back{fill:#0d0913}.maker-world-material{opacity:.24;filter:saturate(.72)brightness(.64);pointer-events:none}.maker-grid-minor{fill:none;stroke:#dfd5f80d;stroke-width:1px}.maker-grid-major{fill:none;stroke:#bba3ff1f;stroke-width:1.4px}.maker-ground-guide{stroke:#70dfc02e;stroke-width:2px;stroke-dasharray:10 8}.maker-world-end{stroke:#f0718bb3;stroke-width:4px;stroke-dasharray:14 8}.maker-object{cursor:move;filter:drop-shadow(0 5px 7px #00000080)}.maker-object>rect,.maker-object>circle,.maker-object>path,.maker-object>line{vector-effect:non-scaling-stroke}.maker-platform-material{fill:url(#maker-platform-material)}.maker-object-ground .maker-platform-material{stroke:#8ec4aa;stroke-width:2px}.maker-object-ground line{stroke:#95d4b8;stroke-width:5px}.maker-object-ledge .maker-platform-material{stroke:#a78bd0;stroke-width:2px}.maker-object-movingPlatform .maker-platform-material{stroke:#77c4d6;stroke-width:2px}.maker-motion-path{stroke:#77c4d6b3;stroke-width:3px;stroke-dasharray:12 8}.maker-motion-end{fill:#77c4d633;stroke:#77c4d6;stroke-width:2px}.maker-object-hazard .maker-hazard-hitbox{fill:#741f313d;stroke:#f0718b;stroke-width:2px}.maker-object-hazard .maker-hazard-material{stroke:none;pointer-events:none}.maker-object-hitbox{fill:#08050d26;stroke:#d3c2ff73;stroke-width:2px}.maker-object-enemy .maker-object-hitbox{stroke:#d3c2ff;stroke-width:3px}.maker-patrol-line{stroke:#f0718b9e;stroke-width:3px;stroke-dasharray:7 5}.maker-object-fateStone .maker-object-hitbox{stroke:#bca9e9}.maker-object-cardPickup .maker-object-hitbox{stroke:#e4c778;stroke-width:3px}.maker-object-memory .maker-object-hitbox{stroke:#ba9dff;stroke-dasharray:5 4}.maker-object-checkpoint .maker-object-hitbox{stroke:#c3aaff}.maker-object-spawn .maker-object-hitbox{stroke:#70dfc0;stroke-width:3px;stroke-dasharray:6 4}.maker-object-goal .maker-object-hitbox{stroke:#d2bfff;stroke-width:3px}.maker-object-reversalBlock .maker-object-hitbox,.maker-object-reversalDoor .maker-object-hitbox{stroke:#d8c9f3;stroke-width:3px}.maker-object-reversalSwitch .maker-object-hitbox{stroke:#f0d994;stroke-width:3px}.maker-object-oneWayPlatform .maker-object-hitbox{stroke:#c7b1ef;stroke-width:3px;stroke-dasharray:10 6}.maker-gimmick-material,.maker-actual-sprite{pointer-events:none}.maker-memory-material{opacity:.6}.maker-object-bossArena .maker-arena-zone{fill:#ae304c17;stroke:#f0718b4d;stroke-width:2px;stroke-dasharray:12 8}.maker-arena-wall{stroke:#f0718b;stroke-width:7px}.maker-arena-trigger{stroke:#e4c778;stroke-width:3px;stroke-dasharray:9 7}.maker-boss-spawn{fill:#f0718b47;stroke:#f0718b;stroke-width:4px}.maker-hidden-platform{fill:#bba3ff14;stroke:#bba3ff61;stroke-width:2px;stroke-dasharray:8 6;pointer-events:none}.maker-object-glyph{fill:#e8dcff;text-anchor:middle;pointer-events:none;font-family:Georgia,serif;font-size:15px;font-weight:900}.maker-object-caption{fill:#eee8fa;letter-spacing:1px;text-anchor:middle;paint-order:stroke;pointer-events:none;stroke:#08050d;stroke-width:4px;font-family:Arial,sans-serif;font-size:11px;font-weight:900}.maker-object.is-selected{filter:drop-shadow(0 0 9px #e4c778d1)}.maker-object.is-selected>rect:not(.maker-arena-zone),.maker-object.is-selected>circle:not(.maker-motion-end):not(.maker-boss-spawn),.maker-object.is-selected>path{stroke:#ffe39a;stroke-width:4px}.maker-resize-handle{cursor:ew-resize;fill:#ffe39a!important;stroke:#4e3810!important;stroke-width:3px!important}.maker-resize-handle[data-maker-resize=height]{cursor:ns-resize}.maker-onboarding{color:#fff8e1c2;pointer-events:none;transition:opacity .22s ease, transform .22s var(--ease-out);white-space:nowrap;background:#120c17e0;border:1px solid #e4c77857;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #00000059}.maker-onboarding.is-dismissed{opacity:0;transform:translate(-50%,-12px)}.maker-onboarding strong{color:#fff2c5;font-family:Georgia,Yu Mincho,serif;font-size:9px}.maker-onboarding span{font-size:7px}.maker-onboarding b{color:#261c0b;background:var(--maker-gold);border-radius:50%;place-items:center;width:17px;height:17px;margin-right:3px;display:inline-grid}.maker-minimap{border:1px solid var(--maker-line);cursor:pointer;background:#0b0810;border-radius:5px;height:20px;margin:4px 3px 0;position:relative;overflow:hidden}.maker-minimap svg{width:100%;height:100%;display:block}.maker-minimap svg rect{fill:#455a55}.maker-minimap svg circle{fill:#be9fff}.maker-minimap svg .is-goal{fill:#e4c778}.maker-minimap-window{pointer-events:none;background:#f6e2a617;border:1px solid #f6e2a6;min-width:3px;position:absolute;top:0;bottom:0}.maker-inspector-tabs{z-index:3;border-bottom:1px solid var(--maker-line);background:#0c0812fa;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;display:grid;position:sticky;top:0}.maker-inspector-tabs button{min-width:0;color:var(--text-faint);background:0 0;border-color:#0000;border-radius:6px;padding:5px 2px;font-size:7px;position:relative}.maker-inspector-tabs button.is-active{color:#fff;background:#bba3ff21}.maker-inspector-tabs i{color:#c5b3ed;background:#ffffff14;border-radius:7px;place-items:center;min-width:14px;height:14px;margin-left:2px;font-size:6px;font-style:normal;display:inline-grid}.maker-inspector-tabs i.has-warnings{color:#21190a;background:var(--maker-gold)}.maker-inspector-tabs i.has-errors{color:#fff;background:var(--maker-danger)}.maker-inspector-panel{padding:12px}.maker-inspector-panel.is-hidden{display:none}.maker-empty-inspector{min-height:230px;color:var(--text-faint);text-align:center;align-content:center;justify-items:center;display:grid}.maker-empty-inspector>span{color:var(--maker-accent);font-size:34px}.maker-empty-inspector strong{color:var(--text-muted);margin-top:7px;font-family:Georgia,Yu Mincho,serif;font-size:13px}.maker-empty-inspector p{max-width:180px;margin:6px 0 0;font-size:7px;line-height:1.6}.maker-inspector label,.maker-inspector-fields label{gap:4px;margin-top:9px;display:grid}.maker-inspector label>span{color:var(--text-muted);letter-spacing:.07em;font-size:7px;font-weight:900}.maker-inspector input,.maker-inspector select{outline:none;width:100%;padding:5px 7px;font-size:8px}.maker-inspector input:focus,.maker-inspector select:focus{border-color:var(--maker-accent);box-shadow:0 0 0 2px #bba3ff21}.maker-inspector-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 7px;display:grid}.maker-inspector-fields .maker-field-section,.maker-inspector-fields .maker-field-note{grid-column:1/-1}.maker-inspector-fields label:has(select){grid-column:1/-1}.maker-field-note{color:var(--text-faint);margin:7px 0 0;font-size:7px;line-height:1.55}.maker-inspector-material{background:radial-gradient(circle at 24%,#bba3ff21,#0000 45%),#ffffff08;border:1px solid #bba3ff29;border-radius:8px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px;margin:3px 0 8px;padding:6px;display:grid}.maker-inspector-material>span{color:var(--maker-accent);letter-spacing:.08em;text-align:center;font-size:6px;font-weight:900}.maker-inspector-material>div{background:#00000040;border-radius:6px;place-items:center;height:58px;display:grid;overflow:hidden}.maker-inspector-material img,.maker-inspector-material svg{object-fit:contain;max-width:100%;height:100%;display:block}.maker-inspector-material-ground img,.maker-inspector-material-ledge img,.maker-inspector-material-movingPlatform img{object-fit:cover;width:100%}.maker-inspector-material-cardPickup img{max-width:42px}.maker-inspector-material-spawn img{object-fit:fill;object-position:left top;width:400%;max-width:none;height:100%}.maker-field-section{border-top:1px solid var(--maker-line);color:var(--maker-accent);letter-spacing:.12em;margin:13px 0 -2px;padding-top:8px;font-size:7px;font-weight:900}.maker-object-actions{border-top:1px solid var(--maker-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:14px;padding-top:10px;display:grid}.maker-object-actions button{padding:5px;font-size:7px}.maker-object-actions button.is-danger{color:#ffb7c4;border-color:#f0718b57}.maker-object-actions small{color:var(--text-faint);grid-column:1/-1;font-size:7px;line-height:1.5}.maker-object-actions kbd{opacity:.5;font-size:5px}.maker-validation-summary{border:1px solid var(--maker-line);background:#ffffff08;border-radius:8px;padding:9px;display:grid}.maker-validation-summary strong{color:var(--maker-safe);font-size:9px}.maker-validation-summary.has-warnings strong{color:var(--maker-gold)}.maker-validation-summary.has-errors strong{color:var(--maker-danger)}.maker-validation-summary span{color:var(--text-faint);margin-top:3px;font-size:6px;line-height:1.5}.maker-validation-list{gap:5px;margin-top:8px;display:grid}.maker-validation-item{text-align:left;grid-template-columns:18px minmax(0,1fr);align-items:start;min-height:42px;padding:7px;display:grid;color:#f3e8c9!important;background:#664b162e!important;border-color:#e4c7784d!important}.maker-validation-item i{color:#21190a;background:#e4c778bf;border-radius:50%;place-items:center;width:16px;height:16px;font-size:6px;font-style:normal;display:inline-grid}.maker-validation-item span{font-size:7px;line-height:1.5}.maker-validation-item.is-error{color:#f5dbe1!important;background:#691e2e2e!important;border-color:#f0718b40!important}.maker-validation-item.is-error i{color:#fff;background:#f0718b8c}.maker-validation-empty{color:var(--text-faint);font-size:7px;line-height:1.65}.maker-status-bar{border-top:1px solid var(--maker-line);min-width:0;color:var(--text-faint);background:#09060efa;justify-content:space-between;align-items:center;gap:10px;padding:0 11px;font-size:6px;display:flex}.maker-status-bar>div{align-items:center;gap:6px;display:flex}.maker-status-bar i{background:var(--maker-safe);width:7px;height:7px;box-shadow:0 0 8px var(--maker-safe);border-radius:50%}.maker-status-bar i.has-warnings{background:var(--maker-gold);box-shadow:0 0 8px var(--maker-gold)}.maker-status-bar strong{color:var(--text-muted);font-size:7px}.maker-status-bar p{color:var(--maker-accent);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.maker-status-bar>span{white-space:nowrap}.stage-maker-launch-button{color:#fff3c9;cursor:pointer;letter-spacing:.1em;background:linear-gradient(110deg,#7a561b6b,#0d0914e0);border:1px solid #e4c77870;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:38px;margin-top:7px;padding:7px 11px;font-size:10px;font-weight:900;display:flex}.stage-maker-launch-button small{color:#d8bd70;letter-spacing:.04em;font-size:7px}@media (max-width:1000px),(max-height:650px){.stage-maker-screen{grid-template-rows:48px auto minmax(0,1fr) 23px}.maker-command-bar{gap:5px;padding:5px 7px}.maker-brand{min-width:120px}.maker-brand span,.maker-save-state,.maker-stage-copy span{display:none}.maker-command-bar button{min-height:28px;padding:4px 7px;font-size:7px}.maker-command-bar .maker-icon-button{width:29px;min-width:29px}.maker-stage-copy{min-width:100px;padding-left:4px}.maker-stage-copy select{width:105px;min-height:28px}.maker-layout{grid-template-columns:130px minmax(0,1fr) 190px}.maker-palette{padding:7px}.maker-palette-group button{min-height:52px}.maker-palette-preview{height:27px}.maker-palette-select-preview i{font-size:18px}.maker-palette-group button>.maker-palette-label{font-size:7px}.maker-tool-readout{display:none}.maker-workbench{grid-template-rows:27px minmax(0,1fr) 20px;padding:5px}.maker-canvas-toolbar p,.maker-stage-width-control>span{display:none}.maker-inspector-panel{padding:8px}.maker-onboarding{padding:6px 9px;top:8px}.maker-onboarding strong,.maker-status-bar>span{display:none}.maker-export-receipt{min-height:29px;padding-block:2px}}@media (max-width:760px){#game-shell.is-maker-mode{border-radius:10px;width:calc(100vw - 8px);height:calc(100dvh - 8px)}.maker-brand{min-width:auto}.maker-brand>div,.maker-file-actions>button:not([data-maker-command=export]):not([data-maker-command=import]):not([data-maker-command=copy-json]),.maker-stage-copy{display:none}.maker-export-receipt{justify-content:space-between}.maker-export-receipt em,.maker-canvas-toolbar>span{display:none}.maker-stage-width-control input{width:54px}.maker-play-button{min-width:94px}.maker-layout{grid-template-columns:92px minmax(0,1fr) 150px}.maker-palette-group>div{grid-template-columns:1fr}.maker-palette-group button{text-align:left;grid-template-columns:27px minmax(0,1fr);align-items:center;min-height:38px}.maker-palette-preview{grid-row:1;width:27px;height:27px}.maker-palette-group button>.maker-palette-label{grid-area:1/2;margin:0}.maker-palette-group button kbd{display:none}.maker-palette-group+.maker-palette-group{margin-top:7px}.maker-palette-group>p{display:none}.maker-panel-heading{margin-bottom:6px}.maker-inspector-tabs{grid-template-columns:1fr}.maker-inspector-tabs button{min-height:27px}.maker-inspector-fields{grid-template-columns:1fr}.maker-inspector-fields .maker-field-section{grid-column:1}.maker-inspector-fields label:has(select){grid-column:1}.maker-onboarding span:last-child{display:none}}@media (orientation:portrait) and (max-width:760px){.maker-layout{grid-template-rows:minmax(0,1fr) 150px;grid-template-columns:78px minmax(0,1fr)}.maker-palette{grid-area:1/1/3}.maker-workbench{grid-area:1/2}.maker-inspector{border-top:1px solid var(--maker-line);border-left:0;grid-area:2/2}.maker-inspector-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.maker-inspector-panel{padding:6px 9px}.maker-empty-inspector{min-height:85px}.maker-object-actions{border:0;width:120px;margin:0;padding:0;position:absolute;top:38px;right:8px}.maker-onboarding{display:none}}@media (prefers-reduced-motion:reduce){.maker-object{filter:none}.maker-onboarding,.maker-palette-group button,.maker-command-bar button{transition:none}}
