/* Final presentation layer; scoped to game content, no global button or form rewrites. */
.content.polish162{display:flex;flex-direction:column;gap:24px;min-width:0}
.content.polish162>*{min-width:0;margin-block:0}
.content.polish162>.footer{margin-top:24px;padding-top:24px}
.content.polish162 :is(.grid2,.grid3,.op-offers,.op-paths){gap:20px;align-items:stretch}
.content.polish162 .p162-equal>.p162-card{display:flex;flex-direction:column;align-self:stretch;height:auto;margin-block:0;min-width:0}
.content.polish162 .p162-card>.p162-actions{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.content.polish162 .p162-actions :is(button,.ui147-disabled-control){max-width:100%;margin:0}
.content.polish162 .p162-actions>.ui147-disabled-control>button{width:100%}
.content.polish162 .panel :is(h2,h3)+:is(p,form,.grid2,.grid3){margin-top:14px}
.content.polish162 .panel>:is(.text-link,.nx-actions,.guild-actions){margin-block:18px;display:flex;gap:14px;flex-wrap:wrap}
.content.polish162 .panel>:is(.pill,.badge){margin-block:12px}
.content.polish162 .panel+:is(.panel,section,div),.content.polish162 section>.panel+.panel{margin-top:0}
.content.polish162 .panel>:is(p,small)+:is(.btn,.ui147-disabled-control){margin-top:16px}
.content.polish162 form{row-gap:16px}
.content.polish162 form.layout149-row>:is(.btn,.ui147-disabled-control){height:46px;min-height:46px;align-self:end;margin-bottom:0}
.content.polish162 form.layout149-row>label{align-self:end}
.content.polish162 label.p162-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;min-height:44px;line-height:1.6;max-width:none!important}
.content.polish162 label.p162-check>input[type=checkbox]{width:18px!important;height:18px!important;flex:0 0 18px;margin:0!important;align-self:center}
.content.polish162 :is(.panel,.p162-card)>p{line-height:1.8;overflow-wrap:anywhere}
.content.polish162 :is(.nx-actions,.guild-actions,.ca-controls){gap:12px;flex-wrap:wrap}
.content.polish162 .cz-map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:20px}
.content.polish162 .cz-map-region-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.content.polish162 .cz-map-region-list>a{width:auto;min-width:0;white-space:normal;justify-content:center}
/* Unequal history columns should not stretch a small future-event box over several rows. */
.content.polish162 .city-event-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}
.content.polish162 .city-event-layout>.stack{display:flex;flex-direction:column;gap:24px}
.content.polish162 .city-event-layout>.stack>*{height:auto;grid-column:auto;grid-row:auto;margin:0}
.content.polish162 .op-offer .op-paths{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.content.polish162 .op-paths>article{display:flex;flex-direction:column;min-width:0}
.content.polish162 .p162-election{background:linear-gradient(115deg,#253126,#171d19);border-top:3px solid var(--gold);padding:28px}
.content.polish162[data-polish-route=government] .grid2 .panel{border-top:2px solid #77704c}
.content.polish162[data-polish-route=research] .panel{border-radius:12px;padding:24px}
.content.polish162 .p162-identity{position:relative;display:grid;grid-template-columns:128px minmax(0,1fr) auto;gap:28px;align-items:center;padding:36px;background:radial-gradient(ellipse at top right,#46412c66,transparent 65%),#191f19;border:1px solid #696044;border-radius:16px}
.content.polish162 .p162-identity .avatar-large{width:128px;height:128px;aspect-ratio:1;border:2px solid #a68b51;box-shadow:0 8px 30px #0006}
.content.polish162 .p162-identity h2{font-size:clamp(26px,3vw,42px);margin-block:12px}
.content.polish162 .p162-identity p{margin-block:10px}
.content.polish162 .p162-profile{display:flex;flex-direction:column;gap:24px}
.content.polish162 .p162-profile>section,.content.polish162 .p162-profile>form{margin:0}
.content.polish162 .pv147-card{padding:22px;border-radius:10px;min-height:130px}
.content.polish162 .pv147-card-kind{gap:10px;display:flex;align-items:center}
.content.polish162 .p162-rules p{line-height:1.8;margin-top:16px}
@media(max-width:850px){.content.polish162 .city-event-layout{grid-template-columns:minmax(0,1fr)}.content.polish162 .p162-identity{grid-template-columns:88px minmax(0,1fr);padding:22px;gap:18px}.content.polish162 .p162-identity .avatar-large{width:88px;height:88px}.content.polish162 .p162-identity>button{grid-column:1/-1;justify-self:start}}
@media(max-width:600px){.content.polish162{gap:20px}.content.polish162 .cz-map-region-list{grid-template-columns:repeat(2,minmax(0,1fr))}.content.polish162 .op-offer .op-paths{grid-template-columns:minmax(0,1fr)}.content.polish162 .p162-election{padding:20px}}

.content.polish162 .p162-equal>.p162-card+article,.content.polish162 .p162-equal>.p162-card+section{margin-top:0;padding-top:22px}
.content.polish162 .p162-equal{align-items:stretch;gap:20px}
.content.polish162 .p162-map-labels{pointer-events:none}
.content.polish162 .d152-map-name{paint-order:stroke;stroke:#172018;stroke-width:4px;stroke-linejoin:round}
.content.polish162 .r158-grid article>.pill{margin-top:14px;align-self:flex-start;max-width:100%;white-space:normal}
.content.polish162 .r158-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}
.content.polish162 .r158-extension,.content.polish162 .r159-extension{display:flex;flex-direction:column;gap:24px}
.content.polish162 .ss162-panel form{display:grid;gap:12px;margin-top:auto;padding-top:18px}
.content.polish162 .ss162-panel form>label{display:grid;gap:8px}
.content.polish162 .ss162-panel form input{width:100%}

.content.polish162 .p162-equal>.p162-card{padding:22px}

.content.polish162 .p162-election-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-block:24px}
.content.polish162 .p162-election-timeline>article{padding:20px;border:1px solid var(--line);border-radius:10px;margin:0;background:#101610}
.content.polish162 .p162-election-timeline>article.is-current{border-color:#bd9c54;background:#b89c5015}
.content.polish162 .p162-election-timeline h3{margin-block:10px}
.content.polish162 .p162-election-timeline p{font-size:12px;line-height:1.8}
.content.polish162 .p162-election-rules{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.content.polish162 .p162-election-rules p{margin-top:16px;line-height:1.8;max-width:90ch}
@media(max-width:850px){.content.polish162 .p162-election-timeline{grid-template-columns:minmax(0,1fr)}}

.content.polish162 .p162-actions>.btn,.content.polish162 .p162-actions>.ui147-disabled-control>button{min-height:46px;width:100%}
.content.polish162 .ss162-panel .p162-actions>form{padding-top:0}
@media(max-width:700px){
 .content.polish162 form.layout149-row{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;height:auto;gap:16px}
 .content.polish162 form.layout149-row>label{width:100%;max-width:none;flex:none;min-width:0}
 .content.polish162 form.layout149-row>:is(.btn,.ui147-disabled-control){width:100%;height:auto;min-height:46px;max-width:100%;margin:0;justify-self:stretch}
 .content.polish162 form.layout149-row>.ui147-disabled-control>button{width:100%;min-height:46px}
}

/* Win over legacy text-link + div margins so workshop actions truly stay at the card bottom. */
.content.polish162 .p162-equal>.p162-card>.p162-actions{margin-top:auto}

/* events163: nested panels need their own spacing; root .content gap cannot reach them. */
.content.polish162 #city-opportunities{display:flex;flex-direction:column;gap:24px}
.content.polish162 #city-opportunities>*{margin-block:0}
.content.polish162 #city-opportunities>.op-board-heading{margin-bottom:0}
.content.polish162 #city-opportunities>:is(.panel,details){flex-shrink:0}
.content.polish162 .city-event-layout.events163-pair{align-items:stretch}
.content.polish162 .city-event-layout.events163-pair>section{height:auto;min-width:0;margin:0;display:flex;flex-direction:column;gap:14px}
.content.polish162 .city-event-layout.events163-pair>section>:is(p,h2,h3,small,.text-link){margin:0}
.content.polish162 .events163-next>section>strong{margin-top:auto;padding-top:6px}
.content.polish162 .events163-history>.panel-head{margin-bottom:20px}
.content.polish162 .events163-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.content.polish162 .events163-history-grid>.city-reward{margin:0;height:auto;min-width:0}
@media(max-width:850px){.content.polish162 .events163-history-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.content.polish162 #city-opportunities{gap:20px}.content.polish162 .events163-history-grid{gap:20px}}

/* Old mobile layout promoted support with order:-1; keep the new paired source order. */
.content.polish162 .city-event-layout.events163-pair>section{order:0;grid-column:auto;grid-row:auto}

.content.polish162 .events163-history-grid>.city-reward:only-child{grid-column:1/-1}

/* Keep regional shortcuts together; no orphan separator text nodes. */
.content.polish162 .cb165-links{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:auto;padding-top:8px;min-width:0}
.content.polish162 .cb165-links>.text-link{margin:0;min-width:0;max-width:100%}

/* Company forms are block panels: row-gap alone has no effect without layout. */
.content.polish162[data-polish-route="companies"] form.panel[data-co-form]{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.content.polish162[data-polish-route="companies"] form.panel[data-co-form]>*{margin-block:0;min-width:0;max-width:100%}
.content.polish162[data-polish-route="companies"] form.panel[data-co-form]>:is(.btn,.ui147-disabled-control){justify-self:start;align-self:start}
.content.polish162[data-polish-route="companies"] section.panel>:is(h2,h3)+:is(.btn,.ui147-disabled-control){margin-top:16px}
.content.polish162[data-polish-route="companies"] section.panel>button[data-co-action]{margin-inline-end:12px}
.content.polish162[data-polish-route="companies"] p>button[data-co-action]{margin-inline-start:12px}

/* Reserve the comparison-link row in every combat card, including unowned gear. */
.content.polish162[data-polish-route="market"] .combat-gear>.p162-actions{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(46px,auto) minmax(32px,auto);gap:12px;align-items:start}
.content.polish162[data-polish-route="market"] .combat-gear>.p162-actions>:is(.btn,.ui147-disabled-control){grid-row:1;width:100%;min-width:0}
.content.polish162[data-polish-route="market"] .combat-gear>.p162-actions>.text-link{grid-row:2;margin:0;align-self:start}
.content.polish162[data-polish-route="market"] .mt-controls{display:grid;grid-template-columns:minmax(160px,1.2fr) repeat(2,minmax(130px,1fr)) minmax(180px,1fr) auto;gap:16px;align-items:end}
.content.polish162[data-polish-route="market"] .mt-controls>label{min-width:0;margin:0}
.content.polish162[data-polish-route="market"] .mt-controls>.mt-budget{min-height:46px}
.content.polish162[data-polish-route="market"] .mt-controls>[data-mt-reset]{min-height:46px;align-self:end;margin:0}
.content.polish162[data-polish-route="market"] .mt-controls>p{grid-column:1/-1;margin:0}
@media(max-width:1100px){.content.polish162[data-polish-route="market"] .mt-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.content.polish162[data-polish-route="market"] .mt-controls>.mt-budget{grid-column:1/3}}
@media(max-width:600px){.content.polish162[data-polish-route="market"] .mt-controls{grid-template-columns:minmax(0,1fr)}.content.polish162[data-polish-route="market"] .mt-controls>.mt-budget{grid-column:auto}.content.polish162[data-polish-route="market"] .mt-controls>[data-mt-reset]{justify-self:start}}

/* Equipment auction: align the submit control with the actual input row. */
.content.polish162[data-polish-route="auctions"] [data-gear-auction-create]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}
.content.polish162[data-polish-route="auctions"] [data-gear-auction-create]>.grid3{min-width:0;margin:0;align-items:end}
.content.polish162[data-polish-route="auctions"] [data-gear-auction-create] :is(button.btn,.ui147-disabled-control){margin:0;min-height:46px;max-width:100%;align-self:end}
.content.polish162[data-polish-route="auctions"] [data-gear-auction-create]>.ui147-disabled-control>button{width:100%}
@media(max-width:1100px){.content.polish162[data-polish-route="auctions"] [data-gear-auction-create]{grid-template-columns:minmax(0,1fr)}.content.polish162[data-polish-route="auctions"] [data-gear-auction-create]>:is(.btn,.ui147-disabled-control){justify-self:start}}
@media(max-width:700px){.content.polish162[data-polish-route="auctions"] [data-gear-auction-create]>.grid3{grid-template-columns:minmax(0,1fr)}}

.content.polish162[data-polish-route="auctions"] [data-gear-auction-create]>.grid3>label{margin:0;min-width:0}

/* Strategic fronts: keep the selector, explanation and commitment visibly separate. */
.content.polish162 .wf-panel{display:grid;gap:20px;min-width:0}
.content.polish162 .wf-panel>:is(h2,h3,p,.grid2,.btn,.ui147-disabled-control){margin-block:0}
.content.polish162 .wf-panel>.grid2>article{display:flex;flex-direction:column;gap:16px;min-width:0}
.content.polish162 .wf-panel>.grid2>article>:is(h3,p){margin:0;line-height:1.8}
.content.polish162 .wf-panel [data-wf-form]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:14px;flex:1;min-width:0;margin:0}
.content.polish162 .wf-panel [data-wf-form]>label{display:grid;gap:8px;min-width:0;margin:0}
.content.polish162 .wf-panel [data-wf-form] select{margin:0;width:100%;min-width:0}
.content.polish162 .wf-panel [data-wf-form]>p{margin:0;line-height:1.8;overflow-wrap:anywhere}
.content.polish162 .wf-panel [data-wf-form]>:is(.btn,.ui147-disabled-control){margin:0;justify-self:start;align-self:end;max-width:100%}

.content.polish162 .wf-panel>.grid2>article>.p162-actions{flex:1;margin-top:0;padding-top:0}

/* Gang identity: space the complete form, not just the action buttons. */
.content.polish162[data-polish-route="family"] [data-gang-identity]{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}
.content.polish162[data-polish-route="family"] [data-gang-identity]>:is(details,.grid2,label,.identity-actions){margin:0;min-width:0}
.content.polish162[data-polish-route="family"] [data-gang-identity]>label,.content.polish162[data-polish-route="family"] [data-gang-identity]>.grid2>label{display:grid;gap:8px;margin:0;min-width:0}
.content.polish162[data-polish-route="family"] [data-gang-identity]>label>input,.content.polish162[data-polish-route="family"] [data-gang-identity]>.grid2>label>:is(input,select){width:100%;margin:0;min-width:0}
.content.polish162[data-polish-route="family"] [data-gang-identity]>.identity-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.content.polish162[data-polish-route="family"] [data-gang-identity]>.identity-actions>:is(.btn,.ui147-disabled-control){margin:0;max-width:100%}

/* League progress: separate the threshold explanation from its bar. */
.content.polish162[data-polish-route="seasons"] .sl-progress>.progress+p{margin:16px 0 0;line-height:1.8}

/* Expedition catalogs share header and approach rows across neighboring cards. */
.content.polish162[data-polish-route="expeditions"] .gx-catalog{align-items:stretch}
.content.polish162[data-polish-route="expeditions"] .gx-catalog>.gx-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto 1fr 1fr;gap:18px;min-width:0}
.content.polish162[data-polish-route="expeditions"] .gx-card>:is(.pill,h2,p){margin:0;min-width:0}
.content.polish162[data-polish-route="expeditions"] .gx-card>.gx-approach{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto;gap:12px;margin:0;padding-top:16px;min-width:0}
.content.polish162[data-polish-route="expeditions"] .gx-approach>:is(p,ul){margin:0;min-width:0;line-height:1.8}
.content.polish162[data-polish-route="expeditions"] .gx-approach>:is(.btn,.ui147-disabled-control){margin:0;justify-self:start;align-self:end;max-width:100%}
@supports(grid-template-rows:subgrid){.content.polish162[data-polish-route="expeditions"] .gx-catalog>.gx-card{grid-template-rows:subgrid;grid-row:span 5}}

/* Search forms need real layout gaps between the field and submit button. */
.content.polish162 :is(form[data-public-player-search],form[data-du-search]){display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.content.polish162 :is(form[data-public-player-search],form[data-du-search])>:is(h2,label,.btn,.ui147-disabled-control){margin:0;min-width:0}
.content.polish162 :is(form[data-public-player-search],form[data-du-search])>label{display:grid;gap:8px}
.content.polish162 :is(form[data-public-player-search],form[data-du-search])>label>input{width:100%;margin:0;min-width:0}
.content.polish162 :is(form[data-public-player-search],form[data-du-search])>:is(.btn,.ui147-disabled-control){justify-self:start;max-width:100%}

/* Special-operations preparation: spacing survives disabled-control wrappers. */
.content.polish162[data-polish-route="specialops"] .sq-active>.sq-prepare-submit{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin:22px 0;min-width:0}
.content.polish162[data-polish-route="specialops"] .sq-prepare-submit>:is(.btn,.ui147-disabled-control){margin:0!important;max-width:100%}
.content.polish162[data-polish-route="specialops"] .sq-prepare-submit button{white-space:normal;min-height:44px;max-width:100%}

/* Workshop: icon and quantity stay on one line; upgrade action keeps its own spacing. */
.content.polish162[data-polish-route="workshop"] .ww-material>.ww-material-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;margin:0 0 14px}
.content.polish162[data-polish-route="workshop"] .ww-material-heading>.icon{display:block;flex:0 0 24px;width:24px;height:24px;margin:0}
.content.polish162[data-polish-route="workshop"] .ww-material-heading>b{display:block;margin:0;line-height:1;font-size:24px;font-variant-numeric:tabular-nums}
.content.polish162[data-polish-route="workshop"] .ww-recipe>.ww-upgrade-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:22px;min-width:0}
.content.polish162[data-polish-route="workshop"] .ww-upgrade-actions>:is(.btn,.ui147-disabled-control,small){margin:0!important;max-width:100%}
.content.polish162[data-polish-route="workshop"] .ww-upgrade-actions button{white-space:normal;max-width:100%;min-height:44px}

/* Career cards share content tracks: different text lengths cannot move the primary action. */
.content.polish162[data-polish-route="careers"] .cr-grid{align-items:stretch;grid-auto-rows:auto;gap:18px}
.content.polish162[data-polish-route="careers"] .cr-grid>.cr-card{display:grid;grid-template-rows:subgrid;grid-row:span 7;gap:16px;min-width:0;align-self:stretch}
.content.polish162[data-polish-route="careers"] .cr-card>:is(h2,p,.cr-levels,.cr-card-primary,.cr-card-extra){margin:0;min-width:0}
.content.polish162[data-polish-route="careers"] .cr-card>.pill{align-self:start;justify-self:start}
.content.polish162[data-polish-route="careers"] .cr-levels{grid-template-rows:repeat(5,minmax(0,1fr))}
.content.polish162[data-polish-route="careers"] .cr-card-primary{display:flex;align-items:flex-start;min-width:0}
.content.polish162[data-polish-route="careers"] .cr-card-primary>:is(.btn,.ui147-disabled-control){width:100%;margin:0!important;min-width:0}
.content.polish162[data-polish-route="careers"] .cr-card-primary button{width:100%;min-height:46px;white-space:normal;margin:0}
.content.polish162[data-polish-route="careers"] .cr-card-extra>.cr-actions{margin:0;gap:12px}

/* Investigations: explicit link group, no loose text separator or block-link margins. */
.content.polish162[data-polish-route="investigations"] .ci-help-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:18px 0 0;min-width:0}
.content.polish162[data-polish-route="investigations"] .ci-help-links>.text-link{display:inline-flex;align-items:center;margin:0;padding:4px 0;max-width:100%;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
