/* Shared visual system. Loaded after page CSS; no gameplay or account authority changes. */
:root{--wg-gold:#e6c889;--wg-bronze:#8f7048;--wg-ink:#080f13;--wg-panel:#142725;--wg-text:#f0e7ce;--wg-muted:#a7b5aa;--wg-line:#a78c585c;--serif:'Be Vietnam Pro',system-ui,sans-serif;color-scheme:dark}
body{font-family:'Be Vietnam Pro',system-ui,sans-serif;color:var(--wg-text);background-color:var(--wg-ink);background-image:linear-gradient(180deg,#071519c4,#080f13 820px),url('/assets/site/hero-v1.webp');background-position:center top;background-size:100% auto,cover;background-repeat:no-repeat;background-attachment:scroll;min-height:100vh}
body::before{content:'';position:fixed;inset:0;z-index:-1;background:url('/game/ui/cloud-pattern.svg') repeat;pointer-events:none}
h1,h2,h3,h4,.brand,.collection-caption strong,.draw-card strong{font-family:'Be Vietnam Pro',system-ui,sans-serif}h1,h2,h3{color:#f4e5be;line-height:1.4}p,li{line-height:1.75}.eyebrow{color:#d8b879;letter-spacing:.16em;font-weight:600}a{transition:color .18s}a:hover{color:#ffe1a2}
button,.button,.primary,.gold-button,.outline-button,.nav-login{font-family:inherit;transition:filter .18s,box-shadow .18s,background-color .18s;touch-action:manipulation}
:where(button:not(.nav-item):not(.companion):not(.collection-card):not(.hero-card):not(.dialog-close):not(.map-card):not(.text-button)),.button,.primary,.gold-button,.outline-button,.nav-login{border-radius:3px;border-color:#a58a566b;background:linear-gradient(180deg,#294239,#172c28);box-shadow:inset 0 1px #ffffff0c,0 3px 8px #0003;min-height:40px;color:#eaddbd}
button:hover:not(:disabled),.button:hover,.primary:hover,.gold-button:hover{filter:brightness(1.16);box-shadow:0 0 18px #c4a46622}.gold-button,.button.gold,.primary,#flip,#start,#home-battle{background:linear-gradient(180deg,#f2d89b,#bc9250)!important;color:#292216!important;border:1px solid #f2d99c!important;text-shadow:0 1px #fff4!important;font-weight:700;box-shadow:inset 0 0 0 3px #684a2429,0 5px 20px #0004!important}
button:disabled{filter:saturate(.3);opacity:.45;cursor:not-allowed}input,select,textarea{font-family:inherit;background:#081914;color:#ece4cb;border:1px solid #917c535c;border-radius:3px;min-height:40px}input:focus,select:focus,textarea:focus{outline:2px solid #d2af69;outline-offset:2px}a:focus-visible,button:focus-visible{outline:2px solid #f0d194;outline-offset:4px}[hidden]{display:none!important}
.form-panel,.vip-card,.feature-grid article,.cta-banner,.journey-panel,.team-panel,.collection-teaser,.map-detail,#forge-detail,.stage,.pvp-entry,.pvp-layout>aside,.layout>aside,dialog,.admin-page>main{border:12px solid transparent;border-image:url('/game/ui/ornate-frame.svg') 30 stretch;background-color:#142725;background-image:linear-gradient(145deg,#20382ee6,#0e1e1beF),url('/game/ui/cloud-pattern.svg');background-clip:padding-box;box-shadow:0 12px 35px #0005;border-radius:0}
dialog{max-height:90dvh;overflow:auto;color:var(--wg-text)}dialog::backdrop{background:#020b10d9;backdrop-filter:blur(5px)}.tabs{border:1px solid var(--wg-line);background:#071815;padding:5px;gap:6px}.tabs button[aria-pressed=true]{background:linear-gradient(#415239,#253c2b);color:#f0ce83;border-color:#c7a35f}.actions,.pvp-actions{gap:12px}.note,.muted,.pool-note{color:var(--wg-muted)}
/* Public portal and account pages */
.site-header{max-width:none;margin:0;min-height:92px;height:auto;padding:18px max(5vw,24px);background:linear-gradient(#162925f5,#0c1d1cf5);border-top:3px solid #c4a168;border-bottom:1px solid #b392586b;box-shadow:0 4px 24px #0006;position:relative;z-index:2}.logo{color:#f2ddb0;font-weight:700;letter-spacing:.08em}.logo-seal,.brand-seal{background:url('/game/ui/crest.svg') center/contain no-repeat;border:0;border-radius:0;width:52px;height:56px;flex:0 0 52px;color:transparent!important;font-size:0!important}.site-header nav{gap:28px}.site-header nav a{color:#b9c2b3;font-weight:600}.site-header nav a[aria-current=page]{color:#f0ce83}.site-header .nav-login{padding:12px 20px;color:#f1d490}.site-header .nav-login::before{content:'◇';margin-right:9px;color:#e5bc72}
.portal-home .hero{min-height:650px;height:min(780px,calc(100svh - 92px));max-height:none;overflow:hidden;border-bottom:1px solid #b0935966}.portal-home .hero-art{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.85)}.portal-home .hero-shade{background:linear-gradient(90deg,#081717f2 0%,#081717af 32%,#07151414 70%),linear-gradient(0deg,#080f13 1%,transparent 42%)}.portal-home .hero-content{position:relative;width:min(750px,65%);margin-left:8%;padding:65px 0 110px;z-index:1}.portal-home .hero h1{font-size:clamp(48px,4.7vw,88px);line-height:1.2;margin:20px 0 24px;color:#f6e2b3;text-shadow:0 3px 2px #0009,0 0 45px #cea66727}.portal-home .hero h1 i{font-style:normal;color:#f3d08b}.portal-title{display:block;font-size:clamp(12px,1.1vw,16px);letter-spacing:.44em;color:#c1b489;margin-bottom:14px}.portal-home .hero-description{color:#c3c9b8;max-width:430px;font-size:14px}.portal-home .hero-actions{margin-top:28px}.portal-home .hero-actions .button{min-height:54px;padding:16px 26px;transform:none}.hero-status{display:inline-flex;align-items:center;gap:9px;border:1px solid #b5975b59;background:#142b2380;padding:8px 14px;font-size:10px;color:#c7d2b9;letter-spacing:.06em}.hero-status::before{content:'';width:6px;height:6px;background:#a6cfa6;border-radius:50%;box-shadow:0 0 9px #99dc9a}.portal-home .hero-bottom{bottom:22px;left:8%;right:8%;border-top:1px solid #a6925d45;padding-top:18px;color:#c2b184}.portal-home .stats{max-width:1080px;position:relative;margin:-2px auto 0;padding:28px 20px;background:linear-gradient(#19312b,#0e211e);border:1px solid #9a7e4c6b;box-shadow:0 8px 30px #0006}.stats strong{color:#f0d295;text-shadow:0 2px #0006}.stats div{border-color:#ab8b4f38}
.realm-divider{text-align:center;display:flex;align-items:center;gap:22px;color:#ba985e;font-size:11px;letter-spacing:.2em;margin:0 auto 30px;max-width:540px}.realm-divider::before,.realm-divider::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#b59a65)}.realm-divider::after{transform:rotate(180deg)}.realm-divider b{font-size:22px;color:#e9c580}.mode-section{max-width:1200px;margin:auto;padding:60px 24px 20px}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mode-card{position:relative;min-height:250px;padding:26px;display:flex;flex-direction:column;justify-content:end;overflow:hidden;border:1px solid #b392586b;box-shadow:inset 0 0 0 5px #0e1819,0 8px 25px #0005;background:linear-gradient(0deg,#061714 5%,#09251cd4 55%,#152b2355),url('/assets/worldmap/atlas/v1/cultivation-world.png') center/cover;color:#f2e1ba}.mode-card:nth-child(2){background-image:linear-gradient(0deg,#08151c,#16302cd4 55%,#152b2355),url('/assets/site/hero-v1.webp');background-position:center,right}.mode-card:nth-child(3){background-image:linear-gradient(0deg,#21131b,#371c27d4 55%,#152b2355),url('/assets/site/hero-v1.webp');background-position:center,right}.mode-card .mode-icon{font-size:36px;color:#e9c588;margin-bottom:auto;text-shadow:0 0 25px #edb45855}.mode-card small{font-size:9px;letter-spacing:.18em;color:#cbbb92}.mode-card h3{font-size:24px;margin:8px 0}.mode-card p{font-size:12px;color:#c7cbbb;margin:0}.mode-card:hover{border-color:#edcd91;box-shadow:0 0 30px #d2ad4922}.section{max-width:1200px}.section-heading h2,.section-copy h2{font-size:clamp(26px,2.5vw,38px)}.world-art{transform:none;border:1px solid #ba9b62;background:#10221f;padding:10px;box-shadow:0 14px 40px #0006}.feature-grid article{padding:26px}.feature-number{display:inline-block;padding:7px 10px;border:1px solid #a68b4e4d;background:#061d1880}.feature-grid h3{font-size:21px}.portrait-row figure{border:8px solid transparent;border-image:url('/game/ui/ornate-frame.svg') 30 stretch;background:radial-gradient(ellipse at center,#38554688,#0a1d18);box-shadow:0 10px 40px #0007;padding:7px}.portrait-row figcaption{font-weight:600;font-size:20px}.cta-banner{padding:30px 36px}.site-footer{max-width:1200px;border-top:1px solid #b3996355;color:#aab6a5}.account-layout{margin:45px auto 70px;gap:50px}.account-intro h1{font-size:clamp(32px,3.5vw,50px);color:#f0d79d;text-shadow:0 2px #0009}.account-visual{height:280px;border:1px solid #b998625e;box-shadow:0 8px 35px #0005}.form-panel{padding:26px}.form-panel h2{color:#f0d79d;font-size:24px;border-bottom:1px solid #b3965355;padding-bottom:18px}.form-panel .primary{min-height:48px}.page-heading{padding-top:45px}.guide-nav{background:#10241d;border:1px solid #aa8b5455;padding:20px;gap:8px}.guide-nav a{padding:8px 0}.guide-content{background:#10241dba;border:1px solid #aa8b543d;padding:10px 28px}.guide-content section{scroll-margin-top:25px}.guide-content h2{color:#edcc8c;font-size:26px}.guide-content th{background:#2a3c2c}.vip-card{padding:30px}.vip-price{color:#f0ce87}.vip-card h2::before{content:'♛';display:block;font-size:44px;color:#e5bc75;margin-bottom:10px}.callout{background:#273b2e;color:#eee0b9;border-color:#cfad6b}
/* In-game shell */
.game-lobby{background-image:linear-gradient(#081b17eF,#081413fa),url('/assets/site/hero-v1.webp');background-size:cover;background-position:center top}.game-lobby .shell{grid-template-columns:224px minmax(0,1fr);max-width:1920px;margin:auto;border-left:1px solid #ad92513d;border-right:1px solid #ad92513d}.game-lobby .sidebar{background:linear-gradient(180deg,#18352eee,#0a1a17fa),url('/game/ui/cloud-pattern.svg');border-right:1px solid #b096585c;padding:24px 16px;gap:0}.game-lobby .brand{font-family:inherit;font-size:17px;font-weight:600;gap:10px;letter-spacing:.03em}.game-lobby .brand small{font-family:inherit;font-size:7px;letter-spacing:.1em}.game-lobby .nav-caption{margin:28px 12px 12px;font-size:8px;letter-spacing:.2em;color:#c5ac7a}.game-lobby .nav-item{position:relative;border-radius:3px;min-height:48px;padding:13px 14px;font-size:12px;font-weight:600;color:#b6c3b4;gap:13px}.game-lobby .nav-item>span{color:#d3b578;font-size:24px}.game-lobby .nav-item.active{background:linear-gradient(90deg,#8e6f383b,#8e6f3808);border-color:#b393555e;color:#f5d493;box-shadow:inset 3px 0 #dbb46a}.game-lobby .nav-item:hover{background-color:#bda05b13}.game-lobby .future button{opacity:1}.game-lobby .sidebar-bottom{border-top:1px solid #a2875347;color:#b6c1a9;font-size:10px}.game-lobby .workspace{min-width:0;background:transparent}.game-lobby .topbar{min-height:105px;background:linear-gradient(#1e352bda,#0f211dbd);margin:0;padding:20px 32px;border-bottom:1px solid #b3915359;gap:20px}.game-lobby .topbar h1{font-size:26px;margin:7px 0 0;font-weight:600}.game-lobby .top-actions{gap:18px}.game-lobby .profile{background:none!important;border:0!important;box-shadow:none!important;min-width:0}.game-lobby .profile>span{border:1px solid #c4a364;border-radius:50%;background:radial-gradient(#516b43,#182d20);box-shadow:0 0 0 3px #a68f4330;color:#efdcad;width:42px;height:42px}.game-lobby .world-count{display:none}.resource-bar{display:flex;gap:10px;flex-wrap:wrap}.resource-pill{display:flex;align-items:center;gap:9px;padding:8px 12px;min-width:104px;background:#071913b3;border:1px solid #9c87514f;box-shadow:inset 0 1px #f5dda20c;font-size:10px;border-radius:3px}.resource-pill i{font-style:normal;font-size:20px;color:#b7d5ae}.resource-pill.jade i{color:#e7be77}.resource-pill small{display:block;color:#9dae9d;font-size:8px}.resource-pill b{font-size:13px;color:#ecdaad;font-variant-numeric:tabular-nums}.game-lobby #main{padding:24px 32px}.game-lobby .lobby-utilities{display:flex;gap:8px;justify-content:end;margin-bottom:16px}.lobby-utilities a{padding:8px 14px;border:1px solid #a98a5045;background:#1d352983;color:#cdb887;font-size:10px;border-radius:3px}.game-lobby .campaign-banner{background:linear-gradient(90deg,#3d513536,#152a2200);border:1px solid #b3965449;padding:14px 20px;border-radius:2px}.campaign-banner>span{color:#e4c481;font-weight:600}.game-lobby .hero-scene{min-height:450px;border:10px solid transparent;border-image:url('/game/ui/ornate-frame.svg') 30 stretch;background-clip:padding-box;box-shadow:0 12px 30px #0005;border-radius:0}.game-lobby .hero-scene .hero-copy{z-index:2;padding:34px 28px;max-width:58%}.game-lobby .hero-copy h2{font-family:inherit;font-size:clamp(31px,3.3vw,58px);font-weight:600;line-height:1.25;margin:22px 0;color:#f4e2b8;text-shadow:0 2px 12px #000a}.game-lobby .hero-copy h2 em{font-style:normal;color:#e9c988}.game-lobby .hero-copy>p:not(.eyebrow){font-size:12px;color:#cbd2bf}.game-lobby .hero-copy .eyebrow{font-size:8px;line-height:1.8}.game-lobby .featured-portrait{width:47%;height:92%;bottom:0;right:1%;filter:drop-shadow(0 10px 15px #0008);z-index:1}.game-lobby .sigil{border-color:#d6b15c55;color:#d6b15c30}.game-lobby .scene-mist{background:linear-gradient(90deg,#081e18ed,#081e1890 50%,#0b20142d),linear-gradient(0deg,#06160b,transparent 70%)}.game-lobby .featured-name{z-index:2;background:linear-gradient(90deg,transparent,#0b211cc9,transparent);padding:12px 25px;bottom:38px;right:3%}.featured-name>span{font-family:inherit;font-weight:600;color:#f2dcae}.game-lobby .scene-bottom{border-top:1px solid #d5b98030;background:#071c15a6;color:#bfa66d;z-index:3}.game-lobby .journey-panel{padding:19px}.game-lobby .journey-panel h3{font-family:inherit;font-weight:600;font-size:22px;line-height:1.35}.game-lobby .mini-landscape{height:110px;border:1px solid #b6935150}.game-lobby .team-panel,.game-lobby .collection-teaser{padding:20px}.game-lobby .panel-heading h3{font-size:18px;font-weight:600}.game-lobby .home-team{gap:12px}.game-lobby .collection-teaser h3{font-family:inherit;font-size:22px}.game-lobby .page-heading h2{font-family:inherit;font-size:29px;font-weight:600}.game-lobby .filters{flex-wrap:wrap}.game-lobby .atlas-toolbar{background:#10281f;border:1px solid #a58e5049;padding:12px;border-radius:2px}.game-lobby .world-scroll{border:6px solid #8a704442;box-shadow:0 12px 30px #0006}.game-lobby .realm-tag{border-color:#b59c6459;color:#dcc58f;background:#8c743b16}.game-lobby .map-detail{padding:18px}.game-lobby .collection-summary{padding:12px 16px;background:#172e2590;border:1px solid #a58b5340;color:#b9c7b2}.game-lobby #endless-view{background:linear-gradient(90deg,#132d25f5,#152a2399),url('/assets/worldmap/atlas/v1/cultivation-world.png') center/cover;border:1px solid #b69a5b70;padding:28px;min-height:440px}.game-lobby #endless-view label{max-width:450px}.game-lobby footer{border-color:#b5965359;margin:0 32px}.game-lobby .collection-card{transition:filter .18s,box-shadow .18s}.collection-card:hover{filter:brightness(1.08);box-shadow:0 0 20px #e4c57a22}.collection-card.unowned:hover{filter:grayscale(1) brightness(.6)}.card-wallet{border-color:#ab8d5455;background:#0b2119}.upgrade-panel{border-color:#aa8f5350}
/* Combat HUD; preserve canvas sizing, hit coordinates, and card mechanics. */
.battle-page>header{padding:16px 4vw;background:linear-gradient(#1d3328,#0c201c);border-bottom:1px solid #b28e5166;gap:24px}.battle-page>header>a{display:flex;align-items:center;gap:10px;font-size:16px;letter-spacing:.08em;font-weight:700;color:#ecd09b}.battle-page>header>a::before{content:'';display:inline-block;width:35px;height:40px;background:url('/game/ui/crest.svg') center/contain no-repeat}.battle-page>main{padding-top:24px;max-width:1680px}.battle-page .heading h1{font-size:30px;line-height:1.35;font-weight:600}.battle-page .heading .eyebrow{font-size:9px}.battle-page .heading p:not(.eyebrow){font-size:11px;color:#b8c4af}.battle-page .layout,.battle-page .pvp-layout{gap:18px}.battle-page .stage{border-width:8px;min-width:0}.battle-page .stage-top{background:linear-gradient(#283d2d,#152a20);border-bottom:1px solid #a3854d55;color:#e9d19b;padding:14px 18px}.battle-page .toolbar{background:#0a1c16;gap:10px;border-top:1px solid #a58c4f42;padding:12px 16px}.battle-page .toolbar button{font-size:10px}.battle-page .flip-panel{background:radial-gradient(ellipse at 50% 0,#36503770,transparent),#132b21;border-top:1px solid #b395584f;padding:18px}.battle-page .flip-heading strong{font-weight:600;color:#efd5a0}.battle-page .draw-card{border-color:#c1a66b6b;background-image:linear-gradient(135deg,#8c734326,#10261b),url('/game/ui/cloud-pattern.svg');box-shadow:inset 0 0 0 3px #07170c55,0 4px 10px #0003}.battle-page .draw-card strong{color:#efdcae}.battle-page .effect-symbol{text-shadow:0 0 18px #d6b46155}.battle-page .queue-panel{background:#0b2018;border-top:1px solid #a28c4f4a}.battle-page .war-gauge{box-shadow:inset 0 2px 4px #0009,0 0 0 1px #c6a76759}.battle-page .audio-panel{background:#0a1c16;border-color:#9c865340}.battle-page .layout>aside,.battle-page .pvp-layout>aside{padding:18px;font-size:11px}.battle-page .layout>aside h2,.battle-page .pvp-layout>aside h2{font-size:20px}.battle-page .battle-summary{border-color:#b69b5c5e;background:#223a2855}.battle-page #result-title{font-family:inherit;font-weight:600;color:#f0cf8e}.battle-page #result-dialog{border-radius:0}.mode-badge{border:1px solid #c7ab696b;background:#59452b33;color:#e2c590}.battle-page .pvp-entry{padding:22px}.admin-page>main{padding:28px;max-width:1200px}.admin-page .stats{background:#263c2b;border:1px solid #b49a5b4a;padding:20px}.admin-page table th{color:#ddc58f;background:#263a2a}.admin-page table td{border-color:#ad995138}.admin-page>main>h1{font-size:30px}.admin-page section{border-top:1px solid #ab925349;padding-top:20px}.admin-page .scroll{overflow-x:auto}
@media(min-width:1800px){.portal-home .hero-content{margin-left:max(8%,calc((100% - 1600px)/2))}.portal-home .hero-art{object-position:center 35%}}
@media(max-width:1150px){.game-lobby .shell{grid-template-columns:185px minmax(0,1fr)}.game-lobby .topbar{padding:18px 22px}.game-lobby #main{padding:20px 22px}.game-lobby .top-actions{gap:10px}.resource-pill{min-width:84px;padding:6px 8px}.game-lobby .hero-scene .hero-copy{padding:25px 20px}.game-lobby .profile div{max-width:130px}.portal-home .hero-content{width:70%}}
@media(max-width:850px){.game-lobby .shell{display:block}.game-lobby .sidebar{position:static;height:auto;padding:12px 16px;display:grid;grid-template-columns:1fr;gap:10px;border-bottom:1px solid #b096585c}.game-lobby .sidebar .brand{justify-content:center}.game-lobby .sidebar>.nav-caption,.game-lobby .sidebar .future>.nav-caption,.game-lobby .sidebar-bottom{display:none}.game-lobby .sidebar nav,.game-lobby .sidebar .future{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin:0}.game-lobby .sidebar .nav-item{width:auto;flex:1;justify-content:center;padding:10px 8px;min-height:42px;font-size:10px;gap:6px}.game-lobby .sidebar .nav-item>span{font-size:17px;width:auto}.game-lobby .sidebar .nav-item small{display:none}.game-lobby .topbar{position:static;min-height:90px}.game-lobby .profile div{display:none}.game-lobby .profile>span{width:35px;height:35px}.game-lobby .home-grid{grid-template-columns:1fr}.game-lobby .hero-scene{min-height:400px}.game-lobby .journey-panel{display:block}.game-lobby .home-bottom{grid-template-columns:1fr}.game-lobby .home-team{grid-template-columns:repeat(5,minmax(0,1fr))}.mode-grid{gap:12px}.mode-card{padding:18px;min-height:240px}.site-header nav{gap:15px}.site-header{padding:15px 5%}.portal-home .hero{height:auto;min-height:610px}.portal-home .hero-content{padding:60px 0 105px;margin-left:6%;width:78%}.portal-home .hero h1{font-size:56px}.portal-home .hero-bottom{left:6%;right:6%}.account-layout{gap:30px}.game-lobby .featured-portrait{height:95%;width:45%}}
@media(max-width:620px){.site-header{gap:13px;min-height:0}.site-header .logo{font-size:18px}.logo-seal{width:40px;height:44px;flex-basis:40px}.site-header nav{font-size:10px;gap:8px}.site-header .nav-login{padding:9px 10px;min-height:36px}.site-header .nav-login::before{display:none}.portal-home .hero{min-height:620px}.portal-home .hero-content{width:88%;margin-left:6%;padding-top:48px}.portal-home .hero-art{object-position:65% top}.portal-home .hero-shade{background:linear-gradient(90deg,#081717ed,#08171777),linear-gradient(0deg,#080f13,transparent 65%)}.portal-home .hero h1{font-size:46px}.portal-home .hero-description{font-size:12px;max-width:310px}.portal-home .hero-actions{gap:8px;flex-wrap:wrap}.portal-home .hero-actions .button{padding:14px 18px;font-size:11px;min-height:48px}.hero-status{font-size:8px;padding:8px 10px}.portal-title{font-size:11px;letter-spacing:.25em}.portal-home .stats{margin:0 15px;padding:22px 10px}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:190px}.mode-card .mode-icon{position:absolute;right:24px;top:28px;font-size:50px;opacity:.6}.mode-section{padding:40px 20px 0}.section{padding:45px 20px}.portrait-row{gap:8px}.portrait-row figure{border-width:5px;padding:3px}.portrait-row figcaption{font-size:13px;padding:10px 0}.portrait-row small{font-size:6px}.portrait-row img{height:155px}.cta-banner{margin:0 20px 40px;padding:24px 18px}.cta-banner h2{font-size:22px}.site-footer{padding:25px 20px}.account-layout{padding:0 20px;margin:30px auto 45px;gap:25px}.form-panel,.vip-card{padding:18px;border-width:8px}.form-panel h2{font-size:22px}.page-heading{padding:30px 20px 20px}.page-heading h1{font-size:30px}.guide-layout{padding:0 20px;gap:18px}.guide-nav{padding:14px;gap:8px 14px}.guide-content{padding:0 15px}.guide-content h2{font-size:22px}.guide-content table{display:block;overflow:auto}.payment-layout{padding:0 20px}.game-lobby .topbar{padding:16px;gap:10px;flex-wrap:wrap}.game-lobby .topbar h1{font-size:21px}.game-lobby .top-actions{gap:8px;margin-left:auto}.resource-bar{gap:5px}.resource-pill{min-width:64px;padding:5px 7px;gap:5px}.resource-pill i{font-size:16px}.resource-pill small{font-size:6px}.resource-pill b{font-size:11px}.game-lobby #main{padding:16px}.game-lobby .lobby-utilities{justify-content:start}.game-lobby .campaign-banner{padding:12px;flex-wrap:wrap;gap:8px}.game-lobby .campaign-banner p{font-size:10px}.game-lobby .hero-scene{min-height:365px;border-width:7px}.game-lobby .hero-scene .hero-copy{padding:22px 16px;max-width:65%}.game-lobby .hero-copy h2{font-size:33px}.game-lobby .hero-copy>p:not(.eyebrow){font-size:10px}.game-lobby .hero-copy .gold-button{padding:12px 20px;font-size:12px}.game-lobby .featured-portrait{width:49%;right:-5%;height:88%;bottom:12px}.game-lobby .featured-name{right:0;bottom:35px;padding:8px 12px}.game-lobby .featured-name>span{font-size:17px}.game-lobby .featured-name small{font-size:7px}.game-lobby .scene-bottom{font-size:7px;padding:10px 12px}.game-lobby .home-team{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.game-lobby .panel-heading{gap:10px;flex-wrap:wrap}.game-lobby .page-heading{gap:16px;flex-wrap:wrap}.game-lobby .page-heading h2{font-size:24px}.game-lobby .filters{gap:8px}.game-lobby .filters>*{min-width:0;flex:1;max-width:100%;font-size:10px}.game-lobby #endless-view{padding:18px}.game-lobby #forge-detail{padding:16px;border-width:8px}.game-lobby footer{margin:0 16px;gap:12px;flex-wrap:wrap;font-size:8px}.battle-page>header{padding:12px 15px;gap:12px;flex-wrap:wrap}.battle-page>header>a{font-size:13px}.battle-page>header nav{font-size:10px;gap:12px;flex-wrap:wrap}.battle-page>main{padding:18px 12px}.battle-page .heading h1{font-size:24px}.battle-page .stage{border-width:5px}.battle-page .flip-panel{padding:14px 10px}.battle-page .flip-heading{gap:8px}.battle-page .flip-heading strong{font-size:12px}.battle-page .toolbar{padding:10px;gap:7px}.battle-page .toolbar button{padding:8px 10px;min-height:36px}.battle-page .layout>aside,.battle-page .pvp-layout>aside{padding:14px}.admin-page{padding:20px 12px}.admin-page>main{padding:18px;border-width:8px}.admin-page>main>h1{font-size:26px}.admin-page th,.admin-page td{padding:10px;font-size:12px}}
.portal-home .hero h1{font-size:clamp(54px,6.7vw,106px);letter-spacing:-.045em;white-space:nowrap;font-weight:700;color:#ffe7ad;text-shadow:0 3px 0 #61441e,0 6px 20px #0009}.portal-home .hero-subtitle{font-size:22px;color:#e8d7ab;letter-spacing:.02em;margin:0 0 22px}.game-lobby .featured-name{writing-mode:horizontal-tb;text-align:center;max-width:43%}.game-lobby .featured-name>span{display:block}.game-lobby .featured-name small{display:block;line-height:1.6}.game-lobby .hero-scene{height:470px}.game-lobby .hero-scene .featured-portrait{object-fit:contain;object-position:center bottom}.portal-reset>main{max-width:580px;margin-top:35px;border:12px solid transparent;border-image:url('/game/ui/ornate-frame.svg') 30 stretch;background:#132b22;box-shadow:0 12px 35px #0005}
@media(max-width:620px){.portal-home .hero h1{font-size:51px;white-space:normal;line-height:1.2}.portal-home .hero-subtitle{font-size:18px;margin-bottom:22px}.game-lobby .hero-scene{height:390px}.game-lobby .featured-portrait{max-height:340px}.game-lobby .featured-name{max-width:48%;bottom:28px;right:-3%;padding:6px 12px}.game-lobby .hero-copy>p:not(.eyebrow){max-width:200px}.game-lobby .hero-copy .text-button{max-width:170px;text-align:left;line-height:1.6}.portal-reset>main{margin:25px 15px;padding:22px;border-width:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.draw-card{animation:none!important}}
.battle-page .war-meter{gap:16px;padding-bottom:8px}
.battle-page .war-gauge{height:28px;background:#071719;isolation:isolate;margin-top:4px;clip-path:polygon(0 50%,10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%);overflow:visible}
.battle-page .war-gauge:after{content:'';position:absolute;inset:0;z-index:2;border:12px solid transparent;border-image:url('/game/ui/health-frame.svg') 12 20 fill stretch;pointer-events:none}
.battle-page .war-gauge progress{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.battle-page .war-fill{position:absolute;left:9px;top:6px;bottom:6px;right:9px;width:auto;transform:scaleX(var(--gauge-ratio,1));transform-origin:left center;background:linear-gradient(180deg,#c9ffe0 0,#69d7ae 24%,#1d9975 55%,#0d664e 85%,#9be8c6);box-shadow:0 0 12px #62dba666;forced-color-adjust:none}
.battle-page .enemy-gauge .war-fill{transform-origin:right center;background:linear-gradient(180deg,#ffe3cc 0,#f99779 24%,#d14944 55%,#8d282b 85%,#ffab8c);box-shadow:0 0 12px #ef6e5666}
.battle-page .enemy-gauge>span{top:9px;z-index:3;color:#fff0c7;text-shadow:0 1px 3px #000;font-weight:700;font-size:8px;transform:translateX(-100%)}
.battle-page .enemy-gauge>span:before{display:none}
.timed-statuses{display:flex;flex-wrap:wrap;gap:6px;min-height:41px;padding-top:7px;align-content:start}
.enemy-side .timed-statuses{justify-content:flex-end}
.status-badge{display:inline-flex;align-items:center;gap:3px;height:32px;padding:0 6px 0 1px;border:1px solid #a18853;background:linear-gradient(135deg,#24372e,#091c21);border-radius:5px;box-shadow:inset 0 0 6px #d0b57b22;color:#f8e1aa;font-size:11px;white-space:nowrap}
.status-badge small{color:#a7bcb4;font-size:9px}.status-icon{width:30px;height:30px;background:url('/game/ui/status-icons.svg') 0 0/150px 30px;display:block}.status-shield .status-icon{background-position:-30px 0}.status-control .status-icon{background-position:-60px 0}.status-immune .status-icon{background-position:-90px 0}.status-poison .status-icon{background-position:-120px 0}
@media(max-width:620px){.battle-page .war-meter{padding:10px;gap:9px}.battle-page .war-label{font-size:10px}.status-badge{padding-right:3px;gap:1px;font-size:10px}.timed-statuses{gap:3px}}
/* Revealed heroes retain their cultivation background instead of the generic effect surface. */
.battle-page .draw-card.draw-hero{background-image:var(--card-background);background-size:100% 100%;box-shadow:0 4px 12px #0004}
.battle-page .draw-caption{background:linear-gradient(transparent,#071719a8);text-shadow:0 1px 3px #000}
.battle-page .draw-currency{text-align:center;background-image:radial-gradient(ellipse at 50% 20%,#c6a95d30,transparent 65%),url('/game/ui/cloud-pattern.svg');background-color:#182f23}
.battle-page .draw-currency[data-currency="immortalJade"]{background-color:#172b35;background-image:radial-gradient(ellipse at 50% 20%,#a1dcec30,transparent 65%),url('/game/ui/cloud-pattern.svg')}
.battle-page .draw-currency .resource-amount{display:block;width:100%;margin:12px 0 16px;padding:0 8px;text-align:center;font-size:20px;font-weight:700;line-height:1.4;color:#f4dda2;font-variant-numeric:tabular-nums}
.battle-page .draw-currency small{padding:0 8px;line-height:1.6}
.battle-page .layout{grid-template-columns:minmax(0,1fr)}
.battle-page .layout>aside,.battle-page #events{display:none}
@media(max-width:600px){.battle-page .draw-currency .resource-amount{font-size:16px;margin:8px 0 12px}.battle-page .draw-currency small{font-size:7px;padding:0 3px}}
.auto-flip-settings{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:12px 14px;margin:0 0 14px;border:1px solid #b89a5555;border-radius:6px;background:#091e1bb3}.auto-flip-settings label{margin:0;font-size:12px;color:#ead7a6;display:flex;align-items:center;gap:8px}.auto-flip-settings b{font-size:9px;padding:3px 6px;border:1px solid #d3ae5b;color:#f5d37b;border-radius:3px}.auto-flip-settings select{width:auto;min-width:130px;margin:0;font-size:12px;padding:9px 12px;background:#173a2d;color:#f0dfb9;border:1px solid #b99b5755;border-radius:5px}.auto-flip-settings select:disabled{opacity:.5;cursor:not-allowed}.auto-flip-settings small{font-size:11px;color:#acbdac;line-height:1.6;margin-left:auto}@media(max-width:850px){.battle-page .auto-flip-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.battle-page .auto-flip-settings select{font-size:16px;min-height:44px;min-width:0;width:100%;margin:0}.battle-page .auto-flip-settings small{grid-column:1/-1;margin:0}}
.battle-page .stage{position:relative}
.encounter-notice{position:absolute;z-index:12;left:50%;transform:translateX(-50%);width:min(88%,640px);pointer-events:none;padding:15px 25px;text-align:center;display:grid;gap:5px;color:#ffe4a9;background:linear-gradient(90deg,transparent,#15251af5 15%,#15251af5 85%,transparent);border-block:1px solid #e1b861;filter:drop-shadow(0 4px 12px #0008);animation:encounter-enter .35s ease-out}
.encounter-notice.boss{color:#ffddc1;border-color:#e88465;background:linear-gradient(90deg,transparent,#361218ed 15%,#361218ed 85%,transparent)}
.encounter-notice small{font-size:10px;letter-spacing:.2em}.encounter-notice strong{font-size:clamp(19px,3vw,30px);letter-spacing:.07em;text-shadow:0 2px 8px #000}.encounter-notice span{font-size:11px;line-height:1.5}
@keyframes encounter-enter{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:600px){.encounter-notice{padding:9px 12px;gap:3px}.encounter-notice small{font-size:8px}.encounter-notice span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.encounter-notice{animation:none}}
