:root{color-scheme:dark;--glass:rgba(8,10,14,.68);--line:rgba(255,255,255,.20);--green:#00e060;--pink:#ff2f6d;--blue:#0076ff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none;background:#080b10;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{position:fixed;inset:0}.app-shell{position:fixed;inset:0;width:100vw;height:100svh;min-height:100svh;overflow:hidden;background:radial-gradient(circle at 50% 18%,#2c3038 0,#14171d 45%,#080b10 100%);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hud{position:absolute;z-index:4;left:calc(10px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right));display:flex;gap:8px;align-items:center}.top-hud{top:calc(8px + env(safe-area-inset-top))}.brand{flex:1;min-width:0;border:1px solid var(--line);background:linear-gradient(135deg,rgba(246,247,245,.92),rgba(224,226,224,.76));box-shadow:0 10px 22px rgba(0,0,0,.36);backdrop-filter:blur(12px);border-radius:18px;padding:8px 11px}.brand b{display:block;font-size:12px;letter-spacing:.12em;color:#d6002f}.brand span{display:block;font-size:11px;color:#20242c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat{min-width:58px;text-align:center;border:1px solid rgba(255,255,255,.22);background:linear-gradient(180deg,#1c2028,#0d1016);backdrop-filter:blur(12px);border-radius:16px;padding:7px 8px}.stat span{display:block;font-size:10px;color:#d8dde7}.stat b{display:block;font-size:20px;line-height:1;color:#ffffff}.tiny-btn{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);color:#fff;border-radius:13px;padding:9px 10px;font-weight:800}.toast{position:absolute;z-index:4;left:50%;top:74px;transform:translateX(-50%);max-width:min(92vw,560px);padding:10px 14px;border-radius:999px;background:rgba(7,9,13,.76);border:1px solid rgba(0,224,96,.34);box-shadow:0 0 8px rgba(0,224,96,.10);font-size:12px;color:#f4f7fb;text-align:center;backdrop-filter:blur(10px);pointer-events:none}.result-card{position:absolute;z-index:5;left:50%;top:118px;transform:translateX(-50%);width:min(320px,86vw);padding:14px 16px;border-radius:22px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,rgba(23,33,58,.86),rgba(86,41,93,.7));box-shadow:0 22px 70px rgba(0,0,0,.38),0 0 40px rgba(255,107,166,.16);text-align:center;backdrop-filter:blur(12px);animation:pop .36s ease both}.result-card small{display:inline-block;color:#111;background:linear-gradient(90deg,#fff176,#ff9cc7);border-radius:999px;padding:4px 10px;font-weight:900;letter-spacing:.12em}.result-card strong{display:block;margin-top:8px;font-size:22px}.result-card span{display:block;margin-top:5px;font-size:12px;color:#dbe7fb}@keyframes pop{from{opacity:0;transform:translate(-50%,-8px) scale(.92)}to{opacity:1;transform:translate(-50%,0) scale(1)}}.controls{position:absolute;z-index:6;left:0;right:0;bottom:calc(15px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:space-between;padding:0 22px;pointer-events:none}.joystick{pointer-events:auto;width:128px;height:128px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.2),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 0 28px rgba(255,255,255,.08),0 12px 34px rgba(0,0,0,.38);position:relative;touch-action:none}.joystick span{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px;border-radius:50%;background:linear-gradient(135deg,#f6fbff,#6ed6ff);box-shadow:0 0 22px rgba(110,214,255,.55),inset 0 -8px 18px rgba(14,42,77,.32)}.suck-btn{pointer-events:auto;width:126px;height:126px;border-radius:50%;border:0;background:#d92f72;color:white;text-shadow:0 2px 8px rgba(80,0,40,.45);box-shadow:0 10px 18px rgba(255,47,109,.16),inset 0 -4px 0 rgba(104,0,50,.22);font-weight:1000;touch-action:none}.suck-btn b{display:block;font-size:25px}.suck-btn span{font-size:10px;letter-spacing:.14em}.suck-btn:disabled{filter:grayscale(.65) brightness(.7);box-shadow:none}.help{position:absolute;z-index:5;right:14px;top:132px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-weight:900;backdrop-filter:blur(10px)}dialog{border:0;padding:0;background:transparent;color:#fff}dialog::backdrop{background:rgba(0,0,0,.58)}.help-card{width:min(440px,92vw);max-height:84svh;overflow:auto;touch-action:pan-y;border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:20px;background:#121d31;box-shadow:0 28px 70px rgba(0,0,0,.55)}.help-card h2{margin:0 0 10px}.help-card p{line-height:1.55;color:#d7e3f4;font-size:14px}@media(max-width:420px){.controls{padding:0 18px}.joystick,.suck-btn{width:112px;height:112px}.joystick span{width:48px;height:48px;margin:-24px}.suck-btn b{font-size:22px}.toast{top:70px;font-size:11px}.help{top:124px}}@media(hover:hover){.suck-btn:hover,.tiny-btn:hover,.help:hover{filter:brightness(1.08)}}

.theme-toggle{min-width:42px;height:42px;border:1px solid rgba(255,255,255,.26);border-radius:15px;background:linear-gradient(135deg,#ff2f2f 0%,#ffcc00 44%,#0076ff 100%);color:#07101c;font-size:22px;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.38)}.theme-panel{position:absolute;z-index:12;top:calc(60px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));width:min(260px,92vw);padding:14px;border-radius:20px;border:1px solid rgba(255,255,255,.20);background:rgba(8,10,14,.88);backdrop-filter:blur(16px);box-shadow:0 20px 55px rgba(0,0,0,.45);display:grid;gap:10px}.theme-panel[hidden]{display:none}.theme-panel h2{margin:0 0 2px;font-size:13px;color:#ffffff;letter-spacing:.08em;text-transform:uppercase}.theme-panel label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#f3f5f8}.theme-panel input[type=color]{width:46px;height:32px;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:transparent}.theme-panel .tiny-btn{width:100%;}.theme-panel .switch-line{border-top:1px solid rgba(255,255,255,.14);padding-top:8px}.theme-panel input[type=checkbox]{width:20px;height:20px;accent-color:#00e060}.theme-panel select{min-width:112px;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:rgba(2,4,8,.82);color:#fff;padding:7px 9px;font-weight:800}.structure-panel{position:absolute;z-index:3;top:84px;right:18px;width:300px;display:grid;gap:12px;pointer-events:none}.mini-diagram{border:1px solid rgba(255,255,255,.22);background:rgba(246,247,245,.92);color:#11151b;border-radius:18px;padding:12px;box-shadow:0 14px 34px rgba(0,0,0,.32)}.mini-diagram h3{margin:0 0 8px;font-size:14px}.mini-diagram p{margin:8px 0 0;font-size:11px;line-height:1.35;color:#343943}.floor-square{position:relative;aspect-ratio:1/1;min-height:126px;border:2px solid #0f141c;border-radius:12px;background:#f9faf8;overflow:hidden}.floor-square .outlet{position:absolute;right:0;bottom:0;width:33.333%;height:33.333%;display:grid;place-items:center;background:#f9faf8;color:#c88d00;font-style:normal;font-weight:900;font-size:11px;border:2px dashed #ffcc00;border-right:0;border-bottom:0;border-radius:10px 0 0 0}.cutaway{position:relative;height:120px;border-radius:14px;background:linear-gradient(180deg,#e9ebe8 0 25%,#161a22 25% 100%);overflow:hidden;border:2px solid #222832}.cutaway b{position:absolute;left:10px;top:9px;font-size:11px}.cutaway .drop{position:absolute;left:104px;top:38px;color:#ffcc00;font-weight:900}.cutaway em{position:absolute;left:92px;top:68px;color:#9ee7ff;font-style:normal;font-size:11px}.cutaway strong{position:absolute;left:82px;bottom:10px;color:#fff;font-size:12px}.pickup-note{border-color:rgba(0,118,255,.35)}@media(max-width:900px){.structure-panel{display:none}}@media(min-width:901px){.help{right:334px;top:132px}}@media(max-width:420px){.joystick,.suck-btn{width:104px;height:104px}.joystick span{width:46px;height:46px;margin:-23px}.suck-btn b{font-size:21px}}
.inventory-toggle{min-width:50px;height:42px;border:1px solid rgba(0,224,96,.35);border-radius:15px;background:linear-gradient(180deg,rgba(0,224,96,.22),rgba(8,12,16,.92));color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.32),0 0 18px rgba(0,224,96,.12);font-weight:900}.inventory-toggle span{display:block;font-size:10px;color:#b9ffd2}.inventory-toggle b{display:block;font-size:18px;line-height:1}.inventory-panel{position:absolute;z-index:7;top:calc(60px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));width:min(320px,92vw);max-height:min(440px,70svh);overflow:auto;touch-action:pan-y;border:1px solid rgba(0,224,96,.34);border-radius:22px;background:rgba(8,11,15,.92);backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 32px rgba(0,224,96,.12);padding:14px}.inventory-panel[hidden]{display:none}.inventory-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.inventory-head h2{margin:0;font-size:15px;letter-spacing:.02em}.inventory-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.inventory-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.08);padding:10px 11px;font-size:13px}.inventory-list li.empty{justify-content:center;color:#b9c3d2}.inventory-list .rarity{font-size:10px;font-weight:1000;border-radius:999px;padding:4px 8px;background:#e6edf7;color:#10141c}.inventory-list .rare{background:#9bd6ff}.inventory-list .legend{background:#ffcc00}.inventory-list .common{background:#baf7c5}@media(max-width:520px){.inventory-toggle{min-width:45px}.inventory-panel{left:10px;right:10px;width:auto}.top-hud{gap:6px}.stat{min-width:50px;padding:7px 6px}}

.coin-btn{min-width:48px;height:42px;border:1px solid rgba(255,204,0,.42);border-radius:15px;background:linear-gradient(180deg,rgba(255,204,0,.28),rgba(8,12,16,.94));color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.32),0 0 18px rgba(255,204,0,.12);font-weight:1000}.coin-btn:disabled{opacity:.45}.coin-btn span{display:block;font-size:9px;color:#ffe58a}.coin-btn b{display:block;font-size:17px;line-height:1}.inventory-list .reward{margin-left:auto;font-size:11px;font-weight:900;color:#ffe58a;white-space:nowrap}@media(max-width:520px){.brand b{font-size:10px}.brand span{font-size:10px}.stat{min-width:43px;padding:7px 5px}.stat b{font-size:17px}.coin-stat{min-width:42px}.coin-btn{min-width:40px}.coin-btn span{font-size:8px}.coin-btn b{font-size:15px}}

.win-modal{z-index:8;top:50%;left:50%;transform:translate(-50%,-50%);width:min(360px,88vw);padding:26px 20px 22px;border:1px solid rgba(255,241,118,.55);background:radial-gradient(circle at 50% 0%,rgba(255,241,118,.30),rgba(255,47,109,.20) 38%,rgba(10,12,18,.94) 100%);box-shadow:0 28px 90px rgba(0,0,0,.62),0 0 56px rgba(255,204,0,.22);animation:winPop .36s cubic-bezier(.2,1.25,.35,1) both;pointer-events:none}.win-close{position:absolute;top:9px;right:9px;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.30);border-radius:999px;background:rgba(5,8,12,.58);color:#fff;font-size:23px;line-height:1;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.34);pointer-events:auto;touch-action:manipulation}.win-close:active{transform:scale(.94);background:rgba(255,255,255,.18)}.win-modal small{font-size:13px}.win-modal strong{font-size:25px}.win-modal span{font-size:13px;color:#fff3bf;line-height:1.45}@keyframes winPop{from{opacity:0;transform:translate(-50%,-47%) scale(.88)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:520px){.win-modal{top:46%;width:min(340px,90vw);padding:25px 16px 20px}.win-close{top:8px;right:8px;width:36px;height:36px}.win-modal strong{font-size:22px}}
/* compact top HUD v80 */
.top-hud{display:grid;grid-template-columns:1fr auto auto auto;gap:7px;align-items:center}.brand{padding:10px 12px;border-radius:16px;background:rgba(246,247,245,.92)}.brand b{font-size:16px;letter-spacing:-.02em;color:#11151b}.brand span{display:none}.coin-stat{min-width:64px}.coin-stat span{font-size:10px;color:#ffe58a}.coin-stat b{font-size:19px}.inventory-toggle,.theme-toggle{min-width:58px;height:42px;border-radius:15px;background:rgba(8,12,16,.88);color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.30);font-size:13px}.inventory-toggle span,.theme-toggle span{display:block;font-size:12px;color:#fff;font-weight:900}.inventory-toggle b{display:block;font-size:13px;color:#b9ffd2;line-height:1}.theme-toggle{border-color:rgba(255,255,255,.26)}@media(max-width:520px){.top-hud{grid-template-columns:1fr 46px 46px 46px;gap:4px}.brand{padding:10px 8px}.brand b{font-size:14px}.coin-stat{min-width:46px;padding:7px 4px}.coin-stat b{font-size:16px}.inventory-toggle,.theme-toggle{min-width:46px;height:40px}.inventory-toggle span,.theme-toggle span{font-size:10px}.inventory-toggle b{font-size:11px}}
/* camera controls v56 */
.icon-button-stack{position:absolute;z-index:5;top:calc(58px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.icon-button-stack .icon-btn{pointer-events:auto;flex:0 0 auto}
.help.icon-btn{width:58px;height:58px;display:grid;place-items:center;padding:0;border-radius:999px;border-color:rgba(255,255,255,.30);background:rgba(8,12,16,.82);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.36);}
.help.icon-btn svg{width:27px;height:27px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.help.camera-follow{font-size:0;}
.help.camera-follow.on{border-color:rgba(0,224,96,.62);background:linear-gradient(180deg,rgba(0,224,96,.30),rgba(8,12,16,.92));box-shadow:0 10px 24px rgba(0,0,0,.36),0 0 22px rgba(0,224,96,.22);}
.help.camera-reset{top:auto;}
.help.sound-toggle{top:auto;font-size:0;border-color:rgba(255,255,255,.30);background:rgba(8,12,16,.82);opacity:.88;}
.help.sound-toggle.on{border-color:rgba(0,224,96,.62);background:linear-gradient(180deg,rgba(0,224,96,.30),rgba(8,12,16,.92));opacity:1;box-shadow:0 10px 24px rgba(0,0,0,.36),0 0 22px rgba(0,224,96,.22);}
.help.sound-toggle b,.help.sound-toggle .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.help.sound-toggle .sound-on-icon{display:none}.help.sound-toggle .sound-off-icon{display:block}.help.sound-toggle.on .sound-on-icon{display:block}.help.sound-toggle.on .sound-off-icon{display:none}
/* dev prize CSV editor v42 */
.theme-panel{max-height:calc(100dvh - 86px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.dev-prize-editor,.capsule-tweak-editor{margin-top:10px;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06)}.dev-prize-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:7px}.dev-prize-head b{font-size:12px}.dev-prize-head small,.dev-prize-status{font-size:10px;color:#b7c4d8}.capsule-tweak-editor label{display:grid;grid-template-columns:auto 38px;gap:6px 8px;align-items:center;font-size:12px;color:#eef6ff}.capsule-tweak-editor label+label{margin-top:8px}.capsule-tweak-editor input[type=range]{grid-column:1/-1;width:100%;accent-color:#00e060;touch-action:pan-y}.capsule-tweak-editor span{justify-self:end;color:#b9ffd2;font-variant-numeric:tabular-nums}.dev-prize-editor textarea{display:block;width:100%;min-height:132px;resize:vertical;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(2,4,8,.72);color:#eef6ff;padding:8px;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;touch-action:pan-y;user-select:text;-webkit-user-select:text}.dev-prize-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.dev-prize-actions .tiny-btn{flex:1 1 92px}
.help.icon-btn:active{transform:scale(.94)}
/* performance HUD v56 */
.suck-stack{pointer-events:none;display:grid;justify-items:center;gap:7px}
.suck-stack .suck-btn{pointer-events:auto}
.fps-meter{min-width:78px;padding:4px 8px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,12,16,.76);box-shadow:0 8px 18px rgba(0,0,0,.28);backdrop-filter:blur(10px);color:#dff7ff;font:900 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;letter-spacing:.02em;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.app-shell.phone-viewport{inset:auto;left:50%;top:50%;width:min(390px,100vw);height:min(844px,100svh);min-height:0;transform:translate(-50%,-50%);border-radius:0;background:radial-gradient(circle at 50% 18%,#2c3038 0,#14171d 45%,#080b10 100%);box-shadow:0 0 0 9999px #2a2d33,0 24px 80px rgba(0,0,0,.45)}
body:has(.app-shell.phone-viewport){background:#2a2d33}
@media(max-width:420px){.suck-stack{gap:6px}.fps-meter{min-width:72px;font-size:9px;padding:4px 7px}}

/* terminal log message dock v66 */
.toast.terminal-log{position:absolute;z-index:6;left:50%;right:auto;top:auto;bottom:calc(30px + env(safe-area-inset-bottom));transform:translateX(-50%);width:clamp(116px,28vw,156px);max-height:94px;display:flex;flex-direction:column;justify-content:flex-end;gap:3px;padding:8px 9px;border-radius:12px;border:1px solid rgba(0,224,96,.42);background:linear-gradient(180deg,rgba(2,6,8,.84),rgba(2,6,8,.66));box-shadow:0 10px 28px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.04);backdrop-filter:blur(10px);font:700 9px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#97ffbd;text-align:left;letter-spacing:-.02em;overflow:hidden;pointer-events:none;text-shadow:0 0 8px rgba(0,224,96,.28);}
.toast.terminal-log::before{content:'LOG';position:absolute;right:7px;top:4px;font-size:7px;color:rgba(151,255,189,.42);letter-spacing:.12em;}
.toast.terminal-log .log-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.58;padding-right:18px;}
.toast.terminal-log .log-line b{color:#00e060;font-weight:1000;}
.toast.terminal-log .log-line.latest{opacity:1;color:#d8ffe3;}
@media(max-width:420px){.toast.terminal-log{bottom:calc(34px + env(safe-area-inset-bottom));width:122px;max-height:86px;font-size:8.5px;padding:8px 8px}.controls{padding:0 18px}}

/* bottom control/log layout v68 */
.controls>.fps-meter{align-self:center;opacity:.5;transform:translateY(10px);}
.suck-stack{gap:0;}
.toast.terminal-log{bottom:calc(157px + env(safe-area-inset-bottom));width:min(346px,calc(100% - 32px));max-height:64px;padding:9px 12px;border-radius:14px;background:linear-gradient(180deg,rgba(2,6,8,.72),rgba(2,6,8,.50));}
@media(max-width:420px){.toast.terminal-log{bottom:calc(158px + env(safe-area-inset-bottom));width:calc(100% - 32px);max-height:62px;font-size:8.8px;padding:8px 11px}.controls>.fps-meter{min-width:74px;font-size:9px;padding:4px 7px}}

/* developer tweak modal v107 */
.dev-tweak-open{width:100%;margin-top:8px;border-color:rgba(255,204,0,.35);color:#ffe58a}.dev-tweak-modal{position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:12px;max-width:100%;max-height:100%;overflow:hidden;background:rgba(0,0,0,.58);backdrop-filter:blur(8px);touch-action:pan-y}.dev-tweak-modal[hidden]{display:none}.dev-tweak-card{width:min(420px,calc(100vw - 24px));max-width:100%;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;padding:14px;border:1px solid rgba(255,255,255,.22);border-radius:22px;background:rgba(8,10,14,.96);box-shadow:0 28px 80px rgba(0,0,0,.62)}.dev-tweak-card *{min-width:0}.dev-tweak-card input[type=number]{flex:0 0 84px;width:84px;margin-left:auto;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;padding:7px 8px;font-weight:900;text-align:right}.dev-initial-editor label{display:flex;align-items:center;justify-content:space-between;gap:12px}.dev-tweak-card .dev-prize-head{align-items:center}.dev-tweak-card textarea{max-width:100%}@media(max-width:420px){.dev-tweak-modal{padding:10px;place-items:start center}.dev-tweak-card{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:12px;border-radius:18px}.dev-tweak-card input[type=number]{flex-basis:76px;width:76px}}

/* camera reset restore v109 */
.icon-button-stack{width:58px;right:calc(12px + env(safe-area-inset-right));align-items:stretch}.icon-button-stack .icon-btn{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin:0!important;width:58px;height:58px}.icon-button-stack .camera-reset{display:grid!important;visibility:visible!important;opacity:1!important;order:0}.icon-button-stack .sound-toggle{order:1}.icon-button-stack .camera-follow{order:2}

/* live commentary log v123 */
.toast.terminal-log{bottom:calc(149px + env(safe-area-inset-bottom));width:min(346px,calc(100% - 32px));max-height:104px;min-height:58px;padding:10px 13px 9px;border:0!important;border-radius:14px;background:linear-gradient(180deg,rgba(2,6,8,.70),rgba(2,6,8,.47));box-shadow:0 12px 30px rgba(0,0,0,.36);font:800 10.5px/1.34 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;pointer-events:auto;scrollbar-width:thin;scrollbar-color:rgba(151,255,189,.45) transparent;justify-content:flex-start;-webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.16) 10px,rgba(0,0,0,.58) 22px,#000 42px,#000 100%);mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.16) 10px,rgba(0,0,0,.58) 22px,#000 42px,#000 100%);}
.toast.terminal-log[hidden]{display:none}.toast.terminal-log::-webkit-scrollbar{width:5px}.toast.terminal-log::-webkit-scrollbar-thumb{background:rgba(151,255,189,.38);border-radius:999px}.toast.terminal-log::before{content:'LIVE';right:8px;top:5px;font-size:7.5px;color:rgba(151,255,189,.46)}.toast.terminal-log .log-line{white-space:normal;overflow:visible;text-overflow:clip;opacity:.62;padding-right:28px;margin-top:2px;}.toast.terminal-log .log-line b{color:#7dffab}.toast.terminal-log .log-line.latest{opacity:1;color:#e1ffea;text-shadow:0 0 10px rgba(0,224,96,.22)}
@media(max-width:420px){.toast.terminal-log{bottom:calc(150px + env(safe-area-inset-bottom));width:calc(100% - 32px);max-height:104px;min-height:56px;font-size:10px;padding:10px 12px 9px}}

/* prize probability tweak v123 */
.dev-prize-prob-editor{margin-top:10px;padding:10px;border:1px solid rgba(151,255,189,.16);border-radius:14px;background:rgba(151,255,189,.055)}.prize-prob-list{display:grid;gap:7px}.prize-prob-row{display:grid;grid-template-columns:1fr 76px;gap:8px;align-items:center;padding:7px 8px;border-radius:11px;background:rgba(0,0,0,.18)}.prize-prob-row b{display:block;font-size:11px;line-height:1.18;color:#eef7ff}.prize-prob-row small{display:block;margin-top:2px;font-size:9.5px;color:#aebbd0}.prize-prob-row input{width:100%;height:30px;border-radius:9px;border:1px solid rgba(255,255,255,.20);background:rgba(6,9,14,.82);color:#fff;text-align:right;font:900 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:0 8px}.prize-prob-row input:focus{outline:2px solid rgba(151,255,189,.38);outline-offset:1px}

/* menu/tweak viewport containment v128 */
.theme-panel{width:min(260px,calc(100% - 20px));max-height:calc(100% - 78px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.theme-panel label{min-width:0}.theme-panel select{max-width:58%;min-width:96px}.dev-tweak-modal{inset:0;padding:clamp(10px,2.4%,18px);overflow:hidden;align-items:center;justify-items:center}.dev-tweak-card{width:min(440px,calc(100% - 20px));max-height:calc(100% - 20px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.dev-tweak-card textarea{min-height:clamp(96px,20svh,132px)}@media(min-width:421px){.app-shell.phone-viewport .theme-panel{top:calc(58px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));max-height:calc(100% - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.app-shell.phone-viewport .dev-tweak-card{max-height:calc(100% - 24px)}}@media(max-height:680px){.theme-panel{gap:7px;padding:11px;border-radius:16px}.theme-panel .switch-line{padding-top:6px}.dev-tweak-card{padding:11px;border-radius:18px}.dev-prize-editor textarea{min-height:92px}.dev-prize-prob-editor,.dev-prize-editor,.capsule-tweak-editor{margin-top:7px;padding:8px}}

/* DOWN button state polish v121 */
.suck-btn{position:relative;display:grid;place-content:center;gap:2px;background:radial-gradient(circle at 35% 26%,#ff78ae 0%,#ef3f86 42%,#b3155d 100%);border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 22px rgba(255,47,109,.18),0 6px 0 rgba(92,0,46,.52),inset 0 3px 7px rgba(255,255,255,.22),inset 0 -10px 18px rgba(73,0,44,.28);letter-spacing:.02em;transition:transform .08s ease,filter .16s ease,box-shadow .16s ease}.suck-btn b{font-size:23px;letter-spacing:.08em}.suck-btn span{font-size:10px;letter-spacing:.18em;opacity:.78}.suck-btn:active{transform:translateY(4px);box-shadow:0 7px 16px rgba(255,47,109,.13),0 2px 0 rgba(92,0,46,.62),inset 0 2px 8px rgba(255,255,255,.18),inset 0 -8px 16px rgba(73,0,44,.32)}.suck-btn.no-coins{filter:saturate(.42) brightness(.82);background:radial-gradient(circle at 36% 24%,#6f7782,#333946 58%,#20242d 100%);border-color:rgba(255,204,0,.42);box-shadow:0 10px 22px rgba(0,0,0,.28),0 5px 0 rgba(0,0,0,.42),0 0 18px rgba(255,204,0,.18),inset 0 2px 6px rgba(255,255,255,.14)}.suck-btn.no-coins::after{content:'0 COIN';position:absolute;left:50%;bottom:21px;transform:translateX(-50%);font:1000 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#ffe58a;text-shadow:none}.suck-btn.coin-empty-pulse{animation:coinEmptyPulse .34s ease both}@keyframes coinEmptyPulse{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}45%{transform:translateX(5px)}70%{transform:translateX(-3px)}}

/* asset-first 3D prize reveal v144 */
.win-modal[hidden]{display:none!important}
.inventory-prize-icon{flex:0 0 48px;width:48px;height:48px;border-radius:16px;background-repeat:no-repeat;background-color:transparent;filter:drop-shadow(0 8px 9px rgba(0,0,0,.42)) drop-shadow(0 0 8px rgba(255,230,120,.18));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.inventory-list li b{flex:1;min-width:0}.result-prize-icon{width:58px;height:58px;margin:0;border-radius:18px;background-repeat:no-repeat;background-color:transparent;filter:drop-shadow(0 10px 12px rgba(0,0,0,.50)) drop-shadow(0 0 14px rgba(255,214,80,.26));box-shadow:none;animation:receiptIconPop .34s cubic-bezier(.2,1.28,.35,1) both}.win-modal{z-index:18;top:auto;left:50%;right:auto;bottom:calc(132px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(340px,calc(100% - 28px));min-height:82px;padding:14px 44px 14px 14px;display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto auto;column-gap:12px;align-items:center;text-align:left;border-radius:24px;border:1px solid rgba(255,255,255,.24);background:linear-gradient(145deg,rgba(12,15,22,.74),rgba(8,10,14,.92));backdrop-filter:blur(14px);box-shadow:0 18px 56px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.12);animation:receiptSlideUp .38s cubic-bezier(.2,1.1,.35,1) both;pointer-events:none}.win-modal small{grid-column:2;letter-spacing:.16em;font-size:10px;color:#9bf4ff}.win-modal .result-prize-icon{grid-row:1/4;grid-column:1}.win-modal strong{grid-column:2;font-size:18px;line-height:1.12;letter-spacing:-.02em}.win-modal span{grid-column:2;font-size:11px;color:#d6e4f4;line-height:1.32}.win-close{pointer-events:auto;background:rgba(255,255,255,.08)}@keyframes receiptIconPop{from{opacity:0;transform:scale(.70) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes receiptSlideUp{from{opacity:0;transform:translate(-50%,16px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}@media(max-width:420px){.result-prize-icon{width:52px;height:52px;border-radius:16px}.win-modal{bottom:calc(142px + env(safe-area-inset-bottom));grid-template-columns:52px 1fr;min-height:76px;padding:12px 42px 12px 12px}.inventory-prize-icon{flex-basis:42px;width:42px;height:42px}}


/* mode select / retry overlays v149 */
.mode-select,.retry-panel{position:absolute;z-index:40;inset:0;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% 28%,rgba(80,255,190,.14),rgba(0,0,0,.76) 44%,rgba(0,0,0,.88) 100%);backdrop-filter:blur(9px);touch-action:manipulation}.mode-select[hidden],.retry-panel[hidden]{display:none}.mode-card,.retry-card{width:min(360px,calc(100vw - 32px));padding:22px 18px;border:1px solid rgba(255,255,255,.24);border-radius:28px;background:linear-gradient(155deg,rgba(14,18,26,.94),rgba(5,8,12,.96));box-shadow:0 28px 90px rgba(0,0,0,.66),inset 0 1px 0 rgba(255,255,255,.12);text-align:center}.mode-card small,.retry-card small{display:block;margin-bottom:7px;color:#9bffd8;font:1000 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}.mode-card h2,.retry-card h2{margin:0 0 8px;font-size:22px;letter-spacing:-.04em}.mode-card p,.retry-card p{margin:0 0 16px;color:#cbd6e5;font-size:13px;line-height:1.45}.mode-actions{display:grid;gap:10px}.mode-btn{width:100%;min-height:62px;border:1px solid rgba(255,255,255,.22);border-radius:19px;background:rgba(255,255,255,.08);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.32);touch-action:manipulation}.mode-btn b{display:block;font-size:17px}.mode-btn span{display:block;margin-top:3px;font-size:11px;color:#d5deea}.mode-btn.primary{border-color:rgba(0,224,96,.42);background:linear-gradient(135deg,rgba(0,224,96,.28),rgba(0,118,255,.22))}.mode-btn.dev{border-color:rgba(255,204,0,.45);background:linear-gradient(135deg,rgba(255,204,0,.24),rgba(255,47,109,.18))}.mode-btn:active{transform:translateY(2px) scale(.99)}.app-shell.normal-mode #themePanel,.app-shell.normal-mode #devTweakModal{display:none!important}.app-shell.mode-unselected .controls,.app-shell.mode-unselected .icon-button-stack{filter:grayscale(.35);opacity:.62;pointer-events:none}@media(max-width:420px){.mode-card,.retry-card{border-radius:24px;padding:20px 15px}.mode-card h2,.retry-card h2{font-size:20px}.mode-btn{min-height:60px}}

/* primary play CTA and win-modal legibility v152 */
.mode-select{place-items:center}.mode-card{position:relative;width:min(370px,calc(100vw - 30px));padding:24px 18px 18px}.mode-card p{margin-bottom:18px;color:#e8fff3;font-size:13px}.mode-actions{position:relative;display:block;min-height:108px}.mode-btn.primary{min-height:96px;border-radius:25px;border-color:rgba(0,255,136,.70);background:linear-gradient(145deg,rgba(0,224,96,.44),rgba(0,118,255,.32));box-shadow:0 18px 42px rgba(0,0,0,.44),0 0 34px rgba(0,224,96,.22),inset 0 1px 0 rgba(255,255,255,.18)}.mode-btn.primary b{font-size:28px;letter-spacing:-.04em}.mode-btn.primary span{margin-top:6px;font-size:15px;font-weight:900;color:#f5fff9}.mode-btn.dev{position:absolute;right:2px;bottom:-2px;width:42px;min-width:42px;height:42px;min-height:42px;padding:0;border-radius:999px;border-color:rgba(255,255,255,.28);background:rgba(5,8,12,.44);box-shadow:0 8px 22px rgba(0,0,0,.40);opacity:.72}.mode-btn.dev b{font-size:20px;line-height:1}.mode-btn.dev span{display:none!important}.mode-btn.dev:focus-visible{outline:2px solid #ffe58a;outline-offset:3px;opacity:1}.mode-btn.dev:active{transform:translateY(1px) scale(.96)}
.win-modal{width:min(356px,90vw);padding:42px 22px 24px;text-align:center;pointer-events:none}.win-close{top:10px;right:10px;z-index:3;background:rgba(0,0,0,.76);border-color:rgba(255,255,255,.56);box-shadow:0 8px 18px rgba(0,0,0,.46),0 0 0 2px rgba(0,0,0,.18)}.win-modal small#rarity{display:inline-block;position:relative;z-index:1;margin:0 auto 12px;padding:7px 15px;max-width:calc(100% - 58px);border:1px solid rgba(255,255,255,.74);border-radius:999px;background:rgba(0,0,0,.78);color:#fff8a8;font-size:14px;font-weight:1000;letter-spacing:.12em;text-shadow:0 1px 2px rgba(0,0,0,.85);box-shadow:0 8px 22px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.20)}.win-modal strong{display:block;margin-top:8px;color:#fff;font-weight:1000;text-shadow:0 2px 8px rgba(0,0,0,.80)}.win-modal span{display:block;margin-top:6px;color:#fff7ca;text-shadow:0 1px 4px rgba(0,0,0,.72)}
@media(max-width:420px){.mode-card{padding:22px 15px 17px}.mode-card h2{font-size:22px}.mode-actions{min-height:106px}.mode-btn.primary{min-height:94px}.mode-btn.primary b{font-size:27px}.mode-btn.dev{width:40px;min-width:40px;height:40px;min-height:40px}.win-modal{top:46%;padding:42px 17px 22px}.win-modal small#rarity{font-size:13px;max-width:calc(100% - 62px)}}

/* win-modal receipt contrast correction v155 */
.win-modal{position:absolute!important;top:auto!important;left:50%!important;right:auto!important;bottom:calc(132px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;width:min(340px,calc(100% - 28px))!important;min-height:82px!important;padding:14px 58px 14px 14px!important;text-align:left!important}.win-modal small#rarity{grid-column:2!important;justify-self:start!important;margin:0 0 7px 0!important;max-width:100%!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;background:rgba(0,0,0,.82)!important;color:#fff6a0!important;border-color:rgba(255,255,255,.78)!important}.win-modal strong{grid-column:2!important;margin-top:0!important}.win-modal span{grid-column:2!important;margin-top:3px!important}.win-close{top:9px!important;right:9px!important;width:36px!important;height:36px!important}.win-modal .result-prize-icon{grid-column:1!important;grid-row:1/4!important}
@media(max-width:420px){.win-modal{top:auto!important;bottom:calc(142px + env(safe-area-inset-bottom))!important;grid-template-columns:52px minmax(0,1fr)!important;padding:12px 56px 12px 12px!important}.win-modal small#rarity{font-size:12px!important;padding:6px 10px!important}.win-close{top:8px!important;right:8px!important}}

/* developer gear separated from primary CTA v152c */
.mode-card{position:relative}.mode-btn.dev{top:14px!important;right:14px!important;bottom:auto!important;left:auto!important}.mode-actions{min-height:100px}.mode-btn.primary{display:block!important}
@media(max-width:420px){.mode-btn.dev{top:12px!important;right:12px!important}.mode-actions{min-height:98px}}
/* developer gear uses card corner, not action area v152d */
.mode-actions{position:static!important;display:block!important;min-height:96px}.mode-btn.dev{position:absolute!important;top:14px!important;right:14px!important;bottom:auto!important}.mode-btn.primary{position:relative!important;z-index:1!important}
@media(max-width:420px){.mode-actions{min-height:94px}.mode-btn.dev{top:12px!important;right:12px!important}}
