:root{
  --font-scale:1;
  --rail-w:92px;
  --log-w:292px;
  --ink:#2f2418;
  --paper:#f5ecd7;
  --paper-2:#fff9ec;
  --bronze:#8e6427;
  --gold-2:#d5ad4e;
  --jade-2:#286f62;
}
*{box-sizing:border-box}
body{font-size:calc(14px * var(--font-scale));background:#17130e}
#app{max-width:none!important}
#game-screen{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%!important;background:radial-gradient(circle at 40% 20%,#57452c,#1b1610 75%)}
#main-row{display:grid!important;grid-template-columns:minmax(0,1fr) var(--rail-w) var(--log-w);height:auto!important;min-height:0;overflow:hidden}
#screen-root{min-width:0;min-height:0;padding:8px!important;overflow:hidden!important;display:block!important}
#action-rail{min-width:0;min-height:0;display:grid;align-content:center;gap:7px;padding:9px 7px;background:linear-gradient(90deg,#33271a,#594326 55%,#302318);border-inline:1px solid #9c793f;box-shadow:inset 0 0 22px #130e08,0 0 16px rgba(0,0,0,.45);z-index:4}
#action-rail button{position:relative;min-height:58px;display:grid;place-items:center;gap:3px;padding:6px 3px;color:#f7e7bd;background:linear-gradient(#795a2f,#4b351d);border:1px solid #b98f49;border-radius:4px;box-shadow:inset 0 1px rgba(255,255,255,.18),0 3px 8px rgba(0,0,0,.35);cursor:pointer;font-weight:700;letter-spacing:1px}
#action-rail button:hover,#action-rail button:focus-visible{color:#fff7cf;background:linear-gradient(#2f8070,#174c43);border-color:#8ed0bd;transform:translateY(-1px)}
#action-rail button:active{transform:translateY(1px)}
#action-rail button i{width:25px;height:20px;display:block;border:1px solid currentColor;border-radius:50% 50% 35% 35%;opacity:.75}
#action-rail .rail-log{display:none}
#log-panel{display:block!important;width:auto!important;min-width:0;max-height:none!important;overflow:hidden;border:0!important;border-left:2px solid #9c793f!important;background:linear-gradient(90deg,#efe2c6,#fff9eb)}
.log-header{height:45px;display:grid;grid-template-columns:54px 1fr 54px;place-items:center;color:#5d3a0e;background:linear-gradient(#f4dfac,#d8b56b);border-bottom:1px solid #9d7332;font:700 15px var(--serif);letter-spacing:3px}
.log-header button{padding:4px;color:#5d3a0e;background:rgba(255,250,225,.45);border:1px solid #ae884c;font-size:10px;letter-spacing:0}.log-header button:disabled{opacity:.35}
#log-body{height:calc(100% - 45px);overflow:hidden!important;padding:7px}
#log-body .log-item{font-size:12px;line-height:1.45;padding:6px 5px;border-bottom:1px dashed rgba(120,88,40,.25)}

#topbar{min-height:48px;padding:5px 10px;display:flex;align-items:center;gap:5px;overflow:hidden!important;background:linear-gradient(#382919,#18120c);border-bottom:2px solid #a7803e;color:#f5dfaa;box-shadow:0 5px 18px rgba(0,0,0,.5)}
#topbar>span{min-width:0;padding:5px 8px;border:1px solid rgba(206,169,93,.32);background:linear-gradient(90deg,rgba(130,93,42,.28),rgba(43,32,20,.28));white-space:nowrap;border-radius:2px}
#topbar>span:focus,#topbar>span:hover{border-color:#d9b96d;background:#594128}
#tb-v7-extra{margin-left:auto!important;display:flex!important;gap:5px;padding:0!important;border:0!important;background:none!important}
#tb-v7-extra button{padding:5px 8px;color:#f4dfac;background:#47331e;border:1px solid #8e6b36;cursor:help}
#tb-v7-extra b{color:#fff2c4}

.v7-page,.map-select-page,.palace-scene{width:100%;height:100%;min-height:0;overflow:hidden;background:var(--paper);border:1px solid #ad8447;box-shadow:0 8px 28px rgba(0,0,0,.4)}
.v7-page{display:grid;grid-template-rows:64px minmax(0,1fr)}
.v7-heading{display:flex;align-items:center;padding:8px 18px;background:linear-gradient(100deg,#f4e6c4,#d8ba79);border-bottom:1px solid #9f7536;box-shadow:0 4px 12px rgba(60,40,12,.16)}
.v7-heading span{color:#715a34;font-size:12px;letter-spacing:2px}
.v7-heading h2{margin:2px 0 0;color:#51320d;font:700 25px var(--serif);letter-spacing:5px}
.v7-content{min-height:0;overflow:hidden;padding:12px;container-type:size}

.palace-scene{position:relative;background:linear-gradient(rgba(27,17,9,.16),rgba(20,13,8,.52)),url('../img/palace_bg.jpg') center/cover no-repeat}
.palace-art{position:relative;width:100%;height:100%;display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,.72fr);grid-template-rows:auto 1fr auto;gap:14px;padding:clamp(18px,3vw,44px);color:#fff2cf;text-shadow:0 2px 5px #160d05}
.palace-atmosphere{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,13,8,.12),transparent 50%,rgba(20,13,8,.36));pointer-events:none}
.palace-title{position:relative;max-width:680px;padding:18px 22px;background:linear-gradient(90deg,rgba(30,22,13,.76),rgba(30,22,13,.18));border-left:5px solid #d4ad52}
.palace-title span{color:#f1c968;letter-spacing:3px}
.palace-title h1{margin:5px 0;font:700 clamp(32px,4vw,58px) var(--serif);letter-spacing:10px}
.palace-title p{line-height:1.75;max-width:620px}
.palace-overview{position:relative;grid-column:2;grid-row:1/3;align-self:start;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px;background:rgba(32,23,13,.76);border:1px solid #b89049;backdrop-filter:blur(4px)}
.palace-overview article{min-height:82px;display:grid;place-items:center;padding:9px;background:linear-gradient(145deg,rgba(155,112,49,.42),rgba(40,28,15,.6));border:1px solid rgba(226,190,112,.32)}
.palace-overview span{font-size:12px;color:#dac390}.palace-overview b{font:700 20px var(--serif);letter-spacing:2px}
.palace-agenda{position:relative;align-self:start;width:min(660px,100%);padding:12px 16px;background:rgba(31,22,13,.72);border:1px solid rgba(205,164,83,.65)}.palace-agenda h3{margin:0 0 8px;color:#edc865;letter-spacing:3px}.palace-agenda>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.palace-agenda article{display:grid;gap:2px;padding:8px;background:rgba(121,86,40,.35);border-left:2px solid #d1a34e}.palace-agenda span,.palace-agenda small{color:#d6bf8e;font-size:10px}.palace-agenda b{font-size:20px}
.palace-brief{position:relative;grid-column:1/3;align-self:end;max-width:760px;padding:13px 18px;background:rgba(28,20,12,.78);border-top:1px solid #c99d4d}
.palace-brief h3{margin:0 0 5px;color:#f0c967;letter-spacing:3px}.palace-brief p{margin:3px 0}

.map-select-page{display:grid;grid-template-rows:68px minmax(0,1fr);background:#e9ddc0}
.map-select-page>header{display:flex;align-items:center;gap:18px;padding:8px 20px;background:linear-gradient(#392919,#18120c);color:#ebcf8c}.map-select-page h1{font:700 27px var(--serif);letter-spacing:7px}.map-select-page main{min-height:0;padding:9px}
.map-select-page .panel-body{height:100%;min-height:0;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(230px,27%);gap:10px!important;padding:0!important;overflow:hidden!important}
#map-wrap{min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden!important;background:#18231d;border:2px solid #7f6337}
#map-canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;image-rendering:auto;cursor:crosshair}
.map-side{width:auto!important;min-width:0;min-height:0;overflow:hidden!important;padding:12px;background:#fff8e9;border:1px solid #a98348}
.map-side .faction-card{position:relative;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:52px}.map-side .faction-banner{flex:none}.map-side .faction-gens{min-height:0;overflow:hidden}.map-side .trait-preview{flex:none}.map-side .faction-card>.btn-primary{position:absolute!important;left:0;right:0;bottom:0;margin:0!important}
.map-choice-empty{height:100%;display:grid;place-content:center;text-align:center;gap:9px;color:#765a2f}.map-choice-empty b{font:700 22px var(--serif)}
.map-side .btn-primary{position:sticky;bottom:0;min-height:48px}

.location-banner{min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;margin-bottom:10px;color:#fff1ce;background:linear-gradient(110deg,#6e4930,#9c7440);border:1px solid #b99050;box-shadow:0 6px 15px rgba(55,34,14,.2)}
.location-banner span{letter-spacing:3px;color:#efd18c}.location-banner h2{margin:3px 0;font:700 25px var(--serif);letter-spacing:5px}.location-banner p{margin:0}.harem-banner{background:linear-gradient(110deg,#713f4f,#a76b72)}.garden-banner{background:linear-gradient(110deg,#426447,#85783d)}.clinic-banner{background:linear-gradient(110deg,#3d655e,#6b7f67)}
.consort-grid{height:calc(100% - 154px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px}
.consort-card{min-width:0;min-height:0;display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;padding:9px;background:#fff9ec;border:1px solid #c5a66d;box-shadow:0 4px 12px rgba(70,45,16,.1)}
.portrait-slot{position:relative;min-height:0;display:grid;place-items:end center;padding:6px;background:radial-gradient(circle at 50% 32%,#f8dfc3,#b88572);border:1px solid #9d6d59;overflow:hidden}.portrait-slot>span{position:relative;color:#fff1d3;font-size:11px;text-shadow:0 1px 3px #321}.portrait-silhouette{position:absolute;left:22%;right:22%;top:11%;bottom:-6%;background:linear-gradient(#513c36,#241a18);border-radius:48% 48% 28% 28%}.portrait-silhouette:before{content:"";position:absolute;left:24%;right:24%;top:-2%;height:26%;border-radius:50%;background:#4c3732}
.consort-data{min-width:0;display:grid;align-content:start;gap:4px}.consort-data>span,.consort-data>p{color:#766248;font-size:11px}.consort-data h3{margin:0;color:#613d12;font:700 18px var(--serif)}.gold-name{color:#bd8420!important;text-shadow:0 0 8px rgba(230,181,68,.25)}.gold-name small{color:#d3a735}
.key-attrs,.state-line{display:flex;gap:5px;flex-wrap:wrap}.key-attrs b,.state-line span{padding:3px 6px;background:#efe2c7;border:1px solid #d0b27a;font-size:11px}.trait-line{display:grid;gap:2px;padding:6px 8px;background:#edf2e7;border-left:3px solid #3f7868}.trait-line b{color:#1e6256}.trait-line span{font-size:11px;color:#655b48;line-height:1.35}.card-actions{display:flex;gap:4px;margin-top:auto}.card-actions button,.building-catalog button,.diplomacy-grid button,.tactic-intentions label{cursor:pointer}.card-actions button{flex:1;min-height:26px;background:#f1e2c4;border:1px solid #b9965a;color:#503716}.card-actions button:hover{background:#2f786b;color:white}
.page-turn{height:42px;display:flex;align-items:center;justify-content:center;gap:14px}.page-turn button{padding:6px 18px}
.location-actions,.family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.locked-location,.empty-state{height:100%;display:grid;place-content:center;text-align:center;gap:8px;color:#806641;background:#f9efd9;border:1px dashed #b99861}.locked-location b,.empty-state b{font:700 22px var(--serif)}
.family-grid article{padding:14px;background:#fff9ec;border:1px solid #c7a96f}.family-grid h3{color:#65400e}

.candidate-modal{width:min(1120px,calc(100vw - 30px))!important;height:min(690px,calc(100dvh - 30px))!important;max-width:none!important;max-height:none!important;overflow:hidden!important;padding:14px!important}
.candidate-view{height:100%;display:grid;grid-template-columns:minmax(280px,42%) minmax(0,1fr);gap:16px}
.candidate-portrait{position:relative;display:grid;place-items:end center;min-height:0;padding:18px;background:radial-gradient(circle at 50% 28%,#fae5cb,#a96d69 70%,#5d3839);border:2px solid #9e7540;overflow:hidden}.portrait-silhouette.large{left:27%;right:27%;top:14%;bottom:-4%;filter:drop-shadow(0 8px 12px rgba(0,0,0,.4))}.candidate-portrait>span{position:relative;color:#fff1ce;letter-spacing:3px;text-shadow:0 2px 5px #321}
.candidate-profile{min-width:0;min-height:0;display:grid;align-content:start;gap:9px;padding:18px;background:#fffaf0;border:1px solid #c7a76d}.candidate-label{color:#8b692e;letter-spacing:3px}.candidate-profile h2{margin:0;color:#5a360c;font:700 30px var(--serif);letter-spacing:4px}.candidate-profile>p{color:#75644c}.candidate-attrs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.candidate-attrs article{display:grid;place-items:center;padding:8px;background:#f1e4c8;border:1px solid #c9aa70}.candidate-attrs span{color:#786344;font-size:12px}.candidate-attrs b{font-size:21px;color:#326c61}.bio-card{padding:10px 12px;line-height:1.6;color:#584a38;background:#f8efdc;border:1px solid #d4bd90}.candidate-actions{display:flex;gap:7px;margin-top:auto;flex-wrap:wrap}.candidate-actions button{min-width:100px}

.annual-selection,.world-alert{display:grid;place-items:center;text-align:center;gap:12px;padding:20px}.annual-selection>span,.world-alert>span{color:#9a722d;letter-spacing:5px}.annual-selection h2,.world-alert h2{font:700 30px var(--serif);color:#5c390d}.annual-selection p,.world-alert p{max-width:620px;line-height:1.8}.annual-selection>div{display:flex;gap:8px}

.build-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.build-dashboard article{display:flex;justify-content:space-between;padding:9px 12px;background:#eee2c8;border:1px solid #c6a872}.build-dashboard b{color:#286f62;font-size:18px}.project-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.project-list article{padding:8px;background:#fffaf0;border:1px solid #cfb27b}.project-list h3{margin:0;color:#63400e}.project-list p{margin:3px 0;font-size:11px}.project-progress{height:5px;background:#d9ccb3}.project-progress i{display:block;height:100%;background:#327769}
.building-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.building-catalog article{min-width:0;padding:9px;background:#fff9ec;border:1px solid #c8a76d}.building-catalog>article>span{color:#8b692e;font-size:10px}.building-catalog h3{margin:2px 0;color:#603c0d}.building-catalog p{height:34px;margin:3px 0;font-size:11px;color:#716149}.building-catalog b{font-size:11px}.building-catalog article>div{display:flex;gap:3px;flex-wrap:wrap;margin-top:5px}.building-catalog button{padding:3px 5px;background:#eee0c2;border:1px solid #b89658}

.mission-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px}.mission-strip article{display:grid;gap:3px;padding:9px;background:#e8eee7;border-left:3px solid #3c7568}.mission-strip small{color:#75664e}.diplomacy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.diplomacy-grid article{padding:12px;background:#fff9ec;border:1px solid #c7a76e}.diplomacy-grid header{display:flex;align-items:center;gap:8px}.diplomacy-grid header i{width:15px;height:15px;border-radius:50%}.diplomacy-grid header b{margin-left:auto;color:#286f62}.diplomacy-grid article>div{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:9px}.diplomacy-grid button{padding:6px 3px;background:#eee0c3;border:1px solid #b9965a}
.marriage-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.marriage-columns section{display:grid;align-content:start;gap:5px;padding:10px;background:#f7edda}.marriage-columns button,.candidate-row{display:flex!important;justify-content:space-between;padding:9px;background:#fffaf0;border:1px solid #c7a76e;cursor:pointer}
.tactic-intentions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.tactic-intentions h3,.tactic-intentions p{grid-column:1/-1}.tactic-intentions label{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;padding:8px;background:#f5ead3;border:1px solid #c2a36b}.tactic-intentions span{grid-column:2;color:#75664e;font-size:11px}
.unit-intentions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0}.unit-intentions label{display:grid;gap:3px;padding:9px;background:#f1e4ca;border:1px solid #c3a269;cursor:pointer}.unit-intentions span{font-size:11px;color:#75664e}.army-plan-v7{display:grid;gap:8px}.army-plan-v7>h2,.army-plan-v7>p{margin:0}.battle-report{max-height:55vh;overflow:hidden;display:grid;align-content:start;gap:2px;font-size:12px;line-height:1.35}
.position-groups{display:grid;gap:5px}.general-v7{display:grid;gap:10px}.general-v7 header span{color:#8f6b2e}.general-v7 header h2{font:700 28px var(--serif);margin:2px 0;color:#5d390d}
.v7-settings{display:grid;gap:4px}
.project-order{display:grid;gap:10px}.project-order>span{color:#8d682c;letter-spacing:4px}.project-order h2,.project-order p{margin:0}.supervisor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.supervisor-grid label{display:grid;grid-template-columns:auto 1fr;gap:2px 7px;padding:8px;background:#f6ead2;border:1px solid #c6a66b;cursor:pointer}.supervisor-grid small{grid-column:2;color:#746147}

@keyframes lampGlow{50%{filter:brightness(1.08)}}
.palace-scene:not(.reduce-motion){animation:lampGlow 7s ease-in-out infinite}
.reduce-motion *{animation:none!important;transition:none!important}

@media(max-width:1180px){
  :root{--rail-w:78px;--log-w:224px}
  #action-rail button{min-height:51px;font-size:12px}
  #topbar>span{padding:4px 5px;font-size:11px}
  .palace-art{padding:22px}.consort-card{grid-template-columns:92px minmax(0,1fr)}
  .building-catalog{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  :root{--rail-w:68px;--log-w:46px}
  #main-row{grid-template-columns:minmax(0,1fr) var(--rail-w) var(--log-w)}
  #log-panel{position:relative;overflow:hidden}#log-panel .log-header{height:100%;writing-mode:vertical-rl;letter-spacing:4px}#log-body{display:none}
  #action-rail .rail-log{display:grid}
  body.log-open #log-panel{position:fixed;z-index:20;right:0;top:48px;bottom:24px;width:min(330px,82vw)!important;box-shadow:-10px 0 25px rgba(0,0,0,.5)}
  body.log-open #log-panel .log-header{height:42px;writing-mode:horizontal-tb;display:grid}body.log-open #log-body{display:block;height:calc(100% - 42px)}
  .map-select-page .panel-body{grid-template-columns:minmax(0,1fr) 210px}
  .consort-grid{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}.consort-grid .consort-card:nth-child(n+3){display:none}
  .candidate-view{grid-template-columns:minmax(220px,38%) minmax(0,1fr)}
  .building-catalog{grid-template-columns:repeat(2,1fr)}.diplomacy-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  :root{--rail-w:58px;--log-w:38px}
  #screen-root{padding:3px!important}#action-rail{padding:5px 3px;gap:4px}#action-rail button{min-height:44px;padding:3px 1px;font-size:10px;letter-spacing:0}#action-rail button i{width:18px;height:14px}
  #topbar{min-height:42px;padding:3px;gap:2px}#topbar>span{display:none}#tb-faction,#tb-year,#tb-gold,#tb-food{display:block!important;font-size:10px}#tb-v7-extra{display:none!important}
  .v7-page{grid-template-rows:50px minmax(0,1fr)}.v7-heading{padding:5px 9px}.v7-heading h2{font-size:19px;letter-spacing:2px}.v7-content{padding:6px}
  .palace-art{display:block;padding:13px}.palace-title{padding:11px}.palace-title h1{font-size:29px}.palace-overview{margin-top:8px;grid-template-columns:repeat(4,1fr);padding:5px}.palace-overview article{min-height:55px;padding:4px}.palace-overview b{font-size:13px}.palace-agenda{margin-top:8px;padding:8px}.palace-agenda>div{grid-template-columns:repeat(2,1fr)}.palace-brief{position:absolute;left:13px;right:13px;bottom:13px}
  .map-select-page{grid-template-rows:48px minmax(0,1fr)}.map-select-page>header{padding:4px 8px}.map-select-page h1{font-size:19px}.map-select-page>header span{font-size:9px}.map-select-page main{padding:3px}.map-select-page .panel-body{grid-template-columns:minmax(0,1fr) 138px;gap:3px!important}.map-side{padding:5px;font-size:10px}.map-side .btn-primary{padding:7px!important;font-size:11px!important;letter-spacing:1px!important}
  .location-banner{min-height:75px;padding:8px 10px}.location-banner h2{font-size:19px}.location-banner p{font-size:10px}.consort-grid{height:calc(100% - 118px);gap:4px}.consort-card{grid-template-columns:70px minmax(0,1fr);padding:4px;gap:5px}.consort-data h3{font-size:14px}.trait-line span{display:none}.card-actions button{font-size:10px;padding:2px}
  .candidate-modal{width:calc(100vw - 8px)!important;height:calc(100dvh - 8px)!important;padding:5px!important}.candidate-view{grid-template-columns:34% minmax(0,1fr);gap:5px}.candidate-profile{padding:7px;gap:4px}.candidate-profile h2{font-size:19px}.candidate-attrs{grid-template-columns:repeat(3,1fr);gap:3px}.candidate-attrs article{padding:3px}.candidate-attrs b{font-size:15px}.bio-card{font-size:10px;padding:5px}.candidate-actions{gap:3px}.candidate-actions button{min-width:0;padding:5px;font-size:10px}
  .building-catalog{grid-template-columns:repeat(2,1fr);gap:3px}.building-catalog article{padding:5px}.building-catalog p{display:none}.project-list{grid-template-columns:repeat(2,1fr)}.diplomacy-grid{grid-template-columns:1fr}.diplomacy-grid article{padding:6px}.mission-strip{grid-template-columns:repeat(2,1fr)}
  .tactic-intentions{grid-template-columns:repeat(2,1fr);gap:3px}.tactic-intentions label{padding:4px}.tactic-intentions p{font-size:10px;margin:2px 0}.unit-intentions{gap:3px}.unit-intentions label{padding:4px}
}
@media(max-height:520px){
  .map-select-page .panel-body{grid-template-columns:minmax(0,1fr) minmax(310px,350px)}
  #action-rail{align-content:stretch}#action-rail button{min-height:0}
  .palace-title h1{font-size:28px}.palace-overview article{min-height:52px}.palace-agenda{display:none}.palace-brief{padding:7px 11px}
  .location-banner{min-height:66px;padding:6px 10px}.location-banner h2{font-size:18px}.consort-grid{height:calc(100% - 105px)}
  .candidate-profile{padding:8px}.candidate-profile h2{font-size:20px}.candidate-attrs article{padding:4px}.candidate-attrs b{font-size:16px}.bio-card{line-height:1.35}
  .build-dashboard{display:none}.build-dashboard~.section-title{margin:2px 0;font-size:13px}.project-list:empty{display:none}.building-catalog article{padding:5px}.building-catalog p{height:auto;margin:2px 0}.building-catalog article>div{margin-top:2px}.building-catalog+.page-turn{height:32px}
}
@media(max-height:650px){
  .map-side{padding:5px}.map-side .faction-banner{padding:7px}.map-side .faction-name{font-size:18px}.map-side .faction-card>.tip{display:none}.map-side .faction-card>div:nth-of-type(n+5){display:none}.map-side .faction-stats{padding:4px 0}.map-side .trait-preview{margin:4px 0;padding:5px;font-size:10px}.map-side .btn-primary{margin-top:auto;flex:none;min-height:38px!important;padding:6px!important}
}
@media(max-width:500px) and (orientation:portrait){
  .map-select-page .panel-body{grid-template-columns:1fr;grid-template-rows:minmax(230px,44%) minmax(0,1fr)}
  #map-wrap{min-height:230px}.map-side{font-size:11px}.map-side .faction-card{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto 1fr auto;gap:4px}.map-side .faction-banner{grid-column:1/-1}.map-side .faction-stats,.map-side .trait-preview{margin:0}.map-side .faction-card>.tip,.map-side .faction-card>.divider,.map-side .faction-card>.faction-gens,.map-side .faction-card>div:nth-of-type(6){display:none}.map-side .btn-primary{grid-column:1/-1;position:static}
}
