/* Bronze HUD assets sliced from output/ui/battle-ui-atlas.png. */
.monthly-settlement table{width:100%;border-collapse:collapse;margin:20px 0;text-align:right;font-variant-numeric:tabular-nums}
.monthly-settlement th,.monthly-settlement td{padding:10px 6px;border-bottom:1px solid #846b3b44;white-space:nowrap}
.monthly-settlement th:first-child{text-align:left}
.monthly-settlement .is-gain{color:#3c663b}.monthly-settlement .is-loss{color:#943f30}
.monthly-settlement .settlement-sources p{margin:6px 0;font-size:12px;line-height:1.7}
@media(max-width:650px){.monthly-settlement th,.monthly-settlement td{padding:9px 3px;font-size:12px}}
#app>header.battle-header{inset:0 0 auto;height:90px;padding:10px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:0;background:transparent;box-shadow:none;backdrop-filter:none;isolation:isolate}
.battle-header:before{content:'';position:absolute;inset:0;z-index:-1;background:url('assets/ui/resource-bar.png') center/100% 100% no-repeat;pointer-events:none}
.hud-resources{display:flex;gap:12px;align-items:center;flex:1;min-width:0}.hud-resource{display:flex;align-items:center;gap:9px;padding:5px 12px;border:0;border-right:1px solid #b89a5344;background:none;box-shadow:none;letter-spacing:0;text-align:left;white-space:nowrap}.hud-resource:hover{background:#c7a76715;transform:none}.hud-resource small{display:block;color:#b7b8ad;font-size:10px;letter-spacing:2px}.hud-resource b{display:block;color:#f0dcad;font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}.resource-symbol{color:#d3ac63;font-size:24px}.hud-date{text-align:center;min-width:210px;position:absolute;left:50%;transform:translateX(-50%);top:18px}.hud-date small{display:block;font-size:10px;color:#b9a778;letter-spacing:3px}.hud-date strong{display:block;font:23px KaiTi,serif;color:#f2dfba;line-height:1.6}.hud-tools{display:flex;gap:12px;align-items:center}.system-button,.skill-button{width:52px;height:52px;padding:0;border:0;background:transparent url('assets/ui/gear.png') center/contain no-repeat;box-shadow:none;letter-spacing:0}.system-button:hover,.skill-button:hover{background-color:transparent}.skill-button{background-image:url('assets/ui/badge.png');color:#f7deb0;font-size:17px;padding-top:7px}.skill-button small{display:block;font-size:9px;line-height:11px;letter-spacing:0;color:#cfba8c}
.faction-standard{position:absolute;z-index:2;top:102px;left:30px;text-align:center;pointer-events:none}.faction-flag{display:block;width:68px;height:102px;object-fit:contain;filter:drop-shadow(0 4px 5px #0008)}.faction-standard span{display:block;color:#fff0c9;font:20px KaiTi,serif;text-shadow:0 2px 4px #000;margin-top:3px}.policy-panel{position:absolute;z-index:2;top:106px;left:120px;width:340px;padding:20px 24px;background:url('assets/ui/panel.png') center/100% 100% no-repeat;filter:drop-shadow(0 5px 9px #0006)}.policy-panel .eyebrow{font-size:10px;letter-spacing:3px;color:#d4b878;margin-bottom:12px}.policy-panel .policy{font-size:10px;gap:6px;margin:9px 0}.policy-panel .policy>span{min-width:57px}.realm-summary{font-size:10px;color:#b6b5a4;border-top:1px solid #c0a16833;padding-top:10px;margin-top:12px}.policy-panel .track{height:6px}
.board>.mapwrap .maphint{left:28px;bottom:26px;max-width:calc(100% - 210px);padding:10px 17px;background:#111a20dd;color:#d4c6a4;border:1px solid #927c4f;border-radius:2px;letter-spacing:1px}.turn-control{position:absolute;z-index:3;right:26px;bottom:28px;width:130px;height:130px;padding:0;border:0;background:transparent url('assets/ui/turn.png') center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 4px 8px #0008)}.turn-control:hover{background-color:transparent;transform:scale(1.04)}.turn-control span{position:absolute;bottom:-12px;left:0;right:0;font-size:12px;color:#f4e1b2;text-shadow:0 2px 3px #000;letter-spacing:2px}.chronicle-button{position:absolute;z-index:3;left:28px;bottom:84px;width:148px;height:44px;padding:0;background:transparent url('assets/ui/button.png') center/100% 100% no-repeat;border:0;box-shadow:none;font-size:12px}.chronicle-button:hover{background-color:transparent}.mapwrap .cancel-attack{left:190px;bottom:84px;max-width:none;padding:12px 20px;font-size:12px}
.target-card{position:absolute;z-index:3;left:50%;bottom:85px;transform:translateX(-50%);width:310px;min-height:0!important;margin:0;padding:20px 25px!important;background:transparent url('assets/ui/panel.png') center/100% 100% no-repeat!important;border:0!important;box-shadow:none;color:#e9d9b2}.target-card[hidden]{display:none}.target-card h2{font:24px KaiTi,serif;margin:0 0 8px}.target-card p{font-size:12px;margin:0 0 5px}.target-card small{color:#bfb58f;font-size:11px}.target-card .target-close{position:absolute;right:13px;top:10px;padding:3px 7px;border:0;background:none;box-shadow:none;letter-spacing:0}.target-card .faction-flag{float:right;width:40px;height:60px;margin-right:12px}
.selection-flag{position:absolute;z-index:2;right:13px;top:12px;width:52px;height:78px}.overlay .dialog{background:#171f25 url('assets/ui/panel.png') center/100% 100% no-repeat;border:0;padding:35px 40px;color:#e7d8b6;box-shadow:0 20px 90px #000a}.dialog small{color:#b8ad8c}.dialog button{border-color:#7c6c4c;background:linear-gradient(90deg,#333a36,#1a2528);color:#eaddb8}.dialog h2{color:#f1ddaf}.dialog .log{color:#c0baa7}.dialog>img{border:1px solid #8c784e}
@media(max-width:1200px){.hud-date{position:static;transform:none;min-width:175px}.hud-resources{gap:4px}.hud-resource{padding:5px 7px}.hud-date strong{font-size:20px}.hud-resource b{font-size:17px}.battle-header:before{background-image:linear-gradient(#121b25f5,#19222bec);border-bottom:2px solid #8c784e}.policy-panel{width:315px}}
@media(max-width:650px){#app>header.battle-header{height:112px;flex-wrap:wrap;padding:8px 12px;gap:2px}.hud-resources{flex:0 0 100%;justify-content:space-between;order:2}.hud-resource{padding:3px 6px;gap:5px}.hud-resource b{font-size:16px}.hud-resource small{font-size:9px}.resource-symbol{font-size:19px}.hud-date{text-align:left}.hud-date small{font-size:9px}.hud-date strong{font-size:18px}.system-button,.skill-button{width:38px;height:38px}.hud-tools{gap:8px}.skill-button{padding-top:3px;font-size:14px}.skill-button small{font-size:8px}.faction-standard{top:124px;left:12px}.faction-standard .faction-flag{width:42px;height:63px}.faction-standard span{font-size:15px}.policy-panel{top:125px;left:65px;width:280px;max-width:calc(100% - 75px);padding:14px 17px}.policy-panel .eyebrow{margin-bottom:6px;font-size:9px}.policy-panel .policy{margin:7px 0;font-size:9px;gap:4px}.policy-panel .policy>span{min-width:48px}.realm-summary{padding-top:6px;margin-top:7px;font-size:9px}.turn-control{width:88px;height:88px;right:12px;bottom:27px}.turn-control span{font-size:10px}.board>.mapwrap .maphint{left:12px;bottom:16px;max-width:calc(100% - 125px);font-size:9px;padding:7px 10px}.chronicle-button{left:12px;bottom:77px;width:120px;height:37px;font-size:11px}.mapwrap .cancel-attack{left:12px;bottom:125px;max-width:calc(100% - 120px);font-size:11px}.target-card{bottom:180px;width:280px;max-width:calc(100% - 30px);padding:18px 23px!important}.overlay .dialog{padding:28px 25px}.selection-flag{width:37px;height:55.5px;right:8px;top:8px}}
.hud-resource .resource-symbol{display:block;flex:0 0 26px;width:26px;height:30px;font-size:0;background:center/contain no-repeat}
.hud-resource:nth-child(1) .resource-symbol{background-image:url('assets/ui/icon-coin.png')}
.hud-resource:nth-child(2) .resource-symbol{background-image:url('assets/ui/icon-people.png')}
.hud-resource:nth-child(3) .resource-symbol{background-image:url('assets/ui/icon-authority.png')}
.hud-resource.stability .resource-symbol{background-image:url('assets/ui/icon-stability.png')}
.turn-control.is-targeting{background-image:url('assets/ui/badge.png')}
.combat-emblem{display:block;position:absolute;inset:18%;background:url('assets/ui/combat-swords-bunian.png') 0 0/400% 200% no-repeat;animation:sword-clash .8s step-end infinite}
@keyframes sword-clash{0%{background-position:0 0}12.5%{background-position:33.333333% 0}25%{background-position:66.666667% 0}37.5%{background-position:100% 0}50%{background-position:0 100%}62.5%{background-position:33.333333% 100%}75%{background-position:66.666667% 100%}87.5%,100%{background-position:100% 100%}}
body.motion-off .combat-emblem{animation:none;background-position:100% 0}
@media(max-width:650px){.hud-resource .resource-symbol{flex-basis:20px;width:20px;height:25px}}
@media(prefers-reduced-motion:reduce){button{transition:none}.combat-emblem{animation:none;background-position:100% 0}}
.month-transition{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(ellipse at center,#22302efc 0%,#10191efc 58%,#090e13 100%);color:#efdaad;cursor:wait;isolation:isolate;animation:month-passage 1.6s ease-in-out both}
.month-transition:before,.month-transition:after{content:'';position:absolute;left:5%;right:5%;height:1px;background:linear-gradient(90deg,transparent,#b59350aa,transparent);pointer-events:none}.month-transition:before{top:9%}.month-transition:after{bottom:9%}
.month-transition-content{text-align:center;width:min(660px,100%);animation:month-inscription 1.6s ease-out both}.month-transition .faction-flag{width:65px;height:97.5px;margin:0 auto 24px;filter:drop-shadow(0 8px 15px #0009)}
.month-transition-content p{font:18px KaiTi,STKaiti,serif;letter-spacing:9px;margin:24px 0 16px;color:#c4ac77}.month-transition-content h2{font:clamp(32px,6vw,64px) KaiTi,STKaiti,serif;font-weight:400;letter-spacing:6px;line-height:1.5;margin:0 0 27px;text-shadow:0 2px 18px #c39a4133}.month-transition-content h2 span{font-size:.65em;color:#aa8d53;margin:0 .2em}.month-transition-content small{display:block;color:#938b73;font-size:11px;letter-spacing:5px;margin-top:24px}.month-transition-rule{height:1px;width:70%;margin:auto;background:linear-gradient(90deg,transparent,#c4a15e99,transparent)}
@keyframes month-passage{0%{opacity:0}12%,55%{opacity:1}100%{opacity:0}}
@keyframes month-inscription{0%{transform:translateY(8px)}55%,100%{transform:translateY(0)}}
.month-transition.is-quiet,.month-transition.is-quiet .month-transition-content{animation:none}
@media(max-width:650px){.month-transition .faction-flag{width:52px;height:78px;margin-bottom:18px}.month-transition-content p{font-size:15px;letter-spacing:6px}.month-transition-content h2{letter-spacing:3px}.month-transition-content small{letter-spacing:3px}}
.march-overlay{position:fixed;inset:0;z-index:8;background:#09131b26;overflow:hidden;cursor:wait}.march-route{position:absolute;height:0;border-top:2px dashed #f5d68a99;transform-origin:0 0;filter:drop-shadow(0 1px 3px #000)}.march-destination{position:absolute;width:45px;height:22px;border:2px solid #f5d68a;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 18px #f9d78a88}
.cavalry-runner{position:absolute;width:clamp(95px,13vw,170px);aspect-ratio:1;background:url('assets/ui/general-horse-gallop-bunian.png') 0 0/400% 200% no-repeat;transform-origin:50% 78%;filter:drop-shadow(0 5px 4px #0007);will-change:left,top}.march-caption{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);padding:17px 40px;min-width:260px;text-align:center;background:url('assets/ui/panel.png') center/100% 100% no-repeat;box-shadow:0 8px 30px #0006}.march-caption small{font-size:10px;letter-spacing:5px;color:#bea46e}.march-caption strong{display:block;font:27px KaiTi,serif;color:#f0d69b;margin:8px 0}.march-caption strong span{color:#a88e5b;margin:0 12px}.march-caption p{font-size:10px;letter-spacing:3px;color:#b6b5a4;margin:0}
.dialog:has(.war-result){width:860px}.war-result>h2{text-align:center;font-size:40px;letter-spacing:6px;margin:12px 0}.war-result.is-defeat>h2{color:#dba58c}.war-result-summary{text-align:center;font-size:14px;margin:0 0 24px}.war-result-sides{display:grid;grid-template-columns:1fr 1fr;gap:22px}.war-result-country{min-width:0;padding:16px 14px;background:#090e1366;border:1px solid #9b80484d}.war-result-heading{display:flex;gap:16px;align-items:center;margin-bottom:15px}.war-result-heading .faction-flag{width:34px;height:51px}.war-result-heading h3{font-size:25px;margin:0}.war-result-heading h3 small{font:11px 'Microsoft YaHei',sans-serif;margin-left:10px;color:#ab9e7b}.war-result table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.war-result th,.war-result td{padding:10px 4px;border-bottom:1px solid #a48a4c33;text-align:right}.war-result th:first-child{text-align:left;font-weight:400;color:#bcb299}.war-result thead th{font-size:10px;font-weight:400;color:#bcb299}.delta-gain{color:#b3d39c}.delta-loss{color:#e5a38c}.delta-flat{color:#979a92}.war-result-note{font-size:11px;color:#a9a28c;text-align:center;letter-spacing:0;line-height:1.7;margin:20px 0 12px}.war-result>button{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.overlay .dialog:has(.war-result){padding:20px;border:20px solid transparent;border-image:url('assets/ui/panel.png') 35 fill stretch;background:#171f25}
@media(max-width:650px){.war-result-sides{grid-template-columns:1fr;gap:12px}.war-result-country{padding:12px}.war-result-heading{margin-bottom:4px;gap:12px}.war-result-heading .faction-flag{width:25px;height:37.5px}.war-result>h2{font-size:30px}.war-result-summary{font-size:12px;margin-bottom:15px}.war-result td,.war-result th{padding:7px 4px}.march-caption{bottom:24px;min-width:230px;padding:14px 24px}.march-caption strong{font-size:23px}}

/* Monthly event paintings retain their full 2:1 composition and leave room for four choices. */
.overlay .dialog:has(.event-illustration){padding:24px 32px}
.dialog img.event-illustration{width:min(100%,600px,60vh);height:auto;aspect-ratio:2/1;max-width:100%;object-fit:contain;margin:0 auto 10px;filter:none}
.dialog:has(.event-illustration) h2{font-size:28px;line-height:1.25;margin:6px 0 12px}
.dialog:has(.event-illustration)>p{font-size:15px;line-height:1.65;margin:10px 0 14px}
.dialog:has(.event-illustration)>button{padding:10px 16px;margin:4px 0;line-height:1.45}
@media(max-width:650px){.overlay .dialog:has(.event-illustration){padding:22px 20px}.dialog:has(.event-illustration)>button{font-size:14px}.dialog:has(.event-illustration) h2{font-size:25px}}

/* Each policy pair shares one continuous track; numeric policies stay independent. */
.policy-meter{position:relative;display:flex;flex:1;gap:0;min-width:45px;height:8px;overflow:hidden;background:#101c16;border:1px solid #b2996566;box-shadow:inset 0 1px 3px #0008;border-radius:2px}
.policy-meter i{display:block;flex-shrink:0;height:100%}
.policy-fill-left{background:linear-gradient(#e0c58b,#8f713e)}
.policy-fill-right{background:linear-gradient(#a9c0ab,#567d73)}
@media(max-width:650px){.policy-meter{height:7px}}

/* Event resolution: show actual, clamped policy deltas on the matching HUD labels. */
.policy-label{position:relative;overflow:visible;isolation:isolate}
.policy-number{font-weight:400;font-variant-numeric:tabular-nums}
.policy-panel.is-policy-feedback{z-index:8}
.policy-label.is-policy-gain{color:#c4edba}
.policy-label.is-policy-loss{color:#f3b1a0}
.policy-delta{position:absolute;z-index:2;left:50%;top:-8px;min-width:36px;padding:2px 5px;text-align:center;font:700 19px KaiTi,serif;line-height:1.2;white-space:nowrap;pointer-events:none;border-radius:3px;background:#101b1ee8;text-shadow:0 1px 3px #000;box-shadow:0 1px 5px #0006;animation:policy-delta-rise 1.5s ease-out both}
.policy-delta.is-gain{color:#bef59b;border:1px solid #a8df8244}
.policy-delta.is-loss{color:#ffac98;border:1px solid #ffac9844}
.policy-meter.is-policy-changing{animation:policy-meter-flash .45s ease-in-out 3}
.policy-meter.is-policy-changing i{transition:none}
.policy-feedback-summary{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes policy-delta-rise{0%{opacity:0;transform:translate(-50%,8px) scale(.8)}16%{opacity:1;transform:translate(-50%,-7px) scale(1.12)}32%{opacity:1;transform:translate(-50%,-10px) scale(1)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-32px) scale(1)}}
@keyframes policy-meter-flash{0%,100%{box-shadow:inset 0 1px 3px #0008,0 0 2px #ebd69933;filter:brightness(1)}50%{box-shadow:inset 0 1px 2px #fff3,0 0 7px 2px #efcf80cc,0 0 17px 4px #dca84966;filter:brightness(1.65)}}
.policy-delta.is-quiet{animation:none;opacity:1;transform:translate(-50%,-12px)}
@media(prefers-reduced-motion:reduce){.policy-delta{animation:none;opacity:1;transform:translate(-50%,-12px)}.policy-meter.is-policy-changing{animation:none}.policy-meter.is-policy-changing i{transition:none}}
@media(max-width:650px){.policy-delta{font-size:17px}}

/* Advisor names are resolved from country configuration, including existing saves. */
.faction-advisor{display:block;max-width:88px;margin:5px auto 0;color:#eed8a8;font-size:11px;line-height:1.5;text-shadow:0 1px 3px #000;overflow-wrap:anywhere}
.country-advisor{display:block;color:#e4c58d;font-size:15px;line-height:1.6}.selected-advisor{color:#d9c493;font-size:16px}
@media(max-width:650px){.faction-advisor{max-width:48px;font-size:10px}.country-advisor{font-size:13px}}

/* Difficulty choices use transparent art; selection lights the silhouette. */
.difficulty-tabs{gap:clamp(16px,4vw,56px);align-items:start;margin:12px auto 30px}
.difficulty-tabs .difficulty-choice{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:170px;height:204px;padding:0;border:0;border-radius:0;background:none!important;box-shadow:none;letter-spacing:3px;transform:none;transition:none}
.difficulty-tabs .difficulty-choice:hover,.difficulty-tabs .difficulty-choice.active,.difficulty-tabs .difficulty-choice:disabled{background:none!important;box-shadow:none;transform:none}
.difficulty-icon-stage{display:grid;place-items:center;width:100%;height:158px;flex-shrink:0;pointer-events:none}
.difficulty-icon{display:block;width:144px;height:144px;object-fit:contain;transform:scale(.72);filter:drop-shadow(0 3px 4px #0007);transition:transform .24s ease,filter .24s ease;pointer-events:none}
.difficulty-name{display:block;margin-top:-25px;line-height:1.4;font-size:18px;color:#c7b990;transition:opacity .18s ease;pointer-events:none}
.difficulty-name small{display:block;margin-top:4px;font-size:10px;color:#aa9c7b;letter-spacing:2px}
.difficulty-choice:not(:disabled):not(.active):hover .difficulty-icon{transform:scale(.8)}
.difficulty-choice.active .difficulty-icon{transform:scale(1.08);filter:drop-shadow(0 0 7px #f0d68ac4) drop-shadow(0 0 21px #d5a343a6)}
.difficulty-choice.active .difficulty-name{opacity:0;visibility:hidden}
.difficulty-tabs .difficulty-choice:disabled{opacity:.4;cursor:not-allowed}
.difficulty-choice:disabled .difficulty-icon{filter:grayscale(.55) drop-shadow(0 3px 4px #0007)}
.difficulty-choice:focus-visible{outline:1px solid #e5ca8e;outline-offset:7px;border-radius:6px}
.difficulty-icon-stage{position:relative}
.difficulty-lock{position:absolute;left:50%;top:50%;width:50px;height:50px;transform:translate(-50%,-30%);object-fit:contain;filter:drop-shadow(0 2px 4px #000a);pointer-events:none}
.difficulty-choice.is-locked .difficulty-icon{opacity:.4;filter:grayscale(.55) drop-shadow(0 3px 4px #0007)}
.difficulty-choice.is-locked:hover .difficulty-icon{transform:scale(.72)}
.difficulty-choice.is-locked .difficulty-name{color:#a99b7d}
.game-toast{position:fixed;z-index:11000;left:50%;bottom:max(32px,env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:14px 24px;background:#192321f2;border:1px solid #b39761;color:#f1dfb8;box-shadow:0 6px 25px #0006;border-radius:4px;text-align:center;font-size:15px;line-height:1.7;letter-spacing:1px;pointer-events:none;animation:game-toast-enter .2s ease-out both}
.game-toast.is-leaving{animation:game-toast-exit .2s ease-in both}
@keyframes game-toast-enter{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes game-toast-exit{from{opacity:1}to{opacity:0}}
@media(max-width:650px){.difficulty-lock{width:40px;height:40px}.game-toast{font-size:13px;padding:12px 18px}}
@media(prefers-reduced-motion:reduce){.game-toast,.game-toast.is-leaving{animation:none}}
@media(max-width:650px){.difficulty-tabs{gap:8px;margin:5px auto 22px}.difficulty-tabs .difficulty-choice{width:calc((100vw - 64px)/3);max-width:140px;height:165px}.difficulty-icon-stage{height:124px}.difficulty-icon{width:112px;height:112px;max-width:100%}.difficulty-name{font-size:16px;margin-top:-18px}.difficulty-name small{font-size:9px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.difficulty-icon,.difficulty-name{transition:none}}

/* Country-specific painted advisor portraits. */
.advisor-portrait{display:block;object-fit:cover;object-position:center 28%;border:1px solid #b89b62;background:#b4a17d;pointer-events:none}
.country{display:flex;flex-direction:column;justify-content:flex-end;padding:22px;isolation:isolate;background:#19251f}
.country .selection-portrait{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:-2;object-position:center top}
.country:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#101a1940 0%,transparent 35%,#101a1980 58%,#101a19f5 85%);box-shadow:inset 0 0 25px #181a1470}
.country>small{position:absolute;top:18px;left:20px;color:#f1dfb9;text-shadow:0 2px 4px #000}
.country strong{margin:0;font-size:64px;line-height:1.15}
.country .country-advisor{color:#ffe5b5;text-shadow:0 2px 4px #000}
.country p{margin:8px 0 0;padding:0;background:none;min-height:42px;color:#e4dcc6}
.hud-date{display:flex;align-items:center;justify-content:center;gap:12px}
.hud-portrait{width:48px;height:48px;flex:0 0 48px;border:2px ridge #b89b62;box-shadow:0 2px 8px #0008}
.target-advisor{display:flex;align-items:center;gap:12px;margin:10px 0;color:#e6d0a0}
.target-advisor .advisor-portrait{width:56px;height:56px;flex:0 0 56px;border:2px ridge #b89b62}
@media(max-width:850px){.country{padding:16px}.country strong{margin:0;font-size:48px}.country>small{top:14px;left:14px}.country p{font-size:12px}}
@media(max-width:650px){.hud-date{gap:8px;justify-content:flex-start}.hud-portrait{width:38px;height:38px;flex-basis:38px}.country .country-advisor{font-size:12px}}

/* Compact entry screens: title, choices, and actions. */
.home{justify-content:center;padding:24px;text-align:center;min-height:100dvh;background:linear-gradient(#111b1966,#111b19bb),url('assets/cover-1080p.png') center/cover}
.home section{width:100%;max-width:650px;padding:0;border:0}
.home h1{font-size:clamp(44px,7vw,80px);letter-spacing:.18em;text-indent:.18em;margin:0 0 38px}
.home button{margin:14px auto;max-width:100%}
.advisor-selection{min-height:100dvh;padding:18px 5vw 78px;background-attachment:fixed}
.advisor-selection-title{font-size:36px;text-align:center;letter-spacing:6px;margin:0 0 3px;line-height:1.4}
.advisor-selection>.top{position:fixed;left:max(20px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:3}
.advisor-selection .difficulty-tabs{margin:0 auto 12px;gap:clamp(16px,4vw,56px)}
.advisor-selection .difficulty-choice{height:130px;width:150px}
.advisor-selection .difficulty-icon-stage{height:108px}
.advisor-selection .difficulty-icon{width:112px;height:112px}
.advisor-selection .difficulty-name{margin-top:-15px;font-size:16px}
.advisor-selection .difficulty-lock{width:42px;height:42px}
.advisor-selection .cards{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;width:100%;margin:0 auto}
.advisor-selection .country{width:280px;height:440px;min-height:0;padding:22px;letter-spacing:1px}
.advisor-selection .country .advisor-card-name{font-size:64px;line-height:1.2;margin:0;overflow-wrap:anywhere}
.advisor-selection .country .advisor-country{display:inline;position:static;font-size:16px;line-height:1.4;font-weight:400;margin-left:8px;color:#d9c69e;white-space:nowrap;letter-spacing:1px}
.advisor-selection .country p{font-size:13px;line-height:1.8;min-height:0;margin:8px 0 0}
.advisor-selection .start{min-height:48px;margin:14px auto 0;text-align:center}
.advisor-selection .start>button{min-width:220px}
@media(max-width:850px){.advisor-selection{padding:14px 22px 76px}.advisor-selection .country{width:44%;height:340px;padding:16px}.advisor-selection .country .advisor-card-name{font-size:48px}.advisor-selection .country .advisor-country{font-size:14px}}
@media(max-width:650px){.advisor-selection{padding:12px 16px 75px}.advisor-selection-title{font-size:30px}.advisor-selection .difficulty-tabs{gap:8px;margin-bottom:10px}.advisor-selection .difficulty-choice{width:calc((100vw - 56px)/3);max-width:140px;height:112px}.advisor-selection .difficulty-icon-stage{height:92px}.advisor-selection .difficulty-icon{width:96px;height:96px}.advisor-selection .difficulty-name{margin-top:-12px;font-size:14px}.advisor-selection .difficulty-lock{width:36px;height:36px}.advisor-selection .country .advisor-card-name{font-size:38px}.advisor-selection .country .advisor-country{font-size:12px;margin-left:5px}.advisor-selection .country p{font-size:12px}.advisor-selection>.top{left:16px;bottom:max(16px,env(safe-area-inset-bottom))}.advisor-selection .start{margin-top:12px}}
