/* Shared avatar geometry: the frame owns a fixed canvas; only its portrait aperture changes. */
body.art-theme .hud-avatar-wrap{position:relative!important;display:inline-block!important;flex:0 0 auto;width:48px;height:48px;aspect-ratio:1;padding:0!important;border:0!important;overflow:visible!important;vertical-align:middle}
body.art-theme .hud-avatar-wrap .hud-avatar-core{position:absolute!important;left:calc(var(--avatar-x,50)*1%)!important;top:calc(var(--avatar-y,50)*1%)!important;width:calc(var(--avatar-width,83)*1%)!important;height:calc(var(--avatar-height,83)*1%)!important;transform:translate(-50%,-50%)!important;inset-inline-end:auto!important;border:0!important;padding:0!important;overflow:hidden!important;border-radius:50%!important;background:#122035!important}
body.art-theme .hud-avatar-wrap .hud-avatar-core>img:not(.art-portrait-img){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;transform:none!important;border:0!important;border-radius:0!important;margin:0!important}
body.art-theme .hud-avatar-wrap .hud-avatar-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;object-position:center!important;transform:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;z-index:3;pointer-events:none}
body.art-theme .profile-avatar-large .hud-avatar-wrap{width:220px!important;height:220px!important}
body.art-theme .profile-upload-stack .hud-avatar-wrap{width:112px!important;height:112px!important;margin:14px auto!important;display:block!important}
body.art-theme .frame-option .hud-avatar-wrap{width:94px!important;height:94px!important}
body.art-theme .v25-fighter-portrait:has(.hud-avatar-wrap){width:46px!important;height:46px!important;overflow:visible!important;border:0!important;background:none!important}
body.art-theme .battle-avatar{width:46px!important;height:46px!important}
body.art-theme .frame-picker{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}
body.art-theme .frame-option{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 8px!important;border:1px solid #b7975740!important;background:linear-gradient(160deg,#1c2b40,#0b1422)!important;border-radius:10px!important;min-width:0;position:relative}
body.art-theme .frame-option:has(input:checked){border-color:#ead49a!important;box-shadow:inset 0 0 22px #a67f3020,0 0 0 1px #c4a36b40}
body.art-theme .frame-option>input{position:absolute;top:10px;left:10px;accent-color:#d4b174}
body.art-theme .frame-option>span:last-child{font-size:13px;color:#e7dabf;text-align:center}
.attributes-open{border:1px solid #c6a35f!important;background:linear-gradient(150deg,#293b50,#111e2c)!important;color:#f3dfb5!important;font-size:13px!important;padding:7px 15px!important;min-height:34px;line-height:1.2!important;border-radius:5px!important;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px #ffffff18,0 3px 10px #0005}
.lobby-name-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.attributes-dialog{padding:0;border:1px solid #bc985f80;border-radius:14px;width:min(760px,calc(100vw - 28px));max-height:calc(100dvh - 40px);color:#ece3d1;background:radial-gradient(ellipse at 10% 30%,#23344e,#0b1422 65%);box-shadow:0 35px 100px #000c;overflow:auto}
.attributes-dialog::backdrop{background:#020812c9;backdrop-filter:blur(7px)}
.attributes-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #bd995336;background:linear-gradient(90deg,#8c65341c,transparent)}
.attributes-heading small{letter-spacing:4px;color:#c5a777;font-size:12px}.attributes-heading h2{margin:5px 0 0;font-size:22px;font-weight:600;letter-spacing:3px;color:#f4e6c9}
.attributes-heading button{border:1px solid #ae8b5040;background:#ffffff05;color:#d8c5a2;width:36px;height:36px;padding:0;font-size:26px;line-height:1;border-radius:50%;cursor:pointer}
.attributes-layout{display:grid;grid-template-columns:40% 1fr;min-height:360px}.attributes-hero{position:relative;background-repeat:no-repeat;background-size:contain;background-position:center bottom;margin:15px 0 0;min-height:330px;isolation:isolate}.attributes-hero:before{content:'';position:absolute;inset:10% 12% 15%;border-radius:50%;box-shadow:0 0 60px #be8f3420;border:1px solid #b4985940;z-index:-1}.attributes-hero>div{position:absolute;bottom:0;left:0;right:0;padding:35px 12px 18px;background:linear-gradient(transparent,#0b1422 50%);text-align:center}.attributes-hero small{display:block;color:#c9aa71;font-size:12px;letter-spacing:2px}.attributes-hero b{display:block;font-size:15px;margin-top:7px}.attributes-orb{position:absolute;right:5%;top:23%;width:22%}
.attributes-body{padding:24px 24px 20px 10px}.attributes-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.attribute-stat{position:relative;padding:14px 16px;border:1px solid #b6955a30;border-radius:8px;background:linear-gradient(145deg,#24334b9c,#131f3060)}.attribute-stat>small{position:absolute;right:12px;top:14px;font-size:12px;letter-spacing:1px;color:#60768f}.attribute-stat>span{display:block;font-size:12px;color:#b8c4d2}.attribute-stat strong{display:block;font-size:27px;font-weight:500;line-height:1.2;letter-spacing:.5px;color:#f1dba9;margin:8px 0}.attribute-stat em{font-style:normal;font-size:12px;color:#8496ae}.attribute-stat.hp{border-top-color:#b86c6e}.attribute-stat.attack{border-top-color:#d5a06d}.attribute-stat.defense{border-top-color:#72a9c4}.attribute-stat.critical{border-top-color:#a890d7}
.attribute-xp{margin-top:14px;padding:14px 16px;border:1px solid #7589a535;border-radius:8px;background:#080f1c77;display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px}.attribute-xp>span{font-size:12px;color:#b7c8da}.attribute-xp b{font-size:16px;color:#d8e5f7}.attribute-xp b small{font-size:12px;color:#8a9db5;font-weight:400}.attribute-xp-track{width:100%;height:5px;border-radius:8px;background:#273148;overflow:hidden}.attribute-xp-track i{display:block;height:100%;background:linear-gradient(90deg,#4b88a9,#acd5ef);border-radius:inherit}.attribute-note{font-size:12px;line-height:1.8;color:#8b9cb1;margin:14px 2px 0}.attributes-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.attributes-mini span{text-align:center;padding:8px 2px;background:#102037aa;border:1px solid #c6a76430;border-radius:5px}.attributes-mini small{display:block;font-size:12px;color:#9daec2}.attributes-mini b{font-size:15px;color:#f0d8a2}
body.art-theme.v25-lobby-body.player-v25-body .game-lobby .lobby-ground-name{position:absolute!important;bottom:0!important;left:50%!important;transform:translateX(-50%)!important;width:min(360px,96%)!important;z-index:7}
body.art-theme .profile-v25-card{background:linear-gradient(145deg,#16263bdd,#0b1627f5)!important;border-color:#bea06b44!important}
body.art-theme .character-name-panel input{color:#f7edd8!important;-webkit-text-fill-color:#f7edd8!important;background:#080f1b!important;caret-color:#edc878!important}
@media(max-width:700px){
 body.art-theme.v25-lobby-body.player-v25-body .game-lobby{display:flex!important;flex-direction:column!important;padding:12px!important;gap:14px!important}
 body.art-theme.v25-lobby-body.player-v25-body .game-lobby .lobby-center{position:relative!important;order:0!important;width:100%!important;min-height:480px!important;height:480px!important;inset:auto!important}
 body.art-theme.v25-lobby-body.player-v25-body .game-lobby .lobby-character{inset:48px -3% 82px!important;width:106%!important;height:auto!important;background-size:contain!important}
 body.art-theme.v25-lobby-body.player-v25-body .game-lobby .lobby-right{position:relative!important;inset:auto!important;order:1!important;width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:0!important}
 body.art-theme.v25-lobby-body.player-v25-body .game-lobby .lobby-left{position:relative!important;inset:auto!important;order:2!important;width:100%!important;margin:0!important}
 body.art-theme .lobby-right>.lobby-panel-title{grid-column:1/-1}.lobby-right .lobby-main-btn>i{display:none!important}
 body.art-theme .lobby-main-btn{min-height:64px!important;padding:10px!important;grid-template-columns:30px 1fr!important;background:linear-gradient(145deg,#24354c,#101c2e)!important;border:1px solid #bea16a66!important;color:#ede1cb!important;gap:8px!important}
 body.art-theme .lobby-main-btn.continue{background:linear-gradient(145deg,#692e38,#271522)!important;border-color:#d5ae72!important}.lobby-main-btn small{font-size:12px!important}.lobby-main-btn b{font-size:14px!important}
 .attributes-layout{grid-template-columns:1fr}.attributes-hero{min-height:170px;height:170px;margin:12px 25px 0;background-position:center 15%;background-size:auto 240px}.attributes-hero:before{inset:5% 27% 0}.attributes-hero>div{padding:30px 10px 0}.attributes-body{padding:18px}.attributes-heading{padding:16px 18px}.attribute-stat{padding:12px 14px}.attribute-stat strong{font-size:26px}.attributes-orb{width:55px;right:25%;top:20%}
 body.art-theme .profile-avatar-large .hud-avatar-wrap{width:190px!important;height:190px!important}body.art-theme .frame-picker{grid-template-columns:1fr 1fr}.profile-v25-hero{grid-template-columns:1fr!important}
 body.art-theme .auth-v25-shell,body.art-theme .auth-v25-main,body.art-theme .auth-v25-card,body.art-theme .character-stage-form,body.art-theme .character-stage-register{min-width:0!important;max-width:100%!important}.auth-v25-main{padding:12px!important}.auth-v25-card{width:100%!important;padding:16px!important}.character-stage-arena{min-width:0!important;height:320px!important;grid-template-columns:1fr 1fr!important}.character-stage-option{min-width:0!important}.character-stage-body{height:300px!important}.character-stage-body .role-figure{max-width:none!important;width:100%!important;height:280px!important;object-fit:contain!important}
}
@media(prefers-reduced-motion:reduce){.attributes-dialog{scroll-behavior:auto}}
.world-overview{max-width:1120px;margin:auto;padding:24px 10px}.world-heading{padding:0 0 20px}.world-heading small{color:#bfa470;letter-spacing:4px;font-size:12px}.world-heading h1{font-size:26px;letter-spacing:3px;color:#ede1c7;margin:7px 0 0}.world-map-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.world-map-card{aspect-ratio:4/5;position:relative;display:block;overflow:hidden;border:1px solid #c5a57360;border-radius:12px;background:#0d1c2a;box-shadow:0 8px 30px #0005}.world-map-card:after{content:'';position:absolute;inset:4px;border:1px solid #e3c38b30;border-radius:9px;pointer-events:none}.world-map-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s;filter:saturate(.9)}.world-map-card:hover img{transform:scale(1.04)}.world-map-card span{position:absolute;inset:auto 0 0;padding:50px 10px 23px;text-align:center;background:linear-gradient(transparent,#07101bea 75%);color:#f2dfb6;font-size:20px;letter-spacing:2px;text-shadow:0 2px 8px #000}.world-back{display:inline-block;color:#dcc496!important;padding:10px 0;margin-bottom:10px}.world-final-reward{padding:14px 18px;margin:12px 0 18px;border:1px solid #cfa96c55;border-radius:7px;background:linear-gradient(110deg,#8a642624,#152237);font-size:14px;color:#eedbb0;line-height:1.7}.world-lock{display:grid;grid-template-columns:45% 1fr;gap:25px;max-width:880px;margin:24px auto;padding:20px;border:1px solid #ba9a6540;border-radius:12px;background:#101c2b}.world-lock>img{width:100%;height:100%;max-height:430px;object-fit:cover;border-radius:8px}.world-lock h1{font-size:30px;color:#eddbb6}.world-lock p{color:#a4b4c9;line-height:1.8}.world-lock small{display:block;margin:12px 0;color:#a9bdd0}
body.art-theme .v25-game .arena{height:430px!important;min-height:0!important;isolation:isolate}body.art-theme .v25-game #samurai{width:calc(var(--art-hero-scale,56)*1%)!important;height:96%!important;left:calc(var(--art-hero-x,0)*1%)!important;bottom:calc(var(--art-hero-y,0)*1%)!important;transform:none!important;scale:var(--actor-facing,1) 1;background-size:contain!important;z-index:3}body.art-theme .v25-game #dragon{width:calc(var(--art-enemy-scale,54)*1%)!important;height:87%!important;right:calc(var(--art-enemy-x,0)*1%)!important;bottom:calc(var(--art-enemy-y,6)*1%)!important;transform:none!important;scale:var(--enemy-facing,1) 1;background-size:contain!important;z-index:2}.world-weather{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}.world-weather i{position:absolute;left:var(--x);top:-12%;width:4px;height:4px;background:#d9edf5;border-radius:50%;opacity:.55;animation:world-fall var(--duration) linear infinite;animation-delay:var(--delay)}.world-weather[data-weather=embers] i{background:#ffad63;box-shadow:0 0 8px #ff6c2f;animation-name:world-rise}.world-weather[data-weather=motes] i{background:#b4b5ff;box-shadow:0 0 11px #88b8fd;animation-name:world-rise}.world-weather[data-weather=mist] i{width:85%;height:30%;border-radius:50%;filter:blur(24px);background:radial-gradient(ellipse,#b4c9da2b,transparent 65%);top:var(--x);left:-40%;animation-name:world-drift;opacity:.6}html[data-world-paused] .world-weather i{animation-play-state:paused}@keyframes world-fall{to{translate:40px 480px;opacity:0}}@keyframes world-rise{from{translate:0 420px;opacity:0}50%{opacity:.6}to{translate:45px 0;opacity:0}}@keyframes world-drift{from{translate:-20% 0}to{translate:170% 0}}
@media(max-width:700px){.world-map-grid{grid-template-columns:repeat(2,1fr);gap:12px}.world-map-card span{font-size:17px;padding-bottom:18px}.world-overview{padding:16px 0}.world-lock{grid-template-columns:1fr;margin:12px 0;padding:14px;gap:10px}.world-lock>img{height:210px}.world-lock h1{font-size:25px;margin:5px 0 12px}body.art-theme .v25-game .arena{height:320px!important}body.art-theme .v25-game #samurai{left:calc(var(--art-hero-mobile-x,-4)*1%)!important;bottom:calc(var(--art-hero-mobile-y,0)*1%)!important}body.art-theme .v25-game #dragon{right:calc(var(--art-enemy-mobile-x,-3)*1%)!important;bottom:calc(var(--art-enemy-mobile-y,6)*1%)!important}body:has(.v25-game) .customer-service-float{display:none!important}}
@media(prefers-reduced-motion:reduce){.world-weather{display:none}.world-map-card img{transition:none}}
/* Keep the outer layout box identical to its avatar canvas at every breakpoint. */
body.art-theme .profile-avatar-stage{display:grid!important;place-items:center!important;height:auto!important;min-height:270px!important;padding:22px!important}
body.art-theme .profile-avatar-large{width:220px!important;height:220px!important;min-width:220px!important;margin:0!important;display:grid!important;place-items:center!important}
body.art-theme .hud-avatar-wrap{min-width:0!important;filter:drop-shadow(0 4px 8px #0006)!important}
body.art-theme.v25-lobby-body.player-v25-body .game-lobby .lobby-main-btn{background:linear-gradient(145deg,#26384f,#111e30)!important;border:1px solid #c5a36d77!important;box-shadow:inset 0 1px #ffffff15,0 5px 15px #0004!important;color:#ecdfc5!important}
body.art-theme.v25-lobby-body.player-v25-body .game-lobby .lobby-main-btn.continue{background:linear-gradient(145deg,#72323b,#2a1928)!important;border-color:#ddb879!important}
@media(max-width:700px){body.art-theme .profile-avatar-large{width:190px!important;height:190px!important;min-width:190px!important}body.art-theme .profile-avatar-stage{min-height:230px!important;padding:18px!important}}
/* Battle commands remain below the stage instead of covering the actors. */
body.art-theme.player-v25-body .v25-game .v25-battle-controls{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:640px!important;margin:0 auto!important;grid-template-columns:1fr 1fr!important;z-index:5!important;border-radius:0 0 8px 8px!important}
body.art-theme.player-v25-body .v25-game .battle-log{height:54px!important;max-height:54px!important;overflow:auto!important}
@media(max-width:700px){body.art-theme.player-v25-body .v25-game .v25-battle-controls{padding:9px!important;gap:9px!important}body.art-theme.player-v25-body .v25-game .v25-skill-button{min-height:62px!important;height:auto!important}body.art-theme.player-v25-body .v25-game .battle-log{height:48px!important;max-height:48px!important}}
