:root{
  --bg:#071C24; --bg2:#0D2C37; --panel:#0E3442; --panel2:#124656; --ink:#ffffff; --muted:#B5D1D6;
  --gold:#FFC22E; --orange:#F28B2E; --green:#68C400; --green2:#2E8F00; --blue:#1DA9FF; --violet:#8C32E6; --red:#EC4A3F;
  --cream:#FFE8B6; --line:#F4A62A; --shadow:rgba(0,10,16,.56); --radius:22px;
}
*{box-sizing:border-box} body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -10%,#18546a 0,#071C24 45%,#031017 100%);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow-x:hidden} button,input{font:inherit} button{cursor:pointer} input{min-width:0;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.18);color:white}.loading{padding:40px;text-align:center;color:var(--muted)}
body:before{content:"";position:fixed;inset:0;background:url('/static/assets/backgrounds/forest_common.webp') center bottom/cover no-repeat;opacity:.22;filter:blur(1px);z-index:-2} body:after{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgba(3,16,23,.15),rgba(3,16,23,.84) 72%);z-index:-1}
.app-shell{width:min(1120px,100%);margin:0 auto;padding:12px 12px 100px}.screen{animation:fade .18s ease}@keyframes fade{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:none}}
.top-shell{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-bottom:12px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand>img{width:94px;height:auto;filter:drop-shadow(0 8px 12px rgba(0,0,0,.45))}.brand b{display:block;font-size:18px;line-height:1.1}.brand .team-badge{margin-top:5px}.resource-bar{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.resource-chip{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(180deg,#143F4E,#092631);border:1px solid rgba(244,166,42,.65);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 5px 14px rgba(0,0,0,.28);border-radius:16px;padding:5px 8px;color:#fff;white-space:nowrap}.resource-icon{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.45))}.resource-chip b{font-size:14px}.screen-title{margin:8px 2px 14px}.screen-title h1{font-size:30px;line-height:1;margin:0;text-transform:uppercase;text-shadow:0 4px 0 rgba(0,0,0,.35)}.screen-title p{margin:6px 0 0;color:var(--muted)}
.game-card{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(14,52,66,.96),rgba(6,27,36,.98));border:1px solid rgba(244,166,42,.45);border-radius:var(--radius);box-shadow:0 18px 34px var(--shadow),inset 0 1px 0 rgba(255,255,255,.12);padding:16px}.game-card h2{margin:0 0 10px;font-size:22px;text-shadow:0 3px 0 rgba(0,0,0,.35)}.game-card p,.muted{color:var(--muted);line-height:1.35}.bg-card:before{content:"";position:absolute;inset:0;background:var(--card-bg) center/cover;opacity:.18}.bg-card>*{position:relative}.two-col{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}@media(min-width:780px){.two-col{grid-template-columns:1fr 1fr}.hero-layout{grid-template-columns:.85fr 1.15fr}}
.btn{border:0;border-radius:16px;padding:11px 16px;font-weight:900;color:#fff;background:linear-gradient(180deg,#7CE000,#2C9B00);box-shadow:0 5px 0 #145300,0 10px 18px rgba(0,0,0,.35);text-shadow:0 2px 0 rgba(0,0,0,.28)}.btn--primary{background:linear-gradient(180deg,#8BEE00,#379B00)}.btn--secondary{background:linear-gradient(180deg,#2C92E6,#0B4C93);box-shadow:0 5px 0 #06356A}.btn--ghost{background:linear-gradient(180deg,#314B55,#162A33);box-shadow:none;border:1px solid rgba(255,255,255,.16)}.btn--small{font-size:13px;padding:8px 11px;border-radius:12px}.btn--wide{width:100%;margin-top:14px}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}
.team-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid rgba(255,255,255,.18);text-transform:uppercase}.team-badge img{width:24px;height:24px}.team-badge--dawn{background:linear-gradient(180deg,#1DA9FF,#0A4E83);color:#fff}.team-badge--sunset{background:linear-gradient(180deg,#F28B2E,#6C2CB0);color:#fff}.mini-badge{display:inline-block;padding:2px 6px;border-radius:999px;background:rgba(255,194,46,.18);border:1px solid rgba(255,194,46,.45);color:var(--cream);font-size:11px}.eyebrow{text-transform:uppercase;color:var(--gold);font-weight:900;font-size:12px;letter-spacing:.05em}.reward-line{color:var(--cream);font-weight:800;margin:8px 0}
.progress{position:relative;height:17px;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.12);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,#8BEE00,#FFC22E);border-radius:inherit}.progress b{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;text-shadow:0 1px 2px #000}.progress--xp>div{background:linear-gradient(90deg,#1DA9FF,#8C32E6)}
.home-hero{min-height:290px;background-image:linear-gradient(90deg,rgba(6,27,36,.3),rgba(6,27,36,.82)),var(--hero-bg);background-size:cover;background-position:center;display:grid;grid-template-columns:190px 1fr;align-items:end;gap:12px}.home-hero__character img{height:270px;max-width:100%;object-fit:contain;filter:drop-shadow(0 18px 14px rgba(0,0,0,.55))}.home-hero__info{padding:14px;background:rgba(3,16,23,.58);border:1px solid rgba(255,255,255,.12);border-radius:18px;backdrop-filter:blur(4px)}.home-hero__info h2{font-size:32px;margin:8px 0}.level-row{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px;font-weight:900;color:var(--cream)}.goal-card{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:14px;margin:12px 0}.goal-card__icon img{width:86px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.quick-action,.battle-mode,.job-card{border:1px solid rgba(244,166,42,.48);border-radius:20px;background:linear-gradient(180deg,#124656,#071F2B);color:white;box-shadow:0 10px 18px rgba(0,0,0,.32);padding:12px;font-weight:900}.quick-action img{width:54px;height:54px;display:block;margin:0 auto 6px}.quick-action span{display:block}.quest-row,.event-row,.rating-row,.team-rating{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}.quest-row:last-child,.event-row:last-child,.rating-row:last-child,.team-rating:last-child{border-bottom:0}.quest-row>div:first-child{display:flex;justify-content:space-between;gap:10px}.quest-row span,.event-row span,.rating-row span,.team-rating span{color:var(--muted);font-size:12px}.event-row p{margin:5px 0 0;font-size:13px;color:#D7EBED}
.hero-profile{display:grid;grid-template-columns:160px 1fr;gap:12px;align-items:end;background:linear-gradient(180deg,rgba(18,70,86,.94),rgba(5,23,32,.98))}.hero-profile__char{height:230px;max-width:170px;object-fit:contain;align-self:end;filter:drop-shadow(0 14px 12px rgba(0,0,0,.55))}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.stats-grid--compact{grid-template-columns:repeat(5,1fr);margin:12px 0}.stat-card{background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:8px;text-align:center}.stat-card img{width:34px;height:34px}.stat-card span{display:block;color:var(--muted);font-size:11px}.stat-card b{display:block;font-size:20px}.upgrade-stats{display:grid;gap:8px}.stat-upgrade{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:8px;border-radius:16px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1)}.stat-upgrade img{width:42px}.stat-upgrade span{display:block;color:var(--muted);font-size:12px}.item-list{display:grid;gap:8px}.asset-row{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.22);border-radius:18px}.asset-thumb{width:70px;height:70px;border-radius:16px;background:linear-gradient(180deg,#1D4B5B,#061B24);border:1px solid rgba(244,166,42,.4);display:grid;place-items:center}.asset-thumb img{max-width:95%;max-height:95%;object-fit:contain}.asset-row b{font-size:15px}.asset-row p{margin:4px 0;font-size:12px}.row-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.arena-card{min-height:230px;background-image:linear-gradient(90deg,rgba(6,27,36,.8),rgba(6,27,36,.2)),var(--arena-bg);background-size:cover;background-position:center;display:flex;justify-content:space-between;align-items:center}.arena-card>img{width:165px;filter:drop-shadow(0 12px 10px rgba(0,0,0,.5))}.energy-big{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.12);font-size:22px}.battle-actions,.job-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0}.battle-mode img,.job-card img{height:62px;object-fit:contain;margin-bottom:8px;filter:drop-shadow(0 4px 5px #000)}.battle-mode b,.battle-mode span,.job-card b,.job-card span,.job-card small{display:block}.battle-mode span,.job-card span,.job-card small{color:var(--muted);font-size:12px}.work-hero{min-height:210px;background-image:linear-gradient(90deg,rgba(6,27,36,.25),rgba(6,27,36,.82)),var(--work-bg);background-size:cover;background-position:center;display:grid;grid-template-columns:150px 1fr;align-items:end}.work-hero img{height:205px;object-fit:contain}.job-card{text-align:center}.job-card img{height:58px}.job-row .btn{margin-top:7px}.team-rating{display:flex;align-items:center;gap:10px}.team-rating b{font-size:20px;color:var(--gold)}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:20;display:grid;place-items:center;padding:14px}.game-modal{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#113E4D,#061B24);border:1px solid rgba(244,166,42,.68);border-radius:26px;box-shadow:0 25px 70px rgba(0,0,0,.68);padding:18px}.game-modal h2{text-align:center;font-size:30px;margin:4px 0 14px}.modal-x{position:absolute;right:12px;top:10px;width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.24);color:white;font-size:24px}.opponent-vs{display:grid;grid-template-columns:1fr 86px 1fr;gap:8px;align-items:center}.fighter{background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:10px;text-align:center}.fighter>img{height:170px;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 12px #000)}.fighter b,.fighter span{display:block}.fighter span{color:var(--muted);font-size:12px}.vs-mark{text-align:center;font-size:44px;font-weight:1000;color:var(--gold);text-shadow:0 4px 0 #762B05}.reward-preview{margin:12px 0;padding:12px;border-radius:16px;background:rgba(255,194,46,.12);border:1px solid rgba(255,194,46,.38);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.modal-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.result-modal{text-align:center}.result-cup{height:165px;filter:drop-shadow(0 18px 14px rgba(0,0,0,.55))}.reward-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.reward-grid span{display:flex;align-items:center;justify-content:center;gap:5px;padding:10px;border-radius:14px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.12);font-weight:900}.battle-details{text-align:left;margin:12px 0}.battle-details summary{cursor:pointer;color:var(--cream);font-weight:900}.battle-log-row{padding:8px;border-bottom:1px solid rgba(255,255,255,.1);color:#D7EBED}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.metric-card{padding:10px;border-radius:16px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12)}.metric-card span,.metric-card em{display:block;color:var(--muted);font-size:12px;font-style:normal}.metric-card b{display:block;font-size:24px;color:var(--cream);line-height:1.1}.maintenance-card{background:linear-gradient(180deg,rgba(79,44,12,.96),rgba(6,27,36,.98))}.error-screen .auth-card{border-color:rgba(236,74,63,.75)}.toast{position:fixed;left:50%;top:14px;transform:translateX(-50%);z-index:30;max-width:min(680px,calc(100% - 24px));padding:12px 16px;border-radius:18px;background:linear-gradient(180deg,#124656,#061B24);border:1px solid rgba(244,166,42,.6);box-shadow:0 12px 32px rgba(0,0,0,.45);font-weight:800}.toast.error{background:linear-gradient(180deg,#6B2521,#2A0F0D);border-color:rgba(236,74,63,.7)}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:18px}.auth-bg{position:fixed;inset:0;background:url('/static/assets/backgrounds/forest_common.webp') center/cover no-repeat;z-index:-1}.auth-bg:after{content:"";position:absolute;inset:0;background:rgba(3,16,23,.55)}.auth-card{width:min(720px,100%);background:linear-gradient(180deg,rgba(14,52,66,.94),rgba(6,27,36,.98));border:1px solid rgba(244,166,42,.65);border-radius:30px;padding:18px;box-shadow:0 20px 70px rgba(0,0,0,.55)}.auth-logo{display:block;width:270px;margin:0 auto 4px}.auth-card h1{text-align:center;margin:0 0 8px}.auth-card p{color:var(--muted);text-align:center}.auth-card label{display:block;margin:12px 0 6px;color:var(--cream);font-weight:800}.auth-card input{width:100%;padding:12px 14px;border-radius:16px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.18);color:white}.team-select{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.team-card-img{padding:0;border:0;background:transparent;border-radius:25px;filter:grayscale(.3);opacity:.75}.team-card-img img{width:100%;display:block}.team-card-img.selected{filter:none;opacity:1;outline:4px solid var(--gold)}
@media(max-width:720px){.top-shell{grid-template-columns:1fr}.brand>img{width:74px}.resource-bar{justify-content:flex-start}.screen-title h1{font-size:24px}.home-hero{grid-template-columns:130px 1fr;min-height:235px}.home-hero__character img{height:220px}.home-hero__info h2{font-size:23px}.goal-card{grid-template-columns:64px 1fr}.goal-card .btn{grid-column:1/-1}.goal-card__icon img{width:62px}.quick-grid{grid-template-columns:repeat(2,1fr)}.battle-actions,.job-grid{grid-template-columns:repeat(2,1fr)}.stats-grid,.stats-grid--compact{grid-template-columns:repeat(2,1fr)}.hero-profile{grid-template-columns:120px 1fr}.hero-profile__char{height:175px}.opponent-vs{grid-template-columns:1fr}.vs-mark{font-size:34px}.reward-grid{grid-template-columns:repeat(2,1fr)}.bottom-nav{left:8px;right:8px;bottom:8px;transform:none;width:auto}.team-select{grid-template-columns:1fr 1fr}.auth-logo{width:220px}}
.bottom-nav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);width:min(760px,calc(100% - 16px));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:7px;background:rgba(6,27,36,.94);border:1px solid rgba(244,166,42,.55);border-radius:22px;backdrop-filter:blur(8px);box-shadow:0 -8px 28px rgba(0,0,0,.45);z-index:10}.bottom-nav button{border:0;border-radius:16px;background:transparent;color:#D6E8E8;font-weight:900;font-size:10px;padding:6px 2px;min-width:0}.bottom-nav button.active{background:linear-gradient(180deg,#FFC22E,#9E4C10);color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35)}.bottom-nav img{display:block;width:30px;height:30px;margin:0 auto 2px;object-fit:contain}.bottom-nav span{display:block}
@media(max-width:720px){.bottom-nav{left:8px;right:8px;transform:none;width:auto;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible}.bottom-nav button{min-width:0}.bottom-nav::-webkit-scrollbar{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}}

/* v0.19 Mini App visual polish */
.app-shell{padding-bottom:122px}.is-telegram-miniapp .app-shell{padding-top:8px}.screen-title h1{line-height:1.14;text-shadow:0 3px 0 rgba(0,0,0,.34),0 0 18px rgba(0,0,0,.22)}.brand b,.home-hero__info h2,.hero-profile h2{overflow-wrap:anywhere}.resource-icon{flex:0 0 auto}.asset-thumb>.resource-icon{width:44px;height:44px}.reward-grid .resource-icon,.reward-preview .resource-icon,.shop-card small .resource-icon{width:21px;height:21px}.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr));max-width:760px}.bottom-nav button{min-width:0}.bottom-nav img{width:28px;height:28px}.more-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.34);z-index:9}.more-sheet{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);width:min(560px,calc(100% - 20px));z-index:11;background:linear-gradient(180deg,rgba(14,52,66,.98),rgba(5,23,32,.99));border:1px solid rgba(244,166,42,.55);border-radius:20px;padding:12px;box-shadow:0 -10px 34px rgba(0,0,0,.54);backdrop-filter:blur(8px)}.more-sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.more-sheet__head b{font-size:16px;color:var(--cream)}.more-sheet__head .modal-x{position:static;width:34px;height:34px;font-size:22px}.more-sheet__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.more-sheet__grid button{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(0,0,0,.22);color:white;font-weight:900;padding:9px;text-align:left}.more-sheet__grid button.active{border-color:rgba(255,194,46,.75);background:rgba(255,194,46,.16)}.more-sheet__grid img{width:34px;height:34px;object-fit:contain}.quest-row--visual{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:center}.quest-row--visual>.asset-thumb{display:grid;width:58px;height:58px;border-radius:14px}.quest-row--visual>.asset-thumb img{max-width:92%;max-height:92%;object-fit:contain}.quest-row__body>div:first-child{display:flex;justify-content:space-between;gap:8px}.quest-row__body{min-width:0}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.shop-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:7px;min-height:176px;border:1px solid rgba(244,166,42,.42);border-radius:18px;background:linear-gradient(180deg,#124656,#071F2B);color:white;box-shadow:0 10px 18px rgba(0,0,0,.32);padding:11px;text-align:center;font-weight:900}.shop-card__visual{width:78px;height:78px;margin:0 auto;border-radius:18px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(255,194,46,.22),rgba(4,17,24,.8) 68%);border:1px solid rgba(255,255,255,.12)}.shop-card__img{max-width:74px;max-height:74px;object-fit:contain;filter:drop-shadow(0 7px 7px rgba(0,0,0,.55))}.shop-card b{line-height:1.12}.shop-card span{color:var(--muted);font-size:12px;line-height:1.25}.shop-card small{display:flex;align-items:center;justify-content:center;gap:4px;color:var(--cream);font-size:12px}.shop-card:disabled{opacity:.58;filter:saturate(.75)}.home-hero__info,.hero-profile>div{min-width:0}.home-hero__info h2,.hero-profile h2{line-height:1.08}.level-row{flex-wrap:wrap}.game-card{border-color:rgba(244,166,42,.38)}
@media(max-width:720px){.app-shell{padding:8px 10px 112px}.top-shell{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:8px}.brand{gap:8px}.brand>img{width:54px}.brand b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand .team-badge{margin-top:3px;font-size:10px;padding:2px 6px}.brand .team-badge img{width:18px;height:18px}.resource-bar{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:5px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.resource-bar::-webkit-scrollbar{display:none}.resource-chip{padding:4px 7px;border-radius:13px;gap:4px}.resource-chip .resource-icon{width:22px;height:22px}.resource-chip b{font-size:12px}.screen-title{margin:6px 1px 10px}.screen-title h1{font-size:23px;letter-spacing:0}.screen-title p{margin-top:3px;font-size:14px}.home-hero{grid-template-columns:minmax(92px,34%) minmax(0,1fr);min-height:198px;gap:8px;padding:11px;align-items:center}.home-hero__character{align-self:end}.home-hero__character img{height:178px}.home-hero__info{padding:11px;border-radius:16px}.home-hero__info h2{font-size:22px;margin:7px 0}.goal-card{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:12px}.goal-card__icon img{width:54px}.goal-card .row-actions{grid-column:1/-1}.quick-grid{gap:8px}.quick-action{padding:10px 6px;border-radius:16px}.quick-action img{width:42px;height:42px}.hero-profile{grid-template-columns:96px minmax(0,1fr);align-items:center;padding:12px}.hero-profile__char{height:138px;max-width:104px}.hero-profile p{font-size:13px;margin:6px 0}.bottom-nav{left:8px;right:8px;bottom:8px;transform:none;width:auto;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible;gap:4px;padding:6px;border-radius:18px}.bottom-nav button{min-width:0;font-size:9px;padding:5px 1px;border-radius:13px}.bottom-nav img{width:24px;height:24px}.more-sheet{bottom:78px}.more-sheet__grid{grid-template-columns:1fr 1fr}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shop-card{min-height:166px;padding:10px 8px;border-radius:16px}.shop-card__visual{width:68px;height:68px;border-radius:16px}.shop-card__img{max-width:64px;max-height:64px}.quest-row--visual{grid-template-columns:54px minmax(0,1fr);gap:8px}.quest-row--visual>.asset-thumb{width:50px;height:50px}.asset-row{grid-template-columns:62px minmax(0,1fr);padding:9px}.asset-thumb{width:60px;height:60px}.arena-card,.work-hero{min-height:180px}.arena-card>img{width:116px}.work-hero{grid-template-columns:105px minmax(0,1fr)}.work-hero img{height:156px}.metric-grid{grid-template-columns:repeat(2,1fr)}}
.brand>img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.45))}
.auth-logo{width:min(300px,72vw);height:auto;aspect-ratio:1/1;object-fit:contain;margin:0 auto 6px;filter:drop-shadow(0 16px 22px rgba(0,0,0,.46))}
@media(max-width:720px){.brand>img{width:46px;height:46px}.auth-logo{width:min(230px,68vw)}}
@media(max-width:720px){.home-hero{min-height:184px}.home-hero__character img{height:162px}.home-hero__info h2{font-size:20px}.goal-card{padding:10px 12px;gap:8px}.goal-card h2{font-size:20px;margin-bottom:5px}.goal-card p{font-size:14px;line-height:1.22;margin:6px 0}.goal-card .reward-line{font-size:14px;margin:5px 0}.goal-card .progress{height:15px}.goal-card .row-actions{margin-top:6px}.goal-card .btn{padding:8px 12px;border-radius:13px}.bottom-nav{padding:5px}.bottom-nav button{font-size:8.5px;padding:4px 1px}.bottom-nav img{width:22px;height:22px}}
.path-hero{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:12px}.path-mentor{width:92px;height:92px}.path-list{display:grid;gap:9px}.path-step{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(0,0,0,.22)}.path-step__num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-weight:1000}.path-step b,.path-step span{display:block}.path-step p{margin:3px 0;color:var(--muted);font-size:13px}.path-step span{color:var(--cream);font-size:12px}.path-step--done{border-color:rgba(104,196,0,.42);background:rgba(104,196,0,.1)}.path-step--done .path-step__num{background:linear-gradient(180deg,#7CE000,#2C9B00);border-color:rgba(255,255,255,.2)}.path-step--current{border-color:rgba(255,194,46,.72);box-shadow:0 12px 26px rgba(0,0,0,.28)}.path-step--current .path-step__num{background:linear-gradient(180deg,#FFC22E,#9E4C10)}.mentor-head{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:center}.mentor-head img{width:90px;height:90px;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(0,0,0,.48))}.mentor-head h2{text-align:left;margin:4px 0}.mentor-tips{padding:12px;border-radius:16px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);margin:12px 0;text-align:left}.mentor-tips b,.mentor-tips span{display:block}.mentor-tips span{color:var(--muted);margin-top:4px}
.asset-thumb--button{padding:0;color:white;cursor:pointer}.asset-thumb--button:hover{border-color:rgba(255,194,46,.9);filter:brightness(1.08)}.detail-hero{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:12px}.detail-visual{min-height:150px;border-radius:22px;background:radial-gradient(circle at 50% 35%,rgba(255,194,46,.22),rgba(4,17,24,.82) 70%);border:1px solid rgba(244,166,42,.48);display:grid;place-items:center}.detail-visual img{max-width:140px;max-height:140px;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(0,0,0,.55))}.detail-hero h2{text-align:left;margin:4px 0;font-size:30px}.detail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.detail-stats .metric-card{display:grid;gap:4px;align-content:center}.detail-stats .stat-icon{width:34px;height:34px}.detail-card{box-shadow:none;margin-top:10px}.detail-progress{margin:10px 0 14px}.cup-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:center;margin:12px 0;background:linear-gradient(135deg,rgba(74,35,8,.97),rgba(8,39,49,.98))}.cup-card>div:first-child{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:10px;align-items:center}.cup-card>div:first-child p{grid-column:2}.cup-card .resource-icon{width:50px;height:50px}.cup-card__stats{padding:12px;border-radius:18px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);text-align:center}.cup-card__stats span,.cup-card__stats b{display:block}.cup-card__stats b{font-size:30px;color:var(--cream);margin:2px 0 10px}.work-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.work-guide .game-card{min-height:168px;display:grid;align-content:start;gap:4px}.work-guide .game-card>img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(0,0,0,.42))}.work-guide .resource-icon{width:48px;height:48px;margin-top:4px}
.equipment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.equipment-slot{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(0,0,0,.2)}.equipment-slot--filled{border-color:rgba(255,194,46,.45);background:rgba(255,194,46,.08)}.equipment-slot span,.equipment-slot b{display:block}.equipment-slot span{color:var(--muted);font-size:12px}.equipment-slot b{color:var(--cream);line-height:1.1}.equipment-slot p{font-size:12px;margin:4px 0}.battle-result-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.battle-result-summary>div,.next-step-card,.league-metrics>div{padding:10px;border-radius:16px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12)}.battle-result-summary span,.battle-result-summary b,.next-step-card b,.next-step-card span,.league-metrics span,.league-metrics b{display:block}.battle-result-summary span,.next-step-card span,.league-metrics span{color:var(--muted);font-size:12px}.next-step-card{text-align:left;margin:12px 0}.league-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:center;margin-bottom:12px;background-image:linear-gradient(90deg,rgba(6,27,36,.92),rgba(6,27,36,.36)),var(--league-bg);background-size:cover;background-position:center}.league-hero h2{font-size:32px;margin:8px 0}.league-metrics{display:grid;grid-template-columns:1fr;gap:8px}.league-metrics b{font-size:24px;color:var(--cream)}.rating-row--me,.team-rating--me{background:rgba(255,194,46,.12);border-radius:14px;padding-left:10px;padding-right:10px;border-bottom-color:transparent}
.empty-state{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;padding:12px;border:1px dashed rgba(255,194,46,.38);border-radius:18px;background:rgba(0,0,0,.18);text-align:left}.empty-state .asset-thumb{width:60px;height:60px}.empty-state b{display:block;color:var(--cream)}.empty-state p{margin:4px 0 8px;color:var(--muted);font-size:13px}.pve-hero{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:12px;align-items:center;margin-bottom:12px;background-image:linear-gradient(90deg,rgba(6,27,36,.92),rgba(6,27,36,.35)),var(--card-bg);background-size:cover;background-position:center}.pve-hero img{width:165px;max-width:100%;filter:drop-shadow(0 14px 12px rgba(0,0,0,.55))}.pve-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.pve-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center;padding:12px;border:1px solid rgba(244,166,42,.45);border-radius:20px;background:linear-gradient(180deg,#124656,#071F2B);color:#fff;text-align:left;box-shadow:0 10px 18px rgba(0,0,0,.32)}.pve-card__art{width:90px;height:90px;border-radius:18px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(255,194,46,.18),rgba(4,17,24,.82) 68%);border:1px solid rgba(255,255,255,.12)}.pve-card__art img{max-width:84px;max-height:84px;object-fit:contain;filter:drop-shadow(0 9px 8px rgba(0,0,0,.55))}.pve-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.pve-card__top b{font-size:17px;line-height:1.12}.pve-card p,.pve-card small{display:block;margin:5px 0;color:var(--muted);font-size:12px}.pve-card__stats{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.pve-card__stats span,.reward-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);font-size:12px;color:var(--cream)}.pve-card__stats .resource-icon,.reward-chip .resource-icon{width:18px;height:18px}.reward-strip{display:flex;gap:5px;flex-wrap:wrap}.pve-card--easy{border-color:rgba(104,196,0,.5)}.pve-card--hard{border-color:rgba(236,74,63,.6)}.shop-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px;align-items:center;margin-bottom:12px;background:linear-gradient(135deg,rgba(74,35,8,.97),rgba(8,39,49,.98))}.shop-hero>div:first-child{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:10px;align-items:center}.shop-hero>div:first-child p,.shop-hero>div:first-child .row-actions{grid-column:2}.shop-hero>div:first-child>.resource-icon{width:50px;height:50px}.shop-hero__wallet{display:grid;gap:8px}.shop-hero__wallet span{display:flex;align-items:center;gap:6px;padding:9px;border-radius:16px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);font-weight:900}.shop-shelf{margin-bottom:12px}.shop-shelf__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.shop-shelf__head p{margin:0}.shop-card{position:relative}.shop-card__state{position:absolute;right:8px;top:8px;padding:3px 6px;border-radius:999px;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.16);font-size:10px;color:var(--cream)}.shop-card--ready{border-color:rgba(255,194,46,.62)}.shop-card--owned{border-color:rgba(104,196,0,.42);opacity:.78}.shop-card--locked{border-color:rgba(236,74,63,.38);opacity:.58}.effect-row .resource-icon{width:44px;height:44px}
.quest-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px;align-items:center;margin-bottom:12px;background:linear-gradient(135deg,rgba(15,67,83,.97),rgba(74,35,8,.9))}.quest-hero>div:first-child{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:10px;align-items:center}.quest-hero>div:first-child p{grid-column:2}.quest-hero>div:first-child>.resource-icon{width:50px;height:50px}.quest-hero>.row-actions{grid-column:1/-1;margin-top:0}.quest-metrics{display:grid;gap:8px}.quest-metrics>div{padding:9px;border-radius:15px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12)}.quest-metrics span,.quest-metrics b{display:block}.quest-metrics span{font-size:12px;color:var(--muted)}.quest-metrics b{font-size:22px;color:var(--cream)}.quest-panel{align-self:start}.quest-row--visual{border-radius:15px;padding:8px;border-bottom:1px solid rgba(255,255,255,.08)}.quest-row--visual:has(.quest-row__meta){background:rgba(0,0,0,.08)}.quest-row__meta{padding:2px 6px;border-radius:999px;background:rgba(255,194,46,.14);border:1px solid rgba(255,194,46,.3);color:var(--cream)!important;white-space:nowrap}.achievement-row--done{border-color:rgba(104,196,0,.35);background:rgba(104,196,0,.08)}.achievement-row--claimable{border-color:rgba(255,194,46,.5);background:rgba(255,194,46,.08)}.achievement-row__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.event-row--timeline{display:grid;gap:5px;padding:11px 0}.event-row--timeline b,.event-row--timeline span{display:block}.event-row--timeline span{margin-top:2px}.event-row--timeline p{margin:0}.notification-row{border-left:3px solid rgba(29,169,255,.45);padding-left:9px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.settings-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:start}.settings-card>.asset-thumb{width:72px;height:72px}.settings-card h2{margin-top:0}.settings-card input{max-width:100%}.settings-maintenance{margin-bottom:12px}
@media(max-width:720px){.path-hero{grid-template-columns:70px minmax(0,1fr);gap:10px}.path-mentor{width:68px;height:68px}.path-step{grid-template-columns:34px minmax(0,1fr);padding:10px}.path-step__num{width:34px;height:34px}.path-step .btn{grid-column:1/-1}.mentor-head{grid-template-columns:66px minmax(0,1fr)}.mentor-head img{width:66px;height:66px}.mentor-head h2{font-size:23px}}
@media(max-width:720px){.detail-hero{grid-template-columns:112px minmax(0,1fr);gap:10px}.detail-visual{min-height:112px;border-radius:18px}.detail-visual img{max-width:104px;max-height:104px}.detail-hero h2{font-size:24px}.detail-stats{grid-template-columns:1fr}.cup-card{grid-template-columns:1fr}.cup-card>div:first-child{grid-template-columns:42px minmax(0,1fr)}.cup-card .resource-icon{width:40px;height:40px}.work-guide{grid-template-columns:1fr}}
@media(max-width:720px){.equipment-grid{grid-template-columns:1fr}.equipment-slot{grid-template-columns:62px minmax(0,1fr)}.battle-result-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.league-hero{grid-template-columns:1fr}.league-hero h2{font-size:26px}.league-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.league-metrics b{font-size:18px}}
@media(max-width:720px){.empty-state{grid-template-columns:52px minmax(0,1fr);padding:10px}.empty-state .asset-thumb{width:50px;height:50px}.pve-hero{grid-template-columns:minmax(0,1fr) 95px}.pve-hero img{width:94px}.pve-grid{grid-template-columns:1fr}.pve-card{grid-template-columns:78px minmax(0,1fr);padding:10px}.pve-card__art{width:76px;height:76px}.pve-card__art img{max-width:70px;max-height:70px}.pve-card__top{align-items:flex-start}.shop-hero{grid-template-columns:1fr}.shop-hero>div:first-child{grid-template-columns:42px minmax(0,1fr)}.shop-hero>div:first-child>.resource-icon{width:40px;height:40px}.shop-hero__wallet{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-hero__wallet span{justify-content:center;font-size:12px;padding:7px 4px}.shop-shelf__head{align-items:center}.shop-card__state{font-size:9px}}
@media(max-width:720px){.quest-hero{grid-template-columns:1fr}.quest-hero>div:first-child{grid-template-columns:42px minmax(0,1fr)}.quest-hero>div:first-child>.resource-icon{width:40px;height:40px}.quest-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.quest-metrics>div{padding:7px 5px;text-align:center}.quest-metrics b{font-size:18px}.achievement-row__head{align-items:flex-start}.settings-grid{grid-template-columns:1fr}.settings-card{grid-template-columns:58px minmax(0,1fr);gap:10px}.settings-card>.asset-thumb{width:56px;height:56px}.settings-card .row-actions .btn{flex:1 1 auto}.settings-maintenance .row-actions .btn{flex:1 1 100%}}

/* v0.51 design-system pass */
:root{
  --bg:#06161A; --bg2:#0A252D; --panel:#0D3138; --panel2:#123F46; --ink:#FFF7E8; --muted:#BFD3CE;
  --gold:#F5B93D; --orange:#D87A2C; --green:#6FAA47; --green2:#3F7D38; --blue:#4EA6B8; --violet:#9C6A3F; --red:#C95C48;
  --cream:#FFE7B3; --line:#C7923A; --shadow:rgba(0,8,10,.44); --radius:18px;
  --font-body:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --font-display:"Trebuchet MS","Segoe UI",system-ui,sans-serif;
  --btn-primary:linear-gradient(180deg,#F7C957,#B86A25);
  --btn-secondary:linear-gradient(180deg,#2F8C92,#15535A);
  --btn-ghost:linear-gradient(180deg,rgba(45,64,67,.94),rgba(18,34,38,.96));
  --panel-soft:linear-gradient(180deg,rgba(16,56,62,.95),rgba(6,23,28,.98));
}
body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at 50% -10%,#16434B 0,#071D22 48%,#020C0F 100%)}
.screen-title h1,.game-card h2,.auth-card h1,.game-modal h2,.brand b,.btn,.bottom-nav button,.quick-action,.battle-mode,.job-card,.shop-card,.pve-card{font-family:var(--font-display)}
.screen-title h1{font-size:28px;text-transform:none;letter-spacing:.01em;text-shadow:0 2px 0 rgba(0,0,0,.28),0 0 14px rgba(0,0,0,.18)}
.game-card{background:var(--panel-soft);border-color:rgba(199,146,58,.42);border-radius:18px;box-shadow:0 12px 26px rgba(0,8,10,.38),inset 0 1px 0 rgba(255,255,255,.08)}
.game-card h2{text-shadow:0 2px 0 rgba(0,0,0,.24);letter-spacing:.005em}
.btn{border:1px solid rgba(255,238,190,.22);border-radius:14px;padding:10px 15px;font-weight:800;color:#FFF6DF;background:var(--btn-primary);box-shadow:0 5px 12px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.22);text-shadow:0 1px 1px rgba(0,0,0,.28)}
.btn--primary{background:var(--btn-primary)}
.btn--secondary{background:var(--btn-secondary);box-shadow:0 5px 12px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.18)}
.btn--ghost{background:var(--btn-ghost);border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.btn--small{font-size:12px;padding:7px 10px;border-radius:11px}
button:disabled,.btn:disabled{opacity:.54;filter:saturate(.65)}
.quick-action,.battle-mode,.job-card,.pve-card,.shop-card{background:linear-gradient(180deg,#164C52,#08232A);border-color:rgba(199,146,58,.4);box-shadow:0 8px 16px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.08);font-weight:800}
.quick-action:hover,.battle-mode:hover,.job-card:hover,.pve-card:hover,.shop-card--ready:hover{filter:brightness(1.06)}
.team-badge{font-weight:800;letter-spacing:.02em}.team-badge--dawn{background:linear-gradient(180deg,#3D9EAD,#15545D)}.team-badge--sunset{background:linear-gradient(180deg,#D98740,#7B3F2C)}
.resource-chip{background:linear-gradient(180deg,#16474E,#09242A);border-color:rgba(199,146,58,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 10px rgba(0,0,0,.22)}
.progress{background:rgba(0,0,0,.32);border-color:rgba(255,255,255,.1)}.progress>div{background:linear-gradient(90deg,#DFA23A,#F5D76A)}.progress--xp>div{background:linear-gradient(90deg,#3D9EAD,#F0C45A)}
.asset-thumb,.shop-card__visual,.pve-card__art,.detail-visual{background:radial-gradient(circle at 50% 35%,rgba(245,185,61,.2),rgba(7,28,33,.88) 68%);border-color:rgba(199,146,58,.38)}
.empty-state{position:relative;overflow:hidden;border:1px solid rgba(199,146,58,.42);border-radius:18px;background:linear-gradient(90deg,rgba(7,25,30,.94),rgba(13,49,56,.88));box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.empty-state:before{content:"";position:absolute;inset:0;background:url('/static/assets/backgrounds/forest_common.webp') center/cover no-repeat;opacity:.18}
.empty-state>*{position:relative}.empty-state b{font-family:var(--font-display);font-weight:800}.empty-state p{color:var(--muted)}
.shop-card__state,.mini-badge,.quest-row__meta{background:rgba(245,185,61,.16);border-color:rgba(245,185,61,.42);color:var(--cream)}
.shop-card--ready{border-color:rgba(245,185,61,.62)}.shop-card--owned{border-color:rgba(111,170,71,.46);background:linear-gradient(180deg,#173F37,#09242A);opacity:.84}.shop-card--locked{border-color:rgba(201,92,72,.42);opacity:.6}
.pve-card--easy{border-color:rgba(111,170,71,.48)}.pve-card--hard{border-color:rgba(201,92,72,.58)}
.maintenance-card{background:linear-gradient(180deg,rgba(81,48,20,.94),rgba(7,25,30,.98))}
.bottom-nav{background:rgba(6,24,29,.94);border-color:rgba(199,146,58,.5);box-shadow:0 -7px 22px rgba(0,0,0,.36)}
.bottom-nav button{font-weight:800}.bottom-nav button.active{background:var(--btn-primary);text-shadow:0 1px 1px rgba(0,0,0,.26)}
.toast{background:linear-gradient(180deg,#174D53,#08272D);border-color:rgba(199,146,58,.58);box-shadow:0 10px 26px rgba(0,0,0,.38);font-family:var(--font-display)}
.toast.error{background:linear-gradient(180deg,#7B2F2D,#351615);border-color:rgba(201,92,72,.58)}
@media(max-width:720px){.screen-title h1{font-size:24px}.btn{padding:9px 12px}.btn--small{padding:7px 9px}.quick-action,.battle-mode,.job-card,.pve-card,.shop-card{border-radius:16px}.game-card{border-radius:17px}}

/* v0.54 visual artifact pass */
.asset-row,.equipment-slot,.event-row,.rating-row,.team-rating,.settings-card,.quest-row--visual{min-width:0;text-align:left}
.asset-row>div:not(.asset-thumb),.equipment-slot>div:not(.asset-thumb),.settings-card>div:not(.asset-thumb),.quest-row__body,.shop-card__body{min-width:0}
.asset-row b,.asset-row p,.event-row b,.event-row span,.rating-row b,.rating-row span,.team-rating b,.team-rating span,.settings-card h2,.settings-card p,.shop-card b,.shop-card span{overflow-wrap:anywhere}
.asset-row p,.event-row p,.rating-row span,.team-rating span,.shop-card span,.shop-card em{line-height:1.34}
.progress b{line-height:1}
.rating-row b,.rating-row span,.team-rating b,.team-rating span{display:block}
.team-rating{flex-wrap:wrap;align-items:flex-start}
.asset-thumb,.shop-card__visual,.pve-card__art,.detail-visual,.stat-card,.resource-chip{overflow:hidden}
.asset-thumb img,.shop-card__img,.pve-card__art img,.detail-visual img,.stat-card img{border-radius:12px}
.asset-thumb>.resource-icon{border-radius:0}
.shop-card{position:relative;grid-template-rows:auto 1fr;align-content:start;text-align:left;gap:9px;padding:10px}
.shop-card__head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}
.shop-card__head small{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:max-content;color:var(--cream);font-size:12px;line-height:1}
.shop-card__state{position:static;display:inline-flex;align-items:center;max-width:100%;min-width:0;white-space:normal;text-align:left;line-height:1.12}
.shop-card__content{display:grid;grid-template-columns:78px minmax(0,1fr);gap:9px;align-items:center;min-width:0}
.shop-card__visual{width:78px;height:78px;margin:0}
.shop-card__body{display:grid;gap:4px;align-content:center}
.shop-card__body b,.shop-card__body span,.shop-card__body em{display:block}
.shop-card__body b{line-height:1.12;color:var(--ink)}
.shop-card__body span{color:var(--muted);font-size:12px}
.shop-card__body em{font-style:normal;color:var(--cream);font-size:11px;opacity:.86}
.shop-card:disabled .shop-card__visual{filter:saturate(.8)}
.shop-shelf__head{min-width:0}.shop-shelf__head>div{min-width:0}.shop-shelf__head h2,.shop-shelf__head p{overflow-wrap:anywhere}
@media(max-width:720px){
  .shop-card{min-height:142px;padding:9px}
  .shop-card__content{grid-template-columns:58px minmax(0,1fr);gap:8px}
  .shop-card__visual{width:58px;height:58px;border-radius:14px}
  .shop-card__img{max-width:54px;max-height:54px}
  .shop-card__head{align-items:flex-start}
  .shop-card__head small{font-size:11px}
  .shop-card__state{font-size:9px;padding:3px 5px}
  .asset-row,.equipment-slot,.settings-card{gap:9px}
}

/* v0.56 full AssetGen runtime integration */
.btn{background-image:url('/static/assets/ui/button_base_primary.png');background-size:100% 100%;background-repeat:no-repeat;background-color:transparent;border-color:transparent;box-shadow:0 8px 16px rgba(0,0,0,.24);min-height:42px}
.btn--primary{background-image:url('/static/assets/ui/button_base_primary.png')}
.btn--secondary{background-image:url('/static/assets/ui/button_base_secondary.png');box-shadow:0 8px 16px rgba(0,0,0,.22)}
.btn--ghost{background-image:url('/static/assets/ui/button_base_ghost.png');background-color:transparent;border-color:transparent;box-shadow:0 6px 12px rgba(0,0,0,.2)}
.btn--small{min-height:34px;background-size:100% 100%}
button:disabled,.btn:disabled{filter:saturate(.45) brightness(.82);opacity:.62}
.game-modal{background:linear-gradient(180deg,rgba(9,43,49,.96),rgba(4,17,21,.98));border-color:transparent;padding:22px}
.game-modal:before{content:"";position:absolute;inset:0;background:url('/static/assets/ui/modal_panel_frame.png') center/100% 100% no-repeat;pointer-events:none;z-index:0;opacity:.9}
.game-modal>*{position:relative;z-index:1}
.framed-visual{position:relative;display:grid;place-items:center;width:100%;height:100%;min-width:48px;min-height:48px}
.framed-visual:before{content:"";position:absolute;inset:-7%;background:var(--item-frame) center/contain no-repeat;z-index:0;pointer-events:none;filter:drop-shadow(0 6px 7px rgba(0,0,0,.34))}
.framed-visual>img{position:relative;z-index:1;max-width:70%;max-height:70%;object-fit:contain}
.detail-visual .framed-visual{width:144px;height:144px}.detail-visual .framed-visual>img{max-width:92px;max-height:92px}
.asset-thumb .framed-visual>img{max-width:48px;max-height:48px}.equipment-slot .framed-visual>img{max-width:50px;max-height:50px}
.shop-card__visual{--item-frame:url('/static/assets/ui/item_frame_common.png');position:relative;background-image:var(--item-frame),radial-gradient(circle at 50% 36%,rgba(245,185,61,.2),rgba(7,28,33,.88) 68%);background-size:100% 100%,cover;background-position:center;background-repeat:no-repeat;border-color:transparent}
.shop-card__img{max-width:58px;max-height:58px}
.shop-card__state{gap:4px;background:rgba(5,23,28,.58);border-color:rgba(245,185,61,.32)}
.shop-card__state img{width:24px;height:14px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}
.shop-shelf__head--art{position:relative;min-height:78px;padding:14px 14px 12px 88px;align-items:center;background:var(--shop-header) left center/100% 100% no-repeat;border-radius:16px;overflow:hidden}
.shop-shelf__head--art h2,.shop-shelf__head--art p,.shop-shelf__head--art .mini-badge{position:relative;z-index:1;text-shadow:0 2px 2px rgba(0,0,0,.42)}
.shop-shelf__head--art p{color:#FFE7B3}
.shop-hero__wallet{position:relative;padding:24px 32px;background:url('/static/assets/ui/shop_wallet_base.png') center/100% 100% no-repeat}
.shop-hero__wallet span{background:rgba(2,16,19,.42);border-color:rgba(245,185,61,.28)}
.reward-art{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(0,0,0,.42));flex:0 0 auto}
.reward-chip .reward-art{width:24px;height:24px}.reward-grid .reward-art{width:42px;height:42px}
.reward-grid span{background:linear-gradient(180deg,rgba(11,52,57,.82),rgba(3,17,21,.88));border-color:rgba(245,185,61,.26)}
.battle-result-modal,.item-detail-modal,.opponent-modal{border-color:rgba(242,181,74,.48);background:linear-gradient(180deg,#092B31,#041115);padding-top:54px}
.game-modal>.modal-x{position:absolute;z-index:2;inset:12px 12px auto auto}
.battle-result-modal:before,.item-detail-modal:before,.opponent-modal:before{display:none}
.battle-result-modal{max-height:calc(100dvh - 28px);text-align:left}
.battle-result-hero{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:16px;padding-right:22px}
.battle-result-hero .result-cup{width:104px;height:120px;object-fit:contain}
.battle-result-hero h2{text-align:left;font-size:28px;margin:0 0 8px;overflow-wrap:anywhere}
.battle-result-hero p{margin:0;color:var(--muted);line-height:1.4}
.battle-result-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.battle-result-summary>div,.battle-result-summary b,.battle-result-summary span{min-width:0;overflow-wrap:anywhere}
.battle-result-summary b{margin-top:4px;line-height:1.25}
.battle-result-modal .reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.battle-result-modal .reward-grid>span{min-width:0;flex-wrap:wrap}
.battle-result-modal .modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}
.battle-result-modal .modal-actions .btn{white-space:normal;line-height:1.25;min-height:44px}
.battle-result-modal #closeBattle2{grid-column:1/-1}
@media(max-width:380px){.battle-result-hero{grid-template-columns:76px minmax(0,1fr);gap:10px}.battle-result-hero .result-cup{width:76px;height:100px}.battle-result-hero h2{font-size:24px}}
.league-hero{background-image:linear-gradient(90deg,rgba(6,27,36,.74),rgba(6,27,36,.18)),var(--league-bg)}
.arena-card{background-image:linear-gradient(90deg,rgba(6,27,36,.58),rgba(6,27,36,.1)),var(--arena-bg)}
.league-metrics>div{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:8px;align-items:center}
.league-metrics>div img{grid-row:1/3;width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(0,0,0,.42))}
.rating-row{position:relative;padding-left:0}.rating-row>img{width:32px;height:32px;object-fit:contain;float:left;margin:0 7px 2px 0;filter:drop-shadow(0 4px 4px rgba(0,0,0,.34))}
.empty-state{background-image:linear-gradient(90deg,rgba(7,25,30,.72),rgba(13,49,56,.68)),url('/static/assets/ui/empty_state_panel.png');background-size:cover,100% 100%;background-position:center}
@media(max-width:720px){
  .shop-shelf__head--art{min-height:66px;padding:10px 10px 10px 62px;background-size:100% 100%}
  .shop-hero__wallet{padding:18px 22px}
  .shop-card__img{max-width:45px;max-height:45px}
  .detail-visual .framed-visual{width:110px;height:110px}.detail-visual .framed-visual>img{max-width:70px;max-height:70px}
  .league-metrics>div{grid-template-columns:1fr;text-align:center}.league-metrics>div img{grid-row:auto;margin:0 auto;width:34px;height:34px}
}

/* v0.57 UI board extraction from ui_mobile_type_scale.png */
:root{
  --bg:#031B1B; --bg2:#062B2A; --panel:#073735; --panel2:#0B4C49; --ink:#FFF3D2; --muted:#9DD0C4;
  --gold:#F2B54A; --orange:#C66D16; --green:#6F8619; --green2:#42691E; --blue:#42B5AC; --violet:#6A4F2B; --red:#B8523E;
  --cream:#FFE2A3; --line:#B97D25; --shadow:rgba(0,9,9,.52); --radius:18px;
  --font-body:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --font-display:Georgia,"Times New Roman",serif;
  --ui-board-button-primary:url('/static/assets/ui/ui_board_button_primary.png');
  --ui-board-button-secondary:url('/static/assets/ui/ui_board_button_secondary.png');
  --ui-board-button-ghost:url('/static/assets/ui/ui_board_button_ghost.png');
  --ui-board-button-disabled:url('/static/assets/ui/ui_board_button_disabled.png');
  --ui-board-divider:url('/static/assets/ui/ui_board_divider_heading.png');
  --v2-pve-badge-easy:url('/static/assets/ui/pve_badge_easy.png');
  --v2-pve-badge-normal:url('/static/assets/ui/pve_badge_normal.png');
  --v2-pve-badge-hard:url('/static/assets/ui/pve_badge_hard.png');
  --v2-talisman-progress:url('/static/assets/ui/talisman_progress_track.png');
  --v2-shop-card-bg:url('/static/assets/ui/shop_card_bg_v2.png');
}
body{background:radial-gradient(circle at 50% -10%,#0B4A45 0,#031D1D 48%,#010A0B 100%);color:var(--ink)}
.screen-title h1,.game-card h2,.auth-card h1,.game-modal h2,.detail-hero h2,.league-hero h2,.brand b{
  font-family:var(--font-display);
  color:var(--gold);
  font-weight:800;
  letter-spacing:.01em;
  text-shadow:0 2px 0 rgba(45,20,0,.55),0 0 16px rgba(242,181,74,.16);
}
.screen-title{margin-bottom:16px}
.screen-title:after{
  content:"";
  display:block;
  width:min(326px,78vw);
  height:28px;
  margin-top:4px;
  background:var(--ui-board-divider) left center/100% auto no-repeat;
  opacity:.88;
  pointer-events:none;
}
.screen-title p,.game-card p,.muted{color:var(--muted)}
.eyebrow{color:#5FC6B7;font-family:var(--font-display);letter-spacing:.045em}
.game-card{
  background:linear-gradient(180deg,rgba(6,48,47,.96),rgba(2,20,22,.98));
  border-color:rgba(185,125,37,.5);
  box-shadow:0 14px 30px rgba(0,9,9,.46),inset 0 1px 0 rgba(255,239,190,.08);
}
.game-card h2{color:var(--cream)}
.metric-card b,.stat-card b,.league-metrics b,.battle-result-summary b,.cup-card__stats b{
  font-family:var(--font-display);
  color:var(--cream);
  text-shadow:0 2px 0 rgba(0,0,0,.28);
}
.btn{
  min-height:45px;
  padding:12px 18px 13px;
  border:0;
  border-radius:18px;
  background-image:var(--ui-board-button-primary);
  background-size:100% 100%;
  background-repeat:no-repeat;
  background-color:transparent;
  color:#FFF7D6;
  font-family:var(--font-display);
  font-weight:900;
  letter-spacing:.01em;
  text-shadow:0 2px 1px rgba(41,18,0,.48),0 0 10px rgba(255,196,82,.2);
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}
.btn--primary{background-image:var(--ui-board-button-primary)}
.btn--secondary{background-image:var(--ui-board-button-secondary);box-shadow:0 8px 18px rgba(0,0,0,.26)}
.btn--ghost{background-image:var(--ui-board-button-ghost);box-shadow:0 7px 14px rgba(0,0,0,.22)}
.btn--small{min-height:36px;padding:8px 12px 9px;border-radius:14px}
.btn:active:not(:disabled){transform:translateY(1px);filter:brightness(.92)}
.btn:disabled{
  background-image:var(--ui-board-button-disabled);
  color:rgba(255,243,210,.62);
  filter:saturate(.72) brightness(.92);
  opacity:.74;
}
.quick-action,.battle-mode,.job-card,.pve-card,.shop-card{
  background:linear-gradient(180deg,#0B4B48,#031D22);
  border-color:rgba(185,125,37,.52);
}
.mini-badge,.shop-card__state,.quest-row__meta{
  background:rgba(242,181,74,.15);
  border-color:rgba(242,181,74,.48);
  color:var(--cream);
}
.resource-chip,.reward-chip,.metric-card,.stat-card,.battle-result-summary>div,.next-step-card,.league-metrics>div{
  border-color:rgba(185,125,37,.34);
}
.bottom-nav{
  background:rgba(3,24,25,.94);
  border-color:rgba(185,125,37,.58);
}
.bottom-nav button.active{
  background:linear-gradient(180deg,#F2B54A,#8B4B13);
  color:#FFF7D6;
}
.asset-thumb .framed-visual{
  min-width:0;
  min-height:0;
  max-width:100%;
  max-height:100%;
  overflow:hidden;
}
.asset-thumb .framed-visual:before{inset:0}
.pve-card .mini-badge{
  min-width:68px;
  padding:7px 12px 8px;
  border:0;
  background:var(--v2-pve-badge-normal) center/100% 100% no-repeat;
  color:#FFF8DF;
  font-family:var(--font-display);
  font-size:12px;
  text-align:center;
  text-shadow:0 2px 1px rgba(0,0,0,.46);
}
.pve-card--easy .mini-badge{background-image:var(--v2-pve-badge-easy)}
.pve-card--normal .mini-badge{background-image:var(--v2-pve-badge-normal)}
.pve-card--hard .mini-badge{background-image:var(--v2-pve-badge-hard)}
.progress--talisman{
  height:22px;
  border:0;
  background:var(--v2-talisman-progress) center/100% 100% no-repeat;
  box-shadow:none;
  padding:3px 26px;
}
.progress--talisman>div{
  height:100%;
  background:linear-gradient(90deg,rgba(242,181,74,.25),rgba(255,231,135,.58));
  border-radius:999px;
  box-shadow:0 0 10px rgba(242,181,74,.22);
}
.progress--talisman b{font-size:10px;color:#FFF8DF}
.shop-shelf__head--art{
  min-height:auto;
  padding:12px 14px;
  background:linear-gradient(90deg,rgba(6,52,49,.96),rgba(3,28,31,.92));
  border:1px solid rgba(242,181,74,.42);
  border-radius:16px;
  overflow:hidden;
}
.shop-shelf__head--art:after{
  content:"";
  display:block;
  flex:0 0 118px;
  height:22px;
  margin-left:auto;
  background:var(--ui-board-divider) center/100% auto no-repeat;
  opacity:.74;
}
.shop-shelf__head--art h2{
  margin:0 0 3px;
  font-size:24px;
}
.shop-shelf__head--art p{
  margin:0;
  color:var(--muted);
  text-shadow:none;
}
.shop-shelf__head--art .mini-badge{
  background:rgba(242,181,74,.12);
  white-space:nowrap;
}
@media(max-width:720px){
  .screen-title{margin-bottom:12px}
  .screen-title h1{font-size:25px}
  .screen-title:after{width:min(260px,74vw);height:22px;margin-top:2px}
  .btn{min-height:41px;padding:9px 13px 10px;border-radius:15px}
  .btn--small{min-height:34px;padding:7px 10px}
  .pve-card .mini-badge{min-width:62px;padding:6px 9px 7px;font-size:11px}
  .progress--talisman{height:20px;padding-left:22px;padding-right:22px}
  .shop-shelf__head--art{min-height:auto;padding:10px 11px}
  .shop-shelf__head--art:after{display:none}
  .shop-shelf__head--art h2{font-size:21px}
}

/* v0.58 full visual QA pass */
.screen{animation:none}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:42px;
  padding:10px 16px;
  border:1px solid rgba(255,231,165,.36);
  border-radius:14px;
  background-image:none!important;
  background:linear-gradient(180deg,#F1B64D 0%,#B86B25 56%,#6D3814 100%);
  color:#FFF7DF;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:900;
  line-height:1;
  letter-spacing:0;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 1px 1px rgba(45,19,0,.55);
  box-shadow:0 5px 12px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.2);
}
.btn--primary{background:linear-gradient(180deg,#F4C65B 0%,#C87829 56%,#7D4218 100%)}
.btn--secondary{background:linear-gradient(180deg,#2F9890 0%,#12605E 58%,#08393C 100%)}
.btn--ghost{background:linear-gradient(180deg,#334342 0%,#1D2B2D 58%,#101A1D 100%);border-color:rgba(255,255,255,.16)}
.btn--small{min-height:34px;padding:8px 11px;font-size:12px;border-radius:12px}
.btn:disabled,button:disabled{background-image:none!important;filter:saturate(.55) brightness(.84);opacity:.62}
.row-actions,.modal-actions{align-items:center;gap:8px}
.row-actions .btn,.modal-actions .btn{flex:0 1 auto;min-width:0}
.goal-card .row-actions{justify-content:flex-start}
.goal-card .row-actions .btn{min-width:112px}
.goal-card .row-actions .btn--small{min-width:96px}
.item-row .row-actions{gap:6px}
.item-row .btn--small{min-width:70px;padding-left:9px;padding-right:9px;font-size:11px}
.icon-well{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 auto;
  border:1px solid rgba(242,181,74,.32);
  border-radius:16px;
  background:radial-gradient(circle at 50% 35%,rgba(245,185,61,.24),rgba(4,22,25,.74) 68%),linear-gradient(180deg,rgba(17,77,75,.78),rgba(3,24,27,.9));
  box-shadow:0 7px 13px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}
.icon-well img,.icon-well .resource-icon{
  display:block;
  width:42px;
  height:42px;
  max-width:42px;
  max-height:42px;
  margin:0;
  object-fit:contain;
  border-radius:0;
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.52));
}
.quick-action,.battle-mode,.job-card{
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  min-height:96px;
  padding:11px 10px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(11,82,78,.96),rgba(4,33,37,.98)),radial-gradient(circle at 50% 0,rgba(245,185,61,.16),transparent 58%);
  text-align:center;
}
.quick-action>img,.battle-mode>img,.job-card>.resource-icon{display:none}
.quick-action span:last-child,.battle-mode b,.job-card b{
  display:block;
  max-width:100%;
  color:#FFF1C8;
  font-family:var(--font-body);
  font-size:15px;
  font-weight:900;
  line-height:1.08;
  overflow-wrap:normal;
}
.battle-mode span,.job-card span,.job-card small{color:#C8DEDA;font-size:12px;line-height:1.12}
.progress--talisman{
  height:18px;
  padding:0;
  border:1px solid rgba(242,181,74,.34);
  background:rgba(1,15,17,.58);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.44);
}
.progress--talisman>div{background:linear-gradient(90deg,#2E8F89,#F0C45A);border-radius:999px;box-shadow:none}
.progress--talisman b{
  color:#FFF8DF;
  font-family:var(--font-body);
  font-size:10px;
  font-weight:900;
  line-height:18px;
  text-shadow:0 1px 1px rgba(0,0,0,.72);
}
.asset-row{align-items:center;background:linear-gradient(180deg,rgba(4,38,39,.78),rgba(1,20,23,.82))}
.asset-row .asset-thumb,.equipment-slot .asset-thumb,.settings-card .asset-thumb{
  background:radial-gradient(circle at 50% 38%,rgba(245,185,61,.20),rgba(4,22,25,.84) 68%),linear-gradient(180deg,#104C4A,#031A1F);
}
.asset-row b{color:#FFF1C8;line-height:1.14}
.asset-row p{color:#BFD8D3;line-height:1.28}
.work-hero{
  grid-template-columns:116px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:158px;
  padding:14px;
}
.work-hero img{
  width:112px;
  height:136px;
  max-width:112px;
  object-fit:contain;
  justify-self:center;
  align-self:center;
}
.work-hero>div{min-width:0;align-self:center}
.work-hero h2{margin-bottom:7px;font-size:25px;line-height:1.06}
.work-hero p{margin:0;font-size:14px;line-height:1.34}
.work-guide .game-card{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  align-items:center;
  align-content:center;
  gap:10px;
  min-height:128px;
  padding:14px;
}
.work-guide .game-card>img{grid-row:1/3;width:68px;height:68px;justify-self:center;align-self:center}
.work-guide .game-card h2{margin:0;font-size:21px;line-height:1.08}
.work-guide .game-card p{margin:0;font-size:13px;line-height:1.32}
.battle-actions,.job-grid{align-items:stretch}
@media(max-width:720px){
  .btn{min-height:39px;padding:9px 13px;font-size:13px;border-radius:13px}
  .btn--small{min-height:32px;padding:7px 9px;font-size:11px}
  .goal-card .row-actions .btn,.goal-card .row-actions .btn--small{min-width:0;flex:1 1 calc(50% - 5px)}
  .item-row .btn--small{min-width:64px;flex:1 1 calc(50% - 4px)}
  .icon-well{width:48px;height:48px;border-radius:14px}
  .icon-well img,.icon-well .resource-icon{width:38px;height:38px;max-width:38px;max-height:38px}
  .quick-action,.battle-mode,.job-card{min-height:92px;padding:10px 7px;gap:6px}
  .quick-action span:last-child,.battle-mode b,.job-card b{font-size:14px}
  .job-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .job-grid .job-card{min-height:112px;padding:9px 5px}
  .job-grid .job-card b{font-size:12px}
  .job-grid .job-card span,.job-grid .job-card small{font-size:10px}
  .job-grid .icon-well{width:44px;height:44px}
  .job-grid .icon-well img,.job-grid .icon-well .resource-icon{width:34px;height:34px;max-width:34px;max-height:34px}
  .work-hero{grid-template-columns:96px minmax(0,1fr);min-height:148px;gap:9px;padding:12px}
  .work-hero img{width:92px;height:124px;max-width:92px}
  .work-hero h2{font-size:22px}
  .work-hero p{font-size:13px}
  .work-guide .game-card{grid-template-columns:62px minmax(0,1fr);min-height:116px;padding:13px}
  .work-guide .game-card>img{width:58px;height:58px}
  .work-guide .game-card h2{font-size:20px}
}

/* v0.63 work tab experiment: rich location hero, quiet cards, one active block */
.tab-work .screen{
  display:grid;
  gap:12px;
}
.tab-work .screen-title{
  margin:6px 2px 2px;
}
.tab-work .screen-title:after{
  width:min(280px,72vw);
  height:22px;
  background:url('/static/assets/ui/divider_screen_title_rich.png') center/100% auto no-repeat;
}
.tab-work .work-hero{
  grid-template-columns:minmax(92px,30%) minmax(0,1fr);
  min-height:190px;
  gap:10px;
  align-items:center;
  padding:12px;
  background-image:linear-gradient(90deg,rgba(3,20,24,.16),rgba(3,20,24,.74) 54%,rgba(3,20,24,.92)),var(--work-bg);
  background-size:cover;
  background-position:center;
}
.tab-work .work-hero img{
  width:100%;
  height:170px;
  max-width:130px;
  justify-self:center;
  object-fit:contain;
}
.tab-work .work-hero>div{
  display:grid;
  gap:7px;
  min-width:0;
  padding:12px;
  border:1px solid rgba(242,181,74,.24);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(2,18,22,.66),rgba(1,12,15,.9));
}
.tab-work .work-hero h2{
  margin:0;
  font-size:24px;
  line-height:1.06;
}
.tab-work .work-hero p{
  margin:0;
  color:#C5DDD7;
  font-size:13px;
  line-height:1.3;
}
.tab-work .job-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.tab-work .job-card{
  min-height:112px;
  display:grid;
  grid-template-rows:46px auto auto auto;
  place-items:center;
  gap:4px;
  padding:9px 6px;
  background:linear-gradient(180deg,rgba(7,71,69,.84),rgba(2,28,32,.94));
  border:1px solid rgba(242,181,74,.34);
  border-radius:16px;
  box-shadow:0 10px 20px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06);
}
.tab-work .job-card .icon-well{
  width:44px;
  height:44px;
  margin:0;
}
.tab-work .job-card .icon-well img,
.tab-work .job-card .icon-well .resource-icon{
  width:34px;
  height:34px;
  max-width:34px;
  max-height:34px;
}
.tab-work .job-card b{
  font-size:12px;
  line-height:1.05;
}
.tab-work .job-card span,
.tab-work .job-card small{
  font-size:10px;
  line-height:1.1;
}
.tab-work .work-guide{
  grid-template-columns:1fr;
  gap:10px;
  margin:0;
}
.tab-work .work-guide .game-card{
  min-height:104px;
  padding:12px;
  background:linear-gradient(180deg,rgba(6,48,49,.82),rgba(2,22,27,.92));
  border-color:rgba(242,181,74,.28);
}
.tab-work .work-guide .game-card h2{
  font-size:20px;
}
.tab-work .screen>section.game-card:last-child{
  padding:14px;
  background:linear-gradient(180deg,rgba(6,48,49,.86),rgba(2,22,27,.94));
  border-color:rgba(242,181,74,.34);
}
.tab-work .job-row--active{
  grid-template-columns:70px minmax(0,1fr);
  min-height:122px;
  gap:10px;
  align-items:center;
  padding:16px 18px 16px 14px;
  background:url('/static/assets/ui/row_active_job_bg.png') center/100% 100% no-repeat;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.tab-work .job-row--active + .job-row--active{
  margin-top:8px;
}
.tab-work .job-row--active .asset-thumb{
  width:58px;
  height:58px;
  margin-left:2px;
  background:transparent;
  border:0;
}
.tab-work .job-row--active .asset-thumb img{
  max-width:84%;
  max-height:84%;
  border-radius:0;
}
.tab-work .job-row--active>div:not(.asset-thumb){
  min-width:0;
}
.tab-work .job-row--active b{
  display:block;
  font-size:18px;
  line-height:1.12;
}
.tab-work .job-row--active p,
.tab-work .job-row--active span{
  display:block;
  margin:3px 0;
  color:#C5DDD7;
  font-size:13px;
  line-height:1.24;
}
.tab-work .job-row--active .row-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:6px;
}
.job-countdown{font-variant-numeric:tabular-nums;min-height:17px}
[data-cancel-job][hidden]{display:none!important}
.tab-work .job-row--active .btn--small{
  width:100%;
  min-width:0;
  min-height:31px;
  padding:6px 8px;
  font-size:11px;
  background-image:none!important;
  box-shadow:none;
}
@media(min-width:780px){
  .tab-work .work-guide{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .tab-work .work-hero{
    grid-template-columns:94px minmax(0,1fr);
    min-height:168px;
    gap:8px;
    padding:11px;
  }
  .tab-work .work-hero img{
    height:146px;
    max-width:100px;
  }
  .tab-work .work-hero>div{
    padding:10px;
  }
  .tab-work .work-hero h2{
    font-size:22px;
  }
  .tab-work .work-hero p{
    font-size:12px;
  }
}

/* v0.66 support screens batch: quests, events and settings surfaces */
.tab-quests .screen,
.tab-events .screen,
.tab-settings .screen{
  display:grid;
  gap:12px;
}
.tab-quests .screen-title,
.tab-events .screen-title,
.tab-settings .screen-title{
  margin:6px 2px 2px;
}
.tab-quests .quest-hero,
.tab-events .events-hero,
.tab-settings .settings-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  min-height:170px;
  margin:0;
  padding:13px;
  align-items:center;
  background-size:cover;
  background-position:center;
}
.tab-quests .quest-hero{
  background-image:linear-gradient(90deg,rgba(3,20,24,.9),rgba(3,20,24,.6) 62%,rgba(3,20,24,.16)),var(--quest-bg);
}
.tab-events .events-hero{
  background-image:linear-gradient(90deg,rgba(3,20,24,.9),rgba(3,20,24,.58) 64%,rgba(3,20,24,.14)),var(--events-bg);
}
.tab-settings .settings-hero{
  background-image:linear-gradient(90deg,rgba(3,20,24,.9),rgba(3,20,24,.6) 62%,rgba(3,20,24,.12)),var(--settings-bg);
}
.tab-quests .quest-hero>div:first-child,
.tab-events .events-hero>div:first-child,
.tab-settings .settings-hero>div:first-child{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  column-gap:10px;
  min-width:0;
  padding:12px;
  border:1px solid rgba(242,181,74,.24);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(2,18,22,.66),rgba(1,12,15,.88));
}
.tab-quests .quest-hero>div:first-child p,
.tab-events .events-hero>div:first-child p,
.tab-settings .settings-hero>div:first-child p{
  grid-column:2;
  margin:0;
  color:#C5DDD7;
  line-height:1.32;
}
.tab-quests .quest-hero>div:first-child>.resource-icon,
.tab-events .events-hero>div:first-child>.resource-icon,
.tab-settings .settings-hero>div:first-child>.resource-icon{
  width:44px;
  height:44px;
}
.tab-quests .quest-hero h2,
.tab-events .events-hero h2,
.tab-settings .settings-hero h2{
  margin:0 0 6px;
  line-height:1.05;
}
.tab-quests .quest-metrics,
.tab-events .events-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.tab-events .events-metrics{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.tab-quests .quest-metrics>div,
.tab-events .events-metrics>div{
  padding:8px 5px;
  border:1px solid rgba(242,181,74,.25);
  border-radius:14px;
  background:rgba(2,18,22,.68);
  text-align:center;
}
.tab-quests .quest-metrics span,
.tab-events .events-metrics span{
  display:block;
  color:#9FC8C4;
  font-size:11px;
}
.tab-quests .quest-metrics b,
.tab-events .events-metrics b{
  display:block;
  color:#FFE2A3;
  font-size:18px;
  line-height:1.08;
}
.tab-quests .quest-hero>.row-actions{
  grid-column:auto;
  gap:7px;
  margin:0;
}
.tab-quests .quest-hero>.row-actions .btn{
  flex:1 1 0;
}
.tab-quests .quest-board,
.tab-events .events-board{
  gap:10px;
  margin:0;
}
.tab-quests .quest-panel,
.tab-events .events-board>.game-card{
  padding:13px;
}
.tab-quests .quest-row--visual,
.tab-quests .achievement-row{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  min-height:132px;
  gap:11px;
  align-items:center;
  margin:8px 0;
  padding:16px 18px 16px 16px;
  border:0;
  border-radius:0;
  background:linear-gradient(90deg,rgba(3,20,24,.5),rgba(3,20,24,.34)),url('/static/assets/ui/row_quest_bg.png') center/100% 100% no-repeat!important;
}
.tab-quests .quest-row--visual>.asset-thumb,
.tab-quests .achievement-row>.asset-thumb{
  width:44px;
  height:44px;
  border:0;
  background:transparent!important;
  box-shadow:none;
}
.tab-quests .quest-row__body,
.tab-quests .achievement-row>div:not(.asset-thumb){
  display:grid;
  gap:4px;
  align-content:center;
}
.tab-quests .quest-row__body>div:first-child,
.tab-quests .achievement-row__head{
  align-items:flex-start;
}
.tab-quests .quest-row__body b,
.tab-quests .achievement-row b{
  color:#FFF1C8;
  text-shadow:0 2px 1px rgba(0,0,0,.56);
  line-height:1.08;
}
.tab-quests .quest-row__body p,
.tab-quests .achievement-row p,
.tab-quests .quest-row__body .reward-line,
.tab-quests .achievement-row .reward-line{
  margin:0;
  color:#C5DDD7;
  line-height:1.2;
}
.tab-quests .quest-row__meta,
.tab-quests .achievement-row .mini-badge{
  background:rgba(5,42,42,.72);
  border-color:rgba(242,181,74,.34);
  color:#FFF1C8!important;
}
.tab-quests .quest-row--visual .progress,
.tab-quests .achievement-row .progress{
  height:16px;
  margin:1px 0;
  background:rgba(12,48,46,.72);
  border-color:rgba(242,181,74,.22);
}
.tab-quests .quest-row--visual .btn,
.tab-quests .achievement-row .btn{
  min-height:28px;
  padding:5px 9px;
  font-size:11px;
}
.tab-events .event-row--timeline,
.tab-events .notification-row{
  position:relative;
  min-height:82px;
  margin:8px 0;
  padding:12px 14px 11px 64px;
  border:0;
  background:linear-gradient(90deg,rgba(3,20,24,.5),rgba(3,20,24,.12)),url('/static/assets/ui/row_event_timeline_bg.png') center/100% 100% no-repeat!important;
}
.tab-events .event-row--timeline b,
.tab-events .notification-row b{
  color:#2D1D08;
  text-shadow:0 1px 0 rgba(255,245,207,.45);
  line-height:1.08;
}
.tab-events .event-row--timeline span,
.tab-events .notification-row span,
.tab-events .event-row--timeline p,
.tab-events .notification-row p{
  color:#4D3A1A;
  line-height:1.2;
}
.tab-settings .settings-grid{
  gap:10px;
  margin:0;
}
.tab-settings .settings-card,
.tab-settings .settings-maintenance{
  background:linear-gradient(180deg,rgba(6,48,49,.9),rgba(2,22,27,.96));
  border-color:rgba(242,181,74,.34);
}
.tab-settings .settings-card{
  grid-template-columns:62px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:13px;
}
.tab-settings .settings-card>.asset-thumb{
  width:58px;
  height:58px;
}
.tab-settings .settings-card h2{
  margin-bottom:6px;
  font-size:22px;
}
.tab-settings .settings-card p{
  margin:4px 0;
}
.tab-settings .settings-card input{
  min-width:0;
}
.tab-settings .settings-maintenance{
  margin:0;
}
@media(min-width:780px){
  .tab-quests .quest-hero,
  .tab-events .events-hero{
    grid-template-columns:minmax(0,1fr) minmax(250px,.55fr);
  }
  .tab-settings .settings-hero{
    grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);
  }
}

/* v0.65 visual batch: battle, shop and league page/block surfaces */
.tab-battle .screen,
.tab-shop .screen,
.tab-rating .screen{
  display:grid;
  gap:12px;
}
.tab-battle .screen-title,
.tab-shop .screen-title,
.tab-rating .screen-title{
  margin:6px 2px 2px;
}
.tab-battle .arena-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 112px;
  min-height:182px;
  gap:10px;
  align-items:center;
  margin:0;
  padding:13px;
  background-image:linear-gradient(90deg,rgba(3,20,24,.9),rgba(3,20,24,.6) 60%,rgba(3,20,24,.08)),var(--arena-bg);
  background-size:cover;
  background-position:center;
}
.tab-battle .arena-card>div{
  min-width:0;
  padding:12px;
  border:1px solid rgba(242,181,74,.24);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(2,18,22,.68),rgba(1,12,15,.9));
}
.tab-battle .arena-card h2,
.tab-shop .shop-hero h2,
.tab-rating .league-hero h2{
  margin:0 0 8px;
  line-height:1.05;
}
.tab-battle .arena-card p,
.tab-shop .shop-hero p,
.tab-rating .league-hero p{
  margin:0 0 10px;
  color:#C5DDD7;
  line-height:1.3;
}
.tab-battle .arena-card>img{
  width:102px;
  max-width:102px;
  justify-self:center;
}
.tab-battle .battle-actions{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.tab-battle .battle-mode{
  min-height:132px;
  aspect-ratio:380/272;
  gap:4px;
  padding:24px 13px 15px;
  border:0;
  border-radius:0;
  background:url('/static/assets/ui/card_battle_mode_bg.png') center/100% 100% no-repeat!important;
  box-shadow:none;
}
.tab-battle .battle-mode .icon-well{
  width:42px;
  height:42px;
  margin-bottom:2px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.tab-battle .battle-mode .icon-well img,
.tab-battle .battle-mode .icon-well .resource-icon{
  width:38px;
  height:38px;
  max-width:38px;
  max-height:38px;
}
.tab-battle .battle-mode b{
  color:#FFF1C8;
  font-size:14px;
}
.tab-battle .battle-mode span{
  color:#C5DDD7;
  font-size:11px;
}
.tab-battle .cup-card{
  margin:0;
  background:linear-gradient(180deg,rgba(6,48,49,.84),rgba(2,22,27,.94));
  border-color:rgba(242,181,74,.3);
}
.tab-shop .shop-hero{
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  margin:0;
  padding:13px;
  background-image:linear-gradient(90deg,rgba(3,20,24,.9),rgba(3,20,24,.52)),var(--shop-bg);
  background-size:cover;
  background-position:center;
}
.tab-shop .shop-hero>div:first-child{
  grid-template-columns:44px minmax(0,1fr);
  padding:11px;
  border:1px solid rgba(242,181,74,.24);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(2,18,22,.62),rgba(1,12,15,.86));
}
.tab-shop .shop-hero>div:first-child>.resource-icon{
  width:42px;
  height:42px;
}
.tab-shop .shop-hero .row-actions{
  gap:7px;
}
.tab-shop .shop-hero .btn{
  white-space:normal;
}
.tab-shop .shop-hero__wallet{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  padding:14px 18px;
}
.tab-shop .shop-hero__wallet span{
  justify-content:center;
  min-width:0;
  padding:7px 5px;
}
.tab-shop .shop-shelf{
  margin:0;
  padding:12px;
}
.tab-shop .shop-grid{
  grid-template-columns:1fr;
  gap:8px;
  margin:10px 0 0;
}
.tab-shop .shop-card,
.tab-shop .shop-card:disabled{
  min-height:152px;
  padding:22px 26px 20px 20px;
  border:0;
  border-radius:0;
  background:url('/static/assets/ui/card_shop_item_bg.png') center/100% 100% no-repeat!important;
  box-shadow:none;
  opacity:1;
}
.tab-shop .shop-card:disabled{
  filter:saturate(.72) brightness(.82);
  opacity:.88;
}
.tab-shop .shop-card__content{
  grid-template-columns:74px minmax(0,1fr);
  gap:12px;
}
.tab-shop .shop-card__visual{
  width:68px;
  height:68px;
  margin:0;
  border:0;
  background:transparent!important;
}
.tab-shop .shop-card__img{
  max-width:62px;
  max-height:62px;
}
.tab-shop .shop-card__head{
  margin-left:84px;
  margin-bottom:2px;
}
.tab-shop .shop-card__body b{
  font-size:15px;
}
.tab-shop .shop-card__body span{
  color:#C5DDD7;
  font-size:12px;
}
.tab-shop .shop-support{
  gap:10px;
  margin:0;
}
.tab-rating .league-hero{
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  margin:0;
  padding:13px;
  background-image:linear-gradient(90deg,rgba(3,20,24,.9),rgba(3,20,24,.62) 58%,rgba(3,20,24,.12)),var(--league-bg);
  background-size:cover;
  background-position:center;
}
.tab-rating .league-hero>div:first-child{
  padding:12px;
  border:1px solid rgba(242,181,74,.24);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(2,18,22,.66),rgba(1,12,15,.88));
}
.tab-rating .league-metrics{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.tab-rating .league-metrics>div{
  grid-template-columns:1fr;
  justify-items:center;
  text-align:center;
  padding:8px 5px;
}
.tab-rating .league-metrics>div img{
  grid-row:auto;
  width:34px;
  height:34px;
}
.tab-rating .league-metrics b{
  font-size:17px;
  line-height:1.05;
}
.tab-rating .league-board{
  gap:10px;
  margin:0;
}
.tab-rating .league-board>.game-card{
  padding:13px;
}
.tab-rating .rating-row,
.tab-rating .team-rating{
  position:relative;
  min-height:58px;
  margin:7px 0;
  padding:9px 12px 9px 48px;
  border:0;
  background:url('/static/assets/ui/row_rating_bg.png') center/100% 100% no-repeat;
}
.tab-rating .rating-row--me,
.tab-rating .team-rating--me{
  filter:brightness(1.12) saturate(1.08);
}
.tab-rating .rating-row>img{
  position:absolute;
  left:10px;
  top:50%;
  width:28px;
  height:28px;
  margin:0;
  transform:translateY(-50%);
}
.tab-rating .team-rating .team-badge{
  position:absolute;
  left:8px;
  top:50%;
  width:34px;
  height:34px;
  justify-content:center;
  gap:0;
  padding:0;
  overflow:hidden;
  font-size:0;
  transform:translateY(-50%);
}
.tab-rating .team-rating .team-badge img{
  width:26px;
  height:26px;
}
.tab-rating .rating-row b,
.tab-rating .team-rating b{
  color:#FFF1C8;
  line-height:1.12;
}
.tab-rating .rating-row span,
.tab-rating .team-rating span{
  color:#C5DDD7;
  line-height:1.25;
}
@media(min-width:780px){
  .tab-battle .battle-actions,
  .tab-shop .shop-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .tab-shop .shop-hero,
  .tab-rating .league-hero{
    grid-template-columns:minmax(0,1fr) minmax(260px,.62fr);
  }
}

/* v0.64 pve page pass: rich training hero, single enemy-card surface */
.tab-pve .screen{
  display:grid;
  gap:12px;
}
.tab-pve .screen-title{
  margin:6px 2px 2px;
}
.tab-pve .screen-title:after{
  width:min(300px,74vw);
  height:22px;
  background:url('/static/assets/ui/divider_screen_title_rich.png') center/100% auto no-repeat;
}
.tab-pve .pve-hero{
  grid-template-columns:minmax(0,1fr) 112px;
  min-height:184px;
  gap:10px;
  align-items:center;
  margin:0;
  padding:12px;
  background-image:linear-gradient(90deg,rgba(3,20,24,.92),rgba(3,20,24,.68) 58%,rgba(3,20,24,.18)),var(--card-bg);
  background-size:cover;
  background-position:center;
}
.tab-pve .pve-hero>div{
  display:grid;
  gap:8px;
  min-width:0;
  padding:12px;
  border:1px solid rgba(242,181,74,.24);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(2,18,22,.68),rgba(1,12,15,.9));
}
.tab-pve .pve-hero h2{
  margin:0;
  font-size:24px;
  line-height:1.06;
}
.tab-pve .pve-hero p{
  margin:0;
  color:#C5DDD7;
  font-size:13px;
  line-height:1.3;
}
.tab-pve .pve-hero img{
  width:108px;
  max-width:108px;
  justify-self:center;
}
.tab-pve .energy-big{
  justify-self:start;
  padding:6px 10px;
  font-size:18px;
}
.tab-pve .pve-grid{
  grid-template-columns:1fr;
  gap:10px;
  margin:0;
}
.tab-pve .pve-card{
  position:relative;
  grid-template-columns:90px minmax(0,1fr);
  min-height:174px;
  aspect-ratio:488/295;
  gap:12px;
  align-items:center;
  padding:18px 28px 18px 20px;
  background:url('/static/assets/ui/card_pve_enemy_bg.png') center/100% 100% no-repeat;
  background-image:url('/static/assets/ui/card_pve_enemy_bg.png')!important;
  background-size:100% 100%;
  background-position:center;
  background-repeat:no-repeat;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.tab-pve .pve-card__art{
  width:82px;
  height:92px;
  border-radius:50%;
  background:transparent;
  border:0;
}
.tab-pve .pve-card__art img{
  max-width:82px;
  max-height:90px;
}
.tab-pve .pve-card__top{
  align-items:flex-start;
}
.tab-pve .pve-card__body{
  align-self:center;
  min-width:0;
  padding-top:4px;
}
.tab-pve .pve-card__top b{
  font-size:17px;
}
.tab-pve .pve-card p{
  margin:4px 0;
  color:#C5DDD7;
  line-height:1.24;
}
.tab-pve .pve-card__stats,
.tab-pve .reward-strip{
  gap:5px;
  margin:5px 0;
}
.tab-pve .pve-card__stats span,
.tab-pve .reward-chip{
  padding:4px 6px;
  font-size:11px;
}
.tab-pve .pve-card small{
  margin:3px 0 0;
  color:#9FC8C4;
  font-size:11px;
}
.tab-pve .pve-card:disabled{
  background-image:url('/static/assets/ui/card_pve_enemy_bg.png')!important;
  filter:saturate(.72) brightness(.82);
  opacity:.88;
}
.tab-pve .pve-support{
  gap:10px;
  margin:0;
}
.tab-pve .pve-support .game-card{
  padding:14px;
  background:linear-gradient(180deg,rgba(6,48,49,.84),rgba(2,22,27,.94));
  border-color:rgba(242,181,74,.3);
}
.tab-pve .pve-support h2{
  margin-bottom:8px;
  font-size:23px;
}
@media(min-width:780px){
  .tab-pve .pve-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .tab-pve .pve-support{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:720px){
  .tab-pve .pve-hero{
    grid-template-columns:minmax(0,1fr) 88px;
    min-height:170px;
    padding:11px;
  }
  .tab-pve .pve-hero>div{
    padding:10px;
  }
  .tab-pve .pve-hero h2{
    font-size:22px;
  }
  .tab-pve .pve-hero img{
    width:88px;
    max-width:88px;
  }
  .tab-pve .pve-card{
    grid-template-columns:82px minmax(0,1fr);
    min-height:176px;
    padding:16px 24px 16px 18px;
    gap:9px;
  }
  .tab-pve .pve-card__art{
    width:76px;
    height:86px;
  }
  .tab-pve .pve-card__art img{
    max-width:76px;
    max-height:84px;
  }
  .tab-pve .pve-card__top b{
    font-size:16px;
  }
}

/* v0.60 home screen rebuild: scoped, block-by-block */
.tab-home .screen{
  display:grid;
  gap:12px;
}
.tab-home .screen-title{
  margin:6px 2px 2px;
}
.tab-home .screen-title:after{
  width:min(280px,72vw);
  height:22px;
  background:url('/static/assets/ui/divider_screen_title_rich.png') center/100% auto no-repeat;
}
.tab-home .home-hero{
  min-height:206px;
  grid-template-columns:minmax(92px,34%) minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:12px;
  background-image:linear-gradient(90deg,rgba(4,24,28,.14),rgba(4,24,28,.78) 56%,rgba(4,24,28,.9)),var(--hero-bg);
  background-size:cover;
  background-position:center;
}
.tab-home .home-hero__character{
  align-self:end;
  min-width:0;
}
.tab-home .home-hero__character img{
  width:100%;
  height:176px;
  object-fit:contain;
}
.tab-home .home-hero__info{
  display:grid;
  gap:7px;
  padding:12px;
  background:linear-gradient(180deg,rgba(2,19,23,.72),rgba(2,14,18,.9));
  border-color:rgba(242,181,74,.24);
  border-radius:17px;
}
.tab-home .home-hero__info h2{
  margin:0;
  font-size:23px;
  line-height:1.05;
}
.tab-home .level-row{
  margin:0;
  font-size:14px;
}
.tab-home .progress{
  height:16px;
}
.tab-home .home-goal-card{
  grid-template-columns:62px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:13px;
  background-image:linear-gradient(90deg,rgba(3,24,28,.86),rgba(3,24,28,.7)),url('/static/assets/backgrounds/path_beginner_banner.webp');
  background-size:cover;
  background-position:center;
}
.tab-home .home-goal-card .goal-card__icon img{
  width:58px;
  height:58px;
  object-fit:contain;
}
.tab-home .home-goal-card h2{
  margin:2px 0 5px;
  font-size:21px;
  line-height:1.08;
}
.tab-home .home-goal-card p{
  margin:0 0 6px;
  font-size:14px;
  line-height:1.28;
}
.tab-home .home-goal-card .reward-line{
  margin:4px 0 6px;
  font-size:14px;
}
.tab-home .home-goal-card .row-actions{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:2px;
}
.tab-home .home-goal-card .btn{
  grid-column:auto!important;
  width:100%;
  min-width:0;
  min-height:36px;
  padding:8px 10px;
}
.tab-home .home-quick-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:0;
}
.tab-home .quick-action{
  grid-template-rows:52px auto;
  aspect-ratio:512/320;
  min-height:0;
  padding:9px 10px 13px;
  background:url('/static/assets/ui/card_quick_action_bg.png') center/100% 100% no-repeat;
  background-color:transparent;
  background-position:center;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.tab-home .quick-action .icon-well{
  width:46px;
  height:46px;
  margin-bottom:1px;
  align-self:end;
}
.tab-home .quick-action span:last-child{
  align-self:start;
  font-size:15px;
  line-height:1.08;
}
.tab-home .home-feed{
  grid-template-columns:1fr;
  gap:12px;
  margin:0;
}
.tab-home .home-feed-card{
  padding:14px;
}
.tab-home .home-feed-card h2{
  margin-bottom:10px;
  font-size:25px;
}
.tab-home .home-feed-card .quest-row--visual,
.tab-home .home-feed-card .event-row--timeline{
  border-radius:15px;
  padding:9px 0;
}
.tab-home .home-feed-card .quest-row--visual{
  grid-template-columns:52px minmax(0,1fr);
}
.tab-home .home-feed-card .quest-row--visual>.asset-thumb{
  width:48px;
  height:48px;
}
.tab-home .home-feed-card .event-row--timeline{
  border-left:0;
}
@media(min-width:780px){
  .tab-home .home-feed{grid-template-columns:1fr 1fr}
  .tab-home .home-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* v0.62 hero cleanup: one rich banner, quiet repeated blocks */
.tab-hero .screen{
  display:grid;
  gap:12px;
}
.tab-hero .screen-title{
  margin:6px 2px 2px;
}
.tab-hero .screen-title:after{
  width:min(300px,74vw);
  height:22px;
  background:url('/static/assets/ui/divider_screen_title_rich.png') center/100% auto no-repeat;
}
.tab-hero .hero-layout,
.tab-hero .hero-asset-columns{
  gap:12px;
  margin:0;
}
.tab-hero .hero-profile-block{
  grid-template-columns:minmax(96px,34%) minmax(0,1fr);
  align-items:center;
  min-height:214px;
  padding:12px;
  background-image:linear-gradient(90deg,rgba(2,18,22,.08),rgba(2,18,22,.76) 56%,rgba(2,18,22,.92)),url('/static/assets/backgrounds/hero_training_banner.webp');
  background-size:cover;
  background-position:center;
}
.tab-hero .hero-profile__char{
  width:100%;
  height:188px;
  max-width:172px;
  justify-self:center;
  object-fit:contain;
}
.tab-hero .hero-profile__panel{
  display:grid;
  gap:7px;
  min-width:0;
  padding:12px;
  border:1px solid rgba(242,181,74,.28);
  border-radius:17px;
  background:linear-gradient(180deg,rgba(2,18,22,.72),rgba(1,12,15,.9));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.tab-hero .hero-profile__panel h2{
  margin:0;
  font-size:24px;
  line-height:1.05;
}
.tab-hero .hero-profile__panel p{
  margin:0;
  color:#C5DDD7;
  font-size:14px;
  line-height:1.28;
}
.tab-hero .hero-profile__panel .team-badge{
  justify-self:start;
}
.tab-hero .hero-profile__panel .progress{
  height:16px;
}
.tab-hero .hero-stats-card,
.tab-hero .hero-equipment-card,
.tab-hero .hero-inventory-card,
.tab-hero .hero-talisman-card{
  padding:14px;
  background:linear-gradient(180deg,rgba(6,48,49,.86),rgba(2,22,27,.94));
  border:1px solid rgba(242,181,74,.34);
  border-radius:18px;
  box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.06);
}
.tab-hero .hero-stats-card h2,
.tab-hero .hero-equipment-card h2,
.tab-hero .hero-inventory-card h2,
.tab-hero .hero-talisman-card h2{
  margin:0 0 10px;
  font-size:25px;
  line-height:1.05;
}
.tab-hero .upgrade-stats{
  gap:8px;
}
.tab-hero .stat-upgrade{
  grid-template-columns:50px minmax(0,1fr) 54px;
  min-height:76px;
  padding:9px 10px;
  background:linear-gradient(180deg,rgba(4,49,49,.88),rgba(2,24,28,.94));
  border:1px solid rgba(242,181,74,.42);
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 18px rgba(0,0,0,.22);
}
.tab-hero .stat-upgrade img{
  width:42px;
  height:42px;
  justify-self:center;
  border-radius:12px;
  background:url('/static/assets/ui/icon_well_bg.png') center/100% 100% no-repeat;
  padding:4px;
}
.tab-hero .stat-upgrade b{
  display:block;
  color:#FFF3CA;
  font-size:15px;
  line-height:1.1;
}
.tab-hero .stat-upgrade span{
  color:#C5DDD7;
  font-size:12px;
  line-height:1.25;
}
.tab-hero .stat-upgrade .btn{
  min-width:0;
  width:48px;
  min-height:34px;
  padding:6px 8px;
}
.tab-hero .equipment-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.tab-hero .equipment-slot{
  grid-template-columns:62px minmax(0,1fr);
  min-height:104px;
  gap:9px;
  padding:10px;
  background:linear-gradient(180deg,rgba(4,49,49,.86),rgba(2,24,28,.94));
  border:1px solid rgba(242,181,74,.42);
  border-radius:16px;
  box-shadow:none;
}
.tab-hero .equipment-slot .asset-thumb,
.tab-hero .asset-row .asset-thumb{
  width:58px;
  height:58px;
  border:0;
  border-radius:0;
  background:url('/static/assets/ui/icon_well_bg.png') center/100% 100% no-repeat;
  box-shadow:none;
}
.tab-hero .equipment-slot b,
.tab-hero .asset-row b{
  color:#FFF3CA;
  font-size:15px;
  line-height:1.12;
}
.tab-hero .equipment-slot span,
.tab-hero .asset-row p{
  color:#C5DDD7;
}
.tab-hero .equipment-slot p{
  margin:4px 0 6px;
  color:#C5DDD7;
  line-height:1.24;
}
.tab-hero .item-list{
  gap:10px;
}
.tab-hero .asset-row.item-row{
  grid-template-columns:64px minmax(0,1fr);
  min-height:108px;
  gap:10px;
  align-items:center;
  padding:10px;
  background:linear-gradient(180deg,rgba(5,50,49,.82),rgba(2,23,28,.9));
  border:1px solid rgba(242,181,74,.28);
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.tab-hero .asset-row.item-row .asset-thumb{
  width:58px;
  height:58px;
  margin:0;
  background:radial-gradient(circle at 50% 35%,rgba(245,185,61,.13),rgba(3,20,23,.82) 70%);
  border:1px solid rgba(242,181,74,.24);
  border-radius:14px;
}
.tab-hero .asset-row.item-row .asset-thumb img{
  max-width:82%;
  max-height:82%;
  border-radius:0;
  filter:drop-shadow(0 8px 8px rgba(0,0,0,.55));
}
.tab-hero .asset-row.item-row>div:not(.asset-thumb){
  display:grid;
  gap:3px;
  min-width:0;
  padding-top:0;
}
.tab-hero .asset-row.item-row p{
  margin:0;
  font-size:12px;
  line-height:1.22;
}
.tab-hero .asset-row.item-row .row-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:4px;
}
.tab-hero .asset-row.item-row .btn--small{
  width:100%;
  min-width:0;
  min-height:31px;
  padding:6px 8px;
  font-size:11px;
  line-height:1;
  background-image:none!important;
  border:1px solid rgba(255,238,190,.16);
  box-shadow:none;
}
.tab-hero .asset-row.item-row .btn:not(.btn--ghost):not(.btn--secondary){
  background:linear-gradient(180deg,#D89C34,#8B531B);
}
.tab-hero .asset-row.item-row .btn--secondary{
  background:linear-gradient(180deg,#267A76,#0F4D4E);
}
.tab-hero .asset-row.item-row .btn--ghost{
  background:linear-gradient(180deg,rgba(43,58,58,.86),rgba(20,31,34,.9));
}
.tab-hero .asset-row.item-row .progress{
  max-width:100%;
  height:18px;
  margin:2px 0;
}
@media(min-width:780px){
  .tab-hero .hero-asset-columns{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .tab-hero .hero-layout,
  .tab-hero .hero-asset-columns{
    grid-template-columns:1fr;
  }
  .tab-hero .hero-profile-block{
    grid-template-columns:96px minmax(0,1fr);
    min-height:176px;
    gap:9px;
    padding:11px;
  }
  .tab-hero .hero-profile__char{
    height:150px;
    max-width:104px;
  }
  .tab-hero .hero-profile__panel{
    padding:10px;
    gap:6px;
  }
  .tab-hero .hero-profile__panel h2{
    font-size:22px;
  }
  .tab-hero .hero-profile__panel p{
    font-size:13px;
  }
  .tab-hero .hero-stats-card,
  .tab-hero .hero-equipment-card,
  .tab-hero .hero-inventory-card,
  .tab-hero .hero-talisman-card{
    padding:13px;
  }
  .tab-hero .hero-stats-card h2,
  .tab-hero .hero-equipment-card h2,
  .tab-hero .hero-inventory-card h2,
  .tab-hero .hero-talisman-card h2{
    font-size:23px;
  }
  .tab-hero .equipment-grid{
    grid-template-columns:1fr;
  }
  .tab-hero .stat-upgrade{
    grid-template-columns:46px minmax(0,1fr) 50px;
    min-height:72px;
    padding:8px 9px;
  }
  .tab-hero .asset-row.item-row{
    grid-template-columns:62px minmax(0,1fr);
    min-height:112px;
    padding:10px;
  }
  .tab-hero .asset-row.item-row .asset-thumb{
    width:56px;
    height:56px;
    margin:0;
  }
  .tab-hero .asset-row.item-row .row-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* v0.68 playable modal and fresh-profile layout fixes */
.resource-chip{flex-shrink:0;min-width:0}
.item-detail-modal .detail-hero>div{min-width:0}
.item-detail-modal .detail-hero h2{overflow-wrap:anywhere;line-height:1.2}
.item-detail-modal .detail-visual{aspect-ratio:1;min-height:0}
.item-detail-modal .detail-visual>img{max-width:85%;max-height:85%}
.item-detail-modal .detail-visual .framed-visual{width:100%;height:100%;max-width:144px;max-height:144px}
.item-detail-modal .framed-visual:before{inset:0}
.tab-battle .energy-big{display:grid;grid-template-columns:22px minmax(0,1fr);max-width:100%;font-size:18px}
.tab-battle .energy-big .resource-icon{width:22px;height:22px}
.tab-battle .battle-mode{min-width:0;width:100%}
@media(max-width:720px){
  .resource-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:5px}
  .resource-chip{justify-content:center;min-height:32px;white-space:normal}
  .resource-chip b{min-width:0;overflow-wrap:anywhere}
  .item-detail-modal .detail-hero{grid-template-columns:92px minmax(0,1fr)}
  .item-detail-modal .detail-hero h2{font-size:22px}
  .battle-result-hero{grid-template-columns:80px minmax(0,1fr);padding-right:0;gap:12px}
  .battle-result-hero .result-cup{width:80px;height:100px}
}
