@font-face{font-family:Shippori Mincho;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/shippori-mincho-latin-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"EB Garamond", Georgia, serif;--font-body:"IBM Plex Sans", "Segoe UI", sans-serif;--font-combat:"Shippori Mincho", "Hiragino Mincho ProN", serif;--color-iron-950:oklch(12% .012 72);--color-iron-900:oklch(16% .016 72);--color-iron-850:oklch(19% .018 72);--color-iron-800:oklch(23% .02 72);--color-iron-700:oklch(29% .024 72);--color-iron-600:oklch(38% .028 72);--color-iron-500:oklch(49% .03 72);--color-parchment-100:oklch(92% .026 82);--color-parchment-200:oklch(84% .03 82);--color-parchment-400:oklch(70% .028 78);--color-bronze:oklch(71% .112 76);--color-bronze-bright:oklch(82% .13 82);--color-bronze-ink:oklch(18% .018 72);--color-accent:var(--color-bronze);--color-accent-ink:var(--color-bronze-ink);--color-focus:var(--color-bronze-bright);--color-oxblood:oklch(58% .145 30);--color-oxblood-bright:oklch(64% .145 30);--color-verdigris:oklch(66% .085 167);--color-verdigris-deep:oklch(29% .055 157);--color-felt:oklch(24% .045 153);--color-felt-deep:oklch(18% .034 153);--color-card-paper:oklch(91% .022 82);--color-card-ink:var(--color-iron-950);--color-roulette-red:oklch(40% .12 30);--color-roulette-black:oklch(16% .01 72);--color-bronze-soft:oklch(71% .112 76/.2);--color-oxblood-soft:oklch(58% .145 30/.2);--color-verdigris-soft:oklch(66% .085 167/.2);--color-scrim:oklch(9% .012 72/.86);--color-scrim-soft:oklch(12% .014 72/.72);--color-glint:oklch(94% .02 82/.08);--color-shadow:oklch(8% .012 72/.5);--color-feedback-impact:var(--color-parchment-100);--color-feedback-damage:var(--color-oxblood-bright);--color-feedback-critical:var(--color-bronze-bright);--color-feedback-recovery:var(--color-verdigris);--color-feedback-reward:var(--color-bronze-bright);--color-feedback-warning:var(--color-bronze-bright);--color-feedback-status:var(--color-parchment-200);--color-feedback-outline:var(--color-iron-950);--color-feedback-shadow:oklch(8% .012 72/.78);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:clamp(1.5rem, 1.25rem + 1vw, 2rem);--text-hero:clamp(2rem, 1.35rem + 2.4vw, 3.75rem);--line-tight:1.08;--line-copy:1.55;--tracking-label:.12em;--tracking-title:.025em;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.5rem;--rule-thin:1px;--rule-frame:3px;--focus-width:2px;--focus-offset:1px;--touch-target:2.75rem;--opacity-disabled:.55;--duration-fast:.12s;--duration-panel:.18s;--ease-enter:cubic-bezier(.16, 1, .3, 1);--ease-press:cubic-bezier(.2, 0, 0, 1);--shadow-panel:0 1rem 2.5rem var(--color-shadow);--z-menu:39;--z-workbench:41;--z-feedback:60;--z-modal:70}html,body{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#10161b;width:100%;height:100%;margin:0;padding:0;overflow:hidden}#revenueLedgerModal{z-index:var(--z-modal);padding:max(var(--space-2), env(safe-area-inset-top,0px)) max(var(--space-2), env(safe-area-inset-right,0px)) max(var(--space-2), env(safe-area-inset-bottom,0px)) max(var(--space-2), env(safe-area-inset-left,0px));box-sizing:border-box;background:var(--color-scrim);color:var(--color-parchment-200);font-family:var(--font-body);font-variant-numeric:tabular-nums;place-items:center;display:grid;position:fixed;inset:0}#revenueLedgerModal.hidden{display:none}#revenueLedgerModal *,#revenueLedgerModal :before,#revenueLedgerModal :after{box-sizing:inherit}#revenueLedgerModal .revenue-ledger-card{gap:var(--space-4);width:min(52rem,100%);max-height:calc(100dvh - var(--space-4));padding:var(--space-4);overscroll-behavior:contain;border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-900);box-shadow:var(--shadow-panel);animation:armory-panel-enter var(--duration-panel) var(--ease-enter) both;flex-direction:column;display:flex;overflow:clip auto}.revenue-ledger-eyebrow{margin:0 0 var(--space-1);color:var(--color-bronze-bright);font:600 var(--text-xs)/1.2 var(--font-body);letter-spacing:var(--tracking-label);text-transform:uppercase}#revenueLedgerBody{gap:var(--space-5);display:grid}.revenue-ledger-summary{border-block:var(--rule-thin) solid var(--color-iron-600);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.revenue-ledger-stat{min-width:0;padding:var(--space-3);border-bottom:var(--rule-thin) solid var(--color-iron-600)}.revenue-ledger-stat:nth-child(odd){border-right:var(--rule-thin) solid var(--color-iron-600)}.revenue-ledger-stat:nth-last-child(-n+2){border-bottom:0}.revenue-ledger-stat span,.revenue-ledger-zone-head span,.revenue-ledger-generator span,.revenue-ledger-note,.revenue-ledger-empty{color:var(--color-parchment-400)}.revenue-ledger-stat span,.revenue-ledger-zone-head span{font:600 var(--text-xs)/1.2 var(--font-body);letter-spacing:var(--tracking-label);text-transform:uppercase;display:block}.revenue-ledger-stat strong{margin-top:var(--space-1);overflow-wrap:anywhere;color:var(--color-parchment-100);font:700 var(--text-xl)/var(--line-tight) var(--font-display);display:block}.revenue-ledger-zone-list{gap:var(--space-5);display:grid}.revenue-ledger-zone{gap:var(--space-2);display:grid}.revenue-ledger-zone-head,.revenue-ledger-generator{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.revenue-ledger-zone-head{padding-bottom:var(--space-2);border-bottom:var(--rule-frame) double var(--color-iron-600)}.revenue-ledger-zone-head h4{color:var(--color-parchment-100);font:700 var(--text-lg)/1.15 var(--font-display);margin:0}.revenue-ledger-generator{min-height:var(--touch-target);padding:var(--space-2) var(--space-1);border-bottom:var(--rule-thin) solid var(--color-iron-700)}.revenue-ledger-generator strong{color:var(--color-parchment-200);font-weight:600}.revenue-ledger-generator span{text-align:right;white-space:nowrap}.revenue-ledger-note,.revenue-ledger-empty{font:500 var(--text-sm)/var(--line-copy) var(--font-body);margin:0}#revenueLedgerModal button{min-height:var(--touch-target);border:var(--rule-thin) solid var(--color-iron-600);border-radius:var(--radius-xs);background:var(--color-iron-800);color:var(--color-parchment-100);font:600 var(--text-sm)/1 var(--font-body)}#revenueLedgerModal button:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}#revenueLedgerModal .modal-close-button{width:var(--touch-target);min-width:var(--touch-target);height:var(--touch-target);flex:0 0 var(--touch-target);font:600 var(--text-lg)/1 var(--font-display);background:0 0;padding:0}@media (width>=40rem){#revenueLedgerModal .revenue-ledger-card{padding:var(--space-6)}.revenue-ledger-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.revenue-ledger-stat,.revenue-ledger-stat:nth-child(odd){border-right:var(--rule-thin) solid var(--color-iron-600);border-bottom:0}.revenue-ledger-stat:last-child{border-right:0}}@media (prefers-reduced-motion:reduce){#revenueLedgerModal .revenue-ledger-card{animation:none}}#renderCanvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block}#mobileControls,#mobileCameraControls{display:none}#appMenuToggle{z-index:38;color:#e7f0f5;cursor:pointer;background:#0e1216e0;border:1px solid #ffffff29;border-radius:10px;width:40px;height:40px;font:700 20px/1 Segoe UI,system-ui,sans-serif;position:fixed;top:16px;left:16px}#appMenuToggle:hover{background:#182028f0}#appMenu{z-index:39;background:#0a1014f5;border:1px solid #ffffff24;border-radius:12px;gap:8px;min-width:210px;padding:12px;display:grid;position:fixed;top:62px;left:16px;box-shadow:0 10px 24px #00000057}#appMenu.hidden{display:none}#appMenu h4{color:#a8e7b4;text-transform:uppercase;letter-spacing:.06em;margin:0;font:700 12px/1.2 Segoe UI,system-ui,sans-serif}#appMenu p{color:#b9d9f5;margin:0;font:600 12px/1.2 Segoe UI,system-ui,sans-serif}#mobileCameraControls{z-index:8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#091016e6;border:1px solid #ffffff1f;border-radius:14px;width:184px;padding:10px;position:fixed;top:16px;right:16px;box-shadow:0 10px 24px #00000047}#mobileCameraControls.hidden{display:none}#mobileCameraControls.collapsed{width:auto}#mobileCameraControls .mobile-camera-header{color:#d9e8f3;text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;margin-bottom:8px;font:700 12px/1 Segoe UI,system-ui,sans-serif;display:flex}#mobileCameraControls .mobile-camera-header-actions{align-items:center;gap:6px;display:flex}#mobileCameraControls .mobile-camera-header button{border-radius:8px;min-width:56px;min-height:30px;padding:6px 8px;font-size:12px}#mobileCameraControls.collapsed .mobile-camera-grid,#mobileCameraControls.collapsed #mobileCameraReset{display:none}#mobileCameraControls .mobile-camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}#mobileCameraControls .mobile-camera-grid button{color:#eef5fb;background:#1c2d3af2;border-radius:10px;min-height:40px;padding:8px 6px;font:700 12px/1 Segoe UI,system-ui,sans-serif}#fpsCounter{z-index:9;color:#e2eff7db;letter-spacing:.04em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#080e148a;border:1px solid #ffffff14;border-radius:999px;padding:3px 7px;font:600 10px/1 Segoe UI,system-ui,sans-serif;position:fixed;top:16px;right:16px}#appMenu button{color:#e7f0f5;cursor:pointer;text-align:left;background:#2a3a46;border:1px solid #ffffff1f;border-radius:10px;padding:8px 10px;font:600 13px/1 Segoe UI,system-ui,sans-serif}#appMenu button:hover{background:#314352}#toolbar{white-space:nowrap;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#0e1216d9;border:1px solid #ffffff14;border-radius:12px;gap:12px;max-width:calc(100vw - 16px);padding:10px 14px;display:flex;position:fixed;bottom:90px;left:20px;overflow:auto visible;transform:none}#toolbar>*{flex:none}@media (pointer:coarse),(width<=900px){#mobileControls{pointer-events:none;z-index:22;justify-content:space-between;align-items:flex-end;padding:0 18px;display:flex;position:fixed;inset:auto 0 18px}.mobile-stick,.mobile-actions button{pointer-events:auto;position:relative}.mobile-stick{touch-action:none;background:#09101885;border:1px solid #ffffff1f;border-radius:999px;width:112px;height:112px;position:relative;box-shadow:inset 0 0 22px #0000003d}.mobile-stick-thumb{background:#abd6ffd1;border:1px solid #ffffff4d;border-radius:999px;width:48px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 18px #00000038}.mobile-actions{gap:12px;display:grid}.mobile-actions button{color:#eef5fb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);filter:saturate()brightness();background-color:#121c28d1;background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #ffffff29;border-radius:20px;min-width:92px;min-height:56px;font:700 15px/1 Segoe UI,system-ui,sans-serif;transition:transform .11s,box-shadow .11s,filter .11s;overflow:hidden;transform:translateY(0)scale(1);box-shadow:0 10px 20px #0000003d,inset 0 1px #ffffff14}.mobile-actions button:active,.mobile-actions button.is-pressed{filter:saturate(1.05)brightness(.94);transform:translateY(2px)scale(.97);box-shadow:0 5px 10px #00000038,inset 0 2px 6px #0003}#mobileJumpButton{background-image:linear-gradient(#0c121c0f,#0c121c24),url(/assets/ui/jump.png)}#mobileAttackButton{background-image:linear-gradient(#0c121c0a,#0c121c1f),url(/assets/ui/attack.png)}#fpsCounter{padding:2px 6px;font-size:9px;top:18px;right:164px}}#toolbar::-webkit-scrollbar{height:8px}#toolbar::-webkit-scrollbar-thumb{background:#b4c7d447;border-radius:999px}#toolbar button{color:#e7f0f5;cursor:pointer;background:#2a3a46;border:1px solid #ffffff1f;border-radius:10px;padding:8px 14px;font:600 14px/1 Segoe UI,system-ui,sans-serif}button,a,input,select{touch-action:manipulation}#toolbar button:hover{background:#314352}#buildFab{z-index:auto;flex:none;position:static;transform:none}#buildFab button{color:#fef4d8;cursor:pointer;touch-action:manipulation;background:linear-gradient(145deg,#8a5a0a,#c47e18);border:1px solid #e6aa3c8c;border-radius:999px;flex-direction:row;justify-content:center;align-items:center;gap:6px;min-width:90px;height:42px;padding:0 12px;font:700 11px/1 Segoe UI,system-ui,sans-serif;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 8px 18px #00000038,0 2px 8px #c47e1847}#buildFab button:hover,#buildFab button:focus-visible{outline-offset:2px;outline:2px solid #e6aa3ce6;transform:scale(1.08);box-shadow:0 6px 26px #c47e18b8,0 2px 10px #00000073}.build-fab-icon{font-size:16px;line-height:1}.build-fab-label{letter-spacing:.08em;text-transform:uppercase;opacity:.95;font-size:10px}#buildMenu{z-index:30;background:#0a1014f5;border:1px solid #ffffff24;border-radius:10px;gap:6px;min-width:220px;padding:8px;display:grid;position:fixed;bottom:150px;left:16px;box-shadow:0 10px 24px #00000057}#buildMenu.hidden{display:none}#buildMenu button{text-align:left;width:100%;padding:8px 10px}#buildMenuOptions{gap:10px;display:grid}.build-menu-group{gap:6px;display:grid}.build-menu-group-title{color:#9fd4f1;letter-spacing:.1em;text-transform:uppercase;margin:0;padding:2px 4px 0;font:700 11px/1 Segoe UI,system-ui,sans-serif}.build-menu-group-body{gap:6px;display:grid}#playerVitals{z-index:12;align-items:center;gap:10px;display:inline-flex;position:fixed;bottom:148px;left:20px;overflow:visible}#playerCoins,#playerHealthHud{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:10px;padding:8px 12px;display:inline-flex;overflow:visible;box-shadow:0 10px 22px #0000003d}#playerCoins{color:#f1d38a;background:#2e2818eb;border:1px solid #ffffff14;font:700 13px/1 Segoe UI,system-ui,sans-serif}#playerHealthHud{color:#ffd9df;background:#2c1317eb;min-width:156px;font:700 13px/1 Segoe UI,system-ui,sans-serif}#playerHealthHud .health-icon{color:#fff7f8;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(#ff8a95,#a51f2e);border-radius:999px;place-items:center;min-width:34px;height:28px;padding:0 8px;font:900 11px/1 Segoe UI,system-ui,sans-serif;display:inline-grid;box-shadow:inset 0 1px #ffffff40}#playerHealthHud .health-bar-shell{background:#ffffff1f;border-radius:999px;flex:auto;min-width:70px;height:12px;overflow:hidden;box-shadow:inset 0 1px 4px #00000047}#playerHealthFill{border-radius:inherit;background:linear-gradient(90deg,#ff616f,#d91d35 58%,#9e1327);width:100%;height:100%;transition:width .18s ease-out;box-shadow:0 0 12px #ff49683d}#playerHealth{color:#fff1f3;text-align:right;min-width:54px;font:800 13px/1 Segoe UI,system-ui,sans-serif}#playerCoins .gold-icon{color:#2f2104;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(#f7d26b,#b98419);border-radius:999px;place-items:center;min-width:42px;height:28px;padding:0 8px;font:900 11px/1 Segoe UI,system-ui,sans-serif;display:inline-grid;box-shadow:inset 0 1px #ffffff57}#playerCoins .gold-count{color:#fff0b8;min-width:16px;font:800 14px/1 Segoe UI,system-ui,sans-serif}#playerCoins .gold-gain-burst{color:#ffd86f;text-shadow:0 0 10px #ffd05c73;pointer-events:none;font:900 28px/1 Segoe UI,system-ui,sans-serif;animation:.42s ease-out forwards gold-gain-burst;position:absolute;top:-8px;left:14px}@keyframes gold-gain-burst{0%{opacity:0;transform:translateY(8px)scale(.82)}20%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-22px)scale(1.04)}}#interactionPrompt{color:#e6eef2;z-index:12;background:#0c1014e6;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font:600 13px/1 Segoe UI,system-ui,sans-serif;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}#interactionPrompt.hidden{display:none}#interactionPrompt button{color:#e6eef2;cursor:pointer;background:#22303b;border:1px solid #ffffff1f;border-radius:8px;padding:6px 10px}#interactionPrompt button:hover{background:#2c3c49}#commercePlacementHint{color:#def5de;z-index:12;background:#0f1618f0;border:1px solid #ffffff24;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font:600 13px/1 Segoe UI,system-ui,sans-serif;display:flex;position:fixed;top:74px;right:24px}#commercePlacementHint.hidden{display:none}#commercePlacementHint button{color:#def5de;cursor:pointer;background:#2a3a33;border:1px solid #ffffff1f;border-radius:8px;min-height:38px;padding:8px 12px;font:700 13px/1 Segoe UI,system-ui,sans-serif}#commercePlacementHint button:hover{background:#344a40}#commercePanel{z-index:13;position:fixed;top:126px;right:24px}#commercePanel.hidden{display:none}#commercePanel .panel-card{color:#dbeaf5;background:#0b1116f0;border:1px solid #ffffff1f;border-radius:12px;gap:7px;min-width:240px;padding:14px;font:600 13px/1.35 Segoe UI,system-ui,sans-serif;display:grid}#commercePanel .panel-card h3{letter-spacing:.04em;text-transform:uppercase;color:#a8e7b4;margin:0;font-size:14px}#commercePanel .panel-card p{color:#bfd2df;margin:0}#commercePanel button{color:#e8f0f4;cursor:pointer;background:#2b3540;border:1px solid #ffffff1f;border-radius:10px;padding:8px 10px}#commercePanel button:hover{background:#36424f}#upgradeFoodStoreSecondary.hidden{display:none}#merchantModal,#questOfferModal,#questLogModal{z-index:20;background:#00000073;place-items:center;display:grid;position:fixed;inset:0}#merchantModal.hidden,#questOfferModal.hidden,#questLogModal.hidden{display:none}#merchantModal .modal-card,#gamblingModal .modal-card,#questOfferModal .modal-card,#questLogModal .modal-card{color:#e6eef2;background:#0f151b;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:10px;width:320px;padding:18px;font:600 14px/1.4 Segoe UI,system-ui,sans-serif;display:flex}#gamblingModal{z-index:20;background:#00000073;place-items:center;display:grid;position:fixed;inset:0}#gamblingModal.hidden{display:none}.modal-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.modal-title-row h3{margin:0}.modal-close-button{color:#e6eef2;cursor:pointer;background:#1f2933f2;border:1px solid #fff3;border-radius:10px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 10px;font:700 16px/1 Segoe UI,system-ui,sans-serif;display:inline-flex}.modal-close-button:hover{background:#2f3d4bfa}#merchantModal button{color:#e6eef2;cursor:pointer;background:#22303b;border:1px solid #ffffff1f;border-radius:10px;padding:8px 12px}#merchantModal button:hover{background:#2c3c49}#questOfferModal button,#questLogModal button{color:#e6eef2;cursor:pointer;background:#22303b;border:1px solid #ffffff1f;border-radius:10px;padding:8px 12px}#questOfferModal button:hover,#questLogModal button:hover{background:#2c3c49}.quest-offer-speaker{color:#9fd4f1;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font:700 12px/1 Segoe UI,system-ui,sans-serif}#questLogBody{gap:10px;max-height:min(52vh,420px);display:grid;overflow-y:auto}.quest-log-entry{background:#192734d1;border:1px solid #ffffff14;border-radius:12px;padding:12px}.quest-log-entry h4,.quest-log-entry p,.quest-log-history-heading,.quest-log-completed{margin:0}.quest-log-summary,.quest-log-reward,.quest-log-completed{color:#b9cedb}.quest-log-objectives{gap:6px;margin:10px 0;display:grid}.quest-log-history-heading{color:#9fd4f1;letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font:700 12px/1 Segoe UI,system-ui,sans-serif}#gamblingModal button{color:#e6eef2;cursor:pointer;background:#22303b;border:1px solid #ffffff1f;border-radius:10px;padding:8px 12px}#gamblingModal button:hover{background:#2c3c49}#gamblingModal input{box-sizing:border-box;color:#e6eef2;background:#1a242e;border:1px solid #ffffff1f;border-radius:10px;width:100%;padding:8px 10px}#gamblingDescription{color:#b7c8d5;margin:0;font:500 13px/1.4 Segoe UI,system-ui,sans-serif}#gamblingStatus{color:#f3c8a2;min-height:1.3em;margin:0;font:600 12px/1.3 Segoe UI,system-ui,sans-serif}#rouletteModal{z-index:20;box-sizing:border-box;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}#rouletteModal.hidden{display:none}.roulette-modal-card{color:#e6eef2;background:#0d1318;border:1px solid #6b4f2a99;border-radius:16px;flex-direction:column;gap:10px;width:360px;max-width:100%;padding:18px;font:600 14px/1.4 Segoe UI,system-ui,sans-serif;display:flex;box-shadow:0 8px 40px #000000b3,inset 0 1px #ffffff0d}#rouletteGoldInfo{color:#9fb2c0;margin:0;font:500 12px/1.4 Segoe UI,system-ui,sans-serif}#rouletteCanvas{border-radius:50%;width:260px;height:260px;margin:0 auto;display:block;box-shadow:0 0 20px #6b4f2a80}#rouletteNumberPicker{flex-direction:column;gap:4px;display:flex}.roulette-zero-row{justify-content:center;display:flex}.roulette-num-grid{grid-template-columns:repeat(12,1fr);gap:2px;display:grid}.roulette-num-btn{cursor:pointer;color:#fff;border:1px solid #0000;border-radius:4px;height:22px;padding:0;font:700 9px/1 Segoe UI,system-ui,sans-serif;transition:transform .1s,border-color .15s}.roulette-num-btn:hover{z-index:1;border-color:#f4d87e99;position:relative;transform:scale(1.15)}.roulette-zero-row .roulette-num-btn{width:48px;height:22px;font-size:10px}.roulette-num-red{background:#7b1a1a}.roulette-num-black{background:#1e1e1e;border-color:#ffffff14}.roulette-num-selected{transform:scale(1.1);box-shadow:0 0 0 1px #f4d87e,0 0 6px #f4d87e80;border-color:#f4d87e!important}.roulette-color-bets{gap:8px;display:flex}.roulette-color-btn{cursor:pointer;color:#fff;border:1px solid #ffffff1a;border-radius:10px;flex:1;padding:8px 10px;font:600 13px/1 Segoe UI,system-ui,sans-serif;transition:filter .15s,border-color .15s}.roulette-color-red{background:#7b1a1a}.roulette-color-red:hover{filter:brightness(1.2)}.roulette-color-black{background:#1e1e1e;border-color:#ffffff2e}.roulette-color-black:hover{filter:brightness(1.4)}.roulette-color-selected{box-shadow:0 0 0 1px #f4d87e,0 0 8px #f4d87e73;border-color:#f4d87e!important}#rouletteSelectedBet{color:#f4d87e;text-align:center;min-height:1.3em;margin:0;font:600 13px/1.4 Segoe UI,system-ui,sans-serif}.roulette-spin-row{align-items:center;gap:8px;display:flex}.roulette-spin-row label{white-space:nowrap;color:#b7c8d5;font:500 13px/1 Segoe UI,system-ui,sans-serif}.roulette-spin-row input{color:#e6eef2;background:#1a242e;border:1px solid #ffffff1f;border-radius:10px;flex:1;padding:7px 10px;font:600 14px/1 Segoe UI,system-ui,sans-serif}.roulette-spin-btn{color:#f4d87e;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#4a3010,#2a1c08);border:1px solid #f4d87e80;border-radius:10px;padding:8px 16px;font:700 14px/1 Segoe UI,system-ui,sans-serif;transition:filter .15s}.roulette-spin-btn:hover:not(:disabled){filter:brightness(1.3)}.roulette-spin-btn:disabled{opacity:.55;cursor:not-allowed}#rouletteStatus{color:#aee6c3;text-align:center;min-height:1.3em;margin:0;font:600 13px/1.35 Segoe UI,system-ui,sans-serif}.roulette-close-link{color:#9fb2c0;cursor:pointer;background:#1a242e;border:1px solid #ffffff1a;border-radius:8px;align-self:center;padding:6px 14px;font:500 12px/1 Segoe UI,system-ui,sans-serif}.roulette-close-link:hover:not(:disabled){color:#e6eef2;background:#22303b}.roulette-close-link:disabled{opacity:.4;cursor:not-allowed}#blackjackModal{z-index:20;box-sizing:border-box;background:#000000ad;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow-y:auto}#blackjackModal.hidden{display:none}.blackjack-modal-card{color:#eef3ed;background:radial-gradient(circle at top,#3452492e,#0000 34%),linear-gradient(#0f1d16fa,#0a130ffa);border:1px solid #c8aa5961;border-radius:18px;flex-direction:column;gap:12px;width:min(760px,100%);padding:18px;display:flex;box-shadow:0 24px 90px #0000009e}#blackjackGoldInfo,#blackjackStatus{margin:0}#blackjackGoldInfo{color:#b5c7bc;font:500 13px/1.4 Segoe UI,system-ui,sans-serif}.blackjack-table-felt{background:radial-gradient(circle at 50% 20%,#538f663d,#0000 42%),linear-gradient(#15462ffa,#0c2d1dfa);border:1px solid #d8be7438;border-radius:16px;gap:12px;padding:14px;display:grid}.blackjack-seat,.blackjack-hand{background:#040a0838;border:1px solid #ffffff14;border-radius:14px;padding:12px}.blackjack-seat-header,.blackjack-hand-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.blackjack-seat-header h4,.blackjack-hand-header h4{margin:0;font:700 14px/1.1 Segoe UI,system-ui,sans-serif}.blackjack-seat-header span,.blackjack-hand-header span,.blackjack-hand-footer,.blackjack-empty-state{color:#d8e8db;font:600 12px/1.35 Segoe UI,system-ui,sans-serif}.blackjack-player-hands{gap:10px;display:grid}.blackjack-cards{flex-wrap:wrap;gap:8px;min-height:94px;display:flex}.blackjack-card{color:#1f2326;box-sizing:border-box;background:linear-gradient(#fffdf6,#eee5cf);border:1px solid #2023262e;border-radius:12px;grid-template-rows:auto 1fr auto;align-items:center;width:64px;height:88px;padding:6px;display:grid;box-shadow:0 8px 24px #00000038}.blackjack-card.hidden-card{background:linear-gradient(135deg,#13264cf5,#081020fa),repeating-linear-gradient(45deg,#6ea0ff2e,#6ea0ff2e 6px,#0000 6px 12px);border-color:#98bdff59}.blackjack-card-rank{font:800 18px/1 Segoe UI,system-ui,sans-serif}.blackjack-card-rank.bottom{justify-self:end;transform:rotate(180deg)}.blackjack-card-suit{place-self:center;font:700 28px/1 Segoe UI Symbol,Apple Color Emoji,system-ui,sans-serif}.blackjack-bet-row,.blackjack-action-row{gap:10px;display:flex}.blackjack-bet-row{align-items:center}.blackjack-bet-row label{color:#bdd0c2;white-space:nowrap;font:600 13px/1 Segoe UI,system-ui,sans-serif}.blackjack-bet-row input{color:#eef3ed;background:#17241d;border:1px solid #ffffff24;border-radius:10px;flex:1;padding:9px 12px}.blackjack-primary-btn,.blackjack-action-row button{color:#eef3ed;cursor:pointer;background:#20332a;border:1px solid #ffffff1f;border-radius:10px;padding:10px 14px;font:700 13px/1 Segoe UI,system-ui,sans-serif}.blackjack-primary-btn{color:#f4d87e;background:linear-gradient(135deg,#4f3814,#2f1f0a);border-color:#f4d87e80}.blackjack-primary-btn:hover,.blackjack-action-row button:hover:not(:disabled){filter:brightness(1.12)}.blackjack-action-row{flex-wrap:wrap}.blackjack-action-row button{flex:110px}.blackjack-action-row button:disabled,.blackjack-primary-btn:disabled{opacity:.48;cursor:not-allowed;filter:none}#blackjackStatus{color:#bce7c4;min-height:1.4em;font:600 13px/1.35 Segoe UI,system-ui,sans-serif}@media (width<=640px){.blackjack-modal-card{padding:14px}.blackjack-bet-row{flex-wrap:wrap}.blackjack-bet-row label{width:100%}.blackjack-cards{min-height:0}.blackjack-card{width:56px;height:78px}}#merchantOfferBody{gap:10px;display:grid}#merchantModal .merchant-offer-row{background:#19252fd1;border:1px solid #ffffff0d;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}#merchantModal .merchant-offer-copy{min-width:0}#merchantModal .merchant-offer-label{color:#eef5fa;margin:0}#merchantModal .merchant-offer-description{color:#9fb2c0;margin:3px 0 0;font:500 12px/1.35 Segoe UI,system-ui,sans-serif}#authModal{z-index:21;background:#00000073;place-items:center;display:grid;position:fixed;inset:0}#authModal.hidden{display:none}#authModal .modal-card{color:#e6eef2;background:#0f151b;border:1px solid #ffffff1f;border-radius:14px;gap:8px;width:340px;padding:18px;font:600 14px/1.4 Segoe UI,system-ui,sans-serif;display:grid}#authModal input{box-sizing:border-box;color:#e6eef2;background:#1a242e;border:1px solid #ffffff1f;border-radius:10px;width:100%;padding:8px 10px}#authModalStatus{color:#f3c8a2;min-height:1.25em;margin:0;font:600 12px/1.3 Segoe UI,system-ui,sans-serif}#authTurnstileWrap{justify-content:center;min-height:68px;margin-top:4px;display:grid}#authTurnstileWrap.hidden{display:none}#authModal .auth-actions{gap:8px;margin-top:4px;display:flex}#authModal button{color:#e6eef2;cursor:pointer;background:#22303b;border:1px solid #ffffff1f;border-radius:10px;padding:8px 12px}#authModal button:hover{background:#2c3c49}#tutorialModal{box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:24;background:radial-gradient(circle at 18% 16%,#5caeff29,#0000 32%),radial-gradient(circle at 80% 24%,#ffb35a24,#0000 34%),#03080eb8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}#tutorialModal.hidden{display:none}#tutorialModal .tutorial-modal-card{color:#e6eef2;background:linear-gradient(#111c27fa,#091019fa),#0f151b;border:1px solid #99d2ff2e;border-radius:22px;gap:14px;width:min(640px,100vw - 20px);max-height:min(82vh,760px);padding:22px;font:600 14px/1.5 Segoe UI,system-ui,sans-serif;display:grid;position:relative;overflow-y:auto;box-shadow:0 28px 72px #00000080}#tutorialModal .tutorial-orb{opacity:.88;pointer-events:none;background:radial-gradient(circle at 32% 30%,#fffffff5,#fff0b0e6 24%,#4fbbff8f 58%,#0000 74%);border-radius:999px;width:88px;height:88px;position:absolute;top:18px;right:18px}.tutorial-title-row{align-items:start;padding-right:78px}.tutorial-eyebrow{color:#9fd4f1;text-transform:uppercase;letter-spacing:.14em;margin:0 0 6px;font:700 12px/1 Segoe UI,system-ui,sans-serif}#tutorialTitle{margin:0;font-size:28px;line-height:1.05}.tutorial-lead{color:#dbe8ef;margin:0;font-size:16px;line-height:1.5}.tutorial-sections{gap:10px;display:grid}.tutorial-section{background:linear-gradient(#1c2936f5,#101a23f5);border:1px solid #ffffff0f;border-radius:16px;padding:14px 16px}.tutorial-section h4{color:#f2f7fb;margin:0 0 6px;font-size:15px}.tutorial-section p{color:#b4c5d1;margin:0}.tutorial-suppress-row{color:#b9ccd7;align-items:center;gap:10px;font-size:13px;display:flex}.tutorial-suppress-row input{accent-color:#74c7ff;width:18px;height:18px}.tutorial-actions{gap:10px;display:flex}#tutorialModal button{color:#e6eef2;cursor:pointer;background:#22303b;border:1px solid #ffffff1f;border-radius:12px;padding:10px 14px}#tutorialPrimaryAction{background:linear-gradient(#43759f,#28455e);border-color:#9fd4f14d}#tutorialModal button:hover{background:#2c3c49}#tutorialPrimaryAction:hover{background:linear-gradient(#4b80ad,#31536f)}#mainMenuOverlay{z-index:70;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 20% 15%,#2a558173,#0000 40%),radial-gradient(circle at 80% 85%,#552c1159,#0000 42%),#080c11f0;place-items:center;padding:20px 10px;display:grid;position:fixed;inset:0;overflow-y:auto}#mainMenuOverlay.hidden{display:none}#mainMenuOverlay .menu-card{color:#edf4fb;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#090f16f2;border:1px solid #ffffff29;border-radius:16px;gap:16px;min-width:460px;max-width:760px;max-height:calc(100vh - 40px);padding:24px;display:grid;overflow-y:auto;box-shadow:0 20px 60px #00000073}#mainMenuOverlay .menu-card.hidden{display:none}#mainMenuOverlay #mainMenuPick,#mainMenuOverlay #mainMenuSlots{width:min(1480px,100vw - 56px);max-width:none}#mainMenuOverlay #mainMenuPick .main-menu-logo{display:none}#mainMenuOverlay .main-menu-logo{object-fit:contain;filter:drop-shadow(0 10px 24px #00000052);justify-self:stretch;width:100%;max-width:none;height:auto;display:block}#mainMenuOverlay h2{margin:0;font:800 30px/1.05 Segoe UI,system-ui,sans-serif}#mainMenuOverlay p{color:#bdd0df;margin:0;font:500 16px/1.35 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .build-version{color:#8fb5cf;letter-spacing:.06em;text-transform:uppercase;margin-top:-4px;font:700 12px/1 Segoe UI,system-ui,sans-serif}#mainMenuOverlay #menuStartGame,#mainMenuOverlay #menuConfirmCharacter{color:#edf7ff;cursor:pointer;background:linear-gradient(#1d4f78,#113451);border:1px solid #89c4ff57;border-radius:10px;justify-self:start;padding:12px 16px;font:800 15px/1 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .menu-auth-row{align-items:center;gap:12px;display:flex}#mainMenuOverlay .menu-auth-row.hidden{display:none}#mainMenuOverlay #menuAuthStatus{color:#c6dbeb;font:700 13px/1.2 Segoe UI,system-ui,sans-serif}#mainMenuOverlay #menuLogout{color:#e9f3fb;cursor:pointer;background:#18222ef2;border:1px solid #fff3;border-radius:10px;padding:8px 12px;font:700 13px/1 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .character-grid{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;grid-auto-columns:minmax(260px,72%);grid-auto-flow:column;gap:14px;padding:8px 4px 14px;display:grid;overflow:auto hidden}#mainMenuOverlay .character-rail-wrap{margin:2px -4px 0;position:relative}#mainMenuOverlay .character-rail-nav{z-index:2;color:#e8f5ff;cursor:pointer;background:#09121ce0;border:1px solid #a0cff447;border-radius:999px;width:42px;height:42px;font:800 28px/1 Segoe UI,system-ui,sans-serif;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 12px 26px #00000057}#mainMenuOverlay .character-rail-nav.prev{left:-10px}#mainMenuOverlay .character-rail-nav.next{right:-10px}#mainMenuOverlay .character-picker-intro{color:#d4e1ec;max-width:38ch}#mainMenuOverlay .character-grid:after{content:"";width:4px}#mainMenuOverlay .character-card{color:#dce9f5;cursor:pointer;scroll-snap-align:center;scroll-snap-stop:always;background:radial-gradient(circle at 50% 12%,#6eb0e73d,#0000 36%),linear-gradient(#151d26fa,#080c12fa);border:1px solid #ffffff24;border-radius:22px;grid-template-rows:auto minmax(220px,1fr) auto;gap:14px;min-height:356px;padding:16px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 42px #0000004d}#mainMenuOverlay .character-card:before{content:"";pointer-events:none;background:linear-gradient(#ffffff0f,#0000 18%),radial-gradient(circle at 50% 100%,#22547d47,#0000 42%);position:absolute;inset:0}#mainMenuOverlay .character-card.selected{border-color:#7ec7ffcc;transform:translateY(-2px);box-shadow:inset 0 0 0 2px #7ec7ff3d,0 24px 54px #08162599}#mainMenuOverlay .character-card .char-meta{z-index:1;gap:6px;display:grid;position:relative}#mainMenuOverlay .character-card .char-eyebrow{color:#8fbad9;letter-spacing:.16em;text-transform:uppercase;font:800 11px/1 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .character-card .char-name{font:800 22px/1.05 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .character-card .char-stage{z-index:1;background:radial-gradient(circle at 50% 20%,#67a5dc2e,#0000 34%),linear-gradient(#101822f2,#070b11fa);border:1px solid #ffffff1a;border-radius:18px;min-height:220px;position:relative;overflow:hidden}#mainMenuOverlay .character-card .char-stage canvas{width:100%;height:100%;display:block}#mainMenuOverlay .character-card .char-footer{z-index:1;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}#mainMenuOverlay .character-card .char-tag{color:#b8d8ee;background:#101c27b8;border:1px solid #9acdf633;border-radius:999px;padding:7px 10px;font:700 12px/1 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .character-card .char-select-hint{color:#eff8ff;opacity:.84;font:700 13px/1 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .slot-character-rail-wrap{margin-top:6px}#mainMenuOverlay .slot-character-grid{grid-auto-columns:minmax(220px,58%)}#mainMenuOverlay .slot-character-grid .character-card{grid-template-rows:auto minmax(150px,1fr) auto;min-height:282px}#mainMenuOverlay .slot-character-grid .char-stage{min-height:150px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#slotMenuStatus{color:#f3c8a2;min-height:1.2em;margin:0;font:600 13px/1.3 Segoe UI,system-ui,sans-serif}#mainMenuSlots{min-height:0;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));grid-template-rows:auto auto auto minmax(260px,1fr) auto auto}#mainMenuSlots .main-menu-logo-slots{object-fit:cover;border:1px solid #ffffff14;border-radius:14px;max-height:170px}#mainMenuOverlay .slot-header{justify-content:space-between;align-items:end;gap:16px;display:flex}#mainMenuOverlay .slot-header h2{margin-bottom:6px}#mainMenuOverlay .slot-count-badge{color:#d6e6f5;letter-spacing:.04em;background:#101c27f5;border:1px solid #97c6eb3d;border-radius:999px;flex:none;padding:10px 12px;font:800 13px/1 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .slot-browser{background:linear-gradient(#101821fa,#080c12fa),radial-gradient(circle at top,#5a99d61a,#0000 60%);border:1px solid #ffffff14;border-radius:16px;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;padding:14px;display:grid;box-shadow:inset 0 1px #ffffff0a}#mainMenuOverlay .slot-browser-header{color:#9fb7ca;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:12px;font:700 12px/1 Segoe UI,system-ui,sans-serif;display:flex}#mainMenuOverlay .slot-list{align-content:start;gap:10px;min-height:0;padding-right:4px;display:grid;overflow:auto}#mainMenuOverlay .slot-item{color:#dce9f5;background:linear-gradient(#151d26f5,#0a0f16f5);border:1px solid #ffffff24;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:84px;padding:12px 14px;transition:border-color .12s,transform .12s,box-shadow .12s;display:grid}#mainMenuOverlay .slot-item:hover{border-color:#b8d9f257;transform:translateY(-1px)}#mainMenuOverlay .slot-item.selected{border-color:#7ec7ffcc;box-shadow:inset 0 0 0 2px #7ec7ff40}#mainMenuOverlay .slot-item-select{text-align:left;width:100%;min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;gap:6px;padding:0;display:grid}#mainMenuOverlay .slot-item-actions{align-items:center;gap:8px;display:flex}#mainMenuOverlay .slot-inline-action{color:#edf7ff;cursor:pointer;background:linear-gradient(#1d4f78,#113451);border:1px solid #89c4ff57;border-radius:10px;min-width:84px;padding:10px 12px;font:700 13px/1 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .slot-inline-action.delete{color:#ffe4e7;background:linear-gradient(#6d2931,#43161c);border-color:#ff9e9e47}#mainMenuOverlay .slot-meta{color:#bdd0df;font:600 12px/1.3 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .slot-empty{color:#a9bfd0;background:#0f141bd1;border:1px dashed #afcde433;border-radius:12px;margin:0;padding:18px 16px;font:600 14px/1.45 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .slot-create{gap:16px;display:grid}#mainMenuOverlay .slot-create-name,#mainMenuOverlay .slot-create-selection,#mainMenuOverlay .slot-create-actions{background:linear-gradient(#101821fa,#080c12fa),radial-gradient(circle at top,#5a99d61a,#0000 60%);border:1px solid #ffffff14;border-radius:16px;gap:10px;padding:16px;display:grid;box-shadow:inset 0 1px #ffffff0a}#mainMenuOverlay .slot-create-label,#mainMenuOverlay .slot-create-name label{color:#9fb7ca;text-transform:uppercase;letter-spacing:.08em;margin:0;font:700 12px/1 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .slot-create input,#mainMenuOverlay .slot-create select{box-sizing:border-box;color:#dce9f5;background:#0f161ef5;border:1px solid #ffffff24;border-radius:10px;width:100%;padding:12px 13px}#mainMenuOverlay .slot-create-actions button{color:#edf7ff;cursor:pointer;background:linear-gradient(#1d4f78,#113451);border:1px solid #89c4ff57;border-radius:10px;justify-self:start;padding:10px 14px;font:700 14px/1 Segoe UI,system-ui,sans-serif}#mainMenuOverlay .slot-actions{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:10px;display:flex}#mainMenuOverlay .slot-actions.hidden{display:none}#mainMenuOverlay .slot-actions button{color:#edf7ff;cursor:pointer;background:linear-gradient(#1d4f78,#113451);border:1px solid #89c4ff57;border-radius:10px;padding:10px 14px;font:700 14px/1 Segoe UI,system-ui,sans-serif}#damageFlash{pointer-events:none;opacity:0;z-index:30;border:8px solid #ff404000;transition:opacity .12s;position:fixed;inset:0;box-shadow:inset 0 0 40px #ff282800}#damageFlash.active{opacity:1;border-color:#ff4040b3;box-shadow:inset 0 0 60px #ff2828b3}#fadeOverlay{opacity:0;pointer-events:none;z-index:35;background:#000;transition:opacity .7s;position:fixed;inset:0}#fadeOverlay.active{opacity:.85}#loadingOverlay{z-index:50;background:#00000094;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}#loadingOverlay.hidden{display:none}#loadingOverlay .loading-card{z-index:2;color:#e8f1f7;letter-spacing:.02em;background:#0c1116f5;border:1px solid #ffffff24;border-radius:18px;justify-items:center;gap:0;min-width:220px;padding:18px;font:700 15px/1 Segoe UI,system-ui,sans-serif;display:grid;position:relative}#loadingOverlay .loading-hero{place-items:center;width:132px;height:132px;display:grid;position:relative}#loadingOverlay .loading-logo{object-fit:cover;filter:drop-shadow(0 8px 18px #00000047);width:100%;height:100%;display:block}#loadingOverlay .loading-backdrop{opacity:.72;filter:saturate(1.05)contrast(1.02);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}#loadingOverlay .loading-backdrop.hidden{display:none}#loadingOverlay .loading-spinner{border:3px solid #b9d2e34d;border-top-color:#9bd7ff;border-radius:50%;width:30px;height:30px;animation:.7s linear infinite loading-spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#loadingOverlay .loading-text-hidden{display:none}@keyframes loading-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}#zoneBanner{color:#d7ecf7;letter-spacing:.03em;z-index:36;opacity:0;pointer-events:none;background:#090e12e6;border:1px solid #ffffff2e;border-radius:12px;padding:12px 18px;font:800 18px/1 Segoe UI,system-ui,sans-serif;position:fixed;top:18px;left:50%;transform:translate(-50%)}#zoneBanner.visible{animation:1.8s forwards zone-banner-fade}#zoneBanner.hidden{display:none}#waveHud{color:#ecf4f9;text-align:center;z-index:35;pointer-events:none;background:#0c1014eb;border:1px solid #ffffff29;border-radius:14px;min-width:240px;padding:12px 16px;position:fixed;top:68px;left:50%;transform:translate(-50%);box-shadow:0 14px 28px #00000057}#waveHud.hidden{display:none}#waveHudTitle{letter-spacing:.04em;text-transform:uppercase;color:#ffd984;font:800 16px/1 Segoe UI,system-ui,sans-serif}#waveHudCounter{color:#d9e8f3;margin-top:6px;font:700 13px/1.1 Segoe UI,system-ui,sans-serif}@keyframes zone-banner-fade{0%{opacity:0;transform:translate(-50%)translateY(-12px)}12%{opacity:1;transform:translate(-50%)translateY(0)}78%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-8px)}}#merchantToast{color:#f4e0a7;z-index:37;opacity:0;pointer-events:none;background:#0c1216f2;border:1px solid #ffffff29;border-radius:10px;padding:10px 14px;font:700 14px/1 Segoe UI,system-ui,sans-serif;position:fixed;top:64px;left:50%;transform:translate(-50%)}#merchantToast.visible{animation:1.5s forwards merchant-toast-fade}#merchantToast.hidden{display:none}#nextWaveHud{color:#dbe8f1;z-index:35;pointer-events:none;background:#0c1014db;border:1px solid #ffffff24;border-radius:14px;align-items:center;gap:10px;padding:8px 10px;display:flex;position:fixed;top:78px;right:16px;box-shadow:0 12px 26px #00000047}#nextWaveHud.hidden{display:none}#nextWaveRing{--next-wave-progress:0;background:conic-gradient(#ffd984 calc(var(--next-wave-progress) * 1turn), #ffffff1a 0);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}#nextWaveRingInner{background:#0c1014f5;border:1px solid #ffffff0f;border-radius:50%;width:24px;height:24px}#nextWaveStartNow{pointer-events:auto;color:#fff1c7;cursor:pointer;background:linear-gradient(#5e471df2,#3a2b12fa);border:1px solid #ffd9844d;border-radius:10px;min-height:34px;padding:8px 12px;font:700 12px/1 Segoe UI,system-ui,sans-serif}#nextWaveStartNow.hidden{display:none}#nextWaveStartNow:hover{background:linear-gradient(#765823fa,#463314)}#nextWaveText{flex-direction:column;gap:2px;display:flex}#nextWaveLabel{letter-spacing:.08em;text-transform:uppercase;color:#aebdca;font:700 10px/1 Segoe UI,system-ui,sans-serif}#nextWaveTime{color:#f5fbff;font:800 13px/1 Segoe UI,system-ui,sans-serif}@keyframes merchant-toast-fade{0%{opacity:0;transform:translate(-50%)translateY(-8px)}12%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-6px)}}#deathOverlay{z-index:40;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}#deathOverlay.hidden{display:none}#deathOverlay .modal-card{color:#f1c7c7;text-align:center;background:#0e1216;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;gap:10px;width:320px;padding:20px;font:700 15px/1.4 Segoe UI,system-ui,sans-serif;display:flex}#deathOverlay h2{letter-spacing:.04em;margin:0;font-size:22px}#deathOverlay button{color:#f4d5d5;cursor:pointer;background:#2a2f35;border:1px solid #ffffff1f;border-radius:10px;padding:8px 12px}#deathOverlay button:hover{background:#353c44}#skillsPanel{color:#e7f0f5;z-index:10;background:#0a0e12eb;border:1px solid #ffffff14;border-radius:12px;width:280px;padding:14px;font:500 13px/1.4 Segoe UI,system-ui,sans-serif;position:fixed;bottom:90px;right:20px}#skillsPanel.hidden{display:none}#skillsPanel h3{letter-spacing:.04em;text-transform:uppercase;color:#9cc7dd;margin:0;font-size:14px}#skillsPanel .panel-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}#skillsPanel .panel-close-button{color:#e7f0f5;cursor:pointer;background:#25333feb;border:1px solid #ffffff24;border-radius:10px;min-width:40px;min-height:40px;font:700 16px/1 Segoe UI,system-ui,sans-serif}#skillsPanel .panel-close-button:hover{background:#324352f5}#skillsPanel .skill-list{flex-direction:column;gap:8px;display:flex}#skillsPanel .skill-row{background:#24344099;border-radius:8px;flex-direction:column;padding:8px;display:flex}#skillsPanel .hint{color:#9bb0bb;margin:8px 0 0;font-size:12px}#passivesPanel{color:#e7f0f5;z-index:11;overscroll-behavior:contain;background:#0a0e12eb;border:1px solid #ffffff14;border-radius:12px;width:min(760px,100vw - 24px);max-width:calc(100vw - 16px);max-height:min(78vh,100vh - 16px);padding:14px;font:500 13px/1.4 Segoe UI,system-ui,sans-serif;position:fixed;bottom:360px;right:20px;overflow:auto}#passivesPanel.hidden{display:none}#passivesPanel .passives-header{z-index:2;background:linear-gradient(#090e14fa,#090e14e0);border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:12px;margin:-14px -14px 12px;padding:10px 14px;display:flex;position:sticky;top:-14px}#passivesPanel h3{letter-spacing:.04em;text-transform:uppercase;color:#9cc7dd;margin:0;padding:0;font-size:14px}#passivesPanel .passives-close-button{border-radius:10px;min-width:38px;height:38px;padding:0 10px;font:700 15px/1 Segoe UI,system-ui,sans-serif}#passivesPanel .passives-drag-handle{cursor:grab;-webkit-user-select:none;user-select:none}#passivesPanel .passives-drag-handle:active{cursor:grabbing}#passivesPanel .inventory-section{background:#0e151cb8;border:1px solid #ffffff0d;border-radius:10px;margin-top:10px;padding:10px}#passivesPanel .inventory-section:first-of-type{margin-top:0}#passivesPanel .inventory-inspect-card{background:linear-gradient(#1a2834e6,#10181ff5);border:1px solid #8ecdef33;border-radius:10px;margin:0 0 10px;padding:12px}#passivesPanel .inventory-inspect-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}#passivesPanel .inventory-inspect-heading h4{margin:0}#passivesPanel .inventory-inspect-meta{letter-spacing:.04em;text-transform:uppercase;color:#9cc7dd;margin-top:4px;font-size:11px}#passivesPanel .inventory-inspect-body{align-items:flex-start;gap:12px;display:flex}#passivesPanel .inventory-inspect-copy{flex:1;min-width:0}#passivesPanel .inventory-inspect-description{color:#d7e4ec;margin:0 0 10px}#passivesPanel .inventory-inspect-details{gap:6px;display:grid}#passivesPanel .inventory-inspect-detail{color:#e7f0f5;background:#24344099;border-radius:8px;padding:7px 8px}#passivesPanel h4{letter-spacing:.04em;text-transform:uppercase;color:#9cc7dd;margin:0 0 8px;font-size:12px}#passivesPanel .passive-list{flex-direction:column;gap:6px;display:flex}#passivesPanel .passive-row{background:#24344099;border-radius:8px;justify-content:space-between;gap:8px;padding:8px;display:flex}#passivesPanel .inventory-list{flex-direction:column;gap:8px;display:flex}#passivesPanel .inventory-row{background:#24344099;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}#passivesPanel .inventory-main{cursor:pointer;flex:1;align-items:center;gap:8px;min-width:0;display:flex}#passivesPanel .inventory-label{text-overflow:ellipsis;min-width:0;line-height:1.25;overflow:hidden}#passivesPanel .inventory-thumb{background:linear-gradient(#14202af2,#0d151df2);border:1px solid #ffffff1a;border-radius:8px;flex:none;width:42px;height:42px;position:relative;overflow:hidden}#passivesPanel .inventory-thumb-img{object-fit:cover;width:100%;height:100%;display:block}#passivesPanel .inventory-thumb-fallback{color:#b6d4e5;letter-spacing:.04em;place-items:center;font:700 12px/1 Segoe UI,system-ui,sans-serif;display:grid;position:absolute;inset:0}#passivesPanel .inventory-actions{flex:none;align-items:center;gap:6px;display:flex}#passivesPanel button{color:#e6eef2;cursor:pointer;background:#22303b;border:1px solid #ffffff1f;border-radius:8px;padding:6px 8px;font:600 11px/1 Segoe UI,system-ui,sans-serif}#passivesPanel button:hover{background:#2c3c49}#allyControlsPanel{color:#e7f0f5;z-index:11;background:#0a0e12eb;border:1px solid #ffffff14;border-radius:12px;width:min(340px,100vw - 20px);padding:12px;font:500 13px/1.35 Segoe UI,system-ui,sans-serif;position:fixed;bottom:300px;right:20px}#allyControlsPanel.hidden{display:none}#allyControlsPanel h3{letter-spacing:.04em;text-transform:uppercase;color:#9cc7dd;margin:0 0 8px;font-size:14px}#allyControlsPanel .hint{color:#9bb0bb;margin:0 0 10px;font-size:12px}#allyControlsPanel .ally-mode-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}#allyControlsPanel button{color:#e6eef2;cursor:pointer;background:#22303b;border:1px solid #ffffff1f;border-radius:8px;padding:8px 10px;font:600 12px/1 Segoe UI,system-ui,sans-serif}#allyControlsPanel button:hover{background:#2c3c49}#allyControlsPanel button.active{color:#d8f4ff;background:#2a4b5ff2;border-color:#92d6ff8c}@media (width<=720px){#passivesPanel{z-index:19;width:calc(100vw - 12px);max-height:calc(100vh - 12px);padding:10px}#passivesPanel .passives-header{margin:-10px -10px 10px;padding:10px;top:-10px}#passivesPanel h3{font-size:13px}#passivesPanel .inventory-row{flex-direction:column;align-items:flex-start}#passivesPanel .inventory-inspect-body{flex-direction:column}#passivesPanel .inventory-actions{flex-wrap:wrap;justify-content:flex-end;width:100%}#allyControlsPanel{width:calc(100vw - 16px);bottom:250px;right:8px}}#mapPanel{color:#e4edf3;z-index:12;background:#080c10eb;border:1px solid #ffffff1f;border-radius:12px;min-width:212px;padding:10px;position:fixed;top:20px;right:20px}#mapPanel.hidden{display:none}#mapPanel .map-head{color:#b7ccd9;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font:600 12px/1 Segoe UI,system-ui,sans-serif;display:flex}#mapPanel .map-head-meta{gap:4px;display:grid}#mapPanel .map-close-button{flex:none;width:36px;height:36px;padding:0 10px}#mapPanel .map-body{background:linear-gradient(90deg,#ffffff0d 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#ffffff0d 1px,#0000 1px) 0 0/24px 24px,radial-gradient(circle,#16281ccc,#0e1812f2);border:1px solid #fff3;border-radius:8px;position:relative}#mapPanel .map-dot{border-radius:50%;width:8px;height:8px;position:absolute;transform:translate(-50%,-50%)}#mapPanel .dot-player{background:#7ed8ff;box-shadow:0 0 8px #7ed8ffe6}#mapPanel .dot-enemy{background:#ff5e5e}#mapPanel .dot-spawner{background:#ff9c49}#mapPanel .dot-merchant{background:#f2df83}#mapPanel .dot-store{background:#68e29d}#mapPanel .dot-customer{background:#e4f6ff;box-shadow:0 0 6px #e4f6ffcc}#mapPanel .dot-turret{background:#c7a2ff;box-shadow:0 0 6px #c7a2ffb3}#mapPanel .dot-entrance{background:#9f8dff;box-shadow:0 0 7px #9f8dffe6}#mapPanel .map-legend{color:#c9d8e2;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:8px;font:600 11px/1.2 Segoe UI,system-ui,sans-serif;display:grid}#mapPanel .map-legend span{align-items:center;gap:6px;display:flex}#mapPanel .dot-swatch{border-radius:50%;width:8px;height:8px;display:inline-block}#hotbar{z-index:9;background:#0c1014e0;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:repeat(9,minmax(60px,1fr));gap:8px;max-width:calc(100vw - 16px);padding:10px;display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}#experienceHud{z-index:9;background:#0a10188a;border:1px solid #ffffff14;border-radius:999px;width:min(420px,100vw - 28px);height:12px;position:fixed;bottom:100px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 6px 16px #0000002e}#experienceFill{background:linear-gradient(90deg,#3b81f6eb,#6fceffc7);width:0%;transition:width .18s ease-out;position:absolute;inset:0 auto 0 0;box-shadow:0 0 10px #54aaff2e}#experienceLabel{color:#e9f3ffe6;letter-spacing:.02em;text-shadow:0 1px 3px #0009;white-space:nowrap;pointer-events:none;font:700 10px/1 Segoe UI,system-ui,sans-serif;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}#statsPanel{z-index:22;background:#0000007a;place-items:center;display:grid;position:fixed;inset:0}#statsPanel.hidden{display:none}#statsPanel .stats-modal-card{width:min(920px,100vw - 24px);max-height:min(82vh,100vh - 24px);padding:18px 28px calc(18px + env(safe-area-inset-bottom,0px));color:#e7eef5;overscroll-behavior:contain;background:linear-gradient(#0c1219fa,#090d13f5);border:1px solid #ffffff1a;border-radius:16px;overflow:auto}#statsPanel .modal-title-row{z-index:1;background:linear-gradient(#0c1219fa,#0c1219eb);padding-bottom:10px;position:sticky;top:0}#statsPanel .modal-actions{bottom:calc(-18px - env(safe-area-inset-bottom,0px));padding:14px 0 calc(8px + env(safe-area-inset-bottom,0px));background:linear-gradient(#090d1300,#090d13f5 30%);justify-content:flex-end;margin-top:10px;display:flex;position:sticky}#statsPanel .modal-actions button{color:#edf4f9;background:#293a48e6;border:1px solid #ffffff14;border-radius:12px;min-width:108px;padding:10px 14px;font:600 13px/1 Segoe UI,system-ui,sans-serif}#statsPanel .stats-layout{grid-template-columns:minmax(240px,.95fr) minmax(320px,1.1fr);align-items:stretch;gap:18px;display:grid}#statsPanel .stats-stage{gap:12px;display:grid}#statsPanel .stats-stage-preview{background:radial-gradient(circle at 50% 18%,#5892d329,#0000 40%),linear-gradient(#131d28fa,#0a0e14fa);border:1px solid #ffffff14;border-radius:16px;place-items:center;min-height:340px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -56px 80px #0003}#statsPanel .stats-stage-canvas{touch-action:none;width:100%;height:100%;min-height:340px;display:block}#statsPanel .stats-stage-fallback{color:#dce8f2;background:#293f52ad;border-radius:50%;place-items:center;width:110px;height:110px;font:700 28px/1 Segoe UI,system-ui,sans-serif;display:grid;position:absolute}#statsPanel .stats-stage-hint{color:#afc0cfc7;letter-spacing:.03em;text-transform:uppercase;font:600 11px/1.2 Segoe UI,system-ui,sans-serif}#statsPanel .stats-grid{align-content:start;gap:10px;display:grid}#statsPanel .stats-row{background:#1c2731b8;border:1px solid #ffffff0f;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;font:600 13px/1.35 Segoe UI,system-ui,sans-serif;display:flex}#statsPanel .stats-row strong{color:#f2f7fb;text-align:right}.hotbar-slot{color:#e7f0f5;cursor:pointer;background:#1d2831;border:1px solid #ffffff14;border-radius:8px;min-width:60px;padding:8px 6px;font:600 12px/1 Segoe UI,system-ui,sans-serif;position:relative}.hotbar-slot-key,.hotbar-slot-label{display:block}.hotbar-slot-key{opacity:.88;font-size:11px}.hotbar-slot-label{white-space:normal;margin-top:4px;font-size:11px;line-height:1.15}.hotbar-slot.filled{background:#2a3a46}.hotbar-slot.primary-attack{border-color:#8bd6ffd9;box-shadow:0 0 0 2px #54abe038}.hotbar-attack-menu{z-index:40;background:#0c1218f5;border:1px solid #ffffff14;border-radius:14px;gap:6px;min-width:160px;padding:8px;display:grid;position:fixed;box-shadow:0 18px 38px #00000061}.hotbar-attack-menu button{color:#edf4f9;text-align:left;background:#26333fdb;border:1px solid #ffffff0f;border-radius:10px;padding:10px 12px;font:600 13px/1.1 Segoe UI,system-ui,sans-serif}.hotbar-attack-menu button.selected{background:#2c4b61f0;border-color:#8bd6ffd9}@media (width<=720px){#playerVitals{left:296px;right:102px;bottom:calc(148px + env(safe-area-inset-bottom,0px));z-index:14;flex-wrap:nowrap;justify-content:center;gap:6px;width:auto;transform:none}#playerCoins{font-size:11px}#playerHealthHud{min-width:124px;font-size:11px}#toolbar{left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:13;border-radius:10px;gap:8px;padding:8px 10px}#toolbar button{padding:9px 12px;font-size:13px}#tutorialModal{padding:8px}#tutorialModal .tutorial-modal-card{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:16px 16px calc(26px + env(safe-area-inset-bottom,0px));border-radius:18px}#tutorialTitle{font-size:24px}.tutorial-lead{font-size:15px}.tutorial-actions{flex-direction:column}#tutorialModal button,#tutorialModal .modal-close-button{min-height:44px}#buildMenu{min-width:200px}#buildFab{z-index:auto;position:static;transform:none}#buildFab button{border-width:2px;border-radius:50%;flex-direction:column;gap:0;width:52px;min-width:52px;height:52px;padding:0;font-size:10px;box-shadow:0 4px 16px #c47e1870,0 2px 8px #00000052}.build-fab-icon{font-size:20px}.build-fab-label{display:none}#interactionPrompt,#commercePlacementHint,#commercePanel,#allyControlsPanel,#mapPanel{right:8px}#interactionPrompt{max-width:calc(100vw - 24px);top:72px;left:50%;right:auto;transform:translate(-50%)}#commercePlacementHint{top:auto;left:8px;right:8px;bottom:calc(182px + env(safe-area-inset-bottom,0px));z-index:19;justify-content:space-between;gap:12px;padding:12px}#commercePlacementHint button{border-radius:10px;min-width:132px;min-height:44px;font-size:14px}#nextWaveHud{gap:8px;padding:7px 9px;top:78px;right:8px}#nextWaveRing{width:30px;height:30px}#nextWaveRingInner{width:20px;height:20px}#nextWaveLabel{font-size:9px}#nextWaveTime{font-size:12px}#experienceHud{bottom:calc(132px + env(safe-area-inset-bottom));width:calc(100vw - 20px)}#playerVitals{left:108px;bottom:calc(164px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:8px;transform:none}#playerCoins,#playerHealthHud{gap:8px;padding:7px 11px}#playerCoins .gold-icon{min-width:36px;height:24px;padding:0 7px;font-size:10px}#playerCoins .gold-count{font-size:13px}#playerHealthHud{min-width:146px}#playerHealthHud .health-icon{min-width:30px;height:24px;padding:0 7px;font-size:10px}#playerHealthHud .health-bar-shell{min-width:64px;height:10px}#playerHealth{min-width:48px;font-size:12px}#playerCoins .gold-gain-burst{font-size:24px;top:-6px;left:12px}#experienceLabel{font-size:9px;bottom:calc(100% + 5px)}#mapPanel{max-width:calc(100vw - 16px);top:8px}#hotbar{left:8px;right:8px;bottom:calc(6px + env(safe-area-inset-bottom));white-space:nowrap;-webkit-overflow-scrolling:touch;justify-content:flex-start;gap:8px;padding:10px 8px;display:flex;overflow:auto hidden;transform:none}#hotbar::-webkit-scrollbar{height:8px}#hotbar::-webkit-scrollbar-thumb{background:#b4c7d43d;border-radius:999px}.hotbar-slot{text-align:center;border-radius:999px;flex:0 0 64px;align-content:center;justify-items:center;width:64px;min-width:64px;height:64px;padding:7px 5px;font-size:10px;display:grid}.hotbar-slot-label{max-width:52px;font-size:9px}#mobileControls{inset:auto 0 calc(152px + env(safe-area-inset-bottom)) 0;z-index:14;align-items:end;padding:0 12px}#mobileCameraControls{top:max(8px, env(safe-area-inset-top,0px));z-index:8;width:168px;display:block;right:8px}.mobile-stick{width:104px;height:104px}.mobile-actions{gap:8px;margin-bottom:8px}.mobile-actions button{border-radius:999px;width:84px;min-width:84px;height:84px;min-height:84px;padding:0}#mainMenuOverlay .menu-card{min-width:min(460px,100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100vh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:16px 16px calc(34px + env(safe-area-inset-bottom,0px))}#mainMenuOverlay #mainMenuPick{width:auto}#mainMenuOverlay .main-menu-logo{width:100%}#mainMenuOverlay .slot-header,#mainMenuOverlay .slot-browser-header{grid-template-columns:1fr;align-items:start;display:grid}#mainMenuOverlay .slot-create,#mainMenuOverlay .slot-item{grid-template-columns:1fr}#mainMenuOverlay .slot-item-actions{justify-content:stretch}#mainMenuOverlay .slot-inline-action{flex:1 1 0}#mainMenuOverlay .slot-actions{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));flex-direction:column}#mainMenuOverlay .character-grid{grid-auto-columns:88%;gap:12px;padding-bottom:10px}#mainMenuOverlay .slot-character-grid{grid-auto-columns:84%}#mainMenuOverlay .character-card{grid-template-rows:auto minmax(190px,1fr) auto;min-height:320px;padding:14px}#mainMenuOverlay .character-card .char-name{font-size:19px}#mainMenuOverlay .character-card .char-stage{min-height:190px}#mainMenuOverlay .character-rail-nav{width:38px;height:38px;font-size:24px}#mainMenuOverlay .character-rail-nav.prev{left:-4px}#mainMenuOverlay .character-rail-nav.next{right:-4px}#loadingOverlay .loading-hero{width:108px;height:108px}#statsPanel .stats-modal-card{width:calc(100vw - 12px);max-height:calc(100vh - 8px);padding:12px 12px calc(26px + env(safe-area-inset-bottom,0px))}#statsPanel .stats-layout{grid-template-columns:1fr;gap:14px}#statsPanel .stats-stage-preview,#statsPanel .stats-stage-canvas{min-height:240px}#statsPanel .modal-close-button,#statsPanel .modal-actions button{min-width:52px;min-height:44px}#statsPanel .modal-actions{bottom:calc(-12px - env(safe-area-inset-bottom,0px));padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}}#multiplayerModal{z-index:20;background:#00000073;place-items:center;display:grid;position:fixed;inset:0}#multiplayerModal.hidden{display:none}#multiplayerModal .modal-card{color:#e6eef2;background:#0f151b;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:12px;width:340px;padding:18px;font:600 14px/1.4 Segoe UI,system-ui,sans-serif;display:flex}#multiplayerModal p{color:#b0c4cc;margin:0;font-weight:400}#multiplayerModal button{color:#e6eef2;cursor:pointer;background:#22303b;border:1px solid #ffffff1f;border-radius:10px;padding:8px 14px;font:600 13px/1 Segoe UI,system-ui,sans-serif}#multiplayerModal button:hover{background:#2c3c49}.multiplayer-actions{flex-wrap:wrap;gap:10px;display:flex}.multiplayer-join-row{align-items:center;gap:8px;display:flex}.multiplayer-join-row input{color:#e6eef2;text-transform:uppercase;letter-spacing:2px;background:#1a252f;border:1px solid #ffffff26;border-radius:9px;flex:1;padding:8px 10px;font:600 14px/1 Segoe UI,system-ui,sans-serif}.multiplayer-join-row input::placeholder{text-transform:none;letter-spacing:normal;color:#5a7080}.multiplayer-status{min-height:1.4em;font-size:13px;color:#7ab8cc!important}.multiplayer-code-display{background:#1a252f;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.multiplayer-code{letter-spacing:4px;color:#5dd4a8;flex:1;font:700 22px/1 Courier New,monospace}#multiplayerConnected.hidden,#multiplayerDisconnected.hidden{display:none}#multiplayerHud{color:#5dd4a8;z-index:11;pointer-events:none;background:#0f151bd9;border:1px solid #5dd4a84d;border-radius:20px;align-items:center;gap:8px;padding:5px 12px;font:700 12px/1.3 Segoe UI,system-ui,sans-serif;display:flex;position:fixed;top:50px;right:12px}#multiplayerHud.hidden{display:none}#multiplayerHudCode{letter-spacing:2px;font:700 13px/1 Courier New,monospace}#multiplayerHudPlayers{color:#b0c4cc;font-size:11px}html,body{overflow-x:clip}:where(#appMenu,#toolbar,#buildMenu,#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel,#commercePanel,#mainMenuOverlay,.modal-card,.stats-modal-card){box-sizing:border-box;font-family:var(--font-body);font-variant-numeric:tabular-nums}:where(#appMenu,#toolbar,#buildMenu,#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel,#commercePanel,#mainMenuOverlay,.modal-card,.stats-modal-card) *,:where(#appMenu,#toolbar,#buildMenu,#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel,#commercePanel,#mainMenuOverlay,.modal-card,.stats-modal-card) :before,:where(#appMenu,#toolbar,#buildMenu,#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel,#commercePanel,#mainMenuOverlay,.modal-card,.stats-modal-card) :after{box-sizing:inherit}#appMenuToggle{top:max(var(--space-3), env(safe-area-inset-top,0px));left:max(var(--space-3), env(safe-area-inset-left,0px));width:var(--touch-target);height:var(--touch-target);border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-900);color:var(--color-parchment-100);box-shadow:var(--shadow-panel);font:600 var(--text-lg)/1 var(--font-display);transition:border-color var(--duration-fast) var(--ease-enter), background var(--duration-fast) var(--ease-enter), transform var(--duration-fast) var(--ease-press)}#appMenu{top:calc(max(var(--space-3), env(safe-area-inset-top,0px)) + var(--touch-target) + var(--space-2));left:max(var(--space-3), env(safe-area-inset-left,0px));width:min(17rem, calc(100% - var(--space-6)));min-width:0;padding:var(--space-3);border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-900);box-shadow:var(--shadow-panel);animation:armory-panel-enter var(--duration-panel) var(--ease-enter) both;gap:0}#appMenu h4,#skillsPanel h3,#passivesPanel h3,#allyControlsPanel h3,#mapPanel h3,#commercePanel .panel-card h3,#mainMenuOverlay h2,.modal-card :is(h2,h3),.stats-modal-card :is(h2,h3){color:var(--color-parchment-100);font-family:var(--font-display);letter-spacing:var(--tracking-title);text-transform:none;font-weight:700}#appMenu h4{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--text-lg)}#appMenu p{margin:0 var(--space-2) var(--space-3);padding-bottom:var(--space-3);border-bottom:var(--rule-thin) solid var(--color-iron-600);color:var(--color-parchment-400);font:500 var(--text-xs)/1.4 var(--font-body);letter-spacing:var(--tracking-label);text-transform:uppercase}#appMenu button,#buildMenu button{border:0;border-bottom:var(--rule-thin) solid var(--color-iron-600);color:var(--color-parchment-200);text-align:left;background:0 0;border-radius:0}#appMenu button:last-child,#buildMenu button:last-child{border-bottom:0}#toolbar{left:max(var(--space-2), env(safe-area-inset-left,0px));bottom:calc(var(--space-10) + env(safe-area-inset-bottom,0px));width:calc(100% - var(--space-4));max-width:calc(100% - var(--space-4));gap:var(--space-1);padding:var(--space-2);border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-scrim-soft);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:center}#buildMenu{left:max(var(--space-2), env(safe-area-inset-left,0px));width:min(19rem, calc(100% - var(--space-4)));min-width:0;padding:var(--space-2);border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-900);box-shadow:var(--shadow-panel);animation:armory-panel-enter var(--duration-panel) var(--ease-enter) both;gap:0}.build-menu-group-title{padding:var(--space-3) var(--space-2) var(--space-2);color:var(--color-bronze-bright);font:600 var(--text-xs)/1 var(--font-body);letter-spacing:var(--tracking-label)}:is(#toolbar,#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel,#commercePanel,#mainMenuOverlay,.modal-card,.stats-modal-card) button,#appMenu button,#buildMenu button{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border-color:var(--color-iron-600);border-radius:var(--radius-xs);background:var(--color-iron-800);color:var(--color-parchment-100);font:600 var(--text-sm)/1 var(--font-body);white-space:nowrap;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-enter), background var(--duration-fast) var(--ease-enter), color var(--duration-fast) var(--ease-enter), transform var(--duration-fast) var(--ease-press)}:where(#authModal,#gamblingModal,#rouletteModal,#blackjackModal,#multiplayerModal,#statsPanel) :is(input,select),.modal-card :is(input,select){min-height:var(--touch-target);border:var(--rule-thin) solid var(--color-iron-600);border-radius:var(--radius-xs);background:var(--color-iron-950);color:var(--color-parchment-100);font:500 var(--text-md)/1.25 var(--font-body);caret-color:var(--color-bronze-bright)}:where(#authModal,#gamblingModal,#rouletteModal,#blackjackModal,#multiplayerModal,#statsPanel) :is(input,select)::placeholder,.modal-card :is(input,select)::placeholder{color:var(--color-parchment-400)}:is(#toolbar,#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel,#commercePanel,#mainMenuOverlay,.modal-card,.stats-modal-card) button:focus-visible,#appMenu button:focus-visible,#appMenuToggle:focus-visible,#buildMenu button:focus-visible,#passivesPanel .inventory-main:focus-visible,.modal-card :is(input,select):focus-visible{outline:var(--rule-frame) double var(--color-focus);outline-offset:var(--space-1)}:is(#toolbar,#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel,#commercePanel,#mainMenuOverlay,.modal-card,.stats-modal-card) button:active,#appMenu button:active,#appMenuToggle:active,#buildMenu button:active{transform:translateY(var(--rule-thin))}:is(#toolbar,#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel,#commercePanel,#mainMenuOverlay,.modal-card,.stats-modal-card) button:disabled,#appMenu button:disabled,#buildMenu button:disabled{cursor:not-allowed;opacity:.42}:where(button,input,select)[data-state=loading],:where(button,input,select)[aria-busy=true]{cursor:progress;opacity:.68}:where(button,input,select)[data-state=error]{border-color:var(--color-oxblood)}:where(button,input,select)[data-state=success]{border-color:var(--color-verdigris)}#skillsPanel,#allyControlsPanel,#mapPanel,#commercePanel .panel-card{max-width:calc(100% - var(--space-4));padding:var(--space-4);border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-900);color:var(--color-parchment-200);box-shadow:var(--shadow-panel);font:500 var(--text-sm)/var(--line-copy) var(--font-body);animation:armory-panel-enter var(--duration-panel) var(--ease-enter) both}#skillsPanel .skill-row,#allyControlsPanel .ally-mode-row,#commercePanel .panel-card{background:0 0}#skillsPanel .skill-row,#allyControlsPanel .ally-mode-row{border-top:var(--rule-thin) solid var(--color-iron-600);border-radius:0}#passivesPanel{width:calc(100% - var(--space-4));max-width:none;max-height:calc(100dvh - var(--space-4));padding:var(--space-3);border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-900);color:var(--color-parchment-200);box-shadow:var(--shadow-panel);font:500 var(--text-sm)/var(--line-copy) var(--font-body);scrollbar-color:var(--color-iron-500) var(--color-iron-950);animation:armory-panel-enter var(--duration-panel) var(--ease-enter) both;z-index:var(--z-workbench)}#passivesPanel .passives-header{top:calc(var(--space-3) * -1);margin:calc(var(--space-3) * -1) calc(var(--space-3) * -1) 0;padding:var(--space-3) var(--space-4);border-bottom:var(--rule-frame) double var(--color-iron-500);background:var(--color-iron-950)}#passivesPanel h3{font-size:var(--text-xl);line-height:var(--line-tight)}#passivesPanel .passives-close-button{min-width:var(--touch-target);height:var(--touch-target);font:600 var(--text-lg)/1 var(--font-display);padding:0}#passivesPanel .inventory-workbench{gap:var(--space-4);padding-top:var(--space-4);grid-template-areas:"inspector""ledger";align-items:start;display:grid}#passivesPanel .inventory-inspector{grid-area:inspector;min-width:0}#passivesPanel .inventory-ledger{grid-area:ledger;min-width:0}#passivesPanel .inventory-section{padding:var(--space-4) 0;border:0;border-top:var(--rule-frame) double var(--color-iron-600);background:0 0;border-radius:0;margin:0}#passivesPanel .inventory-section:first-child{border-top:0;padding-top:0}#passivesPanel .inventory-section h4,#passivesPanel .inventory-inspect-meta{margin:0 0 var(--space-2);color:var(--color-bronze-bright);font:600 var(--text-xs)/1.2 var(--font-body);letter-spacing:var(--tracking-label);text-transform:uppercase}#passivesPanel .inventory-inspect-card{padding:var(--space-4);border:var(--rule-thin) solid var(--color-iron-500);border-top:var(--rule-frame) double var(--color-bronze);border-radius:var(--radius-xs);background:var(--color-iron-850);margin:0}#passivesPanel .inventory-inspect-empty{align-content:center;justify-items:start;min-height:9rem;display:grid}#passivesPanel .inventory-inspect-empty h4{color:var(--color-parchment-100);font:700 var(--text-xl)/var(--line-tight) var(--font-display);letter-spacing:var(--tracking-title);text-transform:none;margin:0}#passivesPanel .inventory-inspect-empty p:last-child{max-width:52ch;margin:var(--space-2) 0 0;color:var(--color-parchment-400)}#passivesPanel .inventory-inspect-heading{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:var(--rule-thin) solid var(--color-iron-600)}#passivesPanel .inventory-inspect-heading h4{color:var(--color-parchment-100);font:700 var(--text-xl)/var(--line-tight) var(--font-display);letter-spacing:var(--tracking-title);text-transform:none;margin:0}#passivesPanel .inventory-inspect-body{gap:var(--space-3);grid-template-columns:7rem minmax(0,1fr);display:grid}#passivesPanel .inventory-inspect-card .inventory-thumb{width:7rem;height:7rem}#passivesPanel .inventory-inspect-description{margin:0 0 var(--space-3);color:var(--color-parchment-200);line-height:var(--line-copy)}#passivesPanel .inventory-inspect-details{border-top:var(--rule-thin) solid var(--color-iron-600);gap:0}#passivesPanel .inventory-inspect-detail{padding:var(--space-2) 0;border-bottom:var(--rule-thin) solid var(--color-iron-600);color:var(--color-parchment-100);font-size:var(--text-xs);background:0 0;border-radius:0}#passivesPanel .passive-list,#passivesPanel .inventory-list{gap:0}#passivesPanel .passive-row,#passivesPanel .inventory-row{border-bottom:var(--rule-thin) solid var(--color-iron-600);background:0 0;border-radius:0}#passivesPanel .passive-row{padding:var(--space-3) var(--space-1)}#passivesPanel .passive-row span:last-child{color:var(--color-parchment-100);font-weight:600}#passivesPanel .inventory-row{gap:var(--space-2);padding:var(--space-3) 0;grid-template-columns:minmax(0,1fr);align-items:center;display:grid}#passivesPanel .inventory-main{min-height:var(--touch-target);gap:var(--space-3);padding:var(--space-1);border-radius:var(--radius-xs)}#passivesPanel .inventory-main:active{background:var(--color-glint);transform:translateY(var(--rule-thin))}#passivesPanel .inventory-main[aria-disabled=true]{cursor:not-allowed;opacity:var(--opacity-disabled)}#passivesPanel .inventory-label{color:var(--color-parchment-100);text-overflow:clip;white-space:normal;font-weight:600}#passivesPanel .inventory-thumb{border:var(--rule-thin) solid var(--color-iron-500);border-radius:var(--radius-xs);background:var(--color-iron-950);width:3.25rem;height:3.25rem}#passivesPanel .inventory-thumb-fallback{color:var(--color-bronze-bright);font:700 var(--text-sm)/1 var(--font-display)}#passivesPanel .inventory-thumb-img[hidden]{display:none}#passivesPanel .inventory-actions{gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(5.25rem,1fr));width:100%;display:grid}#passivesPanel .inventory-actions button{width:100%}#passivesPanel .inventory-actions button:last-child{border-color:var(--color-bronze);background:var(--color-bronze);color:var(--color-bronze-ink)}#passivesPanel .hint,#skillsPanel .hint,#allyControlsPanel .hint{color:var(--color-parchment-400)}#mainMenuOverlay,#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel{background:var(--color-scrim);-webkit-backdrop-filter:none;backdrop-filter:none}#mainMenuOverlay .menu-card,#merchantModal .modal-card,#questOfferModal .modal-card,#questLogModal .modal-card,#gamblingModal .modal-card,#rouletteModal .modal-card,#blackjackModal .modal-card,#authModal .modal-card,#tutorialModal .tutorial-modal-card,#deathOverlay .modal-card,#multiplayerModal .modal-card,#statsPanel .stats-modal-card{width:min(46rem, calc(100% - var(--space-4)));max-width:calc(100% - var(--space-4));max-height:calc(100dvh - var(--space-4));padding:var(--space-5);border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-900);color:var(--color-parchment-200);box-shadow:var(--shadow-panel);font:500 var(--text-sm)/var(--line-copy) var(--font-body);animation:armory-panel-enter var(--duration-panel) var(--ease-enter) both}#mainMenuOverlay #mainMenuPick,#mainMenuOverlay #mainMenuSlots{width:min(64rem, calc(100% - var(--space-4)));box-shadow:none;background:0 0;border:0}#mainMenuOverlay h2{font-size:var(--text-hero);line-height:var(--line-tight)}#mainMenuOverlay p,#mainMenuOverlay .character-picker-intro{max-width:52ch;color:var(--color-parchment-400);font:500 var(--text-md)/var(--line-copy) var(--font-body)}#mainMenuOverlay .build-version,#mainMenuOverlay .character-card .char-eyebrow,#mainMenuOverlay .slot-browser-header,#mainMenuOverlay .slot-create-label{color:var(--color-bronze-bright);font-family:var(--font-body);letter-spacing:var(--tracking-label)}#mainMenuOverlay #menuStartGame,#mainMenuOverlay #menuConfirmCharacter,#mainMenuOverlay .slot-inline-action:not(.delete),#mainMenuOverlay #slotPlay,#mainMenuOverlay #slotCreate{border-color:var(--color-bronze);background:var(--color-bronze);color:var(--color-bronze-ink)}#mainMenuOverlay .character-card,#mainMenuOverlay .slot-item,#mainMenuOverlay .slot-browser{border:var(--rule-thin) solid var(--color-iron-600);border-radius:var(--radius-sm);background:var(--color-iron-850);color:var(--color-parchment-200);box-shadow:none}#mainMenuOverlay .slot-browser{background:0 0;border-left:0;border-right:0;border-radius:0;padding-inline:0}#mainMenuOverlay .character-card:before{display:none}#mainMenuOverlay .character-card.selected,#mainMenuOverlay .slot-item.selected{border-color:var(--color-bronze);box-shadow:inset 0 0 0 var(--rule-thin) var(--color-bronze);transform:none}#mainMenuOverlay .character-card .char-name{color:var(--color-parchment-100);font:700 var(--text-xl)/var(--line-tight) var(--font-display)}#mainMenuOverlay .character-card .char-stage{border:var(--rule-thin) solid var(--color-iron-600);border-radius:var(--radius-xs);background:var(--color-iron-950)}#mainMenuOverlay .character-card .char-tag,#mainMenuOverlay .slot-count-badge{border:var(--rule-thin) solid var(--color-iron-500);border-radius:var(--radius-xs);color:var(--color-parchment-200);background:0 0}#mainMenuOverlay .character-rail-nav{border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-950);color:var(--color-parchment-100);box-shadow:none;font-family:var(--font-display)}#mainMenuOverlay .main-menu-logo-slots{border:var(--rule-thin) solid var(--color-iron-600);border-radius:var(--radius-xs)}#appMenu :is(h2,h3,h4),#skillsPanel :is(h2,h3,h4),#passivesPanel :is(h2,h3,h4),#allyControlsPanel :is(h2,h3,h4),#mapPanel :is(h2,h3,h4),#commercePanel :is(h2,h3,h4),#mainMenuOverlay :is(h1,h2,h3,h4),.modal-card :is(h1,h2,h3,h4),.stats-modal-card :is(h1,h2,h3,h4){overflow-wrap:anywhere;min-width:0}:is(#authModal,#gamblingModal,#rouletteModal,#blackjackModal,#multiplayerModal,#statsPanel) :is(input,select),.modal-card :is(input,select){outline:var(--focus-width) solid transparent;outline-offset:var(--focus-offset)}:is(#authModal,#gamblingModal,#rouletteModal,#blackjackModal,#multiplayerModal,#statsPanel) :is(input,select):focus-visible,.modal-card :is(input,select):focus-visible{outline-color:var(--color-focus)}:is(#authModal,#gamblingModal,#rouletteModal,#blackjackModal,#multiplayerModal,#statsPanel) :is(input,select):disabled,.modal-card :is(input,select):disabled{cursor:not-allowed;opacity:var(--opacity-disabled);background:var(--color-iron-800)}#mainMenuOverlay .slot-inline-action.delete,#mainMenuOverlay #slotDelete{border-color:var(--color-oxblood)}#statsPanel .stats-stage-preview,#statsPanel .stats-row{border-color:var(--color-iron-600);border-radius:var(--radius-xs);background:var(--color-iron-850);box-shadow:none}@media (hover:hover) and (pointer:fine){#appMenuToggle:hover,:is(#toolbar,#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel,#commercePanel,#mainMenuOverlay,.modal-card,.stats-modal-card) button:hover,#appMenu button:hover,#buildMenu button:hover{background:var(--color-iron-700)}:is(#authModal,#gamblingModal,#rouletteModal,#blackjackModal,#multiplayerModal,#statsPanel) :is(input,select):hover,.modal-card :is(input,select):hover{background:var(--color-iron-850)}#passivesPanel .inventory-main:hover{background:var(--color-glint)}#passivesPanel .inventory-actions button:last-child:hover,#mainMenuOverlay #menuStartGame:hover,#mainMenuOverlay #menuConfirmCharacter:hover,#mainMenuOverlay .slot-inline-action:not(.delete):hover,#mainMenuOverlay #slotPlay:hover,#mainMenuOverlay #slotCreate:hover{background:var(--color-bronze-bright);color:var(--color-bronze-ink)}}@media (width>=48rem){#toolbar{width:auto}#passivesPanel{width:min(62rem, calc(100% - var(--space-8)));padding:var(--space-4)}#passivesPanel .passives-header{top:calc(var(--space-4) * -1);margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) 0;padding-inline:var(--space-5)}#passivesPanel .inventory-workbench{gap:var(--space-6);grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);grid-template-areas:"ledger inspector"}#passivesPanel .inventory-inspector{top:var(--space-12);position:sticky}#passivesPanel .inventory-inspect-body{grid-template-columns:minmax(0,1fr)}#passivesPanel .inventory-inspect-card .inventory-thumb{aspect-ratio:1;width:100%;height:auto}#passivesPanel .inventory-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto}#passivesPanel .inventory-actions{width:auto;display:flex}#passivesPanel .inventory-actions button{width:auto}}@media (width>=64rem){#mainMenuOverlay .menu-card,#merchantModal .modal-card,#questOfferModal .modal-card,#questLogModal .modal-card,#gamblingModal .modal-card,#rouletteModal .modal-card,#blackjackModal .modal-card,#authModal .modal-card,#tutorialModal .tutorial-modal-card,#deathOverlay .modal-card,#multiplayerModal .modal-card,#statsPanel .stats-modal-card{padding:var(--space-8)}}@media (prefers-reduced-motion:reduce){#appMenu,#buildMenu,#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel,#commercePanel .panel-card,#mainMenuOverlay .menu-card,.modal-card,.stats-modal-card{animation:none}:where(button,input,select){scroll-behavior:auto;transition-duration:.01ms}}@keyframes armory-panel-enter{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:translateY(0)}}:where(#interactionPrompt,#commercePlacementHint,#loadingOverlay,#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel){box-sizing:border-box;font-family:var(--font-body);font-variant-numeric:tabular-nums}:where(#interactionPrompt,#commercePlacementHint,#loadingOverlay,#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) *,:where(#interactionPrompt,#commercePlacementHint,#loadingOverlay,#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) :before,:where(#interactionPrompt,#commercePlacementHint,#loadingOverlay,#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) :after{box-sizing:inherit}#mainMenuOverlay,#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel{padding:max(var(--space-2), env(safe-area-inset-top,0px)) max(var(--space-2), env(safe-area-inset-right,0px)) max(var(--space-2), env(safe-area-inset-bottom,0px)) max(var(--space-2), env(safe-area-inset-left,0px));background:var(--color-scrim);color:var(--color-parchment-200);z-index:var(--z-modal)}#mainMenuOverlay .menu-card,#merchantModal .modal-card,#questOfferModal .modal-card,#questLogModal .modal-card,#gamblingModal .modal-card,#rouletteModal .modal-card,#blackjackModal .modal-card,#authModal .modal-card,#tutorialModal .tutorial-modal-card,#deathOverlay .modal-card,#multiplayerModal .modal-card,#statsPanel .stats-modal-card{width:min(30rem,100%);max-width:100%;max-height:calc(100dvh - var(--space-4));gap:var(--space-4);padding:var(--space-4);overscroll-behavior:contain;border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-900);color:var(--color-parchment-200);box-shadow:var(--shadow-panel);font:500 var(--text-sm)/var(--line-copy) var(--font-body);overflow:clip auto}#mainMenuOverlay #mainMenuPick,#mainMenuOverlay #mainMenuSlots,#tutorialModal .tutorial-modal-card,#rouletteModal .roulette-modal-card,#blackjackModal .blackjack-modal-card,#statsPanel .stats-modal-card{border:var(--rule-frame) double var(--color-iron-500);background:var(--color-iron-900);width:min(72rem,100%);box-shadow:var(--shadow-panel)}#tutorialModal .tutorial-modal-card{width:min(46rem,100%)}#rouletteModal .roulette-modal-card{width:min(42rem,100%)}#blackjackModal .blackjack-modal-card,#statsPanel .stats-modal-card{width:min(58rem,100%)}.modal-title-row,#skillsPanel .panel-title-row,#passivesPanel .passives-header,#mapPanel .map-head{min-width:0;padding-bottom:var(--space-3);border-bottom:var(--rule-frame) double var(--color-iron-600)}.modal-title-row :is(h2,h3),#skillsPanel .panel-title-row h3,#mapPanel .map-head strong{color:var(--color-parchment-100);font:700 var(--text-xl)/var(--line-tight) var(--font-display);letter-spacing:var(--tracking-title);margin:0}.modal-close-button,#skillsPanel .panel-close-button,#passivesPanel .passives-close-button,#mapPanel .map-close-button{min-width:var(--touch-target);width:var(--touch-target);min-height:var(--touch-target);height:var(--touch-target);flex:0 0 var(--touch-target);border:var(--rule-thin) solid var(--color-iron-500);border-radius:var(--radius-xs);color:var(--color-parchment-200);font:600 var(--text-lg)/1 var(--font-display);background:0 0;padding:0}:is(#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) :is(p,label){color:var(--color-parchment-400)}:is(#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) label{font:600 var(--text-xs)/1.2 var(--font-body);letter-spacing:var(--tracking-label);text-transform:uppercase}:is(#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) button{min-height:var(--touch-target);border:var(--rule-thin) solid var(--color-iron-600);border-radius:var(--radius-xs);background:var(--color-iron-800);color:var(--color-parchment-100);font:600 var(--text-sm)/1 var(--font-body);white-space:nowrap;transition:border-color var(--duration-fast) var(--ease-enter), background-color var(--duration-fast) var(--ease-enter), color var(--duration-fast) var(--ease-enter), transform var(--duration-fast) var(--ease-press)}:is(#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) button:active{transform:translateY(var(--rule-thin))}:is(#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) :is(button,input,select):focus-visible,#interactionPrompt :is(button,input,select):focus-visible,#commercePlacementHint button:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}:is(#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) :is(button,input,select):disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}#menuStartGame,#menuConfirmCharacter,#slotPlay,#slotCreate,#acceptQuestOffer,#placeGamblingBet,#rouletteSpinBtn,#blackjackDealBtn,#authSignIn,#tutorialPrimaryAction,#multiplayerStart,#multiplayerJoin,#respawnPlayer{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}#interactionPrompt,#commercePlacementHint{max-width:calc(100% - var(--space-4));justify-content:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-900);color:var(--color-parchment-200);box-shadow:var(--shadow-panel);font:600 var(--text-sm)/1.25 var(--font-body);animation:armory-panel-enter var(--duration-panel) var(--ease-enter) both;flex-wrap:wrap}#interactionPrompt button,#commercePlacementHint button{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:var(--rule-thin) solid var(--color-accent);border-radius:var(--radius-xs);background:var(--color-accent);color:var(--color-accent-ink);font:600 var(--text-sm)/1 var(--font-body);white-space:nowrap}#commercePanel{top:max(var(--space-4), env(safe-area-inset-top,0px));right:max(var(--space-2), env(safe-area-inset-right,0px));width:min(19rem, calc(100% - var(--space-4)));max-width:calc(100% - var(--space-4))}#commercePanel .panel-card{gap:0;width:100%;min-width:0}#commercePanel .panel-card h3{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:var(--rule-frame) double var(--color-iron-600);font-size:var(--text-xl)}#commercePanel .panel-card p{padding-block:var(--space-2);border-bottom:var(--rule-thin) solid var(--color-iron-600);color:var(--color-parchment-400)}#commercePanel .panel-card button{margin-top:var(--space-2)}#commercePanel #sellStructure{border-color:var(--color-oxblood)}#mainMenuOverlay .menu-card{grid-template-columns:minmax(0,1fr);min-width:0}#mainMenuOverlay .menu-card>*{min-width:0;max-width:100%}#mainMenuOverlay #mainMenuStart{justify-items:start;width:min(32rem,100%)}#mainMenuOverlay #mainMenuPick,#mainMenuOverlay #mainMenuSlots{max-width:72rem;padding:var(--space-4)}#mainMenuOverlay .main-menu-logo{object-fit:contain;filter:none;max-height:min(24dvh,11rem)}#mainMenuOverlay #mainMenuStart .main-menu-logo{border-bottom:var(--rule-frame) double var(--color-iron-600)}#mainMenuOverlay h2{color:var(--color-parchment-100);font:700 var(--text-hero)/var(--line-tight) var(--font-display);letter-spacing:var(--tracking-title)}#mainMenuOverlay .menu-auth-row{width:100%;min-width:0;padding-block:var(--space-3);border-block:var(--rule-thin) solid var(--color-iron-600);flex-wrap:wrap}#mainMenuOverlay .character-grid{gap:var(--space-3);padding:var(--space-2) var(--space-1) var(--space-3);scrollbar-color:var(--color-iron-500) var(--color-iron-950);grid-auto-columns:minmax(15rem,88%)}#mainMenuOverlay .character-card{min-width:0;min-height:19rem;padding:var(--space-3);gap:var(--space-3);border:var(--rule-thin) solid var(--color-iron-600);border-radius:var(--radius-sm);background:var(--color-iron-850);color:var(--color-parchment-200);box-shadow:none;grid-template-rows:auto minmax(11rem,1fr) auto}#mainMenuOverlay .character-card.selected{border-color:var(--color-bronze);box-shadow:inset 0 0 0 var(--rule-thin) var(--color-bronze)}#mainMenuOverlay .character-card .char-stage{border-radius:var(--radius-xs);background:var(--color-iron-950);min-height:11rem}#mainMenuOverlay .character-card .char-footer{flex-wrap:wrap;align-items:flex-start}#mainMenuOverlay .character-card .char-select-hint,#mainMenuOverlay .slot-name{color:var(--color-parchment-100)}#mainMenuOverlay .slot-header{padding-bottom:var(--space-4);border-bottom:var(--rule-frame) double var(--color-iron-600);flex-wrap:wrap;align-items:start}#mainMenuOverlay .slot-browser,#mainMenuOverlay .slot-create-name,#mainMenuOverlay .slot-create-selection,#mainMenuOverlay .slot-create-actions{padding:var(--space-4) 0;border:0;border-top:var(--rule-thin) solid var(--color-iron-600);box-shadow:none;background:0 0;border-radius:0}#mainMenuOverlay .slot-browser{min-height:12rem}#mainMenuOverlay .slot-item{border-radius:var(--radius-xs);background:var(--color-iron-850);grid-template-columns:minmax(0,1fr)}#mainMenuOverlay .slot-item-select{min-height:var(--touch-target)}#mainMenuOverlay .slot-name{font:700 var(--text-lg)/1.15 var(--font-display)}#mainMenuOverlay .slot-meta,#mainMenuOverlay .slot-empty{color:var(--color-parchment-400);font-family:var(--font-body)}#mainMenuOverlay .slot-empty{border-color:var(--color-iron-600);border-radius:var(--radius-xs);background:0 0}#mainMenuOverlay .slot-create{gap:0}#mainMenuOverlay .slot-item-actions,#mainMenuOverlay .slot-actions,#authModal .auth-actions,#questOfferModal .auth-actions,#gamblingModal .auth-actions,.tutorial-actions,.multiplayer-actions{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));display:grid}#mainMenuOverlay .slot-inline-action{min-width:0}#mainMenuOverlay .slot-inline-action.delete,#mainMenuOverlay #slotDelete,#multiplayerLeave{border-color:var(--color-oxblood);background:var(--color-oxblood-soft);color:var(--color-parchment-100)}#merchantOfferBody,#questLogBody{scrollbar-color:var(--color-iron-500) var(--color-iron-950);gap:0}#merchantModal .merchant-offer-row,.quest-log-entry{padding:var(--space-3) 0;border:0;border-bottom:var(--rule-thin) solid var(--color-iron-600);background:0 0;border-radius:0}#merchantModal .merchant-offer-row{grid-template-columns:minmax(0,1fr) auto}#merchantModal .merchant-offer-label,.quest-log-entry h4{color:var(--color-parchment-100);font:700 var(--text-lg)/1.15 var(--font-display)}#merchantModal .merchant-offer-description,.quest-log-summary,.quest-log-reward,.quest-log-completed{color:var(--color-parchment-400);font-family:var(--font-body)}.quest-offer-speaker,.quest-log-history-heading,.tutorial-eyebrow{color:var(--color-bronze-bright);font:600 var(--text-xs)/1.2 var(--font-body);letter-spacing:var(--tracking-label);text-transform:uppercase}.quest-log-objectives{margin-block:var(--space-3);padding-block:var(--space-2);border-block:var(--rule-thin) solid var(--color-iron-600)}.quest-log-objective.complete{color:var(--color-verdigris)}#gamblingDescription,#rouletteGoldInfo,#blackjackGoldInfo,#authModalStatus,#gamblingStatus,#rouletteStatus,#blackjackStatus,.multiplayer-status{color:var(--color-parchment-400);font-family:var(--font-body)}#gamblingStatus,#rouletteStatus,#blackjackStatus,#authModalStatus,.multiplayer-status{min-height:1lh;padding-top:var(--space-2);border-top:var(--rule-thin) solid var(--color-iron-600)}#blackjackStatus[data-error=true]{color:var(--color-oxblood-bright)}.gambling-lifetime{border-block:var(--rule-thin) solid var(--color-iron-600);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gambling-lifetime span{gap:var(--space-1);min-width:0;padding:var(--space-2) var(--space-3);color:var(--color-parchment-400);font:600 var(--text-xs)/1.2 var(--font-body);letter-spacing:var(--tracking-label);text-transform:uppercase;display:grid}.gambling-lifetime span+span{border-left:var(--rule-thin) solid var(--color-iron-600)}.gambling-lifetime strong{overflow-wrap:anywhere;color:var(--color-parchment-200);font:700 var(--text-lg)/1.15 var(--font-display);letter-spacing:0;text-transform:none}.gambling-lifetime strong[data-result=win]{color:var(--color-verdigris)}.gambling-lifetime strong[data-result=loss]{color:var(--color-oxblood-bright)}#rouletteCanvas{aspect-ratio:1;border:var(--rule-frame) double var(--color-bronze);width:min(16.25rem,72vw);height:auto;box-shadow:none}#rouletteNumberPicker{gap:var(--space-2);padding-block:var(--space-3);border-block:var(--rule-thin) solid var(--color-iron-600)}.roulette-num-grid{gap:var(--space-1);grid-template-columns:repeat(6,minmax(0,1fr))}.roulette-num-btn,.roulette-zero-row .roulette-num-btn{min-width:var(--touch-target);width:auto;min-height:var(--touch-target);height:var(--touch-target);border:var(--rule-thin) solid var(--color-iron-500);border-radius:var(--radius-xs);color:var(--color-parchment-100);font:600 var(--text-xs)/1 var(--font-body);transition:border-color var(--duration-fast) var(--ease-enter), transform var(--duration-fast) var(--ease-press)}.roulette-num-green{background:var(--color-verdigris-deep)}.roulette-num-red,.roulette-color-red{background:var(--color-roulette-red)}.roulette-num-black,.roulette-color-black{background:var(--color-roulette-black)}.roulette-num-selected,.roulette-color-selected{box-shadow:inset 0 0 0 var(--rule-thin) var(--color-bronze-bright);transform:none;border-color:var(--color-bronze-bright)!important}.roulette-color-bets{gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.roulette-color-btn{border-radius:var(--radius-xs);color:var(--color-parchment-100)}#rouletteSelectedBet{color:var(--color-bronze-bright);font:600 var(--text-sm)/var(--line-copy) var(--font-body);text-align:start}.roulette-spin-row,.blackjack-bet-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.roulette-spin-row input,.blackjack-bet-row input{min-width:0}.blackjack-table-felt{padding:var(--space-3);border:var(--rule-frame) double var(--color-bronze);border-radius:var(--radius-sm);background:var(--color-felt-deep);color:var(--color-parchment-200)}.blackjack-seat,.blackjack-hand{padding:var(--space-3);border:var(--rule-thin) solid var(--color-verdigris);border-radius:var(--radius-xs);background:var(--color-felt)}.blackjack-seat-header h4,.blackjack-hand-header h4,.blackjack-seat-header span,.blackjack-hand-header span,.blackjack-hand-footer,.blackjack-empty-state{color:var(--color-parchment-200);font-family:var(--font-body)}.blackjack-seat-header h4,.blackjack-hand-header h4{font-family:var(--font-display);font-size:var(--text-lg)}.blackjack-hand.active{border-color:var(--color-bronze-bright);box-shadow:inset 0 0 0 var(--rule-thin) var(--color-bronze-bright)}.blackjack-card{border:var(--rule-thin) solid var(--color-iron-600);border-radius:var(--radius-xs);background:var(--color-card-paper);color:var(--color-card-ink);box-shadow:none}.blackjack-card.red{color:var(--color-roulette-red)}.blackjack-card.hidden-card{border-color:var(--color-bronze);background:var(--color-iron-800)}.blackjack-card-rank,.blackjack-card-suit{font-family:var(--font-display)}#mainMenuOverlay .character-card .char-tag,#mainMenuOverlay .character-card .char-select-hint,#mainMenuOverlay .slot-count-badge{font-family:var(--font-body)}.blackjack-action-row{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.blackjack-action-row button{min-width:0}#tutorialModal .tutorial-title-row{padding-right:0}.tutorial-lead{color:var(--color-parchment-200);font:500 var(--text-md)/var(--line-copy) var(--font-body)}.tutorial-sections{border-top:var(--rule-thin) solid var(--color-iron-600);gap:0}.tutorial-section{padding:var(--space-4) 0;border:0;border-bottom:var(--rule-thin) solid var(--color-iron-600);background:0 0;border-radius:0}.tutorial-section h4{color:var(--color-parchment-100);font:700 var(--text-lg)/1.2 var(--font-display)}.tutorial-section p{max-width:62ch;color:var(--color-parchment-400)}.tutorial-suppress-row{min-height:var(--touch-target);color:var(--color-parchment-400);letter-spacing:0;text-transform:none}.tutorial-suppress-row input{width:var(--space-5);height:var(--space-5);accent-color:var(--color-bronze)}.multiplayer-join-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.multiplayer-join-row label{grid-column:1/-1}.multiplayer-code-display{border:var(--rule-frame) double var(--color-iron-600);border-radius:var(--radius-xs);background:var(--color-iron-950)}.multiplayer-code{min-width:0;color:var(--color-bronze-bright);font-family:var(--font-body)}#multiplayerHud{border:var(--rule-thin) solid var(--color-bronze);border-radius:var(--radius-xs);background:var(--color-iron-900);color:var(--color-bronze-bright);font-family:var(--font-body)}#skillsPanel{width:min(20rem, calc(100% - var(--space-4)))}#skillsPanel .skill-list{gap:0}#skillsPanel .skill-row{padding:var(--space-3) 0;border-top:var(--rule-thin) solid var(--color-iron-600)}#skillsPanel .skill-row span:first-child{color:var(--color-parchment-100);font:700 var(--text-lg)/1.2 var(--font-display)}#skillsPanel .skill-row span:last-child{color:var(--color-parchment-400)}#allyControlsPanel button.active{border-color:var(--color-bronze);background:var(--color-bronze-soft);color:var(--color-parchment-100);box-shadow:inset 0 0 0 var(--rule-thin) var(--color-bronze)}#mapPanel .map-head{color:var(--color-parchment-400)}#mapPanel .map-body{border:var(--rule-thin) solid var(--color-iron-500);border-radius:var(--radius-xs);background:var(--color-felt-deep)}#mapPanel .map-legend{color:var(--color-parchment-400);font-family:var(--font-body)}#statsPanel .modal-title-row{background:var(--color-iron-900);position:static}#statsPanel .stats-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}#statsPanel .stats-stage{min-width:0}#statsPanel .stats-stage-preview{border:var(--rule-thin) solid var(--color-iron-500);border-radius:var(--radius-xs);background:var(--color-iron-950);min-height:14rem}#statsPanel .stats-stage-canvas{min-height:14rem}#statsPanel .stats-stage-fallback{border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-850);color:var(--color-parchment-200);font-family:var(--font-display)}#statsPanel .stats-stage-hint{color:var(--color-parchment-400);font-family:var(--font-body)}#statsPanel .stats-stage-name{color:var(--color-parchment-100);font:700 var(--text-xl)/1.2 var(--font-display)}#statsPanel .stats-grid{border-top:var(--rule-frame) double var(--color-iron-600);gap:0}#statsPanel .stats-row{padding:var(--space-3) var(--space-1);border:0;border-bottom:var(--rule-thin) solid var(--color-iron-600);font-family:var(--font-body);background:0 0;border-radius:0}#statsPanel .stats-row span{color:var(--color-parchment-400)}#statsPanel .stats-row strong{color:var(--color-parchment-100)}#statsPanel .modal-actions{padding:var(--space-3) 0 0;border-top:var(--rule-frame) double var(--color-iron-600);background:var(--color-iron-900);position:static}#statsPanel .modal-actions button{min-width:7rem;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:var(--rule-thin) solid var(--color-iron-600);border-radius:var(--radius-xs);background:var(--color-iron-800);color:var(--color-parchment-100);font:600 var(--text-sm)/1 var(--font-body)}#deathOverlay .modal-card{border-top-color:var(--color-oxblood);text-align:start}#deathOverlay h2{color:var(--color-parchment-100);font:700 var(--text-hero)/var(--line-tight) var(--font-display)}#deathOverlay p{color:var(--color-parchment-400)}#loadingOverlay{background:var(--color-scrim)}#loadingOverlay .loading-card{min-width:12rem;padding:var(--space-4);border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-iron-900);color:var(--color-parchment-100);box-shadow:var(--shadow-panel)}#loadingOverlay .loading-spinner{border-color:var(--color-iron-500);border-top-color:var(--color-bronze-bright)}@media (hover:hover) and (pointer:fine){:is(#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) button:hover,#interactionPrompt button:hover,#commercePlacementHint button:hover,.modal-close-button:hover,#skillsPanel .panel-close-button:hover,#mapPanel .map-close-button:hover{background:var(--color-iron-700);color:var(--color-parchment-100)}:is(#menuStartGame,#menuConfirmCharacter,#slotPlay,#slotCreate,#acceptQuestOffer,#placeGamblingBet,#rouletteSpinBtn,#blackjackDealBtn,#authSignIn,#tutorialPrimaryAction,#multiplayerStart,#multiplayerJoin,#respawnPlayer,#interactionPrompt button,#commercePlacementHint button):hover{background:var(--color-bronze-bright);color:var(--color-accent-ink)}.roulette-num-btn:hover,.roulette-color-btn:hover{border-color:var(--color-bronze-bright);filter:none;transform:translateY(calc(var(--rule-thin) * -1))}}@media (width>=30rem){.roulette-color-bets{grid-template-columns:repeat(2,minmax(0,1fr))}.roulette-spin-row{grid-template-columns:auto minmax(8rem,1fr) auto;align-items:center}}@media (width>=48rem){#mainMenuOverlay #mainMenuPick,#mainMenuOverlay #mainMenuSlots{padding:var(--space-6)}#mainMenuOverlay .character-grid{grid-auto-columns:minmax(16rem,48%)}#mainMenuOverlay .slot-item{grid-template-columns:minmax(0,1fr) auto}.roulette-num-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.blackjack-bet-row{grid-template-columns:auto minmax(8rem,1fr) auto;align-items:center}.blackjack-action-row{grid-template-columns:repeat(5,minmax(0,1fr))}#statsPanel .stats-layout{gap:var(--space-6);grid-template-columns:minmax(16rem,.85fr) minmax(20rem,1.15fr)}#statsPanel .stats-stage-preview,#statsPanel .stats-stage-canvas{min-height:21rem}}@media (width>=64rem){#mainMenuOverlay .slot-create{gap:var(--space-5);grid-template-columns:minmax(14rem,.8fr) minmax(0,1.7fr) minmax(10rem,.6fr);align-items:start}#mainMenuOverlay .slot-create-name,#mainMenuOverlay .slot-create-selection,#mainMenuOverlay .slot-create-actions{border-top:var(--rule-frame) double var(--color-iron-600)}}@media (prefers-reduced-motion:reduce){#interactionPrompt,#commercePlacementHint,#loadingOverlay .loading-card{animation:none}.roulette-num-btn,.roulette-color-btn{transition-duration:.01ms}:is(#merchantModal,#questOfferModal,#questLogModal,#gamblingModal,#rouletteModal,#blackjackModal,#authModal,#tutorialModal,#deathOverlay,#multiplayerModal,#statsPanel) button:active,.roulette-num-btn:hover,.roulette-color-btn:hover{transform:none}#loadingOverlay .loading-spinner{animation-duration:2s}}#skillsPanel,#passivesPanel,#allyControlsPanel,#mapPanel{z-index:var(--z-workbench)}@media (width<=48rem),(pointer:coarse){body:has(#skillsPanel:not(.hidden),#passivesPanel:not(.hidden)):after{content:"";z-index:var(--z-menu);background:var(--color-scrim-soft);pointer-events:auto;touch-action:none;position:fixed;inset:0}#skillsPanel{inset:auto max(var(--space-2), env(safe-area-inset-right,0px)) max(var(--space-2), env(safe-area-inset-bottom,0px)) max(var(--space-2), env(safe-area-inset-left,0px));width:auto;max-width:28rem;max-height:calc(100dvh - var(--space-4) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;touch-action:pan-y;margin-inline:auto;overflow:clip auto}#passivesPanel{touch-action:pan-y;width:auto;max-width:none;max-height:none;inset:max(var(--space-2), env(safe-area-inset-top,0px)) max(var(--space-2), env(safe-area-inset-right,0px)) max(var(--space-2), env(safe-area-inset-bottom,0px)) max(var(--space-2), env(safe-area-inset-left,0px))!important}#passivesPanel .passives-drag-handle{cursor:default}}.hotbar-slot-art{width:var(--space-8);height:var(--space-8);place-items:center;margin-inline:auto;display:grid;position:relative}.cooldown-frame{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--duration-fast) var(--ease-enter);position:absolute;inset:0;overflow:visible}.cooldown .cooldown-frame{opacity:1}.cooldown-frame-track,.cooldown-frame-progress{fill:none;stroke-width:var(--rule-frame);vector-effect:non-scaling-stroke}.cooldown-frame-track{stroke:var(--color-iron-500)}.cooldown-frame-progress{stroke:var(--color-bronze-bright);stroke-dasharray:1 1;stroke-dashoffset:var(--cooldown-remaining,1);transition:stroke-dashoffset .1s linear}.hotbar-slot.cooldown{background:var(--color-iron-900);cursor:not-allowed}.hotbar-slot.cooldown:disabled{opacity:1}.hotbar-slot.cooldown .hotbar-slot-key,.hotbar-slot.cooldown .hotbar-slot-icon,.hotbar-slot.cooldown .hotbar-slot-label{opacity:var(--opacity-disabled)}#mobileAttackButton.cooldown{filter:saturate(.6)brightness(.72)}#mobileAttackButton .cooldown-frame{width:72%;height:72%;inset:14%}.hotbar-slot-icon,.skill-row-icon{color:var(--color-bronze-bright);fill:none;stroke:currentColor;flex:none;display:block}.hotbar-slot-icon{width:var(--space-6);height:var(--space-6);margin-inline:auto}.hotbar-slot-icon[hidden],.skill-row-icon[hidden]{display:none}.hotbar-slot:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.hotbar-slot:active{transform:translateY(var(--rule-thin))}.hotbar-slot:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}#skillsPanel .skill-row{grid-template-columns:var(--space-10) minmax(0, 1fr);align-items:center;gap:var(--space-3);display:grid}#skillsPanel .skill-row-icon{width:var(--space-8);height:var(--space-8);justify-self:center}#skillsPanel .skill-row-copy{gap:var(--space-1);min-width:0;display:grid}#skillsPanel .skill-row-copy strong{color:var(--color-parchment-100);font:700 var(--text-lg)/1.2 var(--font-display)}#skillsPanel .skill-row-copy>span{color:var(--color-parchment-400)}@media (hover:hover) and (pointer:fine){.hotbar-slot.filled:hover{border-color:var(--color-bronze);background:var(--color-iron-700)}}@media (width>=48.0625rem) and (pointer:fine){#toolbar{bottom:max(var(--space-2), env(safe-area-inset-bottom,0px))}#hotbar{bottom:calc(var(--touch-target) + var(--space-10) + env(safe-area-inset-bottom,0px))}.hotbar-slot{align-items:center;gap:var(--space-1);grid-template-rows:auto 1fr auto;height:4rem;display:grid}.hotbar-slot-key,.hotbar-slot-label{text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;overflow:hidden}.hotbar-slot-icon{width:var(--space-5);height:var(--space-5)}#experienceHud{bottom:calc(var(--space-12) + var(--space-12) + var(--space-12) + var(--space-8))}#playerVitals{bottom:calc(var(--space-12) + var(--space-12) + var(--space-12) + var(--space-12) + var(--space-8))}}@media (width<=48rem),(pointer:coarse){#toolbar{left:max(var(--space-2), env(safe-area-inset-left,0px));right:max(var(--space-2), env(safe-area-inset-right,0px));bottom:max(var(--space-2), env(safe-area-inset-bottom,0px));gap:var(--space-1);width:auto;max-width:none;padding:var(--space-1);scroll-snap-type:x proximity;scrollbar-width:none}#toolbar::-webkit-scrollbar{display:none}#toolbar button{min-height:var(--touch-target);padding-inline:var(--space-2);font-size:var(--text-xs);scroll-snap-align:start}#hotbar{left:max(var(--space-2), env(safe-area-inset-left,0px));right:max(var(--space-2), env(safe-area-inset-right,0px));bottom:calc(var(--touch-target) + var(--space-6) + env(safe-area-inset-bottom,0px));gap:var(--space-2);width:auto;max-width:none;min-height:0;padding:var(--space-1);border:var(--rule-frame) double var(--color-iron-500);border-radius:var(--radius-sm);background:var(--color-scrim-soft);box-shadow:var(--shadow-panel);scroll-snap-type:x proximity;scrollbar-width:none;z-index:var(--z-menu);justify-content:flex-start;display:flex;overflow:auto hidden;transform:none}#hotbar.is-empty{display:none}#hotbar::-webkit-scrollbar{display:none}.hotbar-slot:not(.filled){display:none}.hotbar-slot{align-content:center;gap:var(--space-1);width:3.5rem;min-width:3.5rem;height:3rem;padding:var(--space-1);border-radius:var(--radius-sm);scroll-snap-align:start;flex-basis:3.5rem;grid-template-rows:auto 1fr auto}.hotbar-slot-key{inset:var(--space-1) auto auto var(--space-1);min-width:var(--space-4);color:var(--color-parchment-400);font-variant-numeric:tabular-nums;font-size:.625rem;position:absolute}.hotbar-slot-icon{width:var(--space-6);height:var(--space-6)}.hotbar-slot-label{width:100%;max-width:none;color:var(--color-parchment-200);font:600 .625rem/1 var(--font-body);text-overflow:ellipsis;white-space:nowrap;margin-top:0;display:block;overflow:hidden}#mobileControls{bottom:calc(10rem + env(safe-area-inset-bottom,0px))}}
