/* Progression keeps the cabinet physical; navigation and receipts stay quiet. */
.exp-page.ship-upgrades.progression-system{display:flex;flex-direction:column;gap:12px;padding:16px;min-height:0}
.progression-system .exp-screen-heading{min-height:48px;gap:12px}
.progression-system .exp-screen-heading h2{font-size:28px;line-height:1.15}
.progression-system .exp-screen-heading small{font-size:13px;line-height:1.4;letter-spacing:0}
.progression-system .ship-heading-bank .exp-money{font-size:17px}
.progression-system .exp-screen-heading>.exp-icon-button{min-height:44px;width:44px;flex-basis:44px}
.progression-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex:none;border-bottom:1px solid var(--pm-ui-line,#3c505b);flex-wrap:wrap}
.progression-system .ship-catalogue-tabs{display:flex;gap:12px;min-width:0;max-width:none;width:auto;align-self:auto;flex:1}
.progression-system .ship-catalogue-tabs .exp-button{padding:8px 0;min-height:48px;font-size:14px;font-weight:500;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;flex:none;color:var(--pm-ui-muted,#b7c8c8)}
.progression-system .ship-catalogue-tabs [aria-pressed=true]{border-color:var(--pm-ui-accent,#b5dac3);color:var(--pm-ui-text,#f1eee3);background:none}
.progression-system .keepsake-view-navigation{display:flex;min-height:44px;gap:0;flex:none}
.progression-system .keepsake-view-navigation>.exp-button{background:none;border:0;padding:8px 0;min-height:44px;font-size:14px;font-weight:500;color:var(--pm-ui-accent,#b5dac3);flex:none}
.progression-system .trophy-cabinet{border:0;border-radius:16px;box-shadow:none}
.progression-system .trophy-cabinet>header{font-size:13px;line-height:1.4;gap:8px}
.progression-system .trophy-cabinet>header>.exp-eyebrow{font-size:12px;letter-spacing:.06em}
.progression-system .trophy-slot strong{font-size:13px;line-height:1.35}
.progression-system .trophy-slot small{font-size:12px;line-height:1.35}
.progression-system .journey-upgrade-stage{flex:1;min-height:0;padding:12px 4px;gap:14px;overflow-y:auto;overscroll-behavior:contain;border:0;background:none;box-shadow:none;border-radius:0}
.progression-system .journey-upgrade-stage>.exp-eyebrow{font-size:12px;line-height:1.4;letter-spacing:.08em}
.progression-system .journey-upgrade-stage h1{font-size:28px;line-height:1.15;margin:0}
.progression-system .journey-upgrade-stage>p{font-size:15px;line-height:1.5;margin:0}
.progression-system .journey-upgrade-stage>small{font-size:13px;line-height:1.5;max-width:440px}
.progression-system .exp-upgrade-icon.keepsake-preview{width:100px;height:100px;min-width:100px;min-height:100px;background:none;box-shadow:none;border:0}
.progression-system .journey-upgrade-ranks{font-size:14px;line-height:1.4;padding:0;background:none;border:0}
.progression-system .ship-upgrade-benefit{background:none;border:0;border-radius:0;padding:8px 0;gap:12px;box-shadow:none}
.progression-system .ship-upgrade-benefit>strong{font-size:14px;line-height:1.4}
.progression-system .ship-upgrade-benefit span{border:0;background:none;padding:0}
.progression-system .ship-upgrade-benefit small{font-size:13px;line-height:1.4}
.progression-system .ship-upgrade-benefit b{font-size:17px;line-height:1.4}
.progression-system .journey-upgrade-stage>.exp-button.primary{min-height:48px;font-size:16px;padding:12px 16px;width:min(100%,440px)}
.progression-system .ship-purchase-preview{padding:0;border:0;border-radius:0;background:none;font-size:13px!important;line-height:1.5!important;text-align:center}
.progression-system>.exp-screen-footer{min-height:44px;gap:12px;flex:none}
.progression-system>.exp-screen-footer>.exp-button{min-height:44px;font-size:14px;max-width:none;padding:8px 0;background:none;border:0;font-weight:500}
.progression-system .exp-pager button{min-height:44px;min-width:44px}
.progression-system .exp-pager>span{font-size:13px}
@media(max-width:849px){
 .progression-system[data-keepsake-panel=shelf]>.journey-upgrade-stage{display:none}
 .progression-system[data-keepsake-panel=upgrade]>.trophy-cabinet{display:none}
 .progression-system[data-keepsake-panel=shelf]>.exp-screen-footer>.exp-pager{display:none}
 .progression-system[data-keepsake-panel=shelf]>.trophy-cabinet{flex:1;min-height:0;overflow-y:auto}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage{display:grid;grid-template-columns:80px minmax(0,1fr);align-content:start;align-items:start;text-align:left;gap:8px 12px}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage>*{grid-column:1/-1;grid-row:auto;align-self:auto;max-width:100%;min-width:0}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage>.exp-upgrade-icon{grid-column:1;grid-row:1/4;width:76px;height:76px;min-width:76px;min-height:76px;align-self:center}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage>.exp-eyebrow{grid-column:2;grid-row:1}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage>h1{grid-column:2;grid-row:2;font-size:25px}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage>.exp-ranks{grid-column:2;grid-row:3;justify-content:flex-start}
 .progression-system .ship-catalogue-tabs{gap:12px}
 .progression-system .ship-catalogue-tabs .exp-button{font-size:13px}
 .progression-toolbar{gap:0 16px}
}
@media(min-width:850px) and (min-height:551px){
 .exp-page.ship-upgrades.progression-system{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px 28px;padding:24px}
 .progression-system>.exp-screen-heading{grid-column:1/-1;grid-row:1}
 .progression-toolbar{grid-column:1/-1;grid-row:2}
 .progression-system>.trophy-cabinet{grid-column:1;grid-row:3;align-self:center;width:100%;margin:0}
 .progression-system>.journey-upgrade-stage{grid-column:2;grid-row:3;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;height:100%;max-height:100%;margin:0}
 .progression-system>.exp-screen-footer{grid-column:1/-1;grid-row:4}
 .progression-system .keepsake-view-navigation{display:none}
}
/* Journey report: outcome and bank lead; secondary records retain their view. */
.exp-summary.ship-summary.progression-summary{max-width:880px;padding:16px;gap:12px}
.progression-summary .ship-summary-scroll{padding:0 4px 12px;display:block}
.progression-summary .ship-summary-heading{gap:8px;margin-bottom:16px;max-width:620px}
.progression-summary .ship-summary-heading h1{font-size:32px;line-height:1.15}
.progression-summary .ship-summary-heading p{display:block;font-size:15px;line-height:1.5}
.progression-summary .ship-summary-location{font-size:13px;line-height:1.4}
.progression-summary .summary-view-navigation{display:flex;justify-content:center;margin:0 0 16px}
.progression-summary .summary-view-navigation>.exp-button{flex:none;min-height:44px;background:none;border:0;border-radius:8px;font-size:14px;font-weight:500;padding:8px 12px;color:var(--pm-ui-accent,#b5dac3)}
.progression-summary .ship-summary-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;max-width:620px;margin:auto}
.progression-summary .ship-summary-bank,.progression-summary .ship-summary-plan,.progression-summary .ship-summary-heroes,.progression-summary .ship-summary-reset{padding:0;background:none;border:0;box-shadow:none;border-radius:0}
.progression-summary .ship-summary-bank{display:grid;gap:6px;text-align:center;justify-items:center}
.progression-summary .exp-summary-gems{display:flex;align-items:center;gap:10px}
.progression-summary .exp-summary-gems .exp-money{font-size:36px}
.progression-summary .exp-summary-gems>small{font-size:12px;letter-spacing:.06em;line-height:1.4}
.progression-summary .ship-summary-bank>p{display:none}
.progression-summary .ship-summary-bank>strong{font-size:15px;line-height:1.4;font-weight:500;color:var(--pm-ui-muted,#b7c8c8)}
.progression-summary .ship-summary-plan{padding-top:16px;border-top:1px solid var(--pm-ui-line,#3c505b)}
.progression-summary .ship-summary-plan>small{font-size:13px;line-height:1.4;color:var(--pm-ui-muted,#b7c8c8)}
.progression-summary .ship-summary-plan h2{font-size:22px;line-height:1.3;margin:8px 0}
.progression-summary .ship-summary-plan h2>span{display:inline;margin-left:8px;font-size:13px;line-height:1.4;font-weight:500}
.progression-summary .ship-summary-plan p{font-size:15px;line-height:1.5;margin:8px 0}
.progression-summary .ship-summary-plan p strong{font-size:17px;line-height:1.4}
.progression-summary .ship-summary-plan>div{margin:12px 0;gap:12px}
.progression-summary .ship-summary-plan>div small{font-size:13px;line-height:1.4}
.progression-summary .ship-summary-plan .exp-button{min-height:48px;font-size:14px;font-weight:500;padding:10px 14px}
.progression-summary .ship-summary-kept{font-size:13px;line-height:1.5;padding:0}
.progression-summary .ship-summary-heroes h2,.progression-summary .ship-summary-reset h2{font-size:22px;line-height:1.3}
.progression-summary .ship-summary-party span{font-size:14px;line-height:1.4}
.progression-summary .exp-summary-stats{padding:16px 0;border-top:1px solid var(--pm-ui-line,#3c505b);border-bottom:1px solid var(--pm-ui-line,#3c505b);gap:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.progression-summary .exp-summary-stats>span{font-size:14px;line-height:1.4;padding:0;background:none;border:0}
.progression-summary .exp-summary-stats b{font-size:24px;line-height:1.3}
.progression-summary .ship-summary-reset p,.progression-summary .ship-summary-reset dd{font-size:15px;line-height:1.5}
.progression-summary .ship-summary-reset dt{font-size:14px;line-height:1.4}
.progression-summary .ship-summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;flex:none}
.progression-summary .ship-summary-actions>.exp-button{min-height:48px;font-size:15px;line-height:1.3;padding:12px;font-weight:500}
.progression-summary .ship-summary-actions>.exp-link{grid-column:1/-1;min-height:44px;font-size:14px;line-height:1.4;padding:8px;background:none;border:0;font-weight:500;color:var(--pm-ui-muted,#b7c8c8)}
.progression-summary .ship-summary-actions>.exp-link:after{display:none}
.progression-summary .ship-summary-actions>.exp-link .exp-icon{display:inline-block;width:16px;height:16px}
.progression-summary.summary-view-return :is(.ship-summary-heroes,.exp-summary-stats,.ship-summary-reset){display:none}
.progression-summary.summary-view-details :is(.ship-summary-bank,.ship-summary-plan,.ship-summary-kept){display:none}
@media(max-height:550px) and (orientation:landscape){
 .exp-page.ship-upgrades.progression-system{padding:8px 16px;gap:8px}
 .progression-system .exp-screen-heading h2{font-size:24px}
 .progression-system .progression-toolbar{justify-content:space-between;flex-wrap:nowrap}
 .progression-system .ship-catalogue-tabs .exp-button{min-height:44px}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage{display:grid;grid-template-columns:84px minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:8px 16px;text-align:left;align-items:start;align-content:start;padding:4px}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage>.exp-upgrade-icon{grid-column:1;grid-row:1/4;width:76px;height:76px;min-width:76px;min-height:76px}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage>:is(.exp-eyebrow,h1,p){grid-column:2;grid-row:auto}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage>:is(.exp-ranks,.ship-upgrade-benefit,.exp-button){grid-column:3;grid-row:auto}
 .progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage>small,.progression-system[data-keepsake-panel=upgrade]>.journey-upgrade-stage>.ship-purchase-preview{grid-column:2/4;grid-row:auto}
 .progression-system .journey-upgrade-stage h1{font-size:24px}
 .progression-system .journey-upgrade-stage>p{font-size:14px}
 .exp-summary.ship-summary.progression-summary{padding:8px 16px;gap:8px;max-width:1100px}
 .progression-summary .ship-summary-scroll{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:auto 1fr;gap:8px 24px}
 .progression-summary .ship-summary-heading{grid-column:1;grid-row:1;gap:6px;margin:0}
 .progression-summary .ship-summary-heading h1{font-size:26px}
 .progression-summary .ship-summary-heading p{font-size:14px}
 .progression-summary .summary-view-navigation{grid-column:1;grid-row:2;margin:0;align-self:start;flex-direction:row}
 .progression-summary .ship-summary-grid{grid-column:2;grid-row:1/3;gap:12px;width:100%}
 .progression-summary .ship-summary-plan{padding-top:12px}
 .progression-summary .ship-summary-plan h2{font-size:20px}
 .progression-summary .ship-summary-plan p{font-size:14px}
 .progression-summary .ship-summary-actions{grid-template-columns:1fr 1fr 1fr}
 .progression-summary .ship-summary-actions>.exp-link{grid-column:auto}
}

.progression-system,.progression-summary{background:var(--pm-ui-ink);color:var(--pm-ui-text)}
.progression-system :is(h1,h2,h3,strong),.progression-summary :is(h1,h2,h3,strong){color:var(--pm-ui-text)}
.progression-system :is(.exp-screen-heading small,.journey-upgrade-stage>.exp-eyebrow,.journey-upgrade-stage>p,.journey-upgrade-stage>small,.ship-upgrade-benefit small,.ship-purchase-preview),.progression-summary :is(.ship-summary-heading p,.ship-summary-location,.ship-summary-kept,.ship-summary-reset p,.ship-summary-reset dd){color:var(--pm-ui-muted)!important}
.progression-system .ship-upgrade-benefit b,.progression-summary .ship-summary-plan p strong{color:var(--pm-ui-accent)}
.progression-system .exp-button.primary,.progression-summary .exp-button.primary{background:var(--pm-ui-accent);color:var(--pm-ui-on-accent)}
.progression-system .trophy-slot{color:var(--pm-ui-text)}
.progression-system .trophy-slot :is(strong,small){background:var(--pm-ui-surface);color:var(--pm-ui-text);border-radius:4px;padding:2px 4px}
.progression-system .exp-screen-heading>.exp-icon-button,.progression-system .exp-pager button,.progression-summary .exp-button.secondary{background:var(--pm-ui-surface);color:var(--pm-ui-text);border-color:var(--pm-ui-line)}

:is(.progression-system,.progression-summary) .exp-money b{color:var(--pm-ui-text)}
:is(.progression-system,.progression-summary) .exp-pager>span{color:var(--pm-ui-muted)}

:is(.progression-system,.progression-summary) .exp-button.primary .exp-money{color:var(--pm-ui-on-accent)}
:is(.progression-system,.progression-summary) .exp-button.primary .exp-money b{color:var(--pm-ui-on-accent)}

.progression-system>.exp-screen-footer>.exp-button{color:var(--pm-ui-muted)}
.progression-system .exp-upgrade-icon:not(.keepsake-preview){background:var(--pm-ui-surface);color:var(--pm-ui-accent)}
.progression-system .trophy-slot.selected{border-color:var(--pm-ui-accent)}

.progression-system .trophy-cabinet>header{background:color-mix(in srgb,var(--pm-ui-surface) 96%,transparent);border-radius:8px;color:var(--pm-ui-text)}
.progression-system .trophy-cabinet>header>.exp-eyebrow{color:var(--pm-ui-muted)}

/* Quiet segmented browsing, with purchase and next voyage as clear pills. */
.progression-system .progression-toolbar{border:0}
.progression-system .ship-catalogue-tabs{padding:4px;gap:2px;border-radius:24px;background:var(--pm-ui-surface-soft);flex:0 1 auto}
.progression-system .ship-catalogue-tabs .exp-button{min-height:44px;padding:8px 12px;border:0;border-radius:22px}
.progression-system .ship-catalogue-tabs [aria-pressed=true]{background:var(--pm-ui-surface-raised);color:var(--pm-ui-text)}
.progression-system .journey-upgrade-stage>.exp-button.primary,.progression-summary .ship-summary-actions>.exp-button,.progression-summary .ship-summary-plan .exp-button{border-radius:28px}
.progression-summary .ship-summary-plan{border:0;padding:16px;border-radius:24px;background:var(--pm-ui-surface-soft)}
.progression-summary .exp-summary-stats{border:0;padding:16px;border-radius:24px;background:var(--pm-ui-surface-soft)}
/* The cabinet remains a physical dark-art object in both appearance modes. */
.progression-system .trophy-slot :is(strong,small){background:color-mix(in srgb,#07121a 82%,transparent);color:var(--pm-ui-over-art-text);border-radius:6px;padding:2px 4px}
.progression-system .trophy-slot small{color:var(--pm-ui-over-art-muted)}
