@font-face{font-family:Circle;src:local('Bahnschrift')}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#11101b;color:#e9dfca;font-family:Circle,'Segoe UI',sans-serif;font-size:14px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid #444052;background:#262332;transition:background .18s,border-color .18s,transform .18s}button:hover{border-color:#bda778;background:#332e40}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #d9ad54;outline-offset:4px}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button{border-radius:3px}.shell{max-width:1600px;margin:auto;padding:0 42px;min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 70% 25%,#211b30aa,transparent 60%)}.topbar{display:flex;align-items:center;gap:34px;height:108px;border-bottom:1px solid #332e3e}.brand{display:flex;align-items:center;gap:13px;font-size:12px;line-height:1.45;letter-spacing:2px}.brand b{font-size:23px;letter-spacing:7px}.brand-mark{font-size:49px;color:#d9ad54;font-family:Georgia,serif}.header-caption{font-size:9px;letter-spacing:2px;line-height:1.9;color:#7e758d;border-left:1px solid #413846;padding-left:28px}.header-caption span{color:#aa9aaf}.profile-chip{display:flex;align-items:center;gap:10px;margin-left:auto}.profile-chip strong{display:block;font-size:13px;letter-spacing:.5px}.profile-chip small{display:block;color:#877e95;font-size:10px;margin-top:5px;max-width:270px}.status-dot,.lobby-footer i{background:#92b986;width:6px;height:6px;display:inline-block;border-radius:50%;box-shadow:0 0 10px #92b98655}.wallet{display:grid;grid-template-columns:24px auto;gap:3px 8px;border-left:1px solid #413846;padding-left:26px;min-width:110px}.wallet>span{color:#d9ad54;font-size:26px;grid-row:span 2}.wallet strong{font-size:20px;line-height:1}.wallet small{font-size:8px;color:#948575;letter-spacing:2px}.tabs{display:flex;gap:30px;height:68px;align-items:stretch}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#8f859e;padding:0 0;font-size:12px;font-weight:600;letter-spacing:.5px;white-space:nowrap}.tabs button span{color:#5c526b;font-size:9px;margin-right:5px}.tabs button.active{color:#e8c77e;border-bottom-color:#d9ad54}.tabs button.active span{color:#cba85e}.tabs .settings-tab{margin-left:auto;font-size:23px;width:34px}main{flex:1}.expedition{display:grid;grid-template-columns:270px minmax(300px,1fr) 285px;min-height:650px;gap:22px;padding:20px 0 30px}.section-kicker{font-size:10px;font-weight:600;color:#ad97bd;letter-spacing:2px;text-transform:uppercase}.section-label{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px}.section-label small{font-size:9px;color:#675e74;letter-spacing:1px}.hero-list{display:flex;flex-direction:column;gap:7px}.hero-card{text-align:left;display:flex;align-items:center;gap:14px;background:#191623;border:1px solid #302a3d;border-left:2px solid #302a3d;height:64px;padding:5px 11px;position:relative;overflow:hidden}.hero-card.selected{background:linear-gradient(90deg,#3a2c34,#221c29);border-color:#7d6241;border-left:2px solid #dab76a}.hero-card.selected:after{content:'◆';position:absolute;right:13px;color:#d9ad54;font-size:9px}.hero-card strong{font-size:13px;display:block}.hero-card small{font-size:9px;color:#8f819a;display:block;margin-top:5px;max-width:170px}.portrait{display:block;background-image:url('/assets/heroes.png');background-size:400% 200%;background-repeat:no-repeat;image-rendering:pixelated;width:50px;height:50px;flex-shrink:0;filter:drop-shadow(0 4px 3px #0008)}.hero-card .portrait{width:48px;height:52px}.test-label{margin-top:17px;color:#766b83;font-size:9px;letter-spacing:1px;line-height:1.8}.hero-stage{display:flex;flex-direction:column;position:relative;border:1px solid #403549;background:#1a1722;min-height:635px;overflow:hidden}.hero-stage:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#16141d22 5%,#18142177 48%,#17131f 85%),url('/assets/key-art.png') center 22%/auto 100% no-repeat;opacity:.9}.stage-heading{position:relative;display:flex;justify-content:space-between;padding:25px 28px;font-size:9px;letter-spacing:2px;color:#c0adba}.stage-heading .gold{color:#dab96d}.stage-visual{position:relative;min-height:255px;display:grid;place-items:center;flex:1}.hero-glow{position:absolute;width:180px;height:180px;background:radial-gradient(ellipse,var(--hero-color,#b39ddb) 0%,transparent 67%);opacity:.18;filter:blur(16px)}.pedestal{position:absolute;width:178px;height:38px;background:radial-gradient(ellipse,#a5a0bb66 0%,#6a57662b 44%,transparent 67%);bottom:28px;border-bottom:1px solid #c9a56355;border-radius:50%}.stage-portrait{width:240px;height:240px;position:relative;filter:drop-shadow(0 9px 2px #0007);animation:float 5s ease-in-out infinite}.hero-info{position:relative;padding:5px 34px 30px;text-align:center}.hero-number{font-size:8px;letter-spacing:3px;color:#9f8faa}.hero-info h1{font-size:44px;letter-spacing:2px;font-weight:500;margin:8px 0 5px;line-height:1.2}.hero-subtitle{color:#baa19f;letter-spacing:1px;font-family:Georgia,serif;font-style:italic;font-size:13px}.hero-info p{color:#9b8fa7;line-height:1.75;font-size:12px;max-width:370px;margin:17px auto}.hero-stats{display:flex;justify-content:center;gap:25px;margin-top:22px}.hero-stats div{padding:0 19px;border-right:1px solid #443445}.hero-stats div:last-child{border:0}.hero-stats b{display:block;font-size:18px;color:#e3c695;font-weight:500}.hero-stats span{display:block;margin-top:6px;font-size:8px;letter-spacing:1.6px;color:#8b7c91}.right-panel{display:flex;flex-direction:column}.map-list{display:flex;flex-direction:column;gap:10px}.map-card{position:relative;text-align:left;min-height:102px;padding:17px 18px;border:1px solid #3e3448;background:linear-gradient(115deg,var(--map-floor),#191622);overflow:hidden}.map-card.selected{border-color:#b39862;box-shadow:inset 3px 0 #d3ac60}.map-card:before{content:attr(data-icon);font-size:83px;position:absolute;right:8px;top:0;color:var(--map-color);opacity:.12}.map-card small{display:block;font-size:8px;letter-spacing:2px;color:#9c889f;margin-bottom:8px}.map-card strong{display:block;font-size:14px;position:relative;z-index:1}.map-card>span{font-size:10px;color:#8a7b94;display:block;margin-top:6px}.map-card.selected small{color:#ddbd7d}.map-caption{font-size:11px;line-height:1.7;color:#8e819b;min-height:78px;margin:15px 1px}.loadout{border-top:1px solid #382e40;padding-top:18px;margin-top:auto}.weapon-tag{display:flex;gap:13px;align-items:center;margin-top:14px}.item-icon{display:grid;place-items:center;width:43px;height:43px;background:#302734;border:1px solid #544352;font-size:23px;color:var(--item-color,#d9ad54);flex-shrink:0}.weapon-tag strong{font-size:12px}.weapon-tag small{display:block;font-size:10px;color:#918197;margin-top:5px}.start-button{width:100%;background:#d4b172;color:#201921;border-color:#e6c58c;margin-top:24px;padding:19px 15px;text-align:left;letter-spacing:1px;font-size:13px;font-weight:700;box-shadow:0 5px 24px #c59c3420}.start-button:hover{background:#edcf91}.start-button b{float:right;font-size:18px}.start-subtext{text-align:center;font-size:8px;letter-spacing:1px;color:#776982;margin-top:11px}.lobby-footer{border-top:1px solid #302939;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#665d73;font-size:8px;letter-spacing:1.4px}.lobby-footer span:first-child{color:#9b889d}.lobby-footer i{margin-right:9px;width:4px;height:4px}.lobby-footer b{color:#a995bb}.gold{color:#d9ad54}.page{padding:30px 0 42px}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.page-head h1{font-size:34px;font-weight:500;margin:8px 0}.page-head p{font-size:12px;color:#988aa4;line-height:1.8;max-width:660px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.panel{padding:25px;background:linear-gradient(140deg,#211c2d,#191621);border:1px solid #3e3348}.panel h2{font-weight:500;font-size:17px;margin:15px 0 8px}.panel p{font-size:12px;line-height:1.8;color:#9d8ca8}.panel .item-icon{width:56px;height:56px;font-size:29px}.panel .evolution{border-top:1px solid #3c3044;margin-top:16px;padding-top:12px;font-size:10px;color:#d3b47d;line-height:1.8}.panel button{width:100%;padding:11px;margin-top:13px;color:#e6c57e}.panel .rank{font-size:10px;letter-spacing:2px;color:#887592;float:right}.panel .monster{width:90px;height:90px;background-image:url('/assets/monsters.png');background-size:400% 400%;image-rendering:pixelated;margin:auto}.panel .count{font-size:26px;color:#cfb474;margin:12px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:30px}.stat-box{border:1px solid #3e3348;padding:26px;background:#1d1826}.stat-box strong{display:block;font-size:33px;color:#d8bb81;font-weight:400}.stat-box small{font-size:10px;display:block;margin-top:9px;color:#9d8aa8;letter-spacing:1px}.history{width:100%;border-collapse:collapse;font-size:12px}.history th{text-align:left;padding:14px;color:#887592;font-size:9px;letter-spacing:1px;border-bottom:1px solid #43364c}.history td{padding:16px 14px;border-bottom:1px solid #2e2738}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1000px}.setting-row{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #393043;padding:18px 0;font-size:13px}.setting-row input[type=checkbox]{accent-color:#d9ad54;width:20px;height:20px}.setting-row input[type=range]{accent-color:#d9ad54;width:130px}.button-row{display:flex;gap:10px;margin-top:15px}.button-row button{padding:11px 15px}.help-keys{line-height:2.5;color:#ad9db5;font-size:12px}.help-keys kbd{background:#33283e;padding:4px 8px;border:1px solid #574663;color:#e6c887;font-family:inherit}.empty-state{border:1px dashed #42354f;color:#877392;padding:40px;text-align:center;font-size:13px}.notice{border-left:2px solid #d9ad54;padding:12px 15px;background:#2c2534;color:#bfa9c6;font-size:12px;line-height:1.7;margin-bottom:20px}.subheading{margin:34px 0 20px;font-size:12px;letter-spacing:2px;color:#c0a8c9}#arena{position:fixed;inset:0;background:#141320;overflow:hidden;touch-action:none}#game-canvas{width:100%;height:100%;display:block;outline:0}.vignette{position:absolute;inset:0;box-shadow:inset 0 0 130px #08051177;pointer-events:none}.hud{position:absolute;top:max(18px,env(safe-area-inset-top));left:22px;right:22px;display:flex;justify-content:space-between;align-items:start;pointer-events:none;text-shadow:0 2px 2px #000}.hud-hero{display:flex;align-items:center;gap:10px;background:#12121dcc;border:1px solid #554660;padding:8px 12px;min-width:245px}.hud-hero>div{flex:1}.hud-hero strong{display:block;font-size:12px;margin-bottom:7px}.hud-hero>b{font-size:24px;color:#d7bd81;font-weight:400}.hud-hero .portrait{width:42px;height:44px}.health{width:150px;height:13px;background:#3a243b;position:relative;border:1px solid #865166}.health i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#963f68,#db8390)}.health span{font-size:8px;position:absolute;inset:0;text-align:center;line-height:12px;color:#fff}.hud-center{text-align:center;background:#12121dbb;min-width:130px;padding:8px 24px;border:1px solid #554660}.hud-center span{font-size:8px;letter-spacing:2px;color:#bfa3c7;display:block}.hud-center strong{font-size:29px;letter-spacing:2px;display:block;margin-top:5px;font-weight:400}.hud-right{display:flex;align-items:center;gap:18px;background:#12121ddd;padding:8px 12px;border:1px solid #554660;height:57px}.hud-right>span{font-size:14px}.hud-right b{font-weight:400}.hud-right button{pointer-events:auto;width:39px;height:39px;font-size:20px}.xp-track{position:absolute;top:0;left:0;right:0;height:4px;background:#151120}.xp-track i{display:block;height:100%;background:#a79ad6;box-shadow:0 0 9px #cab0ff;width:0;transition:width .2s}.equipment{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:24px;display:flex;gap:7px;pointer-events:none}.equipment .slot{width:43px;height:43px;border:1px solid #665274;background:#16121edb;display:grid;place-items:center;font-size:22px;color:var(--item-color)}.slot small{font-size:8px;position:absolute;align-self:end;justify-self:end;margin:3px;color:#fff}.slot.empty{opacity:.35}.arena-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:1px;color:#b1a1b9;text-shadow:1px 2px #000;white-space:nowrap}.arena-hint span{color:#766b89}.wave-toast{position:absolute;top:24%;left:0;right:0;text-align:center;color:#e5cd97;font-family:Georgia,serif;font-size:35px;letter-spacing:5px;text-shadow:0 4px 12px #000;opacity:0;transition:opacity .5s;pointer-events:none}.wave-toast.show{opacity:1}.ability-button{position:absolute;bottom:22px;right:25px;width:70px;height:70px;font-size:34px;border-radius:50%;background:#19382fcc;border:2px solid #69e3ba;color:#a6f1d3;box-shadow:0 0 25px #58dc9733}.ability-button small{display:block;font-size:7px;letter-spacing:1px;margin-top:1px}.joystick{display:none;position:absolute;bottom:max(40px,env(safe-area-inset-bottom));left:28px;width:116px;height:116px;border:1px solid #a996bc66;border-radius:50%;background:#29233466;touch-action:none}.joystick span{position:absolute;width:45px;height:45px;left:35px;top:35px;border:1px solid #d7b9ebaa;background:#82748e66;border-radius:50%;pointer-events:none}.modal{position:fixed;inset:0;background:#0c0914c9;z-index:20;display:grid;place-items:center;backdrop-filter:blur(8px);padding:24px;overflow:auto}.modal-content{width:min(1040px,100%);text-align:center;padding:35px;border:1px solid #756046;background:linear-gradient(135deg,#292132,#171420);box-shadow:0 15px 80px #0008}.modal-content h2{font-size:34px;font-weight:500;margin:10px 0 8px;color:#e7d1a4}.modal-content>p{color:#a795b3;font-size:12px;line-height:1.8}.choices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0 5px}.choice{padding:25px 18px 22px;text-align:left;background:#211b2c;border:1px solid #574161;min-height:238px;display:flex;flex-direction:column}.choice:hover{border-color:#e6c176;background:#35283d;transform:translateY(-4px)}.choice .item-icon{margin:18px 0 10px}.choice strong{font-size:16px;font-weight:500;line-height:1.5}.choice p{color:#a99ab2;font-size:11px;line-height:1.8;margin-bottom:0}.choice small{font-size:8px;letter-spacing:1px;color:#ba9ccb;display:flex;justify-content:space-between}.choice kbd{color:#d9ad54;font-family:inherit}.choice .choose-label{display:block;color:#d5b46d;font-size:9px;margin-top:auto;padding-top:18px;letter-spacing:1px}.modal-content .button-row{justify-content:center;margin-top:25px}.modal-content .button-row button{min-width:180px;padding:14px}.primary{background:#d4b172;color:#201921;border-color:#e6c58c;font-weight:600}.primary:hover{background:#ebc88a}.danger{color:#e4a8ac}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:28px auto;max-width:700px;border-top:1px solid #4f3d58;border-bottom:1px solid #4f3d58}.result-stats div{padding:24px 12px}.result-stats strong{display:block;font-size:27px;font-weight:400;color:#dab879}.result-stats span{display:block;font-size:9px;margin-top:10px;color:#a48cae;letter-spacing:1px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);z-index:40;max-width:min(600px,90vw);padding:14px 22px;background:#30283a;border:1px solid #8d7252;color:#e6d3ab;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}@keyframes float{50%{transform:translateY(-6px)}}@media(min-width:1600px){.expedition{grid-template-columns:280px 1fr 310px;min-height:740px}.hero-stage{min-height:710px}.hero-card{height:71px}.stage-portrait{width:290px;height:290px}.stage-visual{min-height:300px}}
@media(max-width:1150px){.shell{padding:0 24px}.expedition{grid-template-columns:210px minmax(260px,1fr) 240px;gap:14px}.hero-card{gap:6px}.hero-card small{max-width:135px;font-size:8px}.hero-info{padding:5px 22px 25px}.hero-info h1{font-size:36px}.hero-stats{gap:0}.hero-stats div{padding:0 16px}.stage-heading{padding:22px 19px;letter-spacing:1px}.header-caption{display:none}.tabs{gap:25px}.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.shell{padding:0 18px}.topbar{height:88px;gap:12px}.profile-chip{margin-left:auto}.profile-chip small{max-width:170px;font-size:8px}.wallet{padding-left:15px;min-width:80px}.tabs{height:58px;gap:22px;overflow-x:auto}.tabs button{font-size:10px}.tabs button span{display:none}.expedition{grid-template-columns:180px 1fr;gap:15px}.hero-card{height:63px}.hero-card small{display:none}.hero-card.selected:after{right:8px}.hero-stage{min-height:575px}.right-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}.right-panel>.section-label{grid-column:1/-1;padding-bottom:3px}.map-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.map-card{min-height:100px;padding:14px}.map-card strong{font-size:12px}.map-caption{grid-column:1;grid-row:3;font-size:11px;margin:0;min-height:0}.loadout{grid-column:1;grid-row:4;padding-top:10px;margin-top:0}.start-button{grid-column:2;grid-row:3/5;margin-top:0;align-self:center}.start-subtext{grid-column:2;grid-row:5;margin-top:-8px}.hero-stats{gap:5px}.lobby-footer span:nth-child(2){display:none}.grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.hud{left:12px;right:12px;top:12px}.hud-hero{min-width:180px;padding:7px}.health{width:110px}.hud-hero .portrait{display:none}.hud-center{padding:6px 12px;min-width:100px}.hud-center strong{font-size:23px}.hud-right{gap:9px;height:52px;padding:6px}.hud-right>span{font-size:12px}.hud-right button{width:33px;height:33px}.choices{grid-template-columns:repeat(2,1fr)}.choice{min-height:180px;padding:15px}.choice .item-icon{margin:10px 0;width:32px;height:32px;font-size:19px}.modal-content{padding:25px}.choice strong{font-size:14px}.choice p{font-size:10px}.modal-content h2{font-size:28px}}
@media(max-width:550px){.shell{padding:0 13px}.topbar{height:79px}.brand{font-size:8px;letter-spacing:1.3px;gap:7px}.brand b{font-size:17px;letter-spacing:4px}.brand-mark{font-size:36px}.profile-chip strong{font-size:10px}.profile-chip small{max-width:100px;font-size:7px;line-height:1.5}.status-dot{display:none}.wallet{padding-left:10px;min-width:60px;grid-template-columns:15px auto;gap:3px}.wallet>span{font-size:20px}.wallet strong{font-size:16px}.wallet small{font-size:6px;letter-spacing:1px}.tabs{gap:18px;height:52px}.tabs button{font-size:9px}.tabs .settings-tab{font-size:19px;min-width:24px}.expedition{display:flex;flex-direction:column;padding-top:10px;gap:14px}.section-label{padding-bottom:10px}.section-kicker{font-size:8px;letter-spacing:1.5px}.hero-list{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.hero-card{padding:2px;display:flex;flex-direction:column;gap:2px;height:65px;align-items:center;justify-content:center;border-left-width:1px}.hero-card.selected{border-left-width:1px}.hero-card .portrait{width:35px;height:39px}.hero-card strong{font-size:7px;font-weight:400}.hero-card.selected:after{display:none}.test-label{display:none}.hero-stage{min-height:405px}.stage-heading{font-size:7px;padding:16px}.stage-visual{min-height:138px;flex:0}.stage-portrait{width:160px;height:160px;margin-top:-14px}.pedestal{bottom:5px;width:130px}.hero-info{padding:0 22px 18px}.hero-info h1{font-size:29px;margin:6px 0}.hero-number{font-size:7px}.hero-subtitle{font-size:11px}.hero-info p{font-size:10px;line-height:1.6;margin:12px auto}.hero-stats{margin-top:15px}.hero-stats b{font-size:15px}.hero-stats span{font-size:7px}.right-panel{gap:10px 14px}.map-list{gap:6px}.map-card{min-height:90px;padding:11px 9px}.map-card small{font-size:6px;letter-spacing:1px}.map-card strong{font-size:10px;line-height:1.4}.map-card>span{font-size:8px}.map-card:before{font-size:64px}.map-caption{font-size:9px;line-height:1.6}.loadout .section-kicker{font-size:7px}.weapon-tag{margin-top:10px;gap:8px}.weapon-tag .item-icon{width:30px;height:30px;font-size:19px}.weapon-tag strong{font-size:10px}.weapon-tag small{font-size:8px}.start-button{font-size:10px;padding:19px 11px}.start-subtext{font-size:6px;letter-spacing:.5px}.lobby-footer{font-size:6px;letter-spacing:.8px;min-height:45px}.page{padding-top:20px}.page-head{margin-bottom:20px}.page-head h1{font-size:28px}.page-head p{font-size:11px}.grid{gap:10px}.panel{padding:17px}.panel h2{font-size:14px}.panel p{font-size:10px}.panel .item-icon{width:40px;height:40px;font-size:23px}.panel .evolution{font-size:9px}.panel button{font-size:10px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-box{padding:18px}.stat-box strong{font-size:26px}.stat-box small{font-size:8px}.history{font-size:9px}.history th,.history td{padding:12px 5px}.history .history-map{display:none}.settings-grid .panel{padding:20px}.hud{gap:6px;left:8px;right:8px}.hud-hero{min-width:130px;padding:7px;gap:5px}.hud-hero strong{font-size:9px}.hud-hero>b{font-size:18px}.health{width:90px;height:11px}.health span{font-size:7px;line-height:10px}.hud-center{min-width:80px;padding:6px 9px}.hud-center span{font-size:6px;letter-spacing:1px}.hud-center strong{font-size:20px}.hud-right{gap:6px;padding:5px;flex-wrap:wrap;justify-content:center;max-width:130px;height:49px}.hud-right>span{font-size:10px}.hud-right button{width:27px;height:31px}.equipment{top:74px;bottom:auto;left:8px;gap:4px}.equipment .slot{width:28px;height:28px;font-size:15px}.slot small{font-size:6px;margin:1px}.arena-hint{display:none}.ability-button{bottom:max(54px,env(safe-area-inset-bottom));right:28px}.wave-toast{font-size:24px}.modal{padding:14px;align-items:center}.modal-content{padding:23px 15px;max-height:95svh;overflow:auto}.modal-content h2{font-size:27px}.modal-content>p{font-size:10px}.choices{gap:9px;margin-top:18px}.choice{padding:12px;min-height:194px}.choice small{font-size:7px}.choice strong{font-size:13px}.choice p{font-size:9px;line-height:1.6}.choice .choose-label{font-size:7px}.modal-content .button-row{gap:8px}.modal-content .button-row button{min-width:0;padding:13px;flex:1;font-size:11px}.result-stats{grid-template-columns:repeat(2,1fr)}.result-stats div{padding:16px}.result-stats strong{font-size:25px}.result-stats span{font-size:8px}}
@media(pointer:coarse){.joystick{display:block}.arena-hint{display:none}.equipment{bottom:auto;top:94px}.ability-button{bottom:max(57px,env(safe-area-inset-bottom));right:32px;width:76px;height:76px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}body.reduced-motion *{animation:none!important;transition:none!important}
.monster-art{width:100px;height:100px;display:block;margin:0 auto;image-rendering:pixelated}
/* Progression and expanded roster */
.shards-wallet{border-left:0;margin-left:0;min-width:95px;padding-left:0}.shards-wallet>span,.shards-wallet strong{color:#bfb2f4}.item-icon,.equipment .slot{image-rendering:pixelated;background-repeat:no-repeat}.hero-card{height:49px;gap:10px}.hero-card .portrait{width:39px;height:42px}.hero-card strong{font-size:12px}.hero-card small{font-size:8px;line-height:1.3;max-width:168px;margin-top:4px}.hero-card.locked{background:#17141f}.hero-card.locked .portrait{filter:grayscale(.8) brightness(.55);opacity:.7}.hero-card.locked strong{color:#9b8da4}.hero-card.locked.selected{border-color:#9d8352;background:#2e2532}.hero-card.locked.selected strong{color:#ddc792}.unlock-note{padding:12px 13px;border:1px solid #66503f;background:#201c29;text-align:left;font-size:10px;line-height:1.5;margin-top:12px;color:#d0af7b}.unlock-note small{font-size:8px;color:#92829d}.progress-track{height:4px;background:#3b3047;margin:10px 0 6px;overflow:hidden}.progress-track i{display:block;background:#9d8bbd;height:100%;min-width:0}.achievement{position:relative;min-height:210px}.achievement-seal{font-size:27px;color:#645a76}.achievement.achieved{border-color:#79613e;background:linear-gradient(140deg,#322939,#201a28)}.achievement.achieved .achievement-seal{color:#d9ad54;text-shadow:0 0 20px #ddb75d44}.achievement.achieved .progress-track i{background:#ccaa69}.achievement small{font-size:8px;letter-spacing:1px;color:#92819e}.achievement.achieved small{color:#c6aa73}.result-stats{grid-template-columns:repeat(5,1fr)}
@media(min-width:1600px){.hero-card{height:55px}.hero-card .portrait{width:45px;height:47px}.hero-list{gap:7px}}
@media(max-width:1150px){.topbar{gap:22px}.tabs{gap:21px}.tabs button{font-size:11px}.hero-card{gap:5px}.hero-card small{max-width:120px}.shards-wallet{min-width:85px}}
@media(max-width:850px){.hero-card{height:46px}.hero-card .portrait{width:37px;height:39px}.hero-card strong{font-size:11px}.tabs{gap:22px}.tabs button{font-size:10px}.topbar{gap:15px}.shards-wallet{min-width:68px}.profile-chip small{max-width:145px}.hero-stage{min-height:610px}}
@media(max-width:550px){.topbar{gap:9px}.wallet{min-width:51px}.shards-wallet{min-width:55px}.profile-chip small{max-width:75px;font-size:6px}.profile-chip strong{font-size:9px}.brand-mark{font-size:29px}.brand{font-size:7px;gap:5px}.brand b{font-size:15px;letter-spacing:3px}.wallet strong{font-size:14px}.wallet small{font-size:5px}.wallet>span{font-size:17px}.tabs{gap:19px}.tabs button{font-size:9px}.hero-list{grid-template-columns:repeat(6,1fr);gap:5px}.hero-card{height:60px;padding:3px;gap:2px}.hero-card .portrait{width:34px;height:36px}.hero-card strong{font-size:7px}.hero-stage{min-height:405px}.result-stats{grid-template-columns:repeat(3,1fr)}.result-stats div{padding:16px 5px}.result-stats strong{font-size:22px}.result-stats span{font-size:7px}.achievement{min-height:196px}.achievement h2{font-size:12px}.achievement p{font-size:9px}.start-button:disabled{font-size:8px;line-height:1.6}}
.shard-text{color:#bfb2f4}
/* Inventory stays below the player HUD, leaving the field and touch controls open. */
.equipment{display:grid;grid-template-columns:repeat(6,36px);grid-template-rows:repeat(2,36px);gap:5px;left:22px;top:calc(max(18px,env(safe-area-inset-top)) + 66px);bottom:auto;width:max-content}.equipment .slot{position:relative;width:36px;height:36px;font-size:19px}.equipment .book-slot{border-color:#6b5981}.equipment .empty{opacity:.26}.equipment .slot small{font-size:8px;text-shadow:1px 1px 2px #000}.currency-art{display:inline-block;width:27px;height:27px;flex-shrink:0;vertical-align:middle;background-repeat:no-repeat;image-rendering:pixelated}.shard-art{background-image:url('/assets/icons-extra.png');background-size:200% 200%;background-position:100% 100%}.gold-art{background-image:url('/assets/icons.png');background-size:400% 400%;background-position:100% 100%}.wallet>.currency-art{width:27px;height:31px;align-self:center}.result-stats strong .currency-art{width:27px;height:27px;margin-right:5px;vertical-align:-3px}
@media(max-width:850px){.equipment{left:12px;top:82px;grid-template-columns:repeat(6,31px);grid-template-rows:repeat(2,31px);gap:4px}.equipment .slot{width:31px;height:31px;font-size:17px}}
@media(max-width:550px){.equipment{left:8px;top:73px;grid-template-columns:repeat(6,27px);grid-template-rows:repeat(2,27px);gap:4px}.equipment .slot{width:27px;height:27px;font-size:14px}.equipment .slot small{font-size:6px}.wallet>.currency-art{width:18px;height:24px}.result-stats strong .currency-art{width:22px;height:22px;margin-right:2px;vertical-align:-3px}}

/* Respect display cutouts in both compact HUD layouts. */
@media(max-width:850px){.hud{top:max(12px,env(safe-area-inset-top))}.equipment{top:calc(max(12px,env(safe-area-inset-top)) + 70px)}}
@media(max-width:550px){.equipment{top:calc(max(12px,env(safe-area-inset-top)) + 61px)}}

/* Readable touch targets in the narrow lobby; desktop composition stays intact. */
@media(max-width:550px){.hero-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.hero-card{height:72px;padding:5px 3px;gap:3px}.hero-card .portrait{width:38px;height:40px}.hero-card>span:last-child{max-width:100%}.hero-card strong{font-size:10px;line-height:1.3;white-space:nowrap}.hero-card small{display:none}.tabs{height:44px;min-height:44px;gap:20px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding-right:16px;scroll-padding-inline:2px;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 13px),transparent 100%)}.tabs::-webkit-scrollbar{display:none}.tabs button{font-size:11px;min-height:44px;flex-shrink:0;letter-spacing:.2px}.tabs button span{font-size:8px;margin-right:3px}.tabs .settings-tab{font-size:19px;min-width:34px;margin-left:0}.profile-chip small{font-size:0;max-width:82px;line-height:1.4;white-space:nowrap}.profile-chip small:after{content:attr(data-compact);font-size:8px}.profile-chip strong{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* Pointer control is available in narrow windows as well as on touch devices. */
@media(max-width:850px){.joystick{display:block;bottom:max(40px,env(safe-area-inset-bottom))}.arena-hint{display:none}}

/* Four upgrade choices remain visible in a short landscape viewport. */
@media(max-height:520px) and (min-width:650px){.modal{padding:12px}.modal-content{padding:15px 18px;max-height:calc(100svh - 24px);overflow:auto}.modal-content h2{font-size:24px;line-height:1.2;margin:6px 0}.modal-content>.section-kicker{font-size:9px}.modal-content>p{font-size:11px;line-height:1.4;margin:6px 0}.choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0}.choice{min-height:180px;padding:12px 10px}.choice small{font-size:8px;letter-spacing:.5px}.choice .item-icon{width:32px;height:32px;margin:9px 0 6px;font-size:19px}.choice strong{font-size:12px;line-height:1.35}.choice p{font-size:10px;line-height:1.45;margin:7px 0 0}.choice .choose-label{font-size:8px;padding-top:11px;letter-spacing:.5px}}
/* Stage 2: separate capacity groups and temporary buffs. */
.equipment{display:flex;flex-direction:column;gap:5px;width:auto;grid-template-columns:none;grid-template-rows:none}.equipment-group{display:flex;align-items:center;gap:7px}.equipment-label{width:45px;font-size:7px;letter-spacing:.6px;color:#b0a0b7;text-shadow:1px 2px #111}.equipment-label b{display:block;font-size:11px;color:#dfc488;letter-spacing:1px;margin-top:2px}.equipment-items{display:flex;gap:5px}.equipment .books-slot{border-color:#8c74ab}.equipment .stats-slot{border-color:#668c75}.buffs{position:absolute;top:calc(max(18px,env(safe-area-inset-top)) + 196px);left:22px;display:flex;flex-direction:column;gap:5px;pointer-events:none}.buff{display:flex;position:relative;gap:6px;align-items:center;padding:4px 7px 5px;background:#171525c9;border:1px solid #67517b;min-width:140px}.buff .item-icon{width:24px;height:24px;border:0;background-color:transparent}.buff span:not(.item-icon){font-size:9px;color:#d1bbdb}.buff b{display:block;color:#dac582;font-size:9px;margin-top:2px}.buff>i{position:absolute;bottom:0;left:0;height:2px;background:#ae94d1}.slot-summary{font-size:11px;color:#d4bc88;margin:12px auto 0;line-height:1.5}.slot-summary small{display:block;color:#8f809a;font-size:9px;margin-top:4px}.ability-button>span{font-size:23px}.ability-button small{font-size:7px;line-height:1.25;max-width:65px;margin:3px auto 0;letter-spacing:0}.history-note{color:#9b8ca6;font-size:11px;margin:-8px 0 18px}.history-wrap{overflow-x:auto}.history{font-size:11px;min-width:860px}.history td{padding:15px 10px}.history th{padding:13px 10px;white-space:nowrap}.history .run-victory{background:#3b342326}.history .run-victory td[data-label="Исход"]{color:#e4c371}.history td[data-label="Осколки"]{color:#bfb2f4}.history td[data-label="Золото"]{color:#d9ad54}
@media(min-width:851px){.hero-sidebar .hero-list{max-height:750px;overflow-y:auto;scrollbar-width:thin}}
@media(max-width:850px){.equipment{gap:4px}.equipment-label{width:37px;font-size:6px}.equipment-label b{font-size:10px}.equipment-items{gap:4px}.buffs{left:12px;top:calc(max(12px,env(safe-area-inset-top)) + 180px)}.buff{min-width:125px}.history{min-width:0}.history thead{display:none}.history tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.history tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;border:1px solid #493950;background:#211a2b}.history td{padding:0;border:0;font-size:12px}.history td:before{content:attr(data-label);display:block;font-size:8px;color:#8c7d99;margin-bottom:5px}.history td[data-label="Дата"]{grid-column:1/-1;color:#a795b2;font-size:10px}.history .run-victory{border-color:#957848;background:#2b242a}}
@media(max-width:550px){.equipment-label{width:33px;font-size:5px}.equipment-label b{font-size:9px}.equipment .slot{width:27px;height:27px}.buffs{left:8px;top:calc(max(12px,env(safe-area-inset-top)) + 154px);gap:3px}.buff{min-width:108px;padding:3px 4px;gap:4px}.buff .item-icon{width:20px;height:20px}.buff span:not(.item-icon),.buff b{font-size:8px}.history tbody{grid-template-columns:1fr}.slot-summary{font-size:10px;margin-top:9px}.slot-summary small{font-size:8px;max-width:260px;margin-inline:auto}.ability-button small{font-size:6px}.choices{margin-top:14px}}
@media(max-height:520px) and (min-width:650px){.slot-summary{font-size:10px;margin-top:7px}.slot-summary small{font-size:8px;margin-top:2px}.choices{margin-top:10px}.buffs{top:calc(max(12px,env(safe-area-inset-top)) + 180px);flex-direction:row;gap:3px}.buff{min-width:0}.buff span:not(.item-icon){display:none}.buff .item-icon{width:22px;height:22px}.equipment{gap:3px}.equipment .slot{width:27px;height:27px}}

.victory-seal{display:block;width:62px;height:62px;margin:0 auto 12px;background:url(/assets/icons-stage2.png) 100% 100%/400% 200% no-repeat;image-rendering:pixelated;filter:drop-shadow(0 0 18px #dab64a55)}

.profile-chip{flex-wrap:wrap}.account-link-header{font-size:10px;padding:9px 11px;border-color:#997bb3;color:#eadbf7;background:#33253f;white-space:nowrap}.account-link-header[hidden]{display:none}.account-panel h3{margin-top:24px}.account-link{max-width:680px;margin:auto;text-align:left}.account-link>h2,.account-link>.section-kicker{text-align:center}.account-link p{line-height:1.65}.account-link button,.account-bot{min-height:44px}.account-code{font:700 clamp(26px,7vw,42px) monospace;letter-spacing:5px;padding:20px 10px;text-align:center;color:#f0d399;border:2px solid #816d92;background:#171321;user-select:all;margin:20px 0 8px}.account-bot{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid #816d92;color:#ebcf98;text-decoration:none}.account-code-input{display:block;width:100%;font:700 29px monospace;letter-spacing:4px;padding:17px;background:#171321;border:2px solid #816d92;color:#f0d399;box-sizing:border-box}.account-input-label{display:block;margin:22px 0 9px}.account-error{color:#ffc0b4;font-size:12px;min-height:1em}.account-warning{border-left:3px solid #bd776d;padding:12px;background:#7b393326}.account-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.account-comparison section{border:1px solid #665476;padding:15px;background:#21192a}.account-comparison h3{color:#e4c38c;margin:0 0 10px}.account-actions,.account-backups{display:flex;flex-direction:column;gap:10px}.account-backups button{text-align:left;line-height:1.5;overflow-wrap:anywhere}.account-backups small{display:block;color:#b2a2c0;margin-top:5px}.account-link .button-row{flex-wrap:wrap}.account-link button:focus-visible,.account-code-input:focus-visible,.account-bot:focus-visible{outline:3px solid #e9ce91;outline-offset:3px}
@media(max-width:650px){.account-comparison{grid-template-columns:1fr}.account-link .button-row>*{flex:1 1 150px}.profile-chip .account-link-header{font-size:9px;flex-basis:100%;padding:7px;min-height:36px}.account-code{letter-spacing:3px}.account-link{padding-bottom:12px}.account-actions button{white-space:normal;line-height:1.5}.account-link-header{max-width:180px}}
