/* ============================================================================
   MENUS — one design for every sheet, the start screen and the game over.
   Dark glass over the living island, brass hairlines, cream type, gold
   actions. Loaded last. Most inner components (trade ledgers, rules, recap…)
   were drawn for parchment with var(--ink)/var(--parch-*): instead of
   restyling each one, the palette variables are re-pointed inside every
   menu surface, so they all flip to the night palette together. Resource
   cards stay physical parchment cards (they re-pin the old palette).
   ============================================================================ */
:root{
  --m-glass:rgba(21,15,10,.84);
  --m-glass-hi:rgba(44,32,21,.62);
  --m-line:rgba(232,196,120,.22);
  --m-line-strong:rgba(232,196,120,.5);
  --m-gold:#ecc87c;
  --m-gold-2:#c8994a;
  --m-cream:#f7eedb;
  --m-muted:rgba(247,238,219,.68);
  --m-faint:rgba(247,238,219,.45);
  --m-red:#c9492f;
  --m-radius:22px;
  --m-ease:cubic-bezier(.2,.9,.25,1);
  --m-spring:cubic-bezier(.34,1.45,.64,1);
}

/* ---- the night palette, scoped to every menu surface ---- */
#modal-content,
#setup-screen .chart,#setup-screen .crew,
#gameover-screen .gameover-card,
#resume-lobby-screen .setup-card{
  --ink:var(--m-cream);
  --ink-soft:var(--m-muted);
  --ink-faint:var(--m-faint);
  --paper:rgba(255,244,220,.07);
  --paper-2:rgba(255,244,220,.04);
  --paper-shadow:rgba(0,0,0,.3);
  --parch-0:rgba(255,244,220,.09);
  --parch-1:rgba(255,244,220,.05);
  --parch-2:rgba(255,244,220,.03);
  --parch-edge:var(--m-line);
  --brass-pale:var(--m-cream);
  --seal:#e0664a;
  color:var(--m-cream);
}
/* physical cards keep their paper */
.res-card,.res-stack,.dev-card,.card-front{
  --ink:#241c12;--ink-soft:#5c4a30;--ink-faint:#8c7a56;
  --parch-0:#f7ecd2;--parch-1:#ecdcb6;--parch-2:#dcc79a;--paper:#ecdfba;--paper-2:#ddc793;
}

/* shared glass surface */
#modal-content.modal,
#setup-screen .chart,#setup-screen .crew,
#gameover-screen .gameover-card,
#resume-lobby-screen .setup-card{
  background:
    radial-gradient(120% 60% at 0% 0%, rgba(236,200,124,.10), transparent 60%),
    linear-gradient(180deg,var(--m-glass-hi),var(--m-glass) 38%);
  background-color:var(--m-glass);
  -webkit-backdrop-filter:blur(26px) saturate(1.35);backdrop-filter:blur(26px) saturate(1.35);
  border:1px solid var(--m-line);
  border-radius:var(--m-radius);
  box-shadow:0 40px 100px rgba(4,3,2,.55), 0 10px 30px rgba(4,3,2,.35), inset 0 1px 0 rgba(255,255,255,.09);
}
#modal-content.modal::before,
#setup-screen .chart::before,#setup-screen .crew::before,
#gameover-screen .gameover-card::before{display:none;}
#modal-content > .corner-ornament,
#setup-screen .chart > .corner-ornament,#setup-screen .crew > .corner-ornament,
#gameover-screen .corner-ornament{display:none;}

/* ============================================================== modals */
.modal-overlay{
  background:radial-gradient(ellipse at 50% 50%, rgba(8,6,4,.25) 0%, rgba(6,4,2,.66) 100%);
  -webkit-backdrop-filter:blur(7px) saturate(1.05);backdrop-filter:blur(7px) saturate(1.05);
}
#modal-content.modal{
  padding:0;min-width:380px;max-width:580px;overflow:hidden;
  animation:mSheetIn .55s var(--m-ease) both;
}
#modal-content.modal:has(.modal-wide){max-width:760px;}
@keyframes mSheetIn{from{opacity:0;transform:translateY(22px) scale(.96);}to{opacity:1;transform:none;}}
#modal-content.modal > div:not(.modal-sheet){padding:28px 32px;}

.modal-sheet{max-height:88vh;}
.modal-head{
  text-align:left;margin:0;padding:28px 32px 10px;border-bottom:none;
}
.modal-head::after{display:none;}
.modal-head .kicker{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;
  font:700 .62rem/1 "IBM Plex Sans",sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--m-gold);
}
.modal-head .kicker::before{content:"";width:18px;height:1px;background:var(--m-gold);opacity:.7;}
.modal-head h2,.modal h2{
  font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:2.15rem;line-height:1.02;letter-spacing:.005em;
  color:var(--m-cream);margin:0;text-wrap:balance;
}
.modal-sub{margin:10px 0 0;max-width:36em;margin-left:0;color:var(--m-muted);font-size:.88rem;line-height:1.5;}
.modal-body{padding:14px 32px 10px;}
.modal-foot{
  margin:8px 0 0;padding:16px 28px 22px;gap:10px;justify-content:flex-end;
  border-top:1px solid var(--m-line);background:rgba(0,0,0,.14);
}
.modal-close{
  top:18px;right:18px;width:36px;height:36px;border-radius:50%;
  background:rgba(255,244,220,.07);border:1px solid var(--m-line);color:var(--m-cream);
  box-shadow:none;font-size:1.3rem;padding:0 0 2px;
  transition:transform .35s var(--m-spring), background-color .15s ease, border-color .15s ease;
}
.modal-close:hover{background:rgba(255,244,220,.14);border-color:var(--m-line-strong);color:#fff;transform:rotate(90deg);box-shadow:none;}
.section-label{font-family:"IBM Plex Sans",sans-serif;font-weight:700;letter-spacing:.22em;color:var(--m-gold);}
.modal-note{color:var(--m-faint);}
.modal-row{border-bottom-color:var(--m-line);}

/* ============================================================= buttons */
:is(#modal-content,#setup-screen,#gameover-screen,#resume-lobby-screen) .btn-primary{
  width:auto;padding:12px 26px;border:none;border-radius:999px;
  background:linear-gradient(180deg,#f3d58f,#d3a553 55%,#b8893a);
  color:#23170a;font:700 .9rem/1 "IBM Plex Sans",sans-serif;letter-spacing:.02em;
  box-shadow:0 10px 24px rgba(200,150,60,.28), inset 0 1px 0 rgba(255,255,255,.6), inset 0 -2px 0 rgba(120,80,20,.35);
  transition:transform .2s var(--m-spring), filter .15s ease, box-shadow .2s ease;
}
:is(#modal-content,#setup-screen,#gameover-screen,#resume-lobby-screen) .btn-primary:hover:not(:disabled){
  transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 14px 30px rgba(200,150,60,.38), inset 0 1px 0 rgba(255,255,255,.6), inset 0 -2px 0 rgba(120,80,20,.35);
}
:is(#modal-content,#setup-screen,#gameover-screen,#resume-lobby-screen) .btn-primary:active:not(:disabled){transform:scale(.97);}
:is(#modal-content,#setup-screen,#gameover-screen,#resume-lobby-screen) .btn-primary:disabled{
  opacity:1;filter:none;cursor:not-allowed;transform:none;
  background:rgba(255,244,220,.08);color:var(--m-faint);box-shadow:inset 0 0 0 1px var(--m-line);
}
:is(#modal-content,#setup-screen,#gameover-screen,#resume-lobby-screen) .btn-primary.btn-danger{
  background:linear-gradient(180deg,#d9573b,#a3321f);color:#fff4ea;box-shadow:0 10px 24px rgba(160,40,20,.3), inset 0 1px 0 rgba(255,255,255,.3);
}
:is(#modal-content,#setup-screen,#gameover-screen,#resume-lobby-screen) .btn-secondary,
:is(#modal-content,#setup-screen,#gameover-screen,#resume-lobby-screen) .btn-ghost{
  width:auto;padding:11px 22px;border-radius:999px;
  background:rgba(255,244,220,.05);border:1px solid var(--m-line-strong);color:var(--m-cream);
  font:600 .88rem/1 "IBM Plex Sans",sans-serif;box-shadow:none;filter:none;
  transition:transform .2s var(--m-spring), background-color .15s ease, border-color .15s ease;
}
:is(#modal-content,#setup-screen,#gameover-screen,#resume-lobby-screen) .btn-secondary:hover:not(:disabled),
:is(#modal-content,#setup-screen,#gameover-screen,#resume-lobby-screen) .btn-ghost:hover:not(:disabled){
  background:rgba(255,244,220,.12);border-color:var(--m-gold);transform:translateY(-2px);filter:none;
}
:is(#modal-content,#setup-screen,#gameover-screen,#resume-lobby-screen) .btn-secondary:active:not(:disabled){transform:scale(.97);box-shadow:none;}
.modal-actions{justify-content:flex-end;}
.modal-actions button{flex:0 0 auto;}

/* segmented + toggles + ranges */
:is(#modal-content,#setup-screen) .segmented{
  background:rgba(0,0,0,.3);border:1px solid var(--m-line);border-radius:14px;padding:4px;gap:4px;
}
:is(#modal-content,#setup-screen) .segmented button{
  border-radius:10px;color:var(--m-muted);font:600 .8rem/1 "IBM Plex Sans",sans-serif;padding:10px 6px;background:none;
}
:is(#modal-content,#setup-screen) .segmented button:hover:not(.active):not(:disabled){background:rgba(255,244,220,.07);color:var(--m-cream);}
:is(#modal-content,#setup-screen) .segmented button.active{
  background:linear-gradient(180deg,#f3d58f,#c99a47);color:#23170a;
  box-shadow:0 4px 12px rgba(200,150,60,.3), inset 0 1px 0 rgba(255,255,255,.5);
}
:is(#modal-content,#setup-screen) .switch{background:rgba(0,0,0,.4);box-shadow:inset 0 0 0 1px var(--m-line);}
:is(#modal-content,#setup-screen) .toggle-row input:checked + .switch{background:linear-gradient(180deg,#f3d58f,#c99a47);}
:is(#modal-content,#setup-screen) .toggle-row input:checked + .switch::after{background:#23170a;}
:is(#modal-content,#setup-screen) .toggle-row{color:var(--m-cream);}
:is(#modal-content,#setup-screen) .value-badge{background:rgba(236,200,124,.16);color:var(--m-gold);border:1px solid var(--m-line-strong);border-radius:999px;}

/* ======================================================== resource bits */
.res-cards{gap:14px;padding:12px 0 16px;}
.res-card{
  width:92px;height:128px;border-radius:12px;
  background:radial-gradient(ellipse at 50% 18%, #fffdf6, transparent 60%), linear-gradient(180deg,#f8eed6,#e6d2a4);
  border:1px solid rgba(120,84,30,.55);
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.35), inset 0 0 0 5px rgba(176,138,69,.5), 0 8px 18px rgba(0,0,0,.4);
  transition:transform .25s var(--m-spring), box-shadow .2s ease, opacity .15s ease;
}
.res-card img{width:48px;height:48px;}
.res-card:hover:not(:disabled){transform:translateY(-8px) rotate(-1.5deg);}
.res-card.picked{
  transform:translateY(-6px);
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.35), inset 0 0 0 5px rgba(176,138,69,.5), 0 0 0 3px var(--m-gold), 0 0 26px rgba(236,200,124,.55), 0 10px 20px rgba(0,0,0,.45);
}
.res-card-sel{background:linear-gradient(180deg,#f3d58f,#c99a47);color:#23170a;border:2px solid #fff4dc;font-size:.9rem;}
.res-card-minus{background:#2b1f14;color:var(--m-cream);border:1px solid var(--m-line-strong);}
.hand-strip{background:rgba(0,0,0,.24);border:1px solid var(--m-line);border-radius:14px;padding:8px 12px;}
.hand-strip-label{font-family:"IBM Plex Sans",sans-serif;font-weight:700;letter-spacing:.2em;color:var(--m-gold);}
.res-stack{border-radius:10px;border-color:rgba(120,84,30,.5);background:linear-gradient(180deg,#f8eed6,#e6d2a4);}
.discard-bar{background:rgba(0,0,0,.35);}
.discard-bar::after{background:linear-gradient(90deg,#f3d58f,#c99a47);}
.discard-count b{color:var(--m-gold);}
.discard-timer-row{color:var(--m-muted);}
.discard-timer-row #discard-timer-text{color:var(--m-gold);}
.trade-preview,.trade-offer-goods{background:rgba(0,0,0,.2);border-color:var(--m-line);border-radius:14px;}
.trade-arrow-line em{color:var(--m-gold);}
.timer-bar{background:rgba(0,0,0,.35);}
.timer-bar::after{background:var(--m-gold);}

/* ============================================================== pause */
#modal-content.modal:has(.pause-sheet){max-width:460px;min-width:420px;}
.pause-sheet .modal-head{padding-bottom:6px;}
.pause-sheet .modal-body{padding:10px 18px 18px;}
.pause-list{display:flex;flex-direction:column;gap:4px;}
.pause-item{
  display:flex;align-items:center;gap:14px;width:100%;padding:10px 14px;border-radius:14px;cursor:pointer;text-align:left;
  background:none;border:1px solid transparent;color:var(--m-cream);font:inherit;
  transition:background-color .15s ease, border-color .15s ease, transform .25s var(--m-spring);
  animation:mItemIn .5s var(--m-ease) both;
}
.pause-item:nth-child(1){animation-delay:.05s}.pause-item:nth-child(2){animation-delay:.08s}.pause-item:nth-child(3){animation-delay:.11s}
.pause-item:nth-child(4){animation-delay:.14s}.pause-item:nth-child(5){animation-delay:.17s}.pause-item:nth-child(6){animation-delay:.2s}
.pause-item:nth-child(7){animation-delay:.23s}.pause-item:nth-child(8){animation-delay:.26s}.pause-item:nth-child(n+9){animation-delay:.29s}
@keyframes mItemIn{from{opacity:0;transform:translateX(-10px);}to{opacity:1;transform:none;}}
.pause-item:hover{background:rgba(255,244,220,.07);border-color:var(--m-line);transform:translateX(4px);}
.pause-item:focus-visible{outline:none;border-color:var(--m-gold);}
.pause-ico{
  flex:0 0 40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.3);box-shadow:inset 0 0 0 1px var(--m-line);color:var(--m-gold);
}
.pause-ico .ico{width:20px;height:20px;}
.pause-text{display:flex;flex-direction:column;gap:3px;min-width:0;}
.pause-text b{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.28rem;font-weight:600;line-height:1;}
.pause-text small{font-size:.74rem;color:var(--m-faint);}
.pause-item.primary{background:linear-gradient(90deg,rgba(236,200,124,.2),rgba(236,200,124,.04));border-color:var(--m-line-strong);margin-bottom:6px;}
.pause-item.primary .pause-ico{background:linear-gradient(180deg,#f3d58f,#c99a47);color:#23170a;box-shadow:none;}
.pause-item.quiet{margin-top:6px;border-top-color:var(--m-line);}
.pause-item.danger .pause-text b{color:#f0a08c;}
.pause-item.danger .pause-ico{color:#f0a08c;}
.pause-room{margin:14px 14px 0;font-size:.8rem;color:var(--m-muted);display:flex;justify-content:space-between;}
.pause-room strong{color:var(--m-gold);letter-spacing:.14em;}

/* ======================================================= settings sheet */
.settings-section{margin:4px 0 18px;}
.settings-section h3,.rules-section h3{
  border:none;padding:0;margin:6px 0 10px;
  font:700 .62rem/1 "IBM Plex Sans",sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--m-gold);
}
.settings-row{padding:11px 14px;border:none;border-radius:12px;background:rgba(0,0,0,.18);margin-bottom:6px;font-size:.9rem;}
.settings-row strong{color:var(--m-cream);}
.pill.on{background:rgba(120,200,120,.18);color:#bfe8b2;border-color:rgba(150,220,140,.4);}
.pill.off{background:rgba(255,120,100,.14);color:#f2b0a0;border-color:rgba(240,140,120,.35);}
.theme-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.theme-option{
  padding:14px 16px;border-radius:16px;background:rgba(0,0,0,.2);border:1px solid var(--m-line);align-items:flex-start;
}
.theme-option:hover{border-color:var(--m-line-strong);background:rgba(255,244,220,.05);}
.theme-option:has(input:checked){border-color:var(--m-gold);background:linear-gradient(160deg,rgba(236,200,124,.16),rgba(0,0,0,.18));box-shadow:0 0 0 1px var(--m-gold), 0 10px 24px rgba(0,0,0,.3);}
.theme-option input{accent-color:#e0b25e;}
.theme-option input:checked ~ .theme-option-body strong{color:var(--m-gold);}
.theme-option-body strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem;}
.theme-option-body small{color:var(--m-faint);}

/* ======================================================== achievements */
.ach-progress{height:10px;background:rgba(0,0,0,.35);margin:6px 0 18px;box-shadow:inset 0 0 0 1px var(--m-line);}
.ach-grid{gap:10px;}
.ach-card{
  background:rgba(0,0,0,.2);border:1px solid var(--m-line);border-radius:16px;padding:12px 14px;
  opacity:.55;filter:grayscale(.85);
}
.ach-card.on{
  opacity:1;filter:none;border-color:var(--m-line-strong);
  background:linear-gradient(135deg,rgba(236,200,124,.18),rgba(0,0,0,.2) 70%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 20px rgba(0,0,0,.25);
}
.ach-text strong{color:var(--m-cream);font-size:1.1rem;}
.ach-text small{color:var(--m-muted);}
.ach-medal{box-shadow:0 0 0 2px rgba(236,200,124,.5), 0 0 18px rgba(236,200,124,.25), inset 0 -2px 4px rgba(0,0,0,.25);}
.ach-card:not(.on) .ach-medal{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px var(--m-line);}

/* ============================================ character selection sheet */
#modal-content.modal:has(.identity-sheet){max-width:820px;width:min(820px,94vw);}
.identity-layout{display:grid;grid-template-columns:230px 1fr;gap:30px;align-items:start;padding-bottom:6px;}
.identity-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;position:sticky;top:0;}
.identity-hero-frame{
  width:196px;height:196px;border-radius:50%;padding:9px;position:relative;
  background:conic-gradient(from 200deg, #7a5420, #f0d48a 20%, #9a7130 45%, #f7e2a5 65%, #8a6226 85%, #7a5420);
  box-shadow:0 20px 50px rgba(0,0,0,.5), 0 0 60px color-mix(in srgb, var(--house) 45%, transparent);
  transition:box-shadow .3s ease;
}
.identity-hero-frame::before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--house);transition:background-color .25s ease;}
.identity-hero-frame img{position:relative;width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px rgba(20,12,4,.6);animation:mPortrait .45s var(--m-spring);}
@keyframes mPortrait{from{transform:scale(.9);opacity:.4;}to{transform:none;opacity:1;}}
.identity-hero-name{margin-top:10px;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.9rem;line-height:1;}
.identity-hero-house{display:inline-flex;align-items:center;gap:8px;font:700 .66rem/1 "IBM Plex Sans",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb, var(--house) 55%, #fff 45%);}
.identity-hero-dot{width:10px;height:10px;border-radius:50%;background:var(--house);box-shadow:0 0 0 2px rgba(255,255,255,.25);}
.identity-label{margin:0 0 10px;font:700 .62rem/1 "IBM Plex Sans",sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--m-gold);}
.identity-label:not(:first-child){margin-top:18px;}
.identity-sheet .identity-faces{display:grid;grid-template-columns:repeat(6,1fr);gap:10px 8px;margin:0;}
.identity-sheet .identity-faces .face{
  width:auto;height:auto;border:none;border-radius:14px;background:none;padding:6px 2px 4px;cursor:pointer;overflow:visible;box-shadow:none;
  display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--m-muted);
  transition:background-color .15s ease, transform .25s var(--m-spring);
}
.identity-sheet .identity-faces .face img{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--m-line), 0 6px 14px rgba(0,0,0,.35);transition:box-shadow .2s ease;}
.identity-sheet .identity-faces .face span{font-size:.68rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.identity-sheet .identity-faces .face:hover:not(.taken){background:rgba(255,244,220,.06);transform:translateY(-3px);}
.identity-sheet .identity-faces .face.on{background:rgba(236,200,124,.12);color:var(--m-cream);}
.identity-sheet .identity-faces .face.on img{box-shadow:0 0 0 3px var(--m-gold), 0 0 22px rgba(236,200,124,.5);}
.identity-sheet .identity-faces .face.taken{opacity:.3;filter:grayscale(1);cursor:not-allowed;}
.identity-sheet .identity-colors{border:none;padding:0;gap:10px;display:grid;grid-template-columns:repeat(6,34px);}
.identity-sheet .swatch{width:34px;height:34px;border:2px solid rgba(0,0,0,.4);}
.identity-sheet .swatch.on{outline:2px solid var(--m-gold);outline-offset:3px;}
.identity-sheet .swatch.taken{opacity:.25;cursor:not-allowed;}
@media (max-width:720px){
  .identity-layout{grid-template-columns:1fr;}
  .identity-hero-frame{width:140px;height:140px;}
  .identity-sheet .identity-faces{grid-template-columns:repeat(4,1fr);}
}

/* ================================================== steal / dev cards */
#modal-content.modal:has(.steal-sheet){max-width:640px;}
.victim-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 0 20px;}
.victim-card{
  width:170px;padding:18px 12px 14px;border-radius:18px;cursor:pointer;font:inherit;color:var(--m-cream);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  background:rgba(0,0,0,.24);border:1px solid var(--m-line);
  transition:transform .3s var(--m-spring), border-color .15s ease, box-shadow .2s ease, background-color .15s ease;
}
.victim-card:hover{transform:translateY(-6px);border-color:var(--house);background:rgba(255,244,220,.05);box-shadow:0 16px 34px rgba(0,0,0,.4), 0 0 30px color-mix(in srgb, var(--house) 35%, transparent);}
.victim-portrait img{width:78px;height:78px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--house), 0 0 0 5px rgba(0,0,0,.4);}
.victim-name{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.3rem;}
.victim-hand{position:relative;height:40px;width:100%;}
.victim-hand i{
  position:absolute;left:50%;bottom:0;width:26px;height:36px;margin-left:-13px;border-radius:4px;
  background:linear-gradient(160deg,#7a2e1f,#4a1a10);border:1px solid #c9a15a;
  transform:translateX(calc(var(--i) * 11px)) rotate(calc(var(--i) * 7deg));transform-origin:50% 120%;
  box-shadow:0 2px 4px rgba(0,0,0,.4);transition:transform .3s var(--m-spring);
}
.victim-card:hover .victim-hand i{transform:translateX(calc(var(--i) * 14px)) rotate(calc(var(--i) * 11deg)) translateY(-3px);}
.victim-count{font-size:.75rem;color:var(--m-muted);}
.monopoly-cards .res-card{justify-content:space-around;}
.confirm-text{color:var(--m-muted);line-height:1.55;margin:0 0 6px;}
#modal-content.modal:has(.confirm-sheet){max-width:460px;}

/* ================================================ start screen (setup) */
#setup-screen .chart,#setup-screen .crew{padding:26px 26px 20px;}
#setup-screen .chart{color:var(--m-cream);}
#setup-screen .chart-title,#setup-screen .crew-title,
body.menu-live #setup-screen .chart-legend::before{
  color:var(--m-cream);font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:2.1rem;border-bottom:1px solid var(--m-line);
  text-shadow:none;
}
#setup-screen .chart-sub,#setup-screen .chart-map-caption,#setup-screen .crew-hint{color:var(--m-muted);}
#setup-screen .chart-legend .setup-section > label,#setup-screen .crew-section > label{
  font:700 .62rem/1 "IBM Plex Sans",sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--m-gold);margin-bottom:9px;
}
#setup-screen .chart-map-frame{border-color:var(--m-line);box-shadow:inset 0 0 40px rgba(0,0,0,.35);background:rgba(10,40,48,.4);border-radius:16px;}
#setup-screen .chart-link{color:var(--m-cream);border-bottom-color:var(--m-line-strong);}
#setup-screen .chart-link:hover{color:var(--m-gold);border-color:var(--m-gold);}
#setup-screen .chart-link .ico{color:var(--m-gold);}
#setup-screen .chart-foot,#setup-screen .chart-map-caption{border-top-color:var(--m-line);}
#setup-screen .chart-note{background:linear-gradient(90deg,rgba(236,200,124,.18),rgba(0,0,0,.2));border:1px solid var(--m-line-strong);border-radius:16px;padding:12px 14px;}
#setup-screen .chart-note-text{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.15rem;}
#setup-screen .crew-net-btn{border-radius:12px;background:rgba(0,0,0,.25);border:1px solid var(--m-line);color:var(--m-cream);padding:11px 8px;}
#setup-screen .crew-net-btn:hover{border-color:var(--m-gold);background:rgba(255,244,220,.06);}
#setup-screen .crew .player-row{
  padding:9px 12px;border-radius:16px;background:rgba(0,0,0,.2);border:1px solid var(--m-line);
  transition:border-color .15s ease, background-color .15s ease;
}
#setup-screen .crew .player-row:hover{border-color:var(--m-line-strong);background:rgba(255,244,220,.04);}
#setup-screen .crew .player-row input[type=text],#setup-screen .crew .player-row > span:not(.badge-mini){color:var(--m-cream);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.25rem;}
#setup-screen .avatar-medallion{width:50px;height:50px;box-shadow:0 0 0 2px rgba(0,0,0,.5), 0 6px 14px rgba(0,0,0,.45), 0 0 18px color-mix(in srgb, var(--house) 40%, transparent);}
#setup-screen .avatar-medallion img{left:6px;top:6px;width:38px;height:38px;}
#setup-screen button.avatar-medallion::after{
  content:"";position:absolute;right:-3px;bottom:-3px;width:18px;height:18px;border-radius:50%;
  background:#f3d58f url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 20h4l10-10-4-4L4 16z' fill='%2323170a'/></svg>") center/11px no-repeat;
  box-shadow:0 0 0 2px #23170a;opacity:0;transform:scale(.6);transition:opacity .15s ease, transform .2s var(--m-spring);
}
#setup-screen .player-row:hover button.avatar-medallion::after{opacity:1;transform:none;}
#setup-screen .crew .row-toggle{background:rgba(0,0,0,.35);border-color:var(--m-line);border-radius:999px;}
#setup-screen .crew .row-toggle button{border-radius:999px;}
#setup-screen .crew .row-toggle button.active{background:linear-gradient(180deg,#f3d58f,#c99a47);color:#23170a;}
#setup-screen .crew .badge-mini{border-radius:999px;background:rgba(0,0,0,.3);border-color:var(--m-line);color:var(--m-muted);}
/* the start seal becomes the one big gold call to action */
#setup-screen .btn-primary.seal-btn{width:100%;padding:17px 22px 17px 58px;font-size:1.02rem;border-radius:18px;text-align:left;}
#setup-screen .btn-primary.seal-btn::before{left:14px;width:30px;height:30px;border-color:#5a1c10;}
#setup-screen .btn-primary.seal-btn::after{left:20px;}
#setup-screen .btn-primary.seal-btn:hover:not(:disabled){transform:translateY(-3px);}
#setup-screen input[type=range]{accent-color:#e0b25e;}
@media (min-width:1001px){
  body.menu-live .setup-card.chart-table{gap:16px;}
  body.menu-live #setup-screen .chart-map-caption{border-top-color:var(--m-line);}
}

/* ================================================== game over + lobby */
#gameover-screen .gameover-card{padding:30px 30px 24px;}
#gameover-screen .gameover-title{color:var(--m-cream);font-family:"Cormorant Garamond",Georgia,serif;font-style:normal;}
#gameover-screen .gameover-title .gameover-winner-name{color:var(--winner-color,var(--m-gold));}
#gameover-screen .kicker{color:var(--m-gold);letter-spacing:.3em;}
#resume-lobby-screen .setup-card{padding:32px;}

@media (prefers-reduced-motion:reduce){
  #modal-content.modal,.pause-item,.identity-hero-frame img{animation:none;}
}

/* ---- fixes for parchment-era pieces that used --ink as a background ---- */
#modal-content.modal{max-width:640px;}
#modal-content .res-cards{flex-wrap:nowrap;}
.modal-foot:empty{display:none;}
.recap-rank,.vp-pill{background:rgba(255,244,220,.12);color:var(--m-cream);}
.recap-row-winner .recap-rank,.recap-row-winner .vp-pill{background:linear-gradient(180deg,#f3d58f,#c99a47);color:#23170a;}
.recap-row{background:rgba(0,0,0,.2);border-color:var(--m-line);border-radius:14px;}
.recap-stat-cell{background:rgba(0,0,0,.2);border-color:var(--m-line);border-radius:8px;}
#gameover-screen .gameover-title{letter-spacing:.005em;text-transform:none;font-weight:600;}
.trade-stamp-btn{
  padding:6px 22px 6px 6px;border:none;
  background:linear-gradient(180deg,#f3d58f,#d3a553 55%,#b8893a);color:#23170a;
  font:700 .9rem/1 "IBM Plex Sans",sans-serif;
  box-shadow:0 10px 24px rgba(200,150,60,.28), inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .2s var(--m-spring), filter .15s ease;
}
.trade-stamp-btn .seal-medallion{width:32px;height:32px;}
.trade-stamp-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.06);}
.trade-stamp-btn:disabled{opacity:1;filter:none;background:rgba(255,244,220,.08);color:var(--m-faint);box-shadow:inset 0 0 0 1px var(--m-line);}
.trade-stamp-btn:disabled .seal-medallion{filter:grayscale(1);opacity:.4;}
