:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f4f6fa;background:#182235}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow:hidden}#app,#game-host{min-height:100vh}#game-host{display:grid;place-items:center}canvas{max-width:100%;max-height:100vh}.menu-screen,.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#354d76,#111b32 72%);z-index:3}.brand{font-size:clamp(3.6rem,10vw,7rem);font-weight:950;letter-spacing:.08em;color:#ffd166;text-shadow:5px 5px #182235;text-align:center}.brand span{display:block;font-size:.16em;letter-spacing:.02em;color:#f4f6fa;text-shadow:none;margin-top:.7rem}.menu-card,.modal-card,.result-card{display:grid;gap:.7rem;width:min(400px,92vw);padding:1.35rem;border-radius:18px;background:#f4f6fa;color:#182235;box-shadow:0 20px 70px #0009;text-align:center}.menu-card button,.modal-card button,.result-card button,footer button{border:0;border-radius:10px;padding:.9rem;background:#4d8dff;color:#fff;font:800 1rem inherit;cursor:pointer;min-height:44px}.menu-card button:nth-child(2){background:#ff5263}.menu-card button:nth-child(3),.back{background:#30394d!important}.modal-card label{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;font-weight:800;text-align:left;gap:.6rem}select,input{border:2px solid #cdd6e5;border-radius:8px;padding:.6rem;font:inherit}.primary{background:#ff5263!important}.setup{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3}.hud{position:fixed;z-index:2;inset:16px 6% auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:16px;text-shadow:2px 2px #182235}.hud div:nth-of-type(2){text-align:right}.hud label{font-size:.75rem;font-weight:900;display:block}.hud i{display:block;border:2px solid white;background:#182235;border-radius:10px;height:13px;overflow:hidden}.hud em{display:block;height:100%}.hud strong{font-size:1.4rem}.hud #weapon-name,.hud #arena-status{grid-column:2;text-align:center;color:#ffd166;font-size:.76rem;font-weight:800}.hud #arena-status{color:#f4f6fa;font-size:.62rem;letter-spacing:.08em}.overlay{background:#111b32bb}.result-card h1{font-size:3rem;margin:0;color:#4d8dff}.result-card button:last-child{background:#30394d}footer{position:fixed;z-index:4;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:.4rem;align-items:center}footer button{padding:.55rem .7rem;background:#30394d;font-size:.75rem}.profile{font-size:.78rem;font-weight:800}.swatches{display:flex;justify-content:center;gap:.6rem}.swatches button{width:44px;height:44px;padding:0;border:3px solid #182235;border-radius:50%}#touch-controls{position:fixed;z-index:5;top:0;right:0;bottom:0;left:0;pointer-events:none}.touch-ready button{pointer-events:auto;position:absolute;width:58px;height:58px;border:0;border-radius:50%;background:#182235bb;color:#fff;font-size:1.35rem}.touch-left{bottom:26px;left:18px}.touch-right{bottom:26px;left:86px}.touch-jump{bottom:26px;right:18px}.touch-fire{bottom:26px;right:86px;background:#ff5263bb!important}@media(max-width:620px){.brand{font-size:3.5rem}.hud{top:8px;right:4%;bottom:8px;left:4%;gap:7px}.hud strong{font-size:1rem}footer{bottom:8px}.profile{display:none}}.menu-screen{overflow:auto;padding:clamp(22px,5vw,64px);background:#080d20 url(/art/knockrift-hero.png) center/cover no-repeat;isolation:isolate}.menu-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#070b1be8,#0c1029b8 44%,#080b1e88),linear-gradient(0deg,#070b1eee 0%,transparent 45%,#070b1e99 100%)}.menu-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.18;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 72%);mask-image:linear-gradient(90deg,#000,transparent 72%)}.menu-scene{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:clamp(28px,6vw,92px);align-items:center;margin:auto}.menu-copy{display:flex;flex-direction:column;align-items:flex-start;max-width:680px}.menu-eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:16px;color:#9fb9e9;font-size:.72rem;font-weight:950;letter-spacing:.2em;text-transform:uppercase}.status-dot,.live-pulse{width:8px;height:8px;border-radius:50%;background:#8ce99a;box-shadow:0 0 16px #8ce99a;display:inline-block}.brand-art{width:min(670px,96vw);aspect-ratio:1.78;border:1px solid #c9e2ff55;border-radius:24px;background:url(/art/knockrift-title.png) center/cover no-repeat;box-shadow:0 30px 80px #000b,0 0 0 8px #0c153355,0 0 46px #b9955a22;transform:rotate(-.6deg);margin-bottom:22px}.brand{font-size:clamp(3.6rem,9vw,7.8rem);line-height:.82;letter-spacing:.12em;color:#f8fbff;text-shadow:0 4px 0 #182235,0 0 32px #55a5ff99;margin-left:-5px}.brand:first-letter{color:#ffd166}.brand span{font-size:clamp(.72rem,1.5vw,1rem);font-weight:750;letter-spacing:.3em;text-transform:uppercase;color:#ffd166;margin-top:18px;text-shadow:0 2px #182235}.title-mark{display:none}.brand-tagline{margin:0 0 18px 6px;color:#ffd166;font-size:clamp(.7rem,1.5vw,1rem);font-weight:900;letter-spacing:.3em;text-transform:uppercase;text-shadow:0 2px #182235}.menu-pitch{max-width:430px;margin:22px 0 16px;color:#d9e6ff;font-size:clamp(.95rem,1.7vw,1.15rem);line-height:1.5}.menu-meta{display:flex;flex-wrap:wrap;gap:8px;color:#a8bde2;font-size:.65rem;font-weight:900;letter-spacing:.13em}.menu-meta span{border:1px solid #9ab9e344;border-radius:999px;background:#0c1634aa;padding:8px 11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu-card{width:100%;padding:22px;background:linear-gradient(150deg,#122143e8,#080f25e8);border:1px solid #b7d8ff45;border-radius:24px;color:#f4f7ff;box-shadow:0 28px 90px #000b,0 0 0 1px #0b1430;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:left;gap:10px}.menu-card:before{content:"";height:3px;width:62px;border-radius:4px;background:linear-gradient(90deg,#4d8dff,#ff5263);display:block;margin-bottom:5px}.menu-card-heading{display:flex;justify-content:space-between;align-items:end;padding:0 4px 12px;border-bottom:1px solid #b7d8ff22}.menu-card-heading span{font-size:.78rem;font-weight:950;letter-spacing:.17em}.menu-card-heading small{color:#8fa8d0;font-size:.68rem}.menu-card button{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;width:100%;min-height:64px;padding:11px 12px;border:1px solid #a9c9f522;border-radius:14px;background:#19315bdd!important;color:#f7fbff;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease;box-shadow:none}.menu-card button:hover{transform:translate(5px);border-color:#91bbff99;background:#244b82ee!important}.menu-card button:nth-of-type(2):hover{border-color:#ff8190aa}.menu-card button:nth-of-type(3):hover{border-color:#cf9cffaa}.menu-card button strong,.menu-card button small{display:block}.menu-card button strong{font-size:.9rem}.menu-card button small{margin-top:3px;color:#9eb5dc;font-size:.68rem;font-weight:650}.menu-card button i{font-size:1.25rem;color:#8db7ff;font-style:normal}.menu-button-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#4d8dff;color:#fff;font-size:1.15rem;box-shadow:0 5px 14px #0005}.menu-card button:nth-of-type(2) .menu-button-icon{background:#ff5263}.menu-card button:nth-of-type(3) .menu-button-icon{background:#9b6cff}.menu-card button:nth-of-type(4) .menu-button-icon{background:#f0a947}.menu-card-footer{display:flex;align-items:center;gap:8px;padding:10px 4px 0;color:#7994c0;font-size:.58rem;font-weight:850;letter-spacing:.1em}.menu-card-footer span:last-child{margin-left:auto;color:#5f79a5}.menu-card>button:nth-of-type(1),.menu-card>button:nth-of-type(2),.menu-card>button:nth-of-type(3),.menu-card>button:nth-of-type(4){background:#19315bdd!important}.modal-card,.result-card{background:linear-gradient(145deg,#14264bef,#0a1228f5);border:1px solid #b7d8ff55;color:#f5f8ff;box-shadow:0 30px 90px #000c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.modal-card h2,.result-card h1{text-shadow:0 3px #091126}.modal-card label{color:#dbe8ff}.result-card h1{color:#ffd166}.overlay{background:linear-gradient(135deg,#070b20e8,#0a1836d9),url(/art/knockrift-hero.png) center/cover no-repeat}#app:has(.setup){min-height:100vh;background:linear-gradient(135deg,#070b20e8,#0a1836d9),url(/art/knockrift-hero.png) center/cover no-repeat}@media(max-width:760px){.menu-screen{padding:24px 16px}.menu-scene{grid-template-columns:1fr;gap:18px;max-width:500px}.menu-copy{align-items:center;text-align:center}.menu-eyebrow{margin-bottom:10px;font-size:.58rem}.brand-art{width:min(500px,100%);margin-bottom:18px}.title-mark{display:none}.brand-tagline{margin:0 0 14px;font-size:.66rem;letter-spacing:.18em}.menu-pitch{margin:15px 0 10px}.menu-meta{justify-content:center;font-size:.55rem}.menu-card{padding:17px;border-radius:20px}.menu-card button{min-height:60px}}.brand-art{filter:brightness(1.2) contrast(1.12) saturate(.9);box-shadow:0 34px 90px #000d,0 0 0 8px #0b132855,0 0 0 2px #d7b46a66,0 0 46px #d7b46a44;transform:scale(1.04) rotate(-.6deg)}.menu-copy{position:relative;z-index:1}.menu-card{border-color:#d7b46a55;box-shadow:0 28px 90px #000d,0 0 0 1px #d7b46a22}.menu-card:before{background:linear-gradient(90deg,#d7b46a,#8b6f44,#d7b46a)}.menu-card button{background:linear-gradient(120deg,#1b2938ee,#151d2bee)!important;border-color:#d7b46a2e}.menu-card button:hover{background:linear-gradient(120deg,#2a3949f5,#202a36f5)!important;border-color:#d7b46a99}.menu-button-icon{background:#b99453!important;color:#101820;box-shadow:0 5px 14px #0007}.menu-card button:nth-of-type(2) .menu-button-icon{background:#8b6f9c!important}.menu-card button:nth-of-type(3) .menu-button-icon{background:#78949a!important}.menu-card button:nth-of-type(4) .menu-button-icon{background:#d7b46a!important}.menu-card button i{color:#d7b46a}.modal-card,.result-card{border-color:#d7b46a66;box-shadow:0 30px 90px #000d,0 0 0 1px #d7b46a22}.modal-card h2,.result-card h1{color:#f1d18a;text-shadow:0 3px #091126,0 0 24px #d7b46a44}.modal-card button,.result-card button{background:#b99453!important;color:#111923;border:1px solid #f1d18a66}.modal-card button:hover,.result-card button:hover{background:#d7b46a!important}.result-card button:last-child{background:#26313d!important;color:#f5f8ff}.overlay{background:linear-gradient(135deg,#070b20ed,#111923dc),url(/art/knockrift-hero.png) center/cover no-repeat}.overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 35%,#d7b46a12 50%,transparent 65%),repeating-linear-gradient(135deg,#d7b46a08 0 1px,transparent 1px 24px);mix-blend-mode:screen}.setup{filter:drop-shadow(0 24px 60px #000b)}#game-host{background:radial-gradient(circle at 50% 15%,#283747,#10171f 68%)}@media(max-width:760px){.brand-art{transform:scale(1.01) rotate(-.4deg);filter:brightness(1.16) contrast(1.1) saturate(.9)}}.brand-art{filter:brightness(1.24) contrast(1.12) saturate(.92);box-shadow:0 34px 90px #07111dcc,0 0 0 8px #0b1b2c55,0 0 0 2px #bfe9ff88,0 0 52px #8ed9ff66}.menu-card{border-color:#bfe9ff55;box-shadow:0 28px 90px #07111dcc,0 0 0 1px #bfe9ff22}.menu-card:before{background:linear-gradient(90deg,#bfe9ff,#9d8bca,#bfe9ff)}.menu-card button{background:linear-gradient(120deg,#1c3449ee,#172537ee)!important;border-color:#bfe9ff2e}.menu-card button:hover{background:linear-gradient(120deg,#2a4b63f5,#26364ff5)!important;border-color:#bfe9ff99}.menu-button-icon{background:#8ed9ff!important;color:#10202c}.menu-card button:nth-of-type(2) .menu-button-icon{background:#a895d1!important}.menu-card button:nth-of-type(3) .menu-button-icon{background:#81b8c6!important}.menu-card button:nth-of-type(4) .menu-button-icon{background:#d5e8f2!important}.menu-card button i{color:#bfe9ff}.modal-card,.result-card{border-color:#bfe9ff66;box-shadow:0 30px 90px #07111dcc,0 0 0 1px #bfe9ff22}.modal-card h2,.result-card h1{color:#d9f3ff;text-shadow:0 3px #091126,0 0 24px #8ed9ff55}.modal-card button,.result-card button{background:#8ed9ff!important;color:#10202c;border-color:#d9f3ff88}.modal-card button:hover,.result-card button:hover{background:#bfe9ff!important}.result-card button:last-child{background:#26384a!important;color:#f5f8ff}.overlay{background:linear-gradient(135deg,#081727e8,#12263ad9),url(/art/knockrift-hero.png) center/cover no-repeat}.overlay:before{background:linear-gradient(115deg,transparent 0 35%,#bfe9ff12 50%,transparent 65%),repeating-linear-gradient(135deg,#bfe9ff08 0 1px,transparent 1px 24px)}#game-host{background:radial-gradient(circle at 50% 15%,#36536b,#101c28 68%)}.menu-screen{background:radial-gradient(circle at 50% 12%,#3d627c,#172b3d 52%,#0c1724)}.menu-screen:before{background:linear-gradient(90deg,#081522d9,#10283bb0 45%,#081522d9),linear-gradient(0deg,#07121fe8 0%,transparent 48%,#07121f88 100%)}.brand-art{filter:brightness(1.02) contrast(1.15) saturate(.9);box-shadow:0 34px 90px #07111dcc,0 0 0 8px #0b1b2c55,0 0 0 2px #bfe9ff88,0 0 48px #8ed9ff55}.menu-utilities{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:3px;padding-top:10px;border-top:1px solid #bfe9ff22}.menu-utilities button{min-height:40px!important;padding:8px 10px!important;border:1px solid #bfe9ff33!important;border-radius:10px!important;background:#12283bee!important;color:#cfefff!important;font:800 .72rem inherit!important;text-align:center!important}.menu-utilities button:hover{border-color:#bfe9ff99!important;background:#24445bee!important}.settings-card{gap:14px!important}.setting-row{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:12px;color:#cfefff!important}.setting-row input[type=range]{accent-color:#8ed9ff}.setting-row input[type=checkbox]{justify-self:start;width:20px;height:20px;accent-color:#8ed9ff}.account-settings{max-height:92vh;overflow:auto}.account-summary{display:grid;gap:4px;padding:10px;border:1px solid #bfe9ff44;border-radius:10px;background:#12283b;color:#cfefff;font-size:.78rem}.account-summary strong{color:#ffd166;font-size:.95rem}.account-settings hr{width:100%;border:0;border-top:1px solid #cdd6e533}.account-settings h3{margin:.1rem 0;color:#ffd166}.account-settings>input{width:100%}.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.account-settings [data-account=status]{min-height:1.2em;margin:0}.account-settings [data-account=status][data-error="1"]{color:#ff9ea9}.menu-utilities{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding-top:10px!important}.menu-account-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 8px;border-bottom:1px solid #bfe9ff22}.menu-stats{display:grid;gap:2px;text-align:left;color:#cfefff;font-size:.72rem;letter-spacing:.04em;min-width:0}.menu-stats strong{color:#ffd166;font-size:.9rem}.menu-stats span{font-weight:900;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-stats small{color:#b7cbe4;font-size:.68rem}.menu-account-actions{display:flex;gap:6px;flex-shrink:0}.menu-account-actions button{width:auto!important;height:34px;min-height:34px!important;padding:6px 9px!important;font-size:.68rem!important;border-radius:8px!important}.menu-account-actions button:first-child{background:#4d8dff!important}.menu-utility-buttons{display:flex;justify-content:center;gap:10px}.menu-utility-buttons button{flex:0 0 48px}.account-page{width:min(380px,92vw)}.account-page input{width:100%}.overlay{background:linear-gradient(135deg,#081727ed,#12263ae8)}#app:has(.setup){background:linear-gradient(135deg,#081727ed,#12263ae8)}.menu-screen{background:#0b1725 url(/art/knockrift-hero.png) center/cover no-repeat}.menu-screen:before{background:linear-gradient(180deg,#071422c4,#0b172580 42%,#07121fd4)}.menu-scene{grid-template-columns:1fr;gap:12px;max-width:760px;align-items:center}.menu-copy{align-items:center;text-align:center;max-width:760px}.brand-art{width:min(900px,96vw);aspect-ratio:4.45;background:url(/art/knockrift-title-mark.png) center/contain no-repeat;border:0;border-radius:0;box-shadow:none;transform:none;filter:brightness(1.04) contrast(1.08) saturate(.92);margin:0 0 2px}.menu-card{width:min(430px,94vw);justify-self:center}.menu-pitch{margin:12px 0 10px}.menu-meta{justify-content:center}.menu-screen:after{display:none}.menu-scene{display:flex;flex-direction:column;gap:10px}.menu-copy{display:contents}.brand-art{order:1;margin:0}.brand-tagline{order:2;margin:0 0 4px}.menu-card{order:3}.menu-pitch{order:4;margin:4px 0 0;max-width:520px}.menu-meta{order:5}.menu-card-footer{display:none}.menu-utilities{grid-template-columns:repeat(3,48px);justify-content:center;gap:10px;margin-top:2px;padding-top:10px;border-top:1px solid #bfe9ff22}.menu-utilities button{width:48px;height:40px;min-height:40px!important;padding:0!important;border-radius:12px!important;font-size:1.05rem!important;line-height:1}.menu-card button[data-action=help]{display:none}.menu-screen:before{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;min-height:100%;z-index:-1}.menu-utilities button{display:grid;place-items:center}.menu-utilities button img{width:25px;height:25px;display:block;object-fit:contain;filter:drop-shadow(0 2px 3px #06111c99)}.menu-pitch{display:none}.menu-utilities{width:100%;display:grid!important;grid-template-columns:repeat(3,48px);justify-content:center;justify-items:center;align-items:center;margin-left:auto;margin-right:auto}.menu-button-icon{display:grid!important;place-items:center}.menu-button-icon img{width:25px;height:25px;object-fit:contain;display:block;filter:drop-shadow(0 2px 3px #06111c99)}.hud #weapon-name{position:fixed;left:50%;bottom:18px;z-index:6;transform:translate(-50%);border:0;background:#182235cc;padding:8px 16px;border-radius:999px;cursor:pointer;text-transform:capitalize;text-shadow:2px 2px #182235}@media(max-width:620px){.hud #weapon-name{bottom:92px}}.room-code{font-size:2rem;letter-spacing:.22em;color:#8ed9ff}.share-email{display:block;border-radius:10px;padding:.9rem;background:#26384a;color:#f5f8ff;font-weight:800;text-decoration:none}.private-match-card .setup-note,.private-invite .setup-note{min-height:1.2em;margin:.2rem 0;color:#486078}.collection-card .swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem}.collection-card .skin-choice{position:relative;min-height:70px;border:3px solid transparent;border-radius:14px;color:#111923;font-size:.68rem;font-weight:900;text-shadow:0 1px #ffffff99;box-shadow:inset 0 -20px 25px #0002,0 6px 12px #0004;background:var(--skin-color)!important}.collection-card .skin-choice span{position:absolute;inset:auto 0 6px;z-index:1;text-align:center}.collection-card .skin-choice.selected{border-color:#fff;outline:3px solid #8ed9ff;transform:translateY(-3px)}@media(max-width:620px){.collection-card .swatches{grid-template-columns:repeat(3,1fr)}}.hud #quit-room{position:fixed;right:18px;bottom:18px;z-index:7;border:1px solid #ff9eaa;border-radius:999px;padding:8px 14px;background:#7d3044dd;color:#fff;font:800 .72rem inherit;cursor:pointer}.menu-account-actions button{width:64px!important;white-space:nowrap}.menu-account-actions .icon-action{width:40px!important;height:40px;min-height:40px!important;padding:6px!important;border:1px solid #bfe9ff44!important;background:#12283bee!important}.menu-account-actions .icon-action img{width:25px;height:25px;display:block;object-fit:contain}.account-page .account-summary{margin:10px 0 14px}.account-page .account-actions{width:100%}.account-page .account-actions button{min-height:42px}.help-overlay{background:#030812db!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.help-card{width:min(540px,94vw)!important;max-height:90vh;overflow:auto;background:#f7fbff!important;color:#14243a!important;border:2px solid #8ed9ff;box-shadow:0 22px 80px #000c!important;text-align:left!important;gap:.9rem!important}.help-card .back{justify-self:start;color:#fff!important;background:#30394d!important}.help-card h2{text-align:center;color:#173b64;margin:.2rem 0;font-size:1.7rem}.help-card p{margin:.15rem 0;color:#29435d;line-height:1.45}.control-list{display:grid;gap:8px}.control-list>div{display:grid;grid-template-columns:minmax(145px,.9fr) 1.1fr;align-items:center;gap:10px;padding:10px 12px;border:1px solid #b5cbe0;border-radius:10px;background:#e8f2fb}.control-list span{color:#123a62;font-weight:900}.control-list strong{color:#26384d;font-size:.9rem}.control-list kbd{display:inline-block;min-width:24px;padding:3px 7px;border:1px solid #8199b2;border-bottom-width:3px;border-radius:6px;background:#fff;color:#102b49;text-align:center;font:900 .82rem ui-monospace,monospace}.mobile-controls,.mobile-environment .desktop-controls{display:none}.mobile-environment .mobile-controls{display:grid}.help-note{padding:10px 12px!important;border-left:4px solid #ff5263;background:#fff1f2;color:#4b2630!important}.help-card>[data-help=close]{width:100%;text-align:center}.help-card{width:min(400px,92vw)!important;max-height:92vh;background:#f4f6fa!important;color:#182235!important;border:0!important;box-shadow:0 20px 70px #0009!important;text-align:center!important;gap:.7rem!important}.help-card .back{justify-self:stretch;color:#fff!important;background:#30394d!important}.help-card h2{color:#182235;margin:0;font-size:1.5rem}.help-card p{color:#29435d}.control-list>div{background:#eef4fa;border-color:#cdd6e5}.help-note{background:#fff1f2}.help-card .back,.help-card>[data-help=close]{width:100%;min-height:44px!important;padding:.9rem!important;border:0!important;border-radius:10px!important;background:#ff5263!important;color:#fff!important;font:800 1rem inherit!important}.help-card .back{background:#4d8dff!important;color:#fff!important}.help-card{width:min(400px,92vw)!important;padding:1.35rem!important;border-radius:18px!important;background:#f4f6fa!important;color:#182235!important;box-shadow:0 20px 70px #0009!important;text-align:center!important}.help-card h2{color:#182235!important;margin:0}.help-card p{color:#182235!important}.help-card .control-list>div{background:#eef4fa;border:1px solid #cdd6e5;border-radius:10px;padding:9px 10px}.help-card .control-list span{color:#182235}.help-card .control-list strong{color:#26384d}.help-card .help-note{background:#fff1f2;color:#4b2630!important}.help-group{display:grid;gap:7px;text-align:left}.help-group h3{margin:.2rem 0 0;color:#182235;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.help-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px;padding:8px 10px;border:1px solid #cdd6e5;border-radius:10px;background:#eef4fa;color:#182235}.help-row span{font-weight:900;color:#204a75}.help-row strong{font-size:.86rem;color:#26384d}.help-row kbd{display:inline-block;min-width:22px;padding:2px 5px;border:1px solid #8199b2;border-bottom-width:2px;border-radius:5px;background:#fff;color:#102b49;text-align:center;font:800 .75rem ui-monospace,monospace}.help-group.mobile-controls{display:none}.mobile-environment .help-group.mobile-controls{display:grid}.mobile-environment .help-group:not(.mobile-controls){display:none}.menu-utility-buttons{display:grid!important;grid-template-columns:repeat(4,44px)!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:100%;margin-top:4px;padding-top:10px;border-top:1px solid #bfe9ff22}.menu-utility-buttons button{display:grid!important;place-items:center!important;grid-template-columns:1fr!important;width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border:1px solid #bfe9ff44!important;border-radius:13px!important;background:linear-gradient(145deg,#1c3854dd,#101f36ee)!important;color:#d9f4ff!important;box-shadow:0 6px 16px #02091488,inset 0 1px #ffffff18!important;transform:none!important}.menu-utility-buttons button:hover{transform:translateY(-3px)!important;border-color:#8ed9ffcc!important;background:linear-gradient(145deg,#295274ee,#172d49f5)!important;box-shadow:0 10px 20px #020914aa,0 0 0 2px #8ed9ff22!important}.menu-utility-buttons button:focus-visible{outline:2px solid #ffd166;outline-offset:2px}.menu-utility-buttons button img{display:block;width:23px;height:23px;object-fit:contain;filter:drop-shadow(0 2px 3px #06111c99)}.menu-utility-buttons button:nth-child(1){border-color:#8ed9ff66!important}.menu-utility-buttons button:nth-child(2){border-color:#a895d166!important}.menu-utility-buttons button:nth-child(3){border-color:#81b8c666!important}.menu-utility-buttons button:nth-child(4){border-color:#d5e8f266!important}.level-up-overlay{background:radial-gradient(circle at 50% 35%,#5b3c9ee8,#0b1024f2 72%)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.level-up-card{position:relative;overflow:hidden;width:min(390px,92vw)!important;padding:28px 24px!important;background:linear-gradient(150deg,#fffdf2,#e8f3ff)!important;border:2px solid #ffd166!important;box-shadow:0 0 0 5px #ffd16622,0 24px 90px #000d!important;color:#182235!important;gap:10px!important}.level-up-card:before,.level-up-card:after{content:"✦  ·  ✧  ·  ✦";position:absolute;left:0;right:0;color:#ffd166aa;font-size:1.4rem;letter-spacing:1.1em;pointer-events:none}.level-up-card:before{top:10px}.level-up-card:after{bottom:8px}.level-burst{display:grid;place-items:center;align-self:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#ffd166,#ff8f70);color:#fff;font-size:2rem;font-weight:950;box-shadow:0 8px 24px #e8783566,0 0 0 7px #ffd16633}.level-kicker{margin:2px 0 0;color:#8b6a18;font-size:.65rem;font-weight:950;letter-spacing:.16em}.level-up-card h1{margin:0;color:#ff6b5c;font-size:2.45rem;letter-spacing:.06em;text-shadow:2px 2px #ffd16666}.level-change{display:flex;justify-content:center;align-items:center;gap:16px;margin:2px 0;color:#67758e}.level-change strong{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#182235;color:#ffd166;font-size:1.35rem;box-shadow:0 5px 12px #18223544}.level-change span{font-size:1.5rem;font-weight:950;color:#ff8067}.level-up-card>p:not(.level-kicker){margin:0;color:#32445f}.level-up-card>p b{color:#c77d00}.level-unlock-list{display:grid;gap:6px;margin:4px 0;padding:9px 10px;border:1px solid #a8c9e8;border-radius:10px;background:#edf6ff;color:#23476d;font-weight:900}.level-unlock-list span{color:var(--reward-color,#4d8dff)}.level-up-card button{position:relative;z-index:1;margin-top:4px}.help-entry{background:#30394d!important}canvas:focus{outline:none}.help-overlay{z-index:6}.help-card{text-align:left;gap:.55rem}.help-card h2,.help-card p{margin:.15rem 0}.control-list{display:grid;gap:.45rem;margin:.35rem 0}.control-list div{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .65rem;border-radius:9px;background:#e5eaf2}.control-list span{font-size:.82rem}.control-list strong{font-size:.84rem}.control-list kbd{display:inline-grid;place-items:center;min-width:27px;padding:.18rem .38rem;border:1px solid #a7b1c2;border-bottom-width:3px;border-radius:5px;background:#fff;font:800 .75rem inherit}.help-note{font-size:.76rem;color:#5b6475}.mobile-controls,.help-card.mobile-environment .desktop-controls{display:none}.help-card.mobile-environment .mobile-controls{display:grid}.hud .balance-status{color:#8ce99a;font-size:.63rem;font-weight:900;letter-spacing:.08em}.hud #enemy-balance{text-align:right}.mobile-test{width:min(440px,92vw);gap:.8rem}.phone-frame{width:min(300px,78vw);margin:auto;padding:18px 11px 12px;border:8px solid #182235;border-radius:30px;background:#30394d;box-shadow:inset 0 0 0 2px #63718a,0 14px 30px #0005}.phone-notch{width:70px;height:9px;border-radius:0 0 10px 10px;background:#182235;margin:-12px auto 8px}.mobile-test-screen{height:245px;border-radius:14px;border:2px solid #81a5d1;position:relative;overflow:hidden;display:grid;place-items:center;background:linear-gradient(#183352 0,#183352 65%,#16789b 65%);color:#fff;font-weight:800;touch-action:none;-webkit-user-select:none;user-select:none}.mobile-test-screen:after{content:"";position:absolute;left:18px;right:18px;bottom:34px;height:18px;border:3px solid #d6a15d;background:#9d6a3d;border-radius:4px}.test-stickman{position:absolute;width:20px;height:58px;border-radius:10px;background:#4d8dff;bottom:49px;left:calc(50% - 10px);z-index:1;transition:transform .2s}.test-stickman:before{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#4d8dff;left:-1px;top:-25px}.mobile-test-screen span{position:absolute;top:12px;z-index:2;font-size:.72rem}.mobile-test-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-top:10px}.mobile-test-controls button{min-height:52px;font-size:1.35rem;touch-action:none;-webkit-user-select:none;user-select:none}.mobile-test-controls button:last-child{background:#ff5263}.mobile-test-screen:after{display:none}.mobile-test-screen #mobile-game-host,.mobile-test-screen canvas{width:100%!important;height:100%!important;max-width:none;max-height:none;display:block}.mobile-test-controls.touch-ready{position:relative;inset:auto;display:grid}.mobile-test-controls.touch-ready button{position:static;width:auto;height:52px;border-radius:10px;font-size:1.35rem}.mobile-test-overlay{padding:0}.mobile-test-overlay .mobile-test{width:100vw;height:100vh;max-width:none;padding:0;border-radius:0;background:#101827;color:#f4f6fa;display:block;position:relative;overflow:hidden}.mobile-test-overlay .mobile-test>h2,.mobile-test-overlay .mobile-test>p,.mobile-test-overlay .mobile-test>.back{position:absolute;z-index:4}.mobile-test-overlay .mobile-test>h2{top:12px;left:50%;transform:translate(-50%);margin:0;font-size:clamp(1rem,3vw,1.5rem);text-shadow:2px 2px #101827}.mobile-test-overlay .mobile-test>p{display:none}.mobile-test-overlay .mobile-test>.back{top:10px;left:12px;padding:.55rem .8rem;min-height:38px;background:#182235cc!important}.mobile-test-overlay .phone-frame{width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.mobile-test-overlay .phone-notch{display:none}.mobile-test-overlay .mobile-test-screen{width:100%;height:100%;border:0;border-radius:0}.mobile-test-overlay .mobile-test-controls.touch-ready{position:absolute;z-index:5;left:0;right:0;bottom:20px;display:flex;justify-content:space-between;align-items:end;padding:0 22px;pointer-events:none}.mobile-test-overlay .mobile-test-controls.touch-ready button{pointer-events:auto;width:64px;height:64px;border-radius:50%;border:1px solid #ffffff44;background:#18223599;color:#fffd;box-shadow:0 4px 14px #0006}.mobile-test-overlay .mobile-test-controls.touch-ready .touch-jump{margin-left:auto}.mobile-test-overlay .mobile-test-controls.touch-ready .touch-fire{background:#6f304499!important;margin-left:10px}.mobile-test-overlay .mobile-test-controls.touch-ready{justify-content:flex-start!important}.mobile-test-overlay .mobile-test-controls.touch-ready .touch-left{order:1}.mobile-test-overlay .mobile-test-controls.touch-ready .touch-jump{order:2;margin-left:10px!important}.mobile-test-overlay .mobile-test-controls.touch-ready .touch-fire{order:3;margin-left:10px!important}.mobile-test-overlay .mobile-test-controls.touch-ready .touch-right{order:4;margin-left:auto}body.mobile-runtime{overflow:hidden;background:#182235}body.mobile-runtime #app,body.mobile-runtime #game-host{width:100vw;height:100vh;min-height:0}body.mobile-runtime #game-host{display:grid;place-items:center}body.mobile-runtime #game-host canvas{width:100vw!important;height:100vh!important;max-width:none;max-height:none;object-fit:contain}body.mobile-runtime #touch-controls{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.mobile-runtime #touch-controls.touch-ready button{pointer-events:auto;position:absolute;z-index:10;width:88px;height:88px;border-radius:50%;border:2px solid #ffffff55;background:#182235bb;color:#fffe;box-shadow:0 5px 18px #0008;touch-action:none;font-size:2rem}.mobile-runtime #touch-controls.touch-ready .touch-left{left:20px;right:auto;bottom:18px}.mobile-runtime #touch-controls.touch-ready .touch-jump{left:126px;right:auto;bottom:18px}.mobile-runtime #touch-controls.touch-ready .touch-right{left:auto;right:20px;bottom:18px}
