:root{--bg:#101e2b;--panel:#182e3a;--line:#36505b;--gold:#f0cc86;--text:#ecf1e7;--muted:#a0b6ba}
body{background:radial-gradient(ellipse at 10% 0,#244656 0,transparent 65%),var(--bg)}
.topbar{height:60px;background:#101f2acc}.topbar nav button{color:#bdd0d3}.topbar nav .account{border-color:#476771}.brand>span{color:#8ee1c8}
main{max-width:1560px;padding-top:22px}.footer{padding-top:16px;color:#8ba5ab}.game-title{margin-bottom:15px}.game-title h1{font-size:27px}.game-title h1 span{color:#a4c2c5}.turn-display>span{color:#a4c2c5}.resource-bar{background:#1a3441;border-color:#3b5d67;padding-top:12px;padding-bottom:12px;margin-bottom:18px}.resource{border-color:#3e5c63}.resource small,.resource em{color:#acc5c4}
.world-panel{border-color:#3f6370;background:#192e3c;overflow:hidden;box-shadow:0 15px 45px #030d1630}.world-top{background:#1b3541;border-color:#36515d}.world-top small{color:#a6c6c5}.move-pill{background:#294951;color:#e9e9c6}.world-top{height:47px}.game-layout{grid-template-columns:minmax(0,1fr) 310px;gap:20px}.map-scroll{overflow:visible;position:relative}.canvas-world{position:relative;width:100%;height:clamp(350px,35vw,530px);overflow:hidden;background:#183746;isolation:isolate}
.world-map{display:block!important;min-width:0!important;width:100%!important;height:100%!important;margin:0!important;touch-action:none;cursor:grab;outline-offset:-4px!important}
.preview .world-map{cursor:default}.lobby-world{margin-left:15px;transform:none;border-radius:24px;border-color:#6ab8b050;background:#173543;box-shadow:0 30px 90px #010b1755}.lobby-world .canvas-world{height:440px}.map-plaque{bottom:24px}.map-badge{background:#193b4ce0;border-color:#79b9c44a}.lobby{grid-template-columns:36% 64%;min-height:540px}.lobby-copy{padding-right:20px}.features article+article{border-color:#3b555f}.features p{color:#a8c0c0}
.map-tools{position:absolute;top:12px;left:12px;display:flex;gap:3px;border:1px solid #8cbbb53d;border-radius:9px;background:#102b3eee;padding:3px;box-shadow:0 4px 12px #09142255}.map-tools button{display:grid;place-items:center;border:0;border-radius:5px;padding:5px 10px;height:32px;min-width:33px;font-size:17px;color:#d5eeeb}.map-tools button:last-child{font-size:11px}.map-tools button:hover{background:#365967}
.map-hint{position:absolute;bottom:12px;right:12px;background:#102a3bcc;color:#accacd;border-radius:4px;padding:4px 8px;font-size:10px;pointer-events:none}.map-access{position:absolute;left:12px;bottom:12px;z-index:2;font-size:10px;color:#c5dcd6;background:#102a3bdd;border:1px solid #729b9444;border-radius:6px}.map-access summary{padding:5px 10px;cursor:pointer}.map-access>div{display:grid;grid-template-columns:1fr 1fr;padding:6px;gap:4px;max-height:180px;overflow:auto;max-width:310px}.map-access button{font-size:10px;padding:6px;border-color:#56737b;text-align:left;background:#1b3946}.map-access button[aria-pressed=true]{border-color:#b2fff1}
.map-legend{background:#203d48;border-color:#42606a;color:#b7d1ca}.map-legend small{color:#b7d1ca}.tile-detail{background:#1a3440;border-color:#42606a;min-height:115px}.tile-detail p{color:#aec7c7}.tile-detail .eyebrow{color:#91dacb}.tile-thumb{background:#294b51;border-color:#688374}.chronicle{background:#152b39;border-color:#35515f}.chronicle p{color:#b9cfc6}.chronicle>span{color:#91bdb9}.hero-card{background:#223c46;border-color:#46626a}.avatar{background:radial-gradient(circle at 50% 30%,#56887c,#283f4d)}.hero-card small{color:#a5caca}.hero-card h3 span{color:#edd39d}.objective{background:linear-gradient(140deg,#34484b,#1d3440);border-color:#647260}.objective label,.objective p{color:#b6cfc8}.management{background:#1b3440;border-color:#45636b}.tabs{background:#152b37;border-color:#45636b}.tabs button{color:#aec8c7}.tabs button.active{background:#2b4a50;color:#f3d398}.build-card{background:#24444c;border-color:#42646a;padding:11px 9px}.build-card small,.panel-hint{color:#abc8c2}.build-card:disabled{opacity:.55}.build-icon{color:#b6e2cd}.army-row{border-color:#456269}.army-row small{color:#bfd3cd}.meter{background:#102632}.meter>i{background:#79c8b1}.meter.red>i{background:#df8899}.keyboard-note{color:#9cb9b9}.primary:disabled,.danger:disabled{opacity:.5}.tile-detail button{min-width:152px}
dialog{background:linear-gradient(140deg,#274653,#132837);border-color:#709795;box-shadow:0 25px 120px #020814b0}dialog::backdrop{background:#060e1acd}.hero-choice{background:#213e48;border-color:#517478}.hero-choice.active{background:#3b504b}.hero-choice p,.muted{color:#b6d0cf}.brief{background:#122c3d77}.brief p,.fine{color:#b4cac4}.menu-list button{border-color:#547379}.menu-list span{color:#a9c7c7}.gold-button{background:#535144;border-color:#bda473}.result-copy{color:#d0e0d6}
dialog.battle-dialog{width:min(1000px,96vw);padding:22px;max-height:94dvh}.battle-dialog h2{font-size:25px}.battle-dialog .muted{margin-bottom:12px;font-size:12px}.battle-meta strong{color:#b4d3cb}.battlefield{padding:0;border-color:#698b86;background:#1d3645;border-radius:12px;overflow:hidden}.battle-canvas{display:block;width:100%;aspect-ratio:860/340;touch-action:pan-y;cursor:pointer}.battle-roster{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:10px 14px;background:#172e3eee}.battle-side{gap:7px}.combat-unit,.enemies .combat-unit{padding:6px 4px;background:#24444c;border-color:#487578;text-align:center}.enemies .combat-unit{background:#46394c;border-color:#75596d}.combat-unit.active{border-color:#a4ffee;box-shadow:0 0 12px #84e6d920}.combat-unit strong{font-size:11px}.combat-unit small{display:block;color:#c3dfd9;font-size:9px}.combat-unit em{font-size:9px;color:#f0d590;margin:0}.combat-unit:disabled{opacity:.45}.combat-unit.dead{opacity:.2}.combat-art{display:none}.battle-divider{display:none}
.skill-row{display:flex;align-items:center;gap:8px;margin-top:12px}.skill-button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;background:#255052;border-color:#79b7a5;text-align:left;color:#d4f4e4}.skill-button>span{flex:1}.skill-button strong{font-size:13px;display:block}.skill-button small{font-size:11px;color:#badad0;display:block}.skill-button em{font-size:10px;font-style:normal;color:#f3d595}.skill-button.armed{border-color:#ffd58c;background:#62513f}.battle-actions{margin-top:10px}.battle-log{margin-top:12px;min-height:42px;color:#c1d8d1;border-color:#73b7a3;line-height:1.7}.battle-dialog .fine{margin-top:10px;color:#b6cac7}.battle-dialog .secondary{border-color:#6b9694}
#toast{background:#e1f4e8;color:#1c3a40}#gamenow-exit-button,#gamenow-guide-button{background:#1c3948!important;border-color:#6d9692!important}
@media(max-width:1100px){.game-layout{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.canvas-world{height:400px}.tile-detail>button{margin-left:auto}.lobby-world .canvas-world{height:360px}.lobby-copy{padding-right:0}}
@media(max-width:760px){main{padding:16px 12px 32px}.topbar{height:55px}.game-title h1{font-size:24px}.game-title h1 span{font-size:11px}.game-layout{grid-template-columns:1fr}.canvas-world{height:360px}.world-top{padding:0 12px}.map-hint{font-size:8px;right:8px;bottom:13px}.map-tools{left:8px;top:8px}.map-access{left:8px}.map-access>div{max-width:260px}.tile-detail{padding:12px;gap:10px}.tile-detail>button{margin-left:auto;min-width:130px}.tile-detail>div:nth-child(2){min-width:180px}.lobby{display:flex;min-height:0}.lobby-world{width:100%;margin:28px 0 0;transform:none;border-radius:16px;pointer-events:auto}.lobby-world .canvas-world{height:280px}.map-plaque{left:20px;bottom:15px}.sidebar{display:flex}.hero-card{display:none}.objective{order:3}.end-turn{order:2}.management{order:1}.keyboard-note{display:none}.resource-bar{margin-bottom:12px;padding-top:10px;padding-bottom:10px}.build-card{padding:12px}.footer{font-size:8px}.lobby h1{font-size:48px}.lobby h1 span{font-size:23px}
 dialog.battle-dialog{padding:14px 10px;width:96vw;max-height:95dvh}.battle-dialog h2{font-size:21px;margin-bottom:8px}.battle-dialog .muted{font-size:10px;margin-bottom:9px}.battle-roster{grid-template-columns:1fr;gap:8px;padding:9px}.battle-side{gap:6px}.combat-unit strong{font-size:10px}.combat-unit small{font-size:9px}.battle-canvas{aspect-ratio:860/660}.combat-unit{padding:5px}.skill-row{margin-top:9px}.skill-button{padding:8px 10px;gap:8px}.skill-button strong{font-size:12px}.skill-button small{font-size:10px}.skill-button em{font-size:8px;max-width:48px}.battle-actions{gap:4px;margin-top:8px}.battle-actions button{font-size:10px;padding:7px}.battle-dialog .fine{font-size:9px}.battle-log{font-size:9px;min-height:35px;margin-top:10px}.battle-meta{font-size:10px}}
@media(prefers-reduced-motion:reduce){.world-map,.battle-canvas{scroll-behavior:auto}}
@media(max-width:760px){body{padding-bottom:85px}.canvas-world{height:300px}.end-turn{position:fixed;bottom:12px;left:12px;width:calc(100% - 24px);z-index:10;margin:0;box-shadow:0 -6px 24px #07152288}.map-tools button{height:34px;min-width:35px}.lobby-world .canvas-world{height:280px}}
@media(max-width:760px){body:has(.game-layout) #toast{bottom:94px;font-size:11px}}
