@font-face{font-family:Orbitron;src:url('orbitron.ttf') format('truetype');font-display:swap}@font-face{font-family:Gugi;src:url('gugi.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--bg:#06090f;--panel:#0b121d;--line:#24313f;--muted:#8b9eaf;--ink:#e8f1f8;--cyan:#60dfff;--amber:#ffb36d;--violet:#c8a1ff;--red:#ff718b;--font:Orbitron,Gugi,sans-serif;--ko:Gugi,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ko);font-size:14px;min-height:100dvh;overflow-x:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0;transition:background .15s,transform .12s,border-color .15s,box-shadow .15s}button:disabled{cursor:default;opacity:.33}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid white;outline-offset:4px}button:not(:disabled):active{transform:translateY(2px)}button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}button:hover:not(:disabled){filter:brightness(1.16)}small{font-size:10px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font);font-weight:600}[hidden]{display:none!important}.num{font-family:var(--font);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.ko{font-family:var(--ko)}
#space{position:fixed;inset:0;width:100%;height:100%;z-index:-2}.scanline{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.035;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#b4d9f1 4px)}.topbar{height:76px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 38px;border-bottom:1px solid #25354580}.brand{display:flex;align-items:center;gap:12px;text-align:left;background:none;font-family:var(--font);font-size:13px;letter-spacing:1.2px}.brand small{display:block;font-size:8px;letter-spacing:5px;color:var(--cyan);margin-top:5px}.brand-mark{border:1px solid var(--cyan);box-shadow:inset 0 0 15px #60dfff12,0 0 13px #60dfff18;width:32px;height:36px;display:grid;place-items:center;font-size:24px;color:var(--cyan);clip-path:polygon(25% 0,100% 0,100% 75%,75% 100%,0 100%,0 25%)}.utilities{display:flex;gap:6px}.icon-button{background:transparent;border:1px solid #30465877;border-radius:4px;width:37px;height:37px;display:grid;place-items:center;font-family:var(--font);font-size:20px;color:#b9cedc}.run-status{display:flex;align-items:center;gap:22px;font-family:var(--font);font-size:12px}.run-status .hp{color:#8cf0bd}.run-status .gold{color:var(--amber)}
#app{max-width:1320px;margin:auto;padding:28px 36px 36px;min-height:calc(100dvh - 76px)}.eyebrow{font-family:var(--font);font-size:10px;letter-spacing:4px;color:var(--cyan)}.home{padding-top:35px;position:relative}.home-hero{min-height:260px;display:flex;align-items:center;justify-content:space-between;gap:30px}.home-title{font-size:clamp(50px,7.6vw,98px);letter-spacing:-5px;line-height:.95;text-shadow:0 0 42px #60dfff20}.home-title span{display:block;font-weight:400;color:transparent;-webkit-text-stroke:1px #6ba8c3;text-shadow:none}.home-copy .eyebrow{margin-bottom:18px}.home-tagline{margin-top:22px;color:#aac0ce;font-size:14px;letter-spacing:2px}.hero-circuit{width:34%;max-width:360px;aspect-ratio:1;filter:drop-shadow(0 0 15px #60dfff35);opacity:.9}.hero-circuit path{stroke-dasharray:800;animation:travel 14s linear infinite}.home-select{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:28px}.section-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-family:var(--font);font-size:10px;letter-spacing:2px;margin-bottom:12px}.stage-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stage-choice{position:relative;text-align:left;min-height:143px;padding:20px;background:#0b1320c9;border:1px solid #304353;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}.stage-choice.selected{border-color:var(--cyan);background:linear-gradient(120deg,#122532db,#07121e);box-shadow:inset 3px 0 var(--cyan)}.stage-num{font:34px var(--font);color:#51768b}.stage-choice.selected .stage-num{color:var(--cyan)}.stage-choice strong{display:block;font:11px var(--font);margin-top:10px;letter-spacing:1px}.stage-choice small{display:block;margin-top:9px;color:var(--muted);font-size:11px}.lock{position:absolute;right:16px;top:18px;color:#6a7b90}.deck-list{display:flex;gap:8px}.deck-choice{flex:1;min-width:0;background:#0b1320c9;text-align:center;border:1px solid #304353;padding:18px 8px;min-height:143px}.deck-choice svg{width:31px;height:31px;color:var(--accent);margin-bottom:10px}.deck-choice strong{display:block;font:11px var(--font);letter-spacing:1px}.deck-choice small{display:block;color:var(--muted);margin-top:10px;font-size:10px}.deck-choice.selected{border-color:var(--accent);box-shadow:inset 0 -2px var(--accent);background:#111d29}.home-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.deck-note{font-size:12px;color:var(--muted)}.home-actions{display:flex;gap:10px}.primary,.secondary,.danger{min-height:48px;padding:12px 25px;border:1px solid var(--cyan);background:#102734;color:#c6f5ff;letter-spacing:1px;box-shadow:inset 0 0 20px #60dfff0a}.primary{background:linear-gradient(110deg,#173e4d,#102634);box-shadow:0 0 22px #60dfff15,inset 0 0 15px #60dfff0b}.primary:hover{box-shadow:0 0 22px #60dfff30}.secondary{border-color:#395064;background:#0d1823;color:#b8cbd9}.danger{border-color:#a85763;color:#ffa4b5;background:#27131c}.small-button{min-height:36px;padding:8px 12px;font-size:11px;border:1px solid #304454;background:#101c28;color:#bfd5e5}.text-button{background:none;color:var(--muted);text-decoration:underline;text-underline-offset:5px;padding:10px}
.workspace-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.workspace-title{font:22px var(--font);letter-spacing:3px}.workspace-title small{display:block;font:11px var(--ko);color:var(--muted);letter-spacing:1px;margin-top:8px}.tabs{display:flex;border-bottom:1px solid #304353;gap:4px}.tab{background:none;padding:12px 20px;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}.boss-progress{display:flex;gap:6px}.boss-progress i{height:4px;width:19px;background:#293442;display:block}.boss-progress i.done{background:#6fae9a}.boss-progress i.current{background:var(--cyan);box-shadow:0 0 10px #60dfff90}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}.work-main{min-width:0}.side-panel{border-left:1px solid var(--line);padding-left:24px;min-width:0}.boss-card{position:relative;background:linear-gradient(180deg,#0b1524bb,#070d15aa);border:1px solid #253847}.boss-card-head{padding:17px 18px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.boss-name{font:16px var(--font);letter-spacing:1px}.boss-subtitle{margin-top:6px;color:var(--muted);font-size:10px}.boss-canvas{width:100%;height:230px;display:block;touch-action:pan-y}.boss-life{padding:0 18px 16px}.life-number{display:flex;justify-content:space-between;font:12px var(--font);margin-bottom:9px}.life-track{height:5px;background:#26313e;position:relative;overflow:hidden}.life-track .fill{height:100%;background:var(--boss-color,var(--red));box-shadow:0 0 12px var(--boss-color,var(--red));transition:width .35s}.life-track .predicted{position:absolute;top:0;height:100%;background:#f8f4e1aa;animation:predicted 1.4s infinite}.boss-shield{color:var(--cyan);font:10px var(--font)}.intent{padding:16px 0 0}.intent-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font:10px var(--font);letter-spacing:2px}.intent-current{display:flex;gap:12px;align-items:center;margin-top:10px;padding:13px;border-left:2px solid var(--amber);background:#291c143d}.intent-current svg{width:24px;height:24px;stroke:var(--amber);fill:none;stroke-width:1.5}.intent-current strong{font-size:12px;font-weight:400}.intent-value{margin-left:auto;font:21px var(--font);color:var(--amber)}.intent-future{display:flex;gap:6px;margin-top:9px}.intent-future span{background:#101a26;color:#8ca2b8;padding:7px;font-size:9px;flex:1;text-align:center;white-space:nowrap}.boss-tip{color:#9bb0c1;font-size:11px;line-height:1.9;margin-top:13px}.target-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.target{background:#101b29;border:1px solid #334354;text-align:left;padding:12px}.target strong{font-weight:400;font-size:12px}.target small{font:11px var(--font);float:right;color:var(--muted)}.target.selected{border-color:var(--amber);color:var(--amber);box-shadow:inset 0 -2px var(--amber)}.sector-summary{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:15px 0}.deploy-button{width:100%;margin-top:14px}.repair-button{width:100%;margin-top:10px;display:flex;justify-content:space-between}
.board-top{display:flex;justify-content:space-between;align-items:center;min-height:32px;margin-bottom:12px}.board-label{font:11px var(--font);letter-spacing:2px;color:#9bb7c9}.power{font:12px var(--font);color:var(--cyan);display:flex;align-items:center;gap:6px}.power svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.power.over{color:var(--red)}.board-frame{padding:16px;background:linear-gradient(140deg,#0b1724d9,#080e17);border:1px solid #304859;position:relative;box-shadow:0 18px 60px #0007}.board-frame:before,.board-frame:after{content:'';position:absolute;width:36px;height:3px;background:var(--cyan);box-shadow:0 0 12px #60dfff66;top:-2px;left:16px}.board-frame:after{top:auto;left:auto;bottom:-2px;right:16px}.board{position:relative;aspect-ratio:1;width:100%;max-width:540px;margin:auto;touch-action:none;user-select:none;background:#070c13;isolation:isolate}.cell-grid{display:grid;grid-template-columns:repeat(var(--n),1fr);height:100%;position:absolute;inset:0;gap:2px}.cell{background:#111b275e;border:1px solid #23374999;position:relative;border-radius:3px;padding:0;min-width:0;touch-action:none;z-index:1}.cell:before{content:'';position:absolute;inset:6px;border:1px solid #22334144;border-radius:2px}.cell:not(:disabled):hover{background:#243c5080}.cell.wired{background:#16364460}.cell.source,.cell.output{background:#0f303c;border-color:#4f899c}.cell.source span,.cell.output span{font:10px var(--font);letter-spacing:1px;color:#a8ebfa;position:absolute;bottom:8%;left:0;right:0}.cell svg{width:26%;height:26%;margin-bottom:10px;color:var(--cyan)}.cell[aria-pressed=true]{border-color:white;background:#314759aa}.cell.ghost-valid{background:#39756870}.cell.ghost-invalid{background:#98294170}.cell.jammed{background:repeating-linear-gradient(45deg,#59263988,#59263988 4px,#161521 4px,#161521 8px)}.module-layer,.wire-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}.wire-layer{z-index:3}.module-fill{fill:var(--mc);fill-opacity:.085;stroke:var(--mc);stroke-width:1.2;stroke-opacity:.8;filter:drop-shadow(0 0 2px var(--mc))}.module-inside{stroke:var(--mc);stroke-width:.6;opacity:.14}.module-name{font:5px Gugi;fill:#cfdfeb;letter-spacing:.1px}.module-symbol{fill:none;stroke:var(--mc);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.module-rank{fill:var(--rank);filter:drop-shadow(0 0 2px var(--rank))}.module-pulse .module-fill{animation:modulepulse .5s both}.module-boost .module-fill{stroke-width:2;fill-opacity:.2;stroke:#fff}.wire-shadow{stroke:#5ddfff;stroke-width:4;opacity:.12;fill:none;stroke-linejoin:round;stroke-linecap:round}.wire-line{stroke:#8ceeff;stroke-width:1;fill:none;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 1px #60dfff)}.wire-live{stroke:#fff;stroke-width:1.3;fill:none;stroke-dasharray:3 18;animation:signal 1s linear infinite}.board-tools{display:flex;align-items:center;gap:8px;margin-top:13px}.board-tools .hint{font-size:11px;color:var(--muted);margin-left:auto}.action-bar{margin-top:15px;display:flex;align-items:center;gap:15px}.forecast{display:flex;flex:1;gap:22px;justify-content:center}.forecast div{display:flex;align-items:center;gap:7px}.forecast svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.forecast b{font:22px var(--font);font-weight:500}.forecast .attack{color:var(--amber)}.forecast .block{color:var(--cyan)}.forecast .charge{color:var(--violet)}.execute{min-width:145px;min-height:60px;font-size:16px;position:relative}.execute:before{content:'';height:2px;position:absolute;top:-1px;left:20%;right:20%;background:#e6ffff;box-shadow:0 0 16px var(--cyan)}.outcome-note{text-align:center;color:#acc4d3;font-size:11px;margin-top:12px;min-height:18px}.module-inspector{background:#101a27;padding:16px;margin-top:16px;border-left:2px solid var(--accent,var(--cyan))}.inspect-heading{display:flex;align-items:center;gap:12px}.inspect-heading h3{font:15px var(--ko)}.inspect-heading small{display:block;margin-top:6px;font:8px var(--font);letter-spacing:1px;color:var(--rank)}.inspect-text{color:#bed0df;font-size:12px;line-height:1.85;margin-top:12px}.inspect-actions{display:flex;gap:6px;margin-top:13px}.inspect-actions button{flex:1}.inspect-prompt{color:#718b9f;text-align:center;font-size:12px;padding:25px 10px;line-height:1.8}.bag{margin-top:22px}.bag-header{display:flex;align-items:center;justify-content:space-between;font:10px var(--font);letter-spacing:2px;color:var(--muted);margin-bottom:12px}.bag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:7px;max-height:260px;overflow:auto;padding:2px}.bag-item{position:relative;border:1px solid #2e4054;background:#101a28;padding:9px 5px;text-align:center;min-width:0}.bag-item.selected{border-color:var(--accent);background:#1d303d}.bag-item.mounted{opacity:.6}.bag-item.mounted:after{content:'';position:absolute;right:5px;top:5px;width:4px;height:4px;background:var(--cyan)}.bag-item.new{animation:newitem 1.4s 3}.bag-item .item-name{display:block;font-size:9px;line-height:1.5;margin-top:6px;white-space:nowrap}.mini-shape{width:44px;height:40px;overflow:visible}.mini-shape path,.mini-shape rect{fill:var(--accent,#60dfff);fill-opacity:.1;stroke:var(--accent,#60dfff);stroke-width:.8}.mini-shape .glyph{fill:none;fill-opacity:1;stroke-width:1.4}.rank-line{height:2px;background:var(--rank);position:absolute;left:12px;right:12px;bottom:0}.rank-god{animation:rainbow 4s linear infinite}.empty-bag{font-size:11px;color:var(--muted);padding:15px;text-align:center}
.machine-wrap{position:relative;max-width:700px;margin:0 auto;padding:10px 18px 20px}.machine{position:relative;border:1px solid #5c879f;background:linear-gradient(180deg,#0a1423dd,#07111ddd);padding:23px 37px 28px;clip-path:polygon(22px 0,calc(100% - 22px) 0,100% 22px,100% calc(100% - 22px),calc(100% - 22px) 100%,22px 100%,0 calc(100% - 22px),0 22px);box-shadow:inset 0 0 35px #60dfff12}.machine:before{content:'';position:absolute;inset:7px;border:1px solid #60dfff44;clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);pointer-events:none}.marquee{position:relative;text-align:center;padding:5px 10px 21px}.marquee b{font:clamp(19px,3vw,32px) var(--font);letter-spacing:7px;color:#dff8ff;text-shadow:0 0 6px #8adfff,0 0 24px #4fbdff80}.marquee small{display:block;font:8px var(--font);letter-spacing:4px;color:#698da8;margin-top:7px}.light-rail{height:2px;margin:7px 0 22px;background:linear-gradient(90deg,transparent,#63e4ff,#c790ff,#ffc979,transparent);background-size:200% 100%;animation:rail 3s linear infinite;box-shadow:0 0 11px #87d9f980}.reel-shell{position:relative;padding:12px;background:#040913;border:1px solid #5191a9;box-shadow:0 0 24px #60dfff16,inset 0 0 22px #080d16}.reels{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:5px;overflow:hidden}.reel-cell{position:relative;aspect-ratio:.91;background:linear-gradient(180deg,#142239,#091120 45%,#101c2b);border:1px solid #2c3d52;display:grid;place-items:center;overflow:hidden}.reel-cell svg{width:58%;height:58%;stroke:var(--sym);fill:none;stroke-width:1.35;filter:drop-shadow(0 0 6px var(--sym));stroke-linejoin:round}.reel-cell.rolling svg{animation:reel .12s linear infinite;filter:blur(1px) drop-shadow(0 0 8px var(--sym))}.reel-cell.stopping{animation:stop .38s cubic-bezier(.2,.9,.3,1.3)}.reel-cell.match{border-color:#fff3c7;box-shadow:inset 0 0 15px #ffc97e40,0 0 11px #ffe19280;animation:match .7s both;z-index:1}.reel-cell.match:after{content:'';position:absolute;inset:4px;border:1px solid #ffeab0;clip-path:polygon(0 0,40% 0,40% 4%,4% 4%,4% 40%,0 40%,0 0,100% 100%,60% 100%,60% 96%,96% 96%,96% 60%,100% 60%,100% 100%)}.machine.hit{animation:cabinethit .4s both}.machine.jackpot{box-shadow:inset 0 0 65px #c590ff44;animation:rainbow 4s linear infinite}.reel-shell:before,.reel-shell:after{content:'';position:absolute;top:12%;bottom:12%;width:2px;background:var(--cyan);box-shadow:0 0 15px var(--cyan);left:-12px}.reel-shell:after{left:auto;right:-12px}.reel-controls{display:flex;justify-content:center;gap:5px;margin-top:8px}.reel-controls button{background:#101e2e;border:1px solid #2e4c63;color:#80acc7;min-height:32px;flex:1;font:11px var(--font)}.row-controls{display:flex;gap:7px;justify-content:center;margin-top:8px}.row-controls button{background:#121e2a;color:#aac6d6;border:1px solid #304356;min-height:32px;min-width:48px;font-size:11px}.slot-info{display:flex;justify-content:space-between;color:#91a7bb;font-size:10px;margin:17px 0}.slot-buttons{display:flex;gap:10px;justify-content:center;align-items:center}.spin-button{width:clamp(155px,60%,260px);min-height:73px;border:2px solid #b4f7ff;border-bottom-width:5px;background:linear-gradient(180deg,#153e50,#0b2031);font:22px var(--font);letter-spacing:3px;text-shadow:0 0 15px #8ce9ff;box-shadow:inset 0 0 17px #60dfff27,0 0 25px #60dfff25;border-radius:7px}.spin-button small{font:9px var(--font);letter-spacing:1px;display:block;margin-top:7px;color:#8de4f6}.spin-button:active:not(:disabled){border-bottom-width:2px;transform:translateY(3px)}.lever{position:absolute;right:13px;top:42%;width:17px;height:75px;pointer-events:none;transform-origin:50% 85%;transition:transform .32s cubic-bezier(.32,.1,.65,1.35)}.lever path{stroke:#ffbc83;stroke-width:3;fill:none;filter:drop-shadow(0 0 3px #ff9663)}.lever.pulled{transform:rotate(-32deg) scaleY(.7)}.slot-rewards{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:20px;min-height:42px}.reward-item{display:flex;align-items:center;gap:9px;border:1px solid var(--rank);background:#131d2ade;padding:10px 14px;text-align:left;animation:reward .5s both}.reward-item .name{font-size:11px}.reward-item small{display:block;font:8px var(--font);color:var(--rank);margin-top:6px;letter-spacing:1px}.slot-idle{color:#758da2;font-size:11px;text-align:center;align-self:center}.match-caption{font:10px var(--font);color:#f9d7a0;letter-spacing:2px;text-align:center;min-height:18px;margin-top:15px}.collected-note{color:#bcece2;font-size:11px;text-align:center;padding:16px}.machine-status{font-size:10px;color:#aac5d5;text-align:center;min-height:17px;margin-top:15px}
.victory{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;min-height:65dvh}.victory h1{font:clamp(30px,5vw,64px) var(--font);line-height:1.13;letter-spacing:-2px;margin:20px 0}.victory h1 span{color:var(--cyan)}.victory p{font-size:13px;color:var(--muted);line-height:1.9}.victory-stats{display:flex;gap:30px;margin:25px 0}.victory-stats strong{font:28px var(--font);display:block}.victory-stats small{display:block;margin-top:8px;color:var(--muted)}.victory-actions{display:flex;gap:10px}.destroyed .boss-canvas{opacity:.4}.victory .boss-card{border:0;background:none}.victory .boss-canvas{height:340px}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:20;background:#162638f5;border:1px solid #51788c;color:#e5f7ff;padding:12px 22px;font-size:12px;transition:.2s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #456071;background:#0b1420;color:var(--ink);padding:30px;width:min(680px,calc(100vw - 30px));max-height:85dvh;overflow:auto;box-shadow:0 30px 120px #000b}dialog::backdrop{background:#02050bd9;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:13px;top:10px;width:34px;height:34px;background:none;color:#9bb8ca;font:27px var(--font)}dialog h2{font-size:23px;letter-spacing:2px;margin:10px 0 24px}dialog h3{font:14px var(--ko);margin:17px 0 8px}dialog p{font-size:12px;color:#afc6d8;line-height:1.9}dialog .dialog-actions{display:flex;gap:10px;margin-top:25px}dialog .setting{display:grid;grid-template-columns:100px 1fr 42px;gap:13px;align-items:center;margin:24px 0;font-size:12px}input[type=range]{accent-color:var(--cyan);width:100%}input[type=checkbox]{accent-color:var(--cyan);width:20px;height:20px}.codex-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.codex-detail{border-top:1px solid var(--line);padding-top:16px}.help-diagram{padding:20px;background:#101e2c;display:flex;align-items:center;justify-content:center;gap:13px;font-size:13px;color:var(--cyan);margin:18px 0}.help-steps{counter-reset:step;display:grid;gap:18px}.help-steps p{position:relative;padding-left:32px}.help-steps p:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:2px;font:16px var(--font);color:var(--cyan)}.save-warning{color:var(--amber);font-size:11px;text-align:center;margin-top:16px}
@keyframes signal{to{stroke-dashoffset:-84}}@keyframes travel{to{stroke-dashoffset:-1600}}@keyframes rail{to{background-position:200% 0}}@keyframes reel{from{transform:translateY(-95%)}to{transform:translateY(95%)}}@keyframes stop{0%{transform:translateY(-6px)}50%{transform:translateY(6px)}75%{transform:translateY(-2px)}100%{transform:none}}@keyframes match{0%{filter:brightness(1)}25%{filter:brightness(3);transform:scale(1.035)}100%{filter:brightness(1.2)}}@keyframes cabinethit{20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateY(-2px)}100%{transform:none}}@keyframes modulepulse{20%{fill-opacity:.6;stroke:white;stroke-width:2.3}100%{fill-opacity:.08}}@keyframes predicted{50%{opacity:.35}}@keyframes newitem{50%{box-shadow:0 0 12px #9fecff;filter:brightness(1.6)}}@keyframes reward{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@keyframes rainbow{to{filter:hue-rotate(360deg)}}
@media(min-width:1350px){.workspace{grid-template-columns:minmax(0,720px) 350px;justify-content:center}.board{max-width:500px}.board-frame{padding:22px}}
@media(max-width:1000px){#app{padding:24px}.topbar{padding:0 24px}.workspace{grid-template-columns:minmax(0,1fr) 290px;gap:20px}.side-panel{padding-left:18px}.boss-canvas{height:200px}.machine{padding:18px 28px 24px}.machine-wrap{padding:10px 0}.run-status{gap:12px;font-size:11px}.forecast{gap:14px}.forecast b{font-size:18px}.execute{min-width:115px}.home-select{gap:20px}}
@media(max-width:740px){.topbar{height:62px;padding:0 16px}.brand{font-size:10px;gap:8px}.brand small{font-size:7px;letter-spacing:3px}.brand-mark{width:25px;height:29px;font-size:19px}.utilities{gap:4px}.icon-button{width:32px;height:32px;font-size:17px}.icon-button svg{width:18px}.run-status{font-size:10px;gap:8px}.run-status .stage-status{display:none}#app{padding:20px 16px 30px;min-height:calc(100dvh - 62px)}.home{padding-top:20px}.home-hero{min-height:210px}.home-title{font-size:64px;letter-spacing:-3px}.hero-circuit{width:34%;opacity:.55}.home-tagline{font-size:12px;letter-spacing:1px}.home-select{grid-template-columns:1fr;gap:22px;margin-top:22px}.stage-choice{min-height:118px;padding:15px}.stage-num{font-size:26px}.deck-choice{min-height:106px;padding:12px 6px}.deck-choice svg{width:24px;height:24px;margin-bottom:6px}.deck-choice small{margin-top:8px}.home-bottom{align-items:flex-start;flex-direction:column;margin-top:20px;padding-top:15px;gap:15px}.home-actions{width:100%}.home-actions button{flex:1;padding:12px}.deck-note{font-size:11px}.workspace-head{margin-bottom:16px}.workspace-title{font-size:18px;letter-spacing:2px}.workspace-title small{font-size:10px}.tabs .tab{padding:10px 13px;font-size:11px}.boss-progress{gap:4px}.boss-progress i{width:12px}.workspace{display:flex;flex-direction:column;gap:18px}.work-main{width:100%}.side-panel{width:100%;border-left:0;padding:0}.battle.workspace{display:grid;grid-template-columns:1fr;gap:14px}.battle .side-panel{grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.battle .boss-card{grid-column:1;grid-row:1 / 4}.battle .boss-card-head{padding:12px 12px 0}.battle .boss-name{font-size:12px;letter-spacing:.4px}.battle .boss-subtitle{font-size:9px}.battle .boss-canvas{height:120px}.battle .boss-life{padding:0 12px 12px}.battle .intent{padding-top:2px}.battle .intent-current{padding:10px 8px;gap:6px;margin-top:7px}.battle .intent-current strong{font-size:10px}.battle .intent-current svg{width:18px;height:18px;flex-shrink:0}.battle .intent-value{font-size:18px}.battle .intent-future{margin-top:7px;gap:3px}.battle .intent-future span{font-size:8px;padding:6px 3px}.battle .target-options{margin-top:10px;gap:5px}.battle .target{padding:9px 7px}.battle .target strong{font-size:10px}.battle .target small{font-size:9px}.battle .boss-tip{display:none}.battle .intent-top{font-size:8px;letter-spacing:1px}.battle .module-inspector{grid-column:1 / -1;margin-top:10px}.battle .inspect-prompt{display:none}.battle .board-frame{padding:10px}.board{max-width:440px}.board-frame{padding:14px}.board-top{margin-bottom:8px;min-height:25px}.board-tools{margin-top:10px}.board-tools .hint{font-size:10px}.forecast{gap:15px}.forecast b{font-size:19px}.forecast svg{width:16px}.execute{min-width:118px;min-height:54px;font-size:14px}.action-bar{gap:8px}.outcome-note{font-size:10px}.factory .side-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px}.factory .boss-card{grid-column:1;grid-row:1 / 4}.factory .boss-card-head{padding:12px 12px 0}.factory .boss-name{font-size:12px}.factory .boss-canvas{height:150px}.factory .boss-life{padding:0 12px 12px}.factory .boss-tip{font-size:10px;margin-top:0}.factory .sector-summary{display:none}.factory .deploy-button{min-height:46px;font-size:12px;margin-top:0;padding:12px 8px}.factory .repair-button{font-size:10px;margin-top:0;min-height:38px}.factory .module-inspector{grid-column:1 / -1;margin-top:0}.factory .inspect-prompt{display:none}.factory .bag{grid-column:1 / -1;margin-top:0}.bag-grid{max-height:240px;grid-template-columns:repeat(auto-fill,minmax(71px,1fr))}.machine-wrap{max-width:560px;padding:0}.machine{padding:18px 32px 22px}.marquee b{font-size:25px;letter-spacing:5px}.marquee{padding-bottom:10px}.light-rail{margin-bottom:17px}.reel-cell{aspect-ratio:1}.spin-button{min-height:66px;font-size:20px}.slot-rewards{margin-top:14px}.machine-status{font-size:9px}.victory{grid-template-columns:1fr;gap:10px}.victory .boss-card{grid-row:1}.victory .boss-canvas{height:190px}.victory h1{font-size:43px;margin:10px 0}.victory-actions button{flex:1;padding:12px}.victory-stats{margin:20px 0}.codex-grid{grid-template-columns:repeat(3,1fr)}dialog{padding:25px 20px}.setting{grid-template-columns:80px 1fr 35px!important}.module-inspector{padding:13px}.inspect-text{font-size:11px;margin-top:9px}}
@media(max-width:380px){.topbar{padding:0 10px;gap:6px}.brand{font-size:9px}.brand small{letter-spacing:2px}.brand-mark{display:none}.utilities{gap:3px}.icon-button{width:29px;height:30px}.run-status{font-size:9px;gap:6px}#app{padding:16px 10px 25px}.home-title{font-size:55px}.hero-circuit{width:28%}.home-tagline{font-size:11px}.home-hero{min-height:190px}.workspace-title{font-size:15px}.tabs .tab{padding:9px 10px}.battle .side-panel{gap:0 9px}.battle .boss-canvas{height:110px}.battle .boss-name{font-size:10px}.battle .intent-current strong{font-size:9px}.battle .intent-value{font-size:15px}.battle .intent-future span{font-size:7px}.battle .target{padding:8px 5px}.battle .target small{font-size:8px}.board-frame{padding:8px}.forecast{gap:10px}.forecast b{font-size:17px}.execute{min-width:100px}.machine{padding:15px 25px 20px}.marquee b{font-size:21px}.reel-shell{padding:7px}.reels{gap:3px}.slot-info{font-size:9px}.slot-buttons{gap:7px}.slot-buttons .secondary{padding:10px 12px}.spin-button{font-size:18px}.factory .boss-name{font-size:10px}.module-name{font-size:4px}.cell.source span,.cell.output span{font-size:8px}.reward-item{padding:8px}.reward-item .name{font-size:10px}}
.module-fill{vector-effect:non-scaling-stroke;stroke-width:1.7;filter:drop-shadow(0 0 .5px var(--mc))}.module-symbol{stroke-width:1.05}.module-name{font-size:3.65px}.wire-line{stroke-width:.48}.wire-shadow{stroke-width:2.4}.wire-live{stroke-width:.55}.lever.pulled{animation:leverpull .62s cubic-bezier(.2,.7,.3,1) both}.codex-detail .inspect-heading small svg{width:12px;height:12px;fill:none;stroke:currentColor;vertical-align:middle}.in-battle .board{max-width:min(500px,calc(100dvh - 410px))}.in-battle .board-frame{padding:14px}.in-battle .board-tools{justify-content:center}.in-battle .board-tools .hint{margin-left:14px}.in-battle .action-bar{max-width:600px;margin-left:auto;margin-right:auto}.in-battle .workspace-head{margin-bottom:14px}
.reel-cell.row-rolling svg{animation-name:reelrow}@keyframes reelrow{from{transform:translateX(-95%)}to{transform:translateX(95%)}}.route-button{background:#10212d;border:1px solid #375767;width:36px;height:36px;padding:4px}.route-button svg{width:100%;height:100%;stroke:#8feaff;stroke-width:2;fill:none}.route-button path{vector-effect:non-scaling-stroke}
@keyframes leverpull{0%{transform:rotate(0) scaleY(1)}55%{transform:rotate(-38deg) scaleY(.65)}80%{transform:rotate(-29deg) scaleY(.73)}100%{transform:rotate(-32deg) scaleY(.7)}}
@media(max-width:740px){.in-battle #app{padding-top:13px;padding-bottom:15px}.in-battle .workspace-title small{display:none}.in-battle .workspace-head{margin-bottom:12px}.in-battle .battle.workspace{gap:10px}.in-battle .battle .boss-canvas{height:90px}.in-battle .battle .boss-card-head{padding-top:9px}.in-battle .battle .boss-subtitle{display:none}.in-battle .battle .boss-life{padding-bottom:10px}.in-battle .battle .life-number{font-size:10px;margin-bottom:6px}.in-battle .battle .intent-current{margin-top:5px;padding:7px}.in-battle .battle .target-options{margin-top:6px}.in-battle .battle .target{padding:7px}.in-battle .battle .intent-future{margin-top:5px}.in-battle .battle .board{max-width:min(420px,calc(100dvh - 398px))}.in-battle .battle .board-frame{padding:8px}.in-battle .board-top{margin-bottom:6px;min-height:22px}.in-battle .board-tools{margin-top:8px}.in-battle .small-button{min-height:32px;padding:7px 10px}.in-battle .action-bar{margin-top:10px}.in-battle .execute{min-height:48px}.in-battle .outcome-note{margin-top:7px;min-height:14px}.in-battle .board-tools .hint{margin-left:auto}.in-battle .cell.source span,.in-battle .cell.output span{font-size:8px}.in-battle .cell svg{margin-bottom:7px}}
@media(max-height:500px) and (orientation:landscape){.in-battle .topbar{height:44px}.in-battle #app{padding:10px 18px}.in-battle .workspace-head{margin-bottom:5px}.in-battle .workspace-title{font-size:14px}.in-battle .workspace-title small{display:none}.in-battle .battle.workspace{display:grid;grid-template-columns:1fr 1fr;gap:18px}.in-battle .battle .side-panel{grid-column:2;grid-row:1;display:block}.in-battle .battle .work-main{grid-column:1;grid-row:1}.in-battle .battle .boss-canvas{height:65px}.in-battle .battle .boss-subtitle,.in-battle .battle .intent-future,.in-battle .boss-tip{display:none}.in-battle .battle .boss-card-head{padding:7px 10px 0}.in-battle .battle .boss-name{font-size:11px}.in-battle .battle .boss-life{padding:0 10px 8px}.in-battle .battle .board{max-width:calc(100dvh - 194px)}.in-battle .battle .board-frame{padding:5px}.in-battle .board-top{min-height:15px;margin-bottom:5px}.in-battle .board-label,.in-battle .power{font-size:9px}.in-battle .board-tools{margin-top:5px}.in-battle .board-tools button{min-height:25px;font-size:9px;padding:5px}.in-battle .action-bar{margin-top:5px}.in-battle .execute{min-height:34px;padding:5px;font-size:11px}.in-battle .forecast b{font-size:15px}.in-battle .outcome-note{margin-top:4px}.in-battle .battle .intent{padding-top:6px}.in-battle .battle .target{padding:8px}}
@media(max-width:740px){.board[data-size="5"] .module-name,.board[data-size="6"] .module-name{display:none}.in-battle .route-button{width:30px;height:30px}.in-battle .board-tools{gap:5px}.in-battle .board-tools .hint{font-size:9px}}
@media(max-width:740px) and (max-height:700px) and (orientation:portrait){.in-battle .topbar{height:48px}.in-battle #app{padding:8px 10px}.in-battle .workspace-head{display:none}.in-battle .battle.workspace{gap:6px}.in-battle .battle .boss-canvas,.in-battle .battle .intent-future{display:none}.in-battle .battle .boss-card-head{padding:9px 9px 0}.in-battle .battle .boss-life{padding:10px 9px}.in-battle .battle .intent-top{font-size:8px}.in-battle .battle .intent-current{padding:5px;margin-top:4px}.in-battle .battle .target{padding:5px}.in-battle .battle .target-options{margin-top:4px}.in-battle .battle .work-main{position:relative}.in-battle .board-top{height:28px;margin:0}.in-battle .board-label{display:none}.in-battle .power{margin-left:auto;font-size:10px}.in-battle .battle .board-frame{padding:5px}.in-battle .battle .board{max-width:min(300px,calc(100dvh - 351px));min-width:216px}.in-battle .board-tools{position:absolute;top:0;left:0;margin:0;gap:4px}.in-battle .board-tools .hint{display:none}.in-battle .board-tools button{height:24px;min-height:24px;padding:4px 6px;font-size:9px}.in-battle .board-tools .route-button{width:24px}.in-battle .action-bar{margin-top:8px}.in-battle .execute{min-height:44px;padding:8px 12px}.in-battle .outcome-note{height:12px;min-height:12px;margin-top:5px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}body.low-motion *,body.low-motion *:before,body.low-motion *:after{animation:none!important;transition:none!important}
