.anniversary-page .anniversary-intro { grid-template-columns:minmax(280px,.46fr) minmax(700px,1.54fr); }
.anniversary-page-heading .reset-title-primary,
.anniversary-page-heading .reset-title-secondary { font-size:clamp(42px,4.65vw,68px); }
.anniversary-intro>.top-workspace { grid-template-columns:minmax(510px,1.25fr) minmax(320px,.75fr); }
.inventory-note { position:relative; z-index:1; margin:11px 0 0; color:var(--muted); font-size:8px; line-height:1.5; }
.unowned-tech-toggle { position:relative; z-index:1; margin-top:11px; }
.unowned-tech-toggle:has(input:disabled) { cursor:not-allowed; opacity:.5; }
.unowned-projection { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:7px; }
.unowned-projection[hidden] { display:none; }
.unowned-projection>div { padding:8px 9px; border:1px solid var(--line-soft); background:rgba(2,39,75,.46); }
.unowned-projection span,.unowned-projection strong { display:block; }
.unowned-projection span { color:var(--muted); font:800 6px var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.unowned-projection strong { margin-top:4px; color:var(--success); font:900 12px var(--mono); }
.previously-owned-projection strong { color:var(--optional); }
.event-rules .read-guide { margin-top:15px; }
.event-rules .guide-item { padding:10px 0; }
.event-source-link { display:inline-block; margin-top:13px; color:var(--paper); font:800 8px var(--mono); letter-spacing:.04em; text-underline-offset:4px; }

.anniversary-summary-grid { grid-template-columns:minmax(300px,1.45fr) repeat(6,minmax(110px,.72fr)); }
.anniversary-player-card { grid-column:auto; }
.token-card>strong { color:var(--paper); }
.steel-card>strong { color:#c4d9e4; }
.planned-card>strong { color:var(--optional); }
.balance-card>strong { color:var(--success); }
.balance-card.is-short>strong { color:var(--danger); }

.anniversary-panel-head { grid-template-columns:1fr auto auto; }
.anniversary-panel-head .line-title { min-width:0; }
.port-count-control { display:grid; min-width:140px; gap:4px; color:var(--muted); font:900 7px var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.port-count-control input { width:140px; min-height:38px; padding:7px 10px; border:1px solid var(--line); background:rgba(2,39,75,.64); color:var(--paper); font:900 14px var(--mono); text-align:right; }
.tier-breakdown { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:9px; padding:14px; }
.tier-reward-card { position:relative; min-width:0; padding:13px; border:1px solid var(--line-soft); background:rgba(2,39,75,.46); overflow:hidden; }
.tier-reward-card::after { content:""; position:absolute; right:-42px; bottom:-50px; width:90px; height:90px; border:1px solid var(--line-soft); border-radius:50%; }
.tier-reward-card.supership { border-color:rgba(196,217,228,.42); background:linear-gradient(145deg,rgba(85,111,127,.22),rgba(2,39,75,.48)); }
.tier-reward-heading { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.tier-reward-heading span,.tier-reward-card label>span { color:var(--muted); font:900 7px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.tier-reward-heading strong { color:var(--paper); font:900 24px var(--display); }
.tier-reward-card label { position:relative; z-index:1; display:block; margin:10px 0; }
.tier-reward-card label>span { display:block; margin-bottom:4px; }
.tier-reward-card input { width:100%; height:38px; padding:7px 9px; border:1px solid var(--line); background:rgba(2,35,68,.75); color:var(--ink); font:900 14px var(--mono); text-align:right; }
.tier-projection { position:relative; z-index:1; margin:-4px 0 9px; color:var(--optional); font:800 7px var(--mono); }
.tier-projection[hidden] { display:none; }
.tier-reward-card dl { position:relative; z-index:1; display:grid; gap:6px; margin:0; }
.tier-reward-card dl>div { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.tier-reward-card dt { color:var(--muted); font-size:7px; }
.tier-reward-card dd { margin:0; font:800 8px var(--mono); text-align:right; }
.tier-reward-card dl>div:last-child { margin-top:2px; padding-top:7px; border-top:1px solid var(--line-soft); }
.tier-reward-card dl>div:last-child dd { color:var(--success); }

.rewards-panel { margin-top:14px; }
.rewards-head { grid-template-columns:1fr auto auto; }
.reward-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:14px; }
.reward-card { display:grid; grid-template-columns:minmax(0,1fr) auto 112px; gap:14px; align-items:center; min-height:105px; padding:15px; border:1px solid var(--line-soft); background:rgba(2,39,75,.42); }
.reward-card.is-selected { border-color:rgba(223,245,255,.52); background:rgba(11,78,139,.46); }
.reward-copy { min-width:0; }
.reward-copy>span { color:var(--paper); font:900 7px var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.reward-copy h3 { margin:5px 0; font-size:11px; line-height:1.35; }
.reward-copy p { margin:0; color:var(--muted); font-size:7px; }
.reward-copy .reward-description { max-width:430px; margin-bottom:5px; color:var(--ink); font-size:8px; line-height:1.4; }
.reward-quantity { display:grid; grid-template-columns:28px 58px 28px; gap:4px; align-items:end; }
.reward-quantity button { width:28px; height:34px; border:1px solid var(--line); background:rgba(3,45,87,.7); color:var(--paper); cursor:pointer; font:900 15px var(--mono); }
.reward-quantity button:hover { border-color:var(--paper); }
.reward-quantity .reward-max { grid-column:1/-1; width:100%; height:25px; color:var(--muted); font-size:7px; letter-spacing:.07em; text-transform:uppercase; }
.reward-quantity .reward-max:hover { color:var(--paper); }
.reward-quantity label { display:grid; gap:3px; color:var(--muted); font:800 6px var(--mono); letter-spacing:.05em; text-align:center; text-transform:uppercase; }
.reward-quantity input { width:58px; height:34px; padding:5px; border:1px solid var(--line); background:rgba(2,35,68,.8); color:var(--ink); font:900 11px var(--mono); text-align:center; }
.reward-subtotal { min-width:0; text-align:right; }
.reward-subtotal span,.reward-subtotal small { display:block; color:var(--muted); font:800 6px var(--mono); letter-spacing:.05em; text-transform:uppercase; }
.reward-subtotal strong { display:block; margin:5px 0 2px; color:var(--success); font:900 15px var(--mono); }
.reward-plan-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border-top:1px solid var(--line); background:rgba(2,39,75,.35); }
.reward-plan-footer>div:first-child span,.reward-plan-footer>div:first-child strong { display:block; }
.reward-plan-footer>div:first-child span { color:var(--muted); font:900 7px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.reward-plan-footer>div:first-child strong { margin-top:3px; font-size:13px; }
.reward-plan-footer b { color:var(--paper); font:900 19px var(--mono); }
.reward-plan-status { color:var(--success); font:800 9px var(--mono); text-align:right; }
.reward-plan-status.is-short { color:var(--danger); }
.anniversary-fleet-panel { margin-top:14px; }
.anniversary-fleet-head { grid-template-columns:1fr repeat(3,auto); }
.anniversary-roster-filters { grid-template-columns:minmax(230px,.8fr) minmax(320px,1.25fr) minmax(220px,.8fr); margin-top:12px; }
.anniversary-roster-filters .nation-filter { grid-column:1/-1; }
.anniversary-roster-filters .multi-filter { max-height:none; }
.anniversary-roster-filters fieldset[disabled] { opacity:.48; }
.anniversary-roster-filters fieldset[disabled] label { cursor:not-allowed; }
.anniversary-roster-filters .filter-meta { padding-top:2px; }
.previously-owned-toggle { position:relative; z-index:1; min-width:0; margin-top:7px; }
.previously-owned-toggle:has(input:disabled) { cursor:not-allowed; opacity:.5; }
.roster-ship.is-previously-owned { border-color:rgba(244,184,96,.46); background:rgba(244,184,96,.055); }
.roster-ship.is-previously-owned .roster-status { border-color:rgba(244,184,96,.55); color:var(--optional); }
.test-ship-banner { display:inline-block; margin:5px 0 0 4px; padding:2px 5px; border:1px solid rgba(255,126,118,.68); border-radius:999px; background:rgba(255,126,118,.12); color:var(--danger); font-size:6px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.anniversary-roster-panel { margin-top:0; }
.anniversary-roster-empty { grid-column:1/-1; padding:28px; text-align:center; }

@media (max-width:1350px) {
  .anniversary-summary-grid { grid-template-columns:repeat(6,1fr); }
  .anniversary-player-card { grid-column:1/-1; }
  .tier-breakdown { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .tier-reward-card:last-child { grid-column:span 2; }
}
@media (max-width:1150px) {
  .anniversary-page .anniversary-intro { grid-template-columns:1fr; }
  .anniversary-intro>.top-workspace { grid-template-columns:1fr; }
  .reward-grid { grid-template-columns:1fr; }
  .anniversary-roster-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .anniversary-summary-grid { grid-template-columns:repeat(2,1fr); }
  .anniversary-player-card { grid-column:1/-1; }
  .anniversary-panel-head,.rewards-head { grid-template-columns:1fr 1fr; }
  .anniversary-panel-head .line-title { grid-column:1/-1; }
  .tier-breakdown { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tier-reward-card:last-child { grid-column:auto; }
  .reward-card { grid-template-columns:minmax(0,1fr) auto; }
  .reward-subtotal { grid-column:1/-1; padding-top:9px; border-top:1px solid var(--line-soft); }
  .anniversary-fleet-head { grid-template-columns:1fr 1fr 1fr; }
  .anniversary-fleet-head .line-title { grid-column:1/-1; }
  .anniversary-roster-filters { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .anniversary-page-heading .reset-title-primary,
  .anniversary-page-heading .reset-title-secondary { font-size:clamp(22px,7vw,28px); }
  .anniversary-summary-grid { grid-template-columns:1fr 1fr; }
  .tier-breakdown { grid-template-columns:1fr 1fr; padding:10px; }
  .tier-reward-card { padding:11px; }
  .port-count-control input { width:100%; }
  .unowned-projection { grid-template-columns:1fr; }
  .reward-grid { padding:10px; }
  .reward-card { gap:10px; padding:12px; }
  .reward-quantity { grid-template-columns:26px 52px 26px; }
  .reward-quantity input { width:52px; }
  .reward-quantity button { width:26px; }
  .reward-plan-footer { display:block; }
  .reward-plan-status { margin-top:10px; text-align:left; }
  .anniversary-roster-filters { grid-template-columns:1fr; }
  .anniversary-fleet-head { grid-template-columns:1fr 1fr; }
  .anniversary-fleet-head .line-title { grid-column:1/-1; }
}
