
:root{
  --ink:#351323; --wine:#431127; --wine-deep:#290817; --rose:#ed0c72;
  --purple:#7b2ee5;
  --gold:#7b2ee5; --gold-soft:#c8a9ff; --blush:#ffd0e3; --blush-soft:#fce7ef;
  --cream:#f8f3ef; --card:#fffaf7; --line:#efd7df; --miss:#9b5b6b;
  --muted:#806b70; --soft-text:#9a8589; --surface:#fff; --surface-soft:#fff5f7;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ink:#f8e9ee; --wine:#f3dbe4; --wine-deep:#fff4f7; --rose:#e78cab;
  --purple:#b98cff;
  --gold:#f2c85f; --gold-soft:#f7df96; --blush:#71334c; --blush-soft:#3a1b29;
  --cream:#170a11; --card:#25131c; --line:#5b2d41; --miss:#c898a7;
  --muted:#c6a8b3; --soft-text:#a98794; --surface:#211019; --surface-soft:#301722;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold-soft);outline-offset:2px}
body{
  background:
    radial-gradient(1100px 560px at 85% -8%, #fce2eb 0%, transparent 60%),
    radial-gradient(900px 520px at -10% 8%, #f7e9e2 0%, transparent 55%),
    radial-gradient(760px 620px at -12% 48%, rgba(255,184,213,.3) 0%, transparent 68%),
    radial-gradient(760px 620px at 112% 54%, rgba(188,148,255,.22) 0%, transparent 68%),
    var(--cream);
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.app{max-width:760px;margin:0 auto;padding:18px 18px 96px}
.hdr{text-align:center;padding:10px 0 0;position:relative}
.brand-logo{display:block;width:min(100%,500px);height:auto;margin:0 auto -2px}
.eyebrow{letter-spacing:.35em;font-size:11px;font-weight:600;color:var(--rose);text-transform:uppercase}
.hdr h1{font-family:'Playfair Display',Georgia,serif;font-size:34px;line-height:1.1;margin:8px 0 6px;color:var(--wine)}
.seasonpill{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--wine);background:linear-gradient(135deg,var(--blush-soft),#f5d7e4);padding:4px 14px;border-radius:999px}
.stepper{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;margin:24px 0 18px;padding:0 4px}
.stepper::before{content:"";position:absolute;z-index:0;left:12.5%;right:12.5%;top:23px;height:1.5px;background:linear-gradient(90deg,#ec9fc0 0%,#cba4ea 46%,#d7b969 72%,#b996a4 100%)}
.step{--step-accent:#bfa7af;position:relative;z-index:1;display:grid;grid-template-rows:48px auto;place-items:center;min-width:0;padding:0 5px;color:#bba2aa}
.step:nth-child(1){--step-accent:var(--rose)}
.step:nth-child(2){--step-accent:var(--purple)}
.step:nth-child(3){--step-accent:#bd8a1c}
.step:nth-child(4){--step-accent:var(--wine)}
.step-icon{position:relative;width:46px;height:46px;display:grid;place-items:center;border:1.5px solid color-mix(in srgb,var(--step-accent) 38%,var(--line));border-radius:50%;background:var(--card);color:var(--step-accent);font:700 22px/1 'Playfair Display',Georgia,serif;box-shadow:0 4px 14px rgba(67,17,39,.06)}
.step-icon svg{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.step.done .step-icon{background:color-mix(in srgb,var(--step-accent) 10%,var(--card))}
.step.done .step-icon::after{content:"✓";position:absolute;right:-2px;bottom:-1px;width:17px;height:17px;display:grid;place-items:center;border:2px solid var(--cream);border-radius:50%;background:var(--step-accent);color:#fff;font:800 9px/1 Inter,sans-serif}
.step.cur .step-icon{border-color:var(--step-accent);background:var(--step-accent);color:#fff;box-shadow:0 0 0 5px color-mix(in srgb,var(--step-accent) 12%,transparent),0 7px 18px color-mix(in srgb,var(--step-accent) 22%,transparent)}
.step-label{margin-top:8px;font-size:9.5px;font-weight:800;letter-spacing:.08em;line-height:1.25;text-align:center;text-transform:uppercase}
.step.done .step-label,.step.cur .step-label{color:var(--wine)}
.phase-hero{--phase-accent:var(--rose);position:relative;overflow:hidden;margin:4px 0 18px;padding:28px 24px 23px;border:1px solid color-mix(in srgb,var(--phase-accent) 18%,var(--line));border-radius:18px;background:radial-gradient(circle at 92% 4%,color-mix(in srgb,var(--phase-accent) 10%,transparent),transparent 32%),linear-gradient(135deg,color-mix(in srgb,var(--blush-soft) 62%,var(--card)),var(--card));text-align:center}
.phase-hero.phase-dating{--phase-accent:var(--purple)}
.phase-hero.phase-weddings{--phase-accent:#b68419}
.phase-hero.phase-reunion{--phase-accent:var(--wine)}
.phase-hero-kicker{display:block;margin-bottom:7px;color:var(--phase-accent);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.phase-hero h2{margin:0;color:var(--wine);font:700 clamp(29px,5vw,40px)/1.05 'Playfair Display',Georgia,serif}
.phase-hero-rule{display:flex;align-items:center;justify-content:center;gap:10px;width:min(260px,70%);margin:12px auto 9px;color:#c59a35}
.phase-hero-rule::before,.phase-hero-rule::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#d9b85e)}
.phase-hero-rule::after{background:linear-gradient(90deg,#d9b85e,transparent)}
.phase-hero-rule span{font-size:14px}
.phase-hero p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.season-progress-scale,.season-progress-row{display:grid;grid-template-columns:minmax(88px,126px) 1fr;gap:10px;align-items:center}
.season-progress-scale{margin:13px 0 8px}
.season-progress-phases,.season-progress-track{display:flex;min-width:0}
.season-progress-phase{min-width:0;text-align:center;color:var(--soft-text);font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}
.season-progress-row{padding:8px 0;border-top:1px solid var(--line)}
.season-progress-name{font-size:12px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.season-progress-track{position:relative;height:12px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.season-progress-segment{min-width:0;border-right:1px solid color-mix(in srgb,var(--wine) 18%,transparent)}
.season-progress-segment:last-child{border-right:none}
.season-progress-segment:nth-child(1){background:color-mix(in srgb,var(--rose) 13%,transparent);border-radius:999px 0 0 999px}
.season-progress-segment:nth-child(2){background:color-mix(in srgb,var(--gold) 14%,transparent)}
.season-progress-segment:nth-child(3){background:color-mix(in srgb,var(--wine) 10%,transparent)}
.season-progress-segment:nth-child(4){background:color-mix(in srgb,var(--muted) 10%,transparent);border-radius:0 999px 999px 0}
.season-progress-marker{position:absolute;top:50%;width:20px;height:20px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;background:var(--wine);color:#fff;border:2px solid var(--card);box-shadow:0 2px 7px rgba(67,17,39,.25);font-size:9px;line-height:1}
.season-progress-status{grid-column:2;color:var(--muted);font-size:10.5px;line-height:1.25;margin-top:-5px}
.card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:19px;margin:14px 0;box-shadow:0 9px 25px rgba(110,31,59,.055)}
.phase-board{--phase-accent:var(--rose);position:relative;border-color:transparent;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,color-mix(in srgb,var(--phase-accent) 68%,#fff),color-mix(in srgb,var(--purple) 44%,var(--line))) border-box;box-shadow:0 12px 30px color-mix(in srgb,var(--phase-accent) 8%,transparent)}
.phase-board-dating{--phase-accent:var(--purple)}
.phase-board-weddings{--phase-accent:#b68419}
.phase-board-reunion{--phase-accent:var(--wine)}
.board-window-title{display:flex;align-items:center;gap:8px;margin:0 0 5px!important;color:var(--phase-accent)!important;font:800 10px/1.3 Inter,sans-serif!important;letter-spacing:.12em;text-transform:uppercase}
.board-window-title::before{content:"";width:22px;height:1px;background:currentColor}
#pool-panel-play{position:relative;isolation:isolate}
#pool-panel-play::before,#pool-panel-play::after{content:"";position:absolute;z-index:-1;pointer-events:none;filter:blur(2px);opacity:.62}
#pool-panel-play::before{left:-180px;top:230px;width:360px;height:560px;background:radial-gradient(ellipse at center,rgba(255,153,197,.36),rgba(255,205,225,.16) 47%,transparent 72%)}
#pool-panel-play::after{right:-190px;top:360px;width:370px;height:570px;background:radial-gradient(ellipse at center,rgba(174,124,249,.27),rgba(217,190,255,.12) 48%,transparent 72%)}
.card h2{font-family:'Playfair Display',Georgia,serif;color:var(--wine);font-size:23px;margin:0 0 4px}
.card h3{font-family:'Playfair Display',Georgia,serif;color:var(--wine);font-size:18px;margin:0 0 8px}
.lede{color:var(--muted);font-size:14px;line-height:1.55;margin:4px 0 0}
.btn-primary{display:block;width:100%;padding:15px 18px;margin-top:14px;border:none;border-radius:14px;color:#fff;font-weight:700;font-size:16px;font-family:Inter,sans-serif;cursor:pointer;background:linear-gradient(135deg,#d90068,#ed0c72 55%,#f4378f);box-shadow:0 10px 26px rgba(220,0,99,.24);transition:filter .15s,transform .1s}
.btn-primary:hover{filter:brightness(1.06)}
.btn-primary:active{transform:translateY(1px)}
.btn-primary:disabled{opacity:.4;cursor:default;box-shadow:none}
.btn-secondary{display:block;width:100%;padding:13px 18px;margin-top:10px;border:1.5px solid var(--wine);border-radius:14px;color:var(--wine);font-weight:700;font-size:15px;font-family:Inter,sans-serif;cursor:pointer;background:none}
.btn-secondary:hover{background:var(--blush-soft)}
.btn-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 18px;margin-top:14px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font-weight:600;font-size:15px;font-family:Inter,sans-serif;cursor:pointer;transition:box-shadow .15s,transform .1s;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.btn-google:hover{box-shadow:0 4px 16px rgba(0,0,0,.13)}
.btn-google:active{transform:translateY(1px)}
.btn-add{padding:11px 16px;border:1.5px solid var(--wine);border-radius:12px;background:none;color:var(--wine);font-weight:700;font-size:14px;cursor:pointer;font-family:Inter,sans-serif}
.btn-add:disabled{opacity:.35;cursor:default}
.btn-confirm{border:none;color:#fff;background:linear-gradient(135deg,#d90068,#ed0c72 55%,#f4378f);box-shadow:0 7px 18px rgba(220,0,99,.2);transition:filter .15s,transform .1s}
.btn-confirm:hover{filter:brightness(1.06)}
.btn-confirm:active{transform:translateY(1px)}
.btn-confirm:disabled{opacity:.4;cursor:default;box-shadow:none}
.btn-x{display:grid;place-items:center;flex:0 0 auto;min-width:44px;min-height:44px;border:none;background:none;color:#b08d95;font-size:16px;cursor:pointer;padding:8px}
.btn-small{padding:7px 14px;border:1.5px solid var(--wine);border-radius:10px;background:none;color:var(--wine);font-weight:700;font-size:13px;cursor:pointer;font-family:Inter,sans-serif}
.btn-small.filled{background:var(--wine);color:#fff;border-color:var(--wine)}
.btn-small:disabled{opacity:.35;cursor:default}
.budget-card{--budget-accent:var(--rose);position:relative;margin:14px 0 10px;padding:15px 16px 14px 54px;border:1px solid color-mix(in srgb,var(--budget-accent) 26%,var(--line));border-radius:15px;background:linear-gradient(125deg,color-mix(in srgb,var(--budget-accent) 6%,var(--surface)),var(--surface));box-shadow:0 6px 18px color-mix(in srgb,var(--budget-accent) 7%,transparent)}
.budget-card.phase-dating{--budget-accent:var(--purple)}
.budget-card.phase-weddings{--budget-accent:#b68419}
.budget-card.phase-reunion{--budget-accent:var(--wine)}
.budget-card::before{content:"♥";position:absolute;left:15px;top:14px;width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--budget-accent) 12%,var(--card));color:var(--budget-accent);font:700 16px/1 Georgia,serif}
.budget-card.expiring{border-color:#d88923;background:color-mix(in srgb,#fff2d9 55%,var(--surface))}
.budget-card.carrying{border-color:color-mix(in srgb,var(--budget-accent) 34%,var(--line))}
.budgetrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px}
.budgetrow .n{font-family:'Playfair Display',serif;font-size:22px;color:var(--wine)}
.budget-bar{height:10px;border-radius:999px;background:var(--blush-soft);overflow:hidden}
.budget-fill{height:100%;background:linear-gradient(90deg,var(--budget-accent),color-mix(in srgb,var(--budget-accent) 44%,#fff));transition:width .25s}
.budget-note{display:block;margin-top:7px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.02em}
.budget-card.expiring .budget-note{color:#8a5511}
.scoring-primer{margin:10px 0;padding:11px 13px;border:1px dashed color-mix(in srgb,var(--gold) 65%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--gold) 8%,var(--surface));color:var(--muted);font-size:12px;line-height:1.5}
.scoring-primer b{color:var(--wine)}
.guided-pick{margin:12px 0;padding:13px 14px;border:1px solid color-mix(in srgb,var(--rose) 42%,var(--line));border-radius:12px;background:linear-gradient(135deg,var(--blush-soft),var(--surface))}
.guided-pick-kicker{color:var(--rose);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.guided-pick p{margin:4px 0 0;color:var(--ink);font-size:13px;line-height:1.5}
.panel{border:1px solid var(--line);border-radius:12px;margin:10px 0;overflow:hidden;background:var(--surface)}
.phead{width:100%;text-align:left;background:var(--blush-soft);border:none;padding:12px 14px;font-weight:700;color:var(--wine);cursor:pointer;font-size:14px;font-family:Inter,sans-serif;display:flex;justify-content:space-between}
.pbody{padding:12px 14px;font-size:14px;line-height:1.6;color:var(--ink)}
.pbody ul{margin:6px 0;padding-left:18px}
.pbody li{margin:4px 0}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin:8px 0}
.field{flex:1;min-width:130px}
label.small{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--soft-text);display:block;margin-bottom:5px}
select,input[type=text],input[type=email]{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:14px;color:var(--ink);font-family:Inter,sans-serif}
input[type=range]{width:100%;accent-color:var(--rose)}
.stakebox{display:flex;align-items:center;gap:10px}
.stakeval{font-family:'Playfair Display',serif;font-size:24px;color:var(--wine);min-width:58px;text-align:center}
.points-preview{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}
.points-preview strong{color:var(--wine);font-family:'Playfair Display',Georgia,serif;font-size:15px;white-space:nowrap}
.pickchip{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px 13px;margin:7px 0;background:var(--surface);text-align:left}
.pickchip>div{flex:1;min-width:0;text-align:left}
.pickchip .nm{font-weight:600;font-size:14px}
.locked-market-list{display:grid;gap:7px;margin:12px 0}
.locked-market{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px 13px;background:var(--surface);color:var(--soft-text)}
.locked-market strong{color:var(--ink);font-size:14px}
.locked-market .lock-reason{text-align:right;font-size:12px}
.subtle{color:var(--soft-text);font-size:12px;line-height:1.45}
.results-group{margin:16px 0}
.results-group:first-of-type{margin-top:10px}
.results-group-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-family:'Playfair Display',Georgia,serif;font-size:20px}
.results-group-title.hits{color:#247344}
.results-group-title.misses{color:#a52c45}
.results-group-title.pending{color:#69559b}
.receipt{border-left:4px solid var(--gold);background:#fffaf1;padding:10px 13px;border-radius:0 10px 10px 0;margin:8px 0;font-variant-numeric:tabular-nums}
.receipt.miss{border-left-color:#c8576d;background:#fff0f2}
.receipt.pending{border-left-color:#b9a7dc;background:#f6f3fb}
.receipt.hit,.receipt.hit.pending{border-left-color:#3f9360;background:#edf8f1}
.receipt.hit .pts,.receipt.hit.pending .pts{color:#247344}
.receipt.retro{border-left-color:#7b2ee5;background:#f7f1ff}
.receipt .who{font-weight:700;font-size:14px}
.receipt .pts{float:right;font-family:'Playfair Display',serif;font-size:19px;color:var(--wine)}
.receipt.miss .pts{color:var(--miss);font-size:15px}
.math{font-size:12.5px;color:var(--muted);margin-top:3px;clear:both}
.other-outcomes{margin-top:18px;border-top:1px solid var(--line);padding-top:10px}
.other-outcomes summary{cursor:pointer;color:var(--soft-text);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.other-outcomes-list{display:grid;gap:6px;margin-top:9px}
.outcome-compact{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface) 86%,var(--blush-soft));color:var(--muted);font-size:11.5px;line-height:1.4}
.outcome-compact strong{color:var(--ink);font-size:12px}
.evt{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:12px 0;background:linear-gradient(180deg,#fff,#fdf5f6)}
.evt h3{margin:0}
.evt .sub{font-size:13px;color:var(--muted);margin-top:2px}
.evt.retro-event{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,#ed0c72 48%,#7b2ee5);border-left:7px solid #ed0c72;padding:16px 18px;background:linear-gradient(125deg,color-mix(in srgb,#ed0c72 13%,var(--surface)) 0%,color-mix(in srgb,#7b2ee5 12%,var(--surface)) 100%);box-shadow:0 10px 24px color-mix(in srgb,#7b2ee5 14%,transparent)}
.evt.retro-event::after{content:'✦';position:absolute;right:15px;top:9px;color:#7b2ee5;font-size:20px;opacity:.48;pointer-events:none}
.evt.retro-event h3{position:relative;z-index:1;padding-right:22px}
.evt.retro-event .warnchip{color:#fff;background:linear-gradient(135deg,#ed0c72,#7b2ee5);border-color:transparent;box-shadow:0 3px 10px color-mix(in srgb,#7b2ee5 28%,transparent)}
.retro-pick-updates{display:grid;gap:7px;margin-top:11px}.retro-pick-update{position:relative;padding:11px 12px 11px 46px;border:1px solid rgba(255,255,255,.42);border-radius:12px;background:rgba(255,255,255,.72);color:var(--wine);box-shadow:0 7px 18px rgba(67,17,39,.11)}.retro-pick-update::before{content:'↻';position:absolute;left:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:linear-gradient(135deg,#ed0c72,#7b2ee5);color:#fff;font-size:16px;font-weight:900}.retro-pick-update strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:14px}.retro-pick-update span{display:inline-block;margin-bottom:3px;color:#7b2ee5;font-size:8px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.retro-pick-update small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:700}
.warnchip{display:inline-block;vertical-align:middle;font-size:9.5px;font-weight:700;letter-spacing:.06em;color:#8a6116;background:#f7e8c8;border:1px solid #e3cd93;padding:2px 8px;border-radius:999px;text-transform:uppercase;margin-left:6px}
.lb{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.lb table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:fixed}
.lb th,.lb td{padding:9px 6px;text-align:right;border-bottom:1px solid var(--line);font-size:14px}
.lb th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--soft-text)}
.lb th:first-child,.lb td:first-child{text-align:left}
.lb-name{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb tbody tr{animation:row-shift .32s ease both}.lb tbody tr:nth-child(n+8){animation-delay:.04s}
@keyframes row-shift{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.lb tr.you td{font-weight:700;color:var(--wine)}
.lb tr.champion td{background:color-mix(in srgb,var(--gold) 12%,transparent);border-bottom-color:color-mix(in srgb,var(--gold) 38%,var(--line))}
.lb tr.champion td:first-child{border-radius:9px 0 0 9px}
.lb tr.champion td:last-child{border-radius:0 9px 9px 0}
.lb td.tot{font-family:'Playfair Display',serif;font-size:17px;color:var(--wine)}
.checkpoint-tabs{display:flex;gap:7px;overflow-x:auto;margin:14px 0 12px;padding:2px 0 5px;scrollbar-width:thin}
.checkpoint-tabs button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font:700 12px Inter,sans-serif;padding:8px 12px;cursor:pointer}
.checkpoint-tabs button.active{border-color:var(--wine);background:var(--wine);color:#fff}
.global-your-rank{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--rose) 45%,var(--line));border-radius:12px;background:var(--blush-soft)}
.global-your-rank strong{color:var(--wine)}.global-your-rank-score{font-family:'Playfair Display',serif;font-size:21px;font-weight:700;color:var(--wine);white-space:nowrap}
.global-leaderboard-note{margin:10px 0 0;text-align:center;color:var(--soft-text);font-size:12px}
.standings-status{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0 0 7px;color:var(--rose);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.standings-status-dot{width:7px;height:7px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 0 color-mix(in srgb,var(--rose) 45%,transparent);animation:live-pulse 1.8s ease-out infinite}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--rose) 48%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.current-podium{animation:standings-rise .45s ease both}
.current-podium .standings-status{color:#ffb9d4}.current-podium .standings-status-dot{background:#f2c85f}.current-podium .podium-through,.current-podium .podium-bottom-note{color:#f1d6e0}
@keyframes standings-rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.current-podium .podium-step{border-bottom:1px solid color-mix(in srgb,var(--gold) 42%,var(--line))}
.podium-through{display:flex;align-items:flex-start;justify-content:center;width:100%;min-height:30px;margin-top:7px;color:var(--soft-text);font:700 10px/1.3 Inter,sans-serif}
.podium-bottom-note{margin:7px 0 0;color:var(--muted);font-size:12px;font-weight:700}
.personal-race-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 0;padding:15px;border:1px solid color-mix(in srgb,var(--rose) 45%,var(--line));border-radius:14px;background:linear-gradient(135deg,var(--blush-soft),var(--surface))}
.personal-race-kicker{color:var(--rose);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.personal-race-title{margin:2px 0;color:var(--wine);font-family:'Playfair Display',serif;font-size:22px;font-weight:700}.personal-race-meta{color:var(--muted);font-size:12px;line-height:1.45}.personal-race-score{text-align:right;color:var(--wine);font-family:'Playfair Display',serif;font-size:27px;font-weight:700;white-space:nowrap}.personal-race-score span{display:block;color:var(--soft-text);font:700 9px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.checkpoint-leaders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.checkpoint-leader{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:11px;text-align:left;cursor:pointer}.checkpoint-leader:hover:not(:disabled){border-color:var(--rose);transform:translateY(-1px)}.checkpoint-leader:disabled{cursor:default;opacity:.58}.checkpoint-leader.active{border-color:var(--wine);background:var(--blush-soft)}.checkpoint-leader-phase{display:block;color:var(--soft-text);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.checkpoint-leader-name{display:block;overflow:hidden;margin:4px 0 1px;color:var(--wine);font-family:'Playfair Display',serif;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.checkpoint-leader-score{display:block;color:var(--muted);font-size:10px;font-weight:700}
.atg-spotlight{position:relative;overflow:hidden;margin:15px 0 4px;padding:15px 16px;border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 15%,var(--surface)),var(--surface))}.atg-spotlight::after{content:'✦';position:absolute;right:13px;top:7px;color:var(--gold);font-size:24px;opacity:.55}.atg-spotlight-kicker{color:var(--rose);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.atg-spotlight-title{margin:4px 30px 3px 0;color:var(--wine);font-family:'Playfair Display',serif;font-size:18px;font-weight:700}.atg-spotlight-copy{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:680px){.checkpoint-leaders{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-race-card{grid-template-columns:1fr}.personal-race-score{text-align:left}}
@media(prefers-reduced-motion:reduce){.standings-status-dot,.current-podium,.lb tbody tr{animation:none}.checkpoint-leader{transition:none}}
.global-pool-card{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--gold) 52%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 10%,var(--card)),var(--card) 58%,color-mix(in srgb,var(--rose) 8%,var(--card)))}
.global-pool-card::after{content:'✦';position:absolute;right:14px;top:8px;color:var(--gold);font-size:24px;opacity:.6;pointer-events:none}
.global-pool-head{display:flex;align-items:center;gap:10px}.global-pool-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--wine);color:#fff;font-size:20px;box-shadow:0 5px 12px rgba(67,17,39,.18)}
.global-pool-head h2{margin:0}.global-pool-head .lede{margin:1px 0 0}.global-pool-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px;color:var(--muted);font-size:12px;font-weight:700}.global-pool-meta strong{color:var(--wine);font-family:'Playfair Display',Georgia,serif;font-size:20px}
.global-optout{display:block;width:100%;border:0;background:none;color:var(--soft-text);font:600 12px Inter,sans-serif;cursor:pointer;padding:10px 0 0}.global-optout:hover{color:var(--rose)}
.champion-ceremony{position:relative;overflow:hidden;text-align:center;margin:-2px 0 18px;padding:22px 14px 16px;border:1px solid color-mix(in srgb,var(--gold) 62%,var(--line));border-radius:19px;background:linear-gradient(145deg,#431127,#6a153e 58%,#7b2ee5);box-shadow:0 16px 34px color-mix(in srgb,#431127 22%,transparent);isolation:isolate}
.champion-ceremony::before,.champion-ceremony::after{content:'✦';position:absolute;color:var(--gold);font-size:21px;opacity:.8;z-index:-1}
.champion-ceremony::before{left:9%;top:21px}.champion-ceremony::after{right:10%;top:43px;font-size:14px}
.champion-kicker{color:var(--rose);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.award-trophy{font-size:42px;line-height:1;margin:5px 0 2px;filter:drop-shadow(0 5px 5px color-mix(in srgb,var(--gold) 30%,transparent));animation:trophy-bob 2.8s ease-in-out infinite}
.champion-name{font-family:'Playfair Display',Georgia,serif;font-size:28px;line-height:1.05;color:var(--wine);margin:0}
.champion-score{margin:4px 0 12px;color:var(--muted);font-size:12px;font-weight:700}
.podium{display:flex;align-items:flex-end;justify-content:center;gap:8px;max-width:390px;margin:5px auto 0;text-align:center}
.podium-place{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.podium-medal{height:20px;font-size:18px;line-height:1;margin-bottom:3px}
.podium-name{position:relative;width:100%;min-height:50px;display:flex;align-items:end;justify-content:center;color:#fffaf7;font-family:'Playfair Display',Georgia,serif;font-size:21px;font-weight:700;line-height:1.08;overflow-wrap:anywhere;padding:0 4px 9px;text-shadow:0 2px 9px rgba(32,7,21,.32)}
.podium-place.first .podium-name::before,.podium-place.first .podium-name::after{content:'✦';position:absolute;bottom:13px;color:#f2c85f;font-size:17px;filter:drop-shadow(0 2px 5px rgba(242,200,95,.35));animation:podium-sparkle 2.4s ease-in-out infinite}.podium-place.first .podium-name::before{left:1px}.podium-place.first .podium-name::after{right:1px;animation-delay:.8s}
.podium-step{box-sizing:border-box;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 4px 7px;border:1px solid rgba(255,255,255,.28);border-bottom:none;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.09));color:#fffaf7;font-family:'Playfair Display',Georgia,serif;font-size:27px;font-weight:700;line-height:1}
.podium-score{margin-top:7px;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:900;line-height:1.1;letter-spacing:.02em;color:#f2c85f;white-space:nowrap}
.podium-place.first{order:2}.podium-place.second{order:1}.podium-place.third{order:3}.podium-place.first .podium-step{height:88px;border-radius:13px 13px 0 0;background:linear-gradient(180deg,rgba(242,200,95,.52),rgba(237,12,114,.2))}
.podium-place.second .podium-step{height:62px;border-radius:11px 11px 0 0}.podium-place.third .podium-step{height:50px;border-radius:11px 11px 0 0}
@keyframes podium-sparkle{0%,100%{opacity:.45;transform:scale(.75) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}
@media(max-width:680px){.podium-name{font-size:16px}.podium-score{font-size:14px}.podium-through{font-size:9px}.lb th,.lb td{padding:8px 3px;font-size:11px}.lb th:first-child,.lb td:first-child{width:38%}.lb-name{max-width:112px}.lb td.tot{font-size:14px}}
@keyframes trophy-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}
.score-trend{margin:20px 0 3px;padding-top:16px;border-top:1px solid var(--line)}
.score-trend h3{margin-bottom:3px}.score-trend-note{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.4}
.score-chart{display:block;width:100%;height:auto;overflow:visible}
.score-chart-grid{stroke:var(--line);stroke-width:1}.score-chart-axis{fill:var(--soft-text);font:10px Inter,system-ui,sans-serif}.score-chart-phase{fill:var(--soft-text);font:700 9px Inter,system-ui,sans-serif;letter-spacing:.03em;text-transform:uppercase}.score-series{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.score-point{stroke:var(--card);stroke-width:2}
.score-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin-top:10px}.score-legend-item{display:inline-flex;align-items:center;gap:5px;color:var(--ink);font-size:11px;font-weight:700}.score-legend-swatch{width:18px;height:3px;border-radius:999px;flex:0 0 auto}.score-legend-total{color:var(--muted);font-weight:600}
.score-trend.animated .score-series{stroke-dasharray:900;stroke-dashoffset:900;animation:wrapped-line 2.8s cubic-bezier(.22,.8,.32,1) forwards}.score-trend.animated .score-point{opacity:0;transform-box:fill-box;transform-origin:center;animation:wrapped-point .35s ease forwards}@keyframes wrapped-line{to{stroke-dashoffset:0}}@keyframes wrapped-point{from{opacity:0;transform:scale(.25)}to{opacity:1;transform:scale(1)}}
.season-wrapped{margin:22px 0 8px;padding:18px;border:1px solid color-mix(in srgb,var(--purple) 34%,var(--line));border-radius:21px;background:linear-gradient(160deg,color-mix(in srgb,var(--purple) 7%,var(--surface)),var(--surface) 45%,color-mix(in srgb,var(--rose) 7%,var(--surface)))}.wrapped-hero{text-align:center;margin:2px 0 18px}.wrapped-hero>span{color:var(--rose);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.wrapped-hero h3{margin:6px 0 4px;color:var(--wine);font:700 29px/1.05 'Playfair Display',Georgia,serif}.wrapped-hero p{margin:0;color:var(--muted);font-size:12px}.wrapped-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0}.wrapped-stats div{padding:13px 8px;text-align:center;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.wrapped-stats strong{display:block;color:var(--wine);font:700 27px/1 'Playfair Display',Georgia,serif}.wrapped-stats span{display:block;margin-top:4px;color:var(--soft-text);font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.wrapped-predictions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wrapped-predictions article{padding:15px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--gold) 8%,var(--surface))}.wrapped-predictions span,.wrapped-drama span{display:block;color:var(--rose);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.wrapped-predictions strong,.wrapped-drama strong{display:block;margin:5px 0;color:var(--wine);font:700 18px/1.2 'Playfair Display',Georgia,serif}.wrapped-predictions small{color:var(--muted);font-size:10px;font-weight:700}.wrapped-drama{margin:10px 0;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#431127,#7b2ee5);color:#fff}.wrapped-drama span{color:#f2c85f}.wrapped-drama strong{color:#fff}.wrapped-awards{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:12px 0}.wrapped-awards span{padding:6px 9px;border-radius:999px;background:var(--blush-soft);color:var(--wine);font-size:10px;font-weight:900}@media(max-width:560px){.wrapped-predictions{grid-template-columns:1fr}.season-wrapped{padding:12px}.wrapped-hero h3{font-size:25px}}
.podium-share-actions{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;margin-top:11px}.podium-share-button{width:auto;margin:0;padding:8px 13px;border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.12);color:#fff}.podium-share-button:hover{background:rgba(255,255,255,.2)}.podium-share-feedback{margin:0;color:#f4dbe7;font-size:10px;font-weight:750}
.wrapped-launch{position:relative;overflow:hidden;margin:20px 0 8px;padding:24px;border:1px solid color-mix(in srgb,var(--purple) 45%,var(--line));border-radius:22px;background:linear-gradient(135deg,#381028,#6c168b 60%,#ed0c72);color:#fff;box-shadow:0 18px 40px color-mix(in srgb,#431127 20%,transparent)}.wrapped-launch::before{content:'';position:absolute;width:220px;height:220px;right:-95px;bottom:-125px;border-radius:50%;background:rgba(242,200,95,.18)}.wrapped-launch::after{content:'✦';position:absolute;right:23px;top:12px;color:var(--gold);font-size:35px}.wrapped-launch-kicker{position:relative;z-index:1;color:#f2c85f;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.wrapped-launch h3{position:relative;z-index:1;margin:6px 40px 5px 0;color:#fff;font:700 30px/1.05 'Playfair Display',Georgia,serif}.wrapped-launch p{position:relative;z-index:1;max-width:430px;margin:0;color:#efd8e8;font-size:12px}.wrapped-launch .btn-secondary{position:relative;z-index:1;width:auto;margin:16px 0 0;background:#fff;color:#431127;border:0}
.wrapped-story-modal{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#170811;color:#fff}.wrapped-story-shell{position:relative;width:min(520px,100%);height:min(920px,100%);min-height:540px;overflow:hidden;border-radius:28px;background:#431127;box-shadow:0 35px 100px rgba(0,0,0,.55)}.wrapped-story-progress{position:absolute;z-index:4;left:14px;right:58px;top:16px;display:grid;grid-template-columns:repeat(var(--story-count),1fr);gap:5px}.wrapped-story-progress button{height:4px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.28);cursor:pointer;overflow:hidden}.wrapped-story-progress button span{display:block;width:0;height:100%;background:#fff}.wrapped-story-progress button.done span{width:100%}.wrapped-story-progress button.active span{width:100%;animation:wrapped-story-timer 7.5s linear both}.wrapped-story-close{position:absolute;z-index:6;right:13px;top:7px;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.2);color:#fff;font-size:25px;cursor:pointer}.wrapped-story-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:68px 42px 110px;text-align:center;background:radial-gradient(circle at 12% 12%,rgba(242,200,95,.24),transparent 30%),linear-gradient(145deg,#421027,#74115c 60%,#7b2ee5)}.wrapped-story-slide.theme-purple{background:radial-gradient(circle at 82% 15%,rgba(237,12,114,.35),transparent 35%),linear-gradient(150deg,#27104d,#7b2ee5 58%,#ed0c72)}.wrapped-story-slide.theme-gold{background:radial-gradient(circle at 16% 80%,rgba(237,12,114,.25),transparent 33%),linear-gradient(145deg,#6b3e08,#bd7b16 55%,#7b2ee5)}.wrapped-story-slide.theme-pink{background:radial-gradient(circle at 80% 75%,rgba(123,46,229,.35),transparent 38%),linear-gradient(145deg,#83104d,#ed0c72 62%,#ff719f)}.wrapped-story-slide::after{content:'✦';position:absolute;right:9%;top:11%;color:#f2c85f;font-size:48px;opacity:.8}.wrapped-story-kicker{position:relative;z-index:1;color:#f2c85f;font-size:11px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.wrapped-story-slide h2{position:relative;z-index:1;margin:13px auto 9px;max-width:430px;color:#fff;font:700 clamp(38px,8vw,62px)/.94 'Playfair Display',Georgia,serif;letter-spacing:-.025em}.wrapped-story-slide p{position:relative;z-index:1;max-width:390px;margin:0 auto;color:#f2dce8;font-size:15px;line-height:1.5}.wrapped-story-number{position:relative;z-index:1;margin:11px 0 7px;color:#fff;font:700 clamp(82px,20vw,142px)/.84 'Playfair Display',Georgia,serif}.wrapped-story-substat{position:relative;z-index:1;color:#f2c85f;font-size:15px;font-weight:900}.wrapped-story-awards{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}.wrapped-story-awards span{padding:8px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:900}.wrapped-story-chart{position:relative;z-index:1;width:100%;margin-top:15px;padding:12px;border-radius:18px;background:rgba(255,255,255,.94);color:#351323;text-align:left}.wrapped-story-chart .score-trend{margin:0;padding:0;border:0}.wrapped-story-chart .score-trend h3{color:#431127}.wrapped-story-chart .score-trend-note{color:#806b70}.wrapped-story-footer{position:absolute;z-index:5;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:9px}.wrapped-story-footer button{height:46px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(0,0,0,.2);color:#fff;font-weight:900;cursor:pointer}.wrapped-story-footer .wrapped-story-share{background:#fff;color:#431127;border:0}.wrapped-story-footer button:disabled{opacity:.38;cursor:default}.wrapped-story-feedback{position:absolute;z-index:6;left:20px;right:20px;bottom:72px;margin:0;color:#fff;font-size:11px;font-weight:800;text-align:center}.wrapped-story-tap{position:absolute;z-index:2;top:52px;bottom:82px;width:28%;border:0;background:transparent;color:transparent;cursor:pointer}.wrapped-story-tap.prev{left:0}.wrapped-story-tap.next{right:0}@keyframes wrapped-story-timer{from{width:0}to{width:100%}}@media(max-width:560px){.wrapped-story-modal{padding:0}.wrapped-story-shell{width:100%;height:100%;border-radius:0}.wrapped-story-slide{padding-inline:25px}.wrapped-story-chart{padding:7px}.wrapped-story-slide h2{font-size:43px}}@media(prefers-reduced-motion:reduce){.wrapped-story-progress button.active span{animation:none;width:100%}}
.gatecard{text-align:center}
.exhausted-board{padding:30px 24px;text-align:center}
.exhausted-board h2{margin:0}
.crown{font-size:44px;line-height:1}
.winner{font-family:'Playfair Display',serif;font-size:28px;color:var(--wine);margin:4px 0}
.notice{border:1px dashed #e3cd93;background:#fdf8ec;border-radius:12px;padding:11px 14px;font-size:13px;color:#6d5324;line-height:1.5;margin:10px 0}
.loading{text-align:center;padding:60px 20px;color:var(--soft-text);font-size:15px}
.loading .spinner{font-size:28px;animation:spin 1.2s linear infinite;display:block;margin-bottom:12px}
.root-boot{min-height:70vh;display:grid;place-content:center;justify-items:center;gap:12px;padding:32px 20px;text-align:center;color:var(--wine)}
.root-boot-mark{width:76px;height:76px;display:block;filter:drop-shadow(0 9px 20px rgba(67,17,39,.16))}
.root-boot h1{margin:0;font:700 30px/1.05 'Playfair Display',Georgia,serif}.root-boot p{max-width:420px;margin:0;color:var(--muted);line-height:1.55}
.root-boot-heart{color:var(--rose);font-size:24px;animation:loading-heart 1s ease-in-out infinite}
.root-boot-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:5px}.root-boot-actions a{width:auto;min-width:132px;margin:0;text-decoration:none}
.fatal-app .card{max-width:620px;margin:32px auto}.fatal-actions{display:grid;gap:10px;margin-top:18px}.fatal-copy-status{min-height:18px;margin:8px 0 0;color:var(--muted);font-size:12px;font-weight:700}
.app-loading-state{position:fixed;z-index:80;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;max-width:calc(100vw - 28px);padding:10px 15px;border:1px solid color-mix(in srgb,var(--rose) 38%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 10px 32px rgba(67,17,39,.18);color:var(--wine);font-size:12px;font-weight:800;line-height:1.2;text-align:left;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.app-loading-heart{display:inline-grid;place-items:center;width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:var(--blush-soft);color:var(--rose);font-size:15px;animation:loading-heart 1s ease-in-out infinite}
.app-loading-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes loading-heart{0%,100%{transform:scale(.82);opacity:.62}50%{transform:scale(1.08);opacity:1}}
@media(prefers-reduced-motion:reduce){.loading .spinner,.app-loading-heart{animation:none}}
.errcard{position:relative;border:1px solid #f4b8c4;background:#fff5f7;border-radius:16px;padding:20px 48px 20px 20px;margin:14px 0;color:var(--wine-deep)}
.errcard:focus,[role="alert"]:focus{outline:3px solid color-mix(in srgb,var(--rose) 52%,transparent);outline-offset:3px}
.errcard h3{color:var(--wine);margin:0 0 8px;font-family:'Playfair Display',serif}
.errcard-close{position:absolute;top:10px;right:10px;border:none;background:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:6px;border-radius:8px}
.errcard-close:hover{background:var(--blush-soft)}
.save-status{display:flex;align-items:center;justify-content:center;gap:5px;min-height:23px;margin:0 0 3px}
.savebadge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px}
.savebadge.saving{color:var(--muted);background:var(--blush-soft)}
.savebadge.saved{color:#2e7d4f;background:#e8f5e9}
.savebadge.error{color:#b71c1c;background:#ffebee}
.save-retry{display:inline-block;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--wine);font:700 10px Inter,sans-serif;padding:3px 8px;margin-left:5px;vertical-align:middle;cursor:pointer}
.offline-banner{position:sticky;top:0;z-index:20;margin:0 0 12px;padding:10px 14px;border:1px solid #d88923;border-radius:10px;background:#fff2d9;color:#6e3d00;font:700 13px Inter,Arial,sans-serif;text-align:center}
.locked-picks{text-align:left;margin:14px 0 2px}
.locked-picks-title{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--soft-text);margin-bottom:6px}
.locked-picks-current .locked-picks-title{color:var(--rose)}
.locked-picks-current .pickchip{border-color:color-mix(in srgb,var(--rose) 42%,var(--line));border-left:4px solid var(--rose);background:color-mix(in srgb,var(--rose) 7%,var(--surface))}
.locked-picks-current .pickchip .subtle{color:var(--rose);font-weight:800}
.locked-picks-previous .pickchip{border-style:dashed;background:var(--surface-soft)}
.locked-picks-previous .pickchip .nm{color:var(--muted)}
.locked-picks-previous .pickchip .subtle{font-weight:700}
.user-bar{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:5px;flex-wrap:wrap}
.user-avatar{width:28px;height:28px;border-radius:50%;border:2px solid var(--line)}
.user-name{font-size:13px;font-weight:600;color:var(--muted)}
.btn-signout,.btn-how{min-height:36px;font-size:12px;color:var(--soft-text);background:none;border:1px solid var(--line);border-radius:8px;padding:7px 10px;cursor:pointer;font-family:Inter,sans-serif}
.btn-signout:hover,.btn-how:hover{background:var(--blush-soft)}
.btn-danger{padding:7px 10px;border:1px solid #d58a99;border-radius:9px;background:var(--surface);color:#b93356;font-weight:700;font-size:12px;cursor:pointer;font-family:Inter,sans-serif}
.btn-danger:hover{background:#fff0f3}
.modal-backdrop{position:fixed;inset:0;overflow-x:hidden;background:rgba(43,18,32,.42);display:flex;align-items:center;justify-content:center;padding:18px 0;z-index:20}
.modal{box-sizing:border-box;width:calc(100% - 36px);min-width:0;max-width:724px;margin:0 auto;max-height:88vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 20px 60px rgba(43,18,32,.28)}
.modal h2{font-family:'Playfair Display',Georgia,serif;color:var(--wine);font-size:26px;margin:0 0 6px}
.modal h3{font-family:'Playfair Display',Georgia,serif;color:var(--wine);font-size:18px;margin:18px 0 6px}
.modal p,.modal li{color:var(--ink);font-size:14px;line-height:1.55}
.modal-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px;min-width:0}.modal-actions .btn-primary,.modal-actions .btn-secondary{width:100%;min-width:0;margin-top:0}.modal-actions .btn-secondary{order:-1}
.lock-summary{display:grid;gap:12px;min-width:0}
.lock-summary>p{margin:0}
.lock-phase-list{display:grid;gap:8px}
.lock-phase-row{display:flex;justify-content:space-between;gap:7px;align-items:flex-start;flex-wrap:wrap;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.lock-phase-row strong{color:var(--wine)}
.lock-phase-row span{flex:1 1 100%;min-width:0;text-align:left;overflow-wrap:anywhere;color:var(--muted);font-size:12px;font-weight:700}
.lock-phase-row.expiring{border-color:#d88923;background:color-mix(in srgb,#fff2d9 55%,var(--surface))}
.lock-phase-row.expiring span{color:#8a5511}
.lock-watch-range{padding:10px 12px;border-left:4px solid var(--rose);border-radius:0 10px 10px 0;background:var(--blush-soft);color:var(--wine);font-weight:700}
.how-modal{width:min(720px,100%);padding:0;overflow-x:hidden}
.how-hero{position:relative;padding:25px 25px 19px;background:radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--purple) 18%,transparent),transparent 34%),linear-gradient(135deg,var(--blush-soft),var(--surface));border-bottom:1px solid var(--line)}
.how-hero::after{content:'✦';position:absolute;right:24px;top:18px;color:var(--purple);font-size:24px;animation:howSparkle 2.8s ease-in-out infinite}
.how-eyebrow{display:block;margin-bottom:5px;color:var(--rose);font:800 10px/1.2 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.how-modal .how-hero h2{font-size:31px;line-height:1.08;margin:0 34px 7px 0}
.how-modal .how-hero p{max-width:535px;margin:0;color:var(--muted)}
.prediction-demo{position:relative;height:270px;margin:18px 22px;padding:15px 16px;border:1px solid var(--line);border-radius:17px;background:var(--card);box-shadow:0 12px 30px rgba(72,27,111,.08);overflow:hidden}
.demo-title{color:var(--wine);font:700 18px/1.15 'Playfair Display',Georgia,serif}
.demo-example-badge{position:absolute;right:15px;top:13px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--blush-soft);color:var(--rose);font:800 8px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.demo-selectors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.demo-select-wrap{position:relative}
.demo-select-label{display:block;margin:0 0 5px;color:var(--soft-text);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.demo-select-control{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font-size:15px;font-weight:500;box-shadow:none}
.demo-select-control-a{animation:demoSelectA 9.6s ease-in-out infinite}
.demo-select-control-b{animation:demoSelectB 9.6s ease-in-out infinite}
.demo-select-value{position:relative;display:block;height:18px;min-width:0;flex:1;overflow:hidden}
.demo-select-value span{position:absolute;inset:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.demo-placeholder{color:var(--soft-text);font-weight:650}
.demo-placeholder-a{animation:demoPlaceholderA 9.6s linear infinite}
.demo-placeholder-b{animation:demoPlaceholderB 9.6s linear infinite}
.demo-chosen{opacity:0;color:var(--wine)}
.demo-chosen-a{animation:demoChosenA 9.6s linear infinite}
.demo-chosen-b{animation:demoChosenB 9.6s linear infinite}
.demo-chevron{color:var(--rose);font-size:10px}
.demo-menu{position:absolute;z-index:4;left:0;right:0;top:calc(100% + 5px);padding:6px;border:1px solid var(--line);border-radius:11px;background:var(--card);box-shadow:0 9px 22px rgba(55,20,43,.18);opacity:0;transform:translateY(-4px);pointer-events:none}
.demo-menu-a{animation:demoMenuA 9.6s ease-in-out infinite}
.demo-menu-b{animation:demoMenuB 9.6s ease-in-out infinite}
.demo-option{display:flex;align-items:center;gap:8px;padding:7px;border-radius:8px;background:var(--blush-soft);color:var(--wine);font-size:11px;font-weight:750}
.demo-option+.demo-option{margin-top:3px;background:var(--surface)}
.demo-option-avatar{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--rose),var(--purple));color:#fff;font-size:9px;font-weight:800}
.demo-stake-label{display:block;margin:15px 0 8px;color:var(--soft-text);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.demo-wager-row{display:grid;grid-template-columns:minmax(0,1fr) 76px 170px;gap:13px;align-items:center}
.demo-heart-count{position:relative;display:block;width:76px;height:36px;color:var(--wine);font:700 29px/36px 'Playfair Display',Georgia,serif}
.demo-heart-count span{position:absolute;right:0;top:0;white-space:nowrap;opacity:0}
.demo-count-10{animation:demoCount10 9.6s step-end infinite}
.demo-count-20{animation:demoCount20 9.6s step-end infinite}
.demo-count-30{animation:demoCount30 9.6s step-end infinite}
.demo-count-40{animation:demoCount40 9.6s step-end infinite}
.demo-slider-track{position:relative;height:9px;border:1px solid color-mix(in srgb,var(--soft-text) 55%,var(--line));border-radius:999px;background:var(--surface)}
.demo-slider-fill{position:absolute;inset:-1px auto -1px -1px;width:20%;border-radius:inherit;background:var(--rose);animation:demoSlider 9.6s ease-in-out infinite}
.demo-slider-knob{position:absolute;right:-9px;top:50%;width:19px;height:19px;border:none;border-radius:50%;background:var(--rose);box-shadow:none;transform:translateY(-50%)}
.demo-confirm{position:relative;isolation:isolate;overflow:hidden;display:block;width:100%;margin:0;padding:13px 10px;border:none;border-radius:13px;background:var(--rose);color:#fff;font:800 13px Inter,sans-serif;text-align:center;box-shadow:none;animation:demoConfirm 9.6s ease-in-out infinite}
.demo-confirm span{position:relative;z-index:2}
.demo-confirm::after{content:'';position:absolute;z-index:1;inset:0;background:rgba(255,255,255,.5);animation:demoConfirmVeil 9.6s ease-in-out infinite}
.demo-preview-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}
.demo-preview-count{position:relative;display:block;width:118px;height:25px;color:var(--wine);font:700 17px/25px 'Playfair Display',Georgia,serif}
.demo-preview-count span{position:absolute;inset:0 auto auto 0;white-space:nowrap;opacity:0}
.demo-finger{position:absolute;z-index:6;left:25%;top:29%;font-size:29px;line-height:1;filter:drop-shadow(0 4px 4px rgba(48,16,31,.2));transform:translate(0,-50%);transform-origin:left center;animation:demoFinger 9.6s ease-in-out infinite;pointer-events:none}
.how-content{padding:0 22px 22px}
.how-quick-grid{display:grid;grid-template-columns:1fr;gap:0;padding:4px 0}
.how-phases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.how-info-card{position:relative;display:grid;grid-template-columns:44px 1fr;gap:11px;align-items:center;border:none;background:transparent;padding:10px 5px}
.how-info-card:first-child::after{content:'';position:absolute;z-index:0;left:21px;top:43px;bottom:-10px;width:3px;border-radius:999px;background:linear-gradient(var(--rose),var(--purple))}
.how-step-number{position:relative;z-index:1;width:34px;height:34px;border:2px solid var(--rose);border-radius:50%;display:grid;place-items:center;background:var(--card);color:var(--rose);font:800 13px Inter,sans-serif;box-shadow:0 0 0 5px var(--blush-soft)}
.how-info-card:first-child .how-step-number{background:var(--rose);color:#fff}
.how-info-card:last-child .how-step-number{border-color:var(--purple);color:var(--purple);box-shadow:0 0 0 5px color-mix(in srgb,var(--purple) 10%,var(--card))}
.how-phase{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:13px 14px}
.how-info-card strong,.how-phase strong{display:block;color:var(--wine);font-size:13px;margin-bottom:3px}
.how-info-card p,.how-phase p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.how-section-title{display:flex;align-items:center;gap:8px;margin:18px 0 9px;color:var(--wine);font:700 19px 'Playfair Display',Georgia,serif}
.how-section-title span{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--blush-soft);color:var(--rose);font:800 11px Inter,sans-serif}
.how-section-title .phase-track-icon{position:relative;width:42px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;padding:0 5px;background:var(--blush-soft)}
.phase-track-icon::before{content:'';position:absolute;left:8px;right:8px;top:11px;height:2px;background:linear-gradient(90deg,var(--rose),var(--purple))}
.phase-track-icon i{position:relative;z-index:1;width:7px;height:7px;border:1.5px solid var(--card);border-radius:50%;background:var(--rose)}
.phase-track-icon i:nth-child(3),.phase-track-icon i:nth-child(4){background:var(--purple)}
.how-points{display:grid;gap:8px}
.how-point{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(120deg,var(--surface),var(--surface-soft))}
.phase-guide{padding:0;overflow:hidden}
.phase-guide-hero{position:relative;padding:24px 25px 20px;background:radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--purple) 16%,transparent),transparent 34%),linear-gradient(135deg,var(--blush-soft),var(--surface));border-bottom:1px solid var(--line)}
.phase-guide-hero h2{font-size:31px;line-height:1.08;margin:0 48px 8px 0}
.phase-guide-hero p{max-width:650px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.phase-guide-symbol{position:absolute;right:24px;top:20px;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--purple) 12%,var(--card));border:1px solid color-mix(in srgb,var(--purple) 22%,var(--line));color:var(--purple);font:800 18px/1 Inter,sans-serif}
.phase-guide-body{padding:20px 22px 22px}
.phase-guide-rules>ul{counter-reset:phase-rule;display:grid;gap:9px;list-style:none;margin:0;padding:0}
.phase-guide-rules>ul>li{counter-increment:phase-rule;position:relative;margin:0;padding:13px 14px 13px 49px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(120deg,var(--surface),var(--surface-soft));color:var(--ink);font-size:13px;line-height:1.55}
.phase-guide-rules>ul>li::before{content:counter(phase-rule);position:absolute;left:13px;top:12px;width:25px;height:25px;border-radius:9px;display:grid;place-items:center;background:var(--blush-soft);color:var(--rose);font:800 11px/1 Inter,sans-serif}
.phase-guide-rules ul ul{margin:10px 0 0;padding:0;list-style:none}
.phase-guide-rules ul ul li{position:relative;margin:7px 0;padding:8px 10px 8px 27px;border-left:2px solid color-mix(in srgb,var(--purple) 38%,var(--line));border-radius:0 9px 9px 0;background:color-mix(in srgb,var(--purple) 5%,var(--card));font-size:12px;line-height:1.5}
.phase-guide-rules ul ul li::before{content:'♥';position:absolute;left:9px;top:8px;color:var(--rose);font-size:10px}
.phase-guide-scoring>div{display:grid;gap:10px}
.phase-guide-scoring p{margin:0;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(120deg,var(--surface),var(--surface-soft));color:var(--ink);font-size:13px;line-height:1.6}
.phase-guide-scoring p b{color:var(--wine)}
.phase-guide-scoring p:first-child{padding:17px 18px;border-color:color-mix(in srgb,var(--rose) 40%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--rose) 10%,var(--surface)),color-mix(in srgb,var(--purple) 8%,var(--surface)));font-family:'Playfair Display',Georgia,serif;font-size:17px;color:var(--wine)}
.phase-guide-scoring p:last-child{border-color:color-mix(in srgb,var(--purple) 30%,var(--line));background:color-mix(in srgb,var(--purple) 6%,var(--surface))}
.how-point-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--blush-soft);color:var(--rose);font-size:17px;font-weight:800}
.how-point p{margin:0;font-size:12.5px;line-height:1.42;color:var(--muted)}
.how-point strong{color:var(--wine)}
.how-modal .btn-primary{margin:18px 0 0}
@keyframes howSparkle{0%,100%{transform:scale(.82) rotate(0);opacity:.55}50%{transform:scale(1.12) rotate(14deg);opacity:1}}
@keyframes demoSelectA{0%,5%,100%{border-color:var(--line);box-shadow:none}7%,12%{border-color:var(--rose);box-shadow:0 0 0 3px color-mix(in srgb,var(--rose) 13%,transparent)}14%,88%{border-color:color-mix(in srgb,var(--rose) 65%,var(--line));box-shadow:none}}
@keyframes demoSelectB{0%,20%,100%{border-color:var(--line);box-shadow:none}22%,27%{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 13%,transparent)}29%,88%{border-color:color-mix(in srgb,var(--purple) 65%,var(--line));box-shadow:none}}
@keyframes demoMenuA{0%,6%,17%,100%{opacity:0;transform:translateY(-4px)}8%,15%{opacity:1;transform:translateY(0)}}
@keyframes demoMenuB{0%,21%,32%,100%{opacity:0;transform:translateY(-4px)}23%,30%{opacity:1;transform:translateY(0)}}
@keyframes demoPlaceholderA{0%,13%,90%,100%{opacity:1}15%,88%{opacity:0}}
@keyframes demoPlaceholderB{0%,28%,90%,100%{opacity:1}30%,88%{opacity:0}}
@keyframes demoChosenA{0%,13%,90%,100%{opacity:0}15%,88%{opacity:1}}
@keyframes demoChosenB{0%,28%,90%,100%{opacity:0}30%,88%{opacity:1}}
@keyframes demoSlider{0%,39%,100%{width:20%}45%{width:38%}50%{width:56%}56%,88%{width:74%}}
@keyframes demoCount10{0%,43%,90%,100%{opacity:1}45%,88%{opacity:0}}
@keyframes demoCount20{0%,43%,49%,100%{opacity:0}45%,47%{opacity:1}}
@keyframes demoCount30{0%,48%,54%,100%{opacity:0}50%,52%{opacity:1}}
@keyframes demoCount40{0%,53%,90%,100%{opacity:0}55%,88%{opacity:1}}
@keyframes demoConfirm{0%,66%,100%{transform:scale(1);filter:none}70%,75%{transform:scale(.985);filter:brightness(1.12)}78%,88%{transform:scale(1);box-shadow:0 0 0 4px color-mix(in srgb,var(--rose) 16%,transparent),0 8px 18px rgba(237,12,114,.18)}}
@keyframes demoConfirmVeil{0%,28%,100%{opacity:1}33%,88%{opacity:0}}
@keyframes demoFinger{0%{left:25%;top:29%;opacity:0}3%{opacity:1}6%{left:25%;top:29%;transform:translate(0,-50%) scale(1)}8%{transform:translate(0,-50%) scale(.8)}10%{left:25%;top:53%;transform:translate(0,-50%) scale(1)}13%{transform:translate(0,-50%) scale(.8)}16%{transform:translate(0,-50%) scale(1)}19%{left:75%;top:29%}22%{transform:translate(0,-50%) scale(.8)}24%{left:75%;top:53%;transform:translate(0,-50%) scale(1)}28%{transform:translate(0,-50%) scale(.8)}31%{transform:translate(0,-50%) scale(1)}38%{left:15%;top:59%}56%{left:45%;top:59%}66%{left:84%;top:59%}71%{transform:translate(0,-50%) scale(.78)}75%{transform:translate(0,-50%) scale(1)}88%{opacity:1}94%,100%{left:84%;top:59%;opacity:0}}
@media(max-width:560px){.how-phases{grid-template-columns:1fr}.prediction-demo{height:270px;margin-inline:14px}.demo-wager-row{grid-template-columns:minmax(0,1fr) 62px 112px;gap:8px}.demo-heart-count{width:62px;font-size:24px}.demo-confirm{padding-inline:6px;font-size:10px}.how-content{padding-inline:14px}.how-hero{padding-inline:18px}.how-modal .how-hero h2{font-size:27px}.phase-guide-hero{padding-inline:18px}.phase-guide-hero h2{font-size:27px}.phase-guide-body{padding-inline:14px}.danger-row{align-items:flex-start;flex-wrap:wrap}.pool-management-actions{width:100%}.modal-actions{display:grid;grid-template-columns:1fr}.modal-actions .btn-primary,.modal-actions .btn-secondary{width:100%}.lock-phase-row{align-items:flex-start;flex-wrap:wrap}.lock-phase-row span{flex:1 1 100%;min-width:0;text-align:left;overflow-wrap:anywhere}}
@media(max-width:480px){.modal-backdrop{padding:12px 0}.modal{width:calc(100% - 24px);max-width:none}}
.login-card{text-align:center}
.quick-signin{position:absolute;z-index:2;right:0;top:4px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 5px 16px rgba(67,17,39,.08);color:var(--wine);font-size:12px;font-weight:800;text-decoration:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.quick-signin:hover{border-color:var(--rose);color:var(--rose)}
.login-card .heart-hero{font-size:52px;line-height:1;margin-bottom:8px}
.public-hero{position:relative;overflow:hidden;padding:26px 22px;text-align:center;border-color:color-mix(in srgb,var(--rose) 35%,var(--line));background:radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--purple) 16%,transparent),transparent 34%),radial-gradient(circle at 8% 94%,color-mix(in srgb,var(--rose) 14%,transparent),transparent 38%),linear-gradient(135deg,var(--blush-soft),var(--card))}
.public-hero::after{content:'\2726';position:absolute;right:22px;top:16px;color:var(--gold);font-size:25px;animation:howSparkle 2.8s ease-in-out infinite}
.public-kicker{color:var(--rose);font-size:10px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.public-hero h1{max-width:570px;margin:7px auto;color:var(--wine);font:700 clamp(31px,7vw,47px)/1.02 'Playfair Display',Georgia,serif}
.public-hero>p{max-width:540px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.55}
.public-demo-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:19px 0 13px;padding:5px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 78%,var(--blush-soft))}
.public-demo-tabs button{min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:800 12px Inter,sans-serif;cursor:pointer}
.public-demo-tabs button.active{background:var(--card);color:var(--wine);box-shadow:0 3px 12px rgba(67,17,39,.09)}
.public-demo{padding:18px;text-align:left;border:1px solid var(--line);border-radius:17px;background:var(--card);box-shadow:0 10px 25px rgba(67,17,39,.07)}
.public-demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.public-demo-head h3{margin:0}.public-demo-head span{padding:5px 8px;border-radius:999px;background:var(--blush-soft);color:var(--rose);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.public-couple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.public-couple{min-height:72px;padding:10px 7px;border:1.5px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);font:700 12px/1.35 Inter,sans-serif;cursor:pointer;text-align:center}.public-couple:hover{border-color:var(--rose)}.public-couple.active{border-color:var(--rose);background:var(--blush-soft);color:var(--wine);box-shadow:0 0 0 3px color-mix(in srgb,var(--rose) 10%,transparent)}
.public-couple span{display:block;margin-bottom:5px;font-size:21px}
.public-demo-budget{margin:14px 0 12px;text-align:left}
.public-stakebox{gap:14px;margin-bottom:10px}
.public-stakebox input{min-width:0;flex:1}
.public-stake-value{min-width:74px;text-align:right;font-size:32px;line-height:1}
.public-demo-result{margin-top:13px;padding:13px 14px;border:1px solid color-mix(in srgb,#3f9360 38%,var(--line));border-radius:12px;background:color-mix(in srgb,#3f9360 8%,var(--surface));color:var(--muted);font-size:12px;line-height:1.45}.public-demo-result strong{display:block;margin-bottom:3px;color:#247344;font-family:'Playfair Display',Georgia,serif;font-size:18px}
.public-mini-board{display:grid;gap:7px}.public-mini-row{display:grid;grid-template-columns:30px 38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.public-mini-row.you{border-color:color-mix(in srgb,var(--rose) 46%,var(--line));background:var(--blush-soft)}.public-mini-rank{color:var(--soft-text);font-size:11px;font-weight:900}.public-mini-avatar,.avatar-initials{display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--purple));color:#fff;font-weight:900}.public-mini-avatar{width:38px;height:38px;font-size:11px}.public-mini-row strong{font-size:12px}.public-mini-score{color:var(--wine);font:700 18px 'Playfair Display',Georgia,serif}
.public-how{display:grid;gap:0;padding:8px 6px 3px;text-align:left}.public-how-line{position:relative;display:grid;grid-template-columns:35px 1fr;gap:11px;align-items:center;padding:10px 0}.public-how-line:not(:last-child)::after{content:'';position:absolute;left:17px;top:42px;bottom:-9px;width:2px;background:linear-gradient(var(--rose),var(--purple))}.public-how-line span{position:relative;z-index:1;width:35px;height:35px;display:grid;place-items:center;border:2px solid var(--rose);border-radius:50%;background:var(--card);color:var(--rose);font-weight:900}.public-how-line:nth-child(2) span{border-color:var(--purple);color:var(--purple)}.public-how-line:nth-child(3) span{border-color:var(--gold);color:#966d12}.public-how-line p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.public-how-line strong{color:var(--wine)}
.signin-divider{display:flex;align-items:center;gap:12px;margin:23px 0 5px;color:var(--soft-text);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.signin-divider::before,.signin-divider::after{content:'';height:1px;flex:1;background:var(--line)}
.share-moment{position:relative;overflow:hidden;margin:18px 0 3px;padding:17px;border:1px solid color-mix(in srgb,var(--rose) 38%,var(--line));border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--rose) 10%,var(--surface)),color-mix(in srgb,var(--purple) 8%,var(--surface)))}.share-moment::after{content:'\2726';position:absolute;right:15px;top:8px;color:var(--gold);font-size:23px}.share-moment-kicker{color:var(--rose);font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.share-moment h3{margin:4px 28px 4px}.share-moment p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.share-moment .btn-secondary{margin-top:12px}.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.share-actions .btn-secondary{width:auto;margin-top:0}.share-feedback{margin:8px 0 0;color:var(--muted);font-size:11px;font-weight:700}.share-card-preview{position:relative;overflow:hidden;margin:12px 0 14px;padding:15px;border-radius:13px;background:linear-gradient(135deg,#3a0b2b,#670b79 62%,#b90a72);border:1px solid color-mix(in srgb,var(--purple) 65%,var(--line));box-shadow:0 9px 22px rgba(67,17,39,.2)}.share-card-preview:before{content:'';position:absolute;width:170px;height:170px;right:-85px;bottom:-95px;border-radius:50%;background:rgba(237,12,114,.37)}.share-card-preview:after{content:'✦';position:absolute;right:13px;top:7px;color:var(--gold);font-size:24px}.share-card-brand{position:relative;z-index:1;display:flex;align-items:center;gap:7px;color:#fffaf7;font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:13px}.share-card-heart{position:relative;display:inline-block;width:20px;height:20px;border-radius:50%;background:linear-gradient(90deg,var(--rose) 0 49%,var(--purple) 51%);box-shadow:0 0 0 2px #fffaf7}.share-card-heart:after{content:'✦';position:absolute;color:var(--gold);font-family:Arial,sans-serif;font-size:13px;right:-7px;top:-9px}.share-card-sticker{position:relative;z-index:1;display:inline-block;margin-top:16px;padding:5px 8px;border-radius:999px;background:#fae0ee;color:#c32163;font-size:10px;font-weight:900;letter-spacing:.1em}.share-card-preview strong{position:relative;z-index:1;display:block;max-width:88%;margin:9px 0 5px;color:#fffaf7;font-family:'Playfair Display',Georgia,serif;font-size:20px;line-height:1.08}.share-card-preview .share-card-timing{position:relative;z-index:1;color:#f6dfef;font-size:11px;font-weight:700}.share-card-wrong{position:relative;z-index:1;margin-top:12px;padding:9px 10px;border-radius:9px;background:#fff8f8;color:var(--wine);font-size:11px;line-height:1.4}.share-card-wrong b{display:block;color:var(--rose);font-size:9px;letter-spacing:.09em;text-transform:uppercase}.receipts-shelf{margin:17px 0;padding:16px;border:1px solid color-mix(in srgb,var(--purple) 35%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--purple) 8%,var(--surface)),color-mix(in srgb,var(--rose) 6%,var(--surface)))}.receipts-shelf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.receipts-shelf h3{margin:0}.receipts-shelf-head p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.receipts-count{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:var(--wine);color:#fff;font:700 14px 'Playfair Display',Georgia,serif}.receipt-share-card{margin-top:11px;padding:13px;border:1px solid color-mix(in srgb,var(--rose) 30%,var(--line));border-radius:13px;background:var(--card)}.receipt-share-card-top{display:flex;align-items:center;justify-content:space-between;gap:9px}.receipt-share-card-phase{color:var(--rose);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.receipt-share-card-points{color:var(--purple);font-size:11px;font-weight:900;white-space:nowrap}.receipt-share-card h4{margin:6px 0 3px;color:var(--wine);font-family:'Playfair Display',Georgia,serif;font-size:18px;line-height:1.14}.receipt-share-card-time{color:var(--muted);font-size:11px;font-weight:700}.receipt-share-card-wrong{margin:9px 0 0;color:var(--wine);font-size:12px;line-height:1.4}.receipt-share-card-wrong b{color:var(--rose)}.receipt-share-card .btn-secondary{width:auto;margin-top:11px;padding:8px 11px;font-size:11px}.receipt-share-card .share-actions .btn-secondary{margin-top:0}
.picks-recap{margin:15px 0;padding:16px;border:1px solid color-mix(in srgb,var(--purple) 34%,var(--line));border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--purple) 7%,var(--surface)),var(--surface))}.picks-recap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.picks-recap-head h3{margin:0}.picks-recap-head span{color:var(--rose);font-size:10px;font-weight:900;text-transform:uppercase}.picks-recap-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.picks-recap-chip{padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:10px;font-weight:750}
.badge-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.player-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:999px;background:var(--blush-soft);color:var(--rose);font-size:8px;font-weight:900;letter-spacing:.02em;white-space:nowrap}.player-badge.purple{background:color-mix(in srgb,var(--purple) 10%,var(--surface));color:var(--purple)}.player-badge.gold{background:color-mix(in srgb,var(--gold) 18%,var(--surface));color:#8a6116}.lb-player{display:flex;align-items:center;gap:8px;min-width:145px}.lb-avatar{width:31px;height:31px;flex:0 0 auto;font-size:9px}.lb-player-copy{min-width:0}
.lock-rally{margin:12px 0 0;text-align:center;color:var(--wine);font-family:'Playfair Display',Georgia,serif;font-size:17px;font-weight:700}.lock-rally span{display:block;margin-top:3px;color:var(--muted);font:500 11px/1.4 Inter,sans-serif}
.user-avatar-fallback{width:28px;height:28px;font-size:9px;border:2px solid var(--card);box-shadow:0 0 0 1px var(--line)}
@media(max-width:520px){.public-hero{padding-inline:15px}.public-demo{padding:14px}.public-couple-grid{grid-template-columns:1fr}.public-couple{min-height:54px;display:flex;align-items:center;justify-content:center;gap:7px}.public-couple span{display:inline;margin:0}.public-stake-value{min-width:68px;font-size:29px}.lb-player{min-width:128px}.picks-recap-head{display:block}.picks-recap-head span{display:block;margin-top:3px}}
.pool-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:10px 0;background:var(--surface);color:var(--ink);font:inherit;text-align:left;appearance:none;cursor:pointer;transition:box-shadow .15s,border-color .15s}
.pool-row:hover,.pool-row:focus-visible{border-color:color-mix(in srgb,var(--rose) 48%,var(--line));box-shadow:0 4px 16px rgba(110,31,59,.1)}
.pool-row-copy{display:block;min-width:0}
.pool-row-action{flex:0 0 auto;color:var(--rose);font-size:13px;font-weight:800}
.pool-row .pname{display:block;font-family:'Playfair Display',serif;font-size:18px;color:var(--wine);font-weight:700}
.pool-row .pmeta{display:block;font-size:12px;color:var(--soft-text);margin-top:2px}
.library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.library-head h2{margin-bottom:2px}
.library-head .btn-small{flex:0 0 auto;white-space:nowrap}
.season-library-row{cursor:default}
.season-library-row .btn-small{flex:0 0 auto;white-space:nowrap}
.season-library-row.unavailable{opacity:.56;filter:grayscale(.35)}
.season-library-row.unavailable .pname{color:var(--muted)}
.invite-row{border:1px dashed var(--gold);border-radius:14px;padding:14px 16px;margin:10px 0;background:#fffaf1}
.invite-row .iname{font-weight:700;color:var(--wine);font-size:15px}
.invite-row .imeta{font-size:12.5px;color:var(--gold);margin:3px 0 10px}
.invite-actions{display:flex;gap:8px}
.email-chip{display:inline-flex;align-items:center;gap:6px;background:var(--blush-soft);color:var(--wine);font-size:13px;font-weight:600;padding:5px 10px;border-radius:999px;margin:3px 4px 3px 0}
.email-chip button{border:none;background:none;color:var(--rose);cursor:pointer;font-size:13px;padding:0}
.tabbar{display:flex;gap:6px;justify-content:center;margin:12px 0 4px;flex-wrap:wrap}
.tabbar button{padding:8px 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--muted);font-weight:700;font-size:13px;cursor:pointer;font-family:Inter,sans-serif}
.tabbar button.active{background:var(--wine);color:#fff;border-color:var(--wine)}
.tabbar button:focus-visible{outline:3px solid color-mix(in srgb,var(--rose) 40%,transparent);outline-offset:2px}
.member-status{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:14px;border-bottom:1px solid var(--line)}
.member-status:last-child{border-bottom:none}
.member-status .dot{width:9px;height:9px;border-radius:50%}
.dot.done{background:#2e7d4f}
.dot.waiting{background:#c99a3f}
.backlink{display:inline-block;font-size:13px;color:var(--rose);font-weight:600;cursor:pointer;background:none;border:none;font-family:Inter,sans-serif;padding:0;margin-bottom:4px}
.divider{border:none;border-top:1px solid var(--line);margin:16px 0}
.mkt-title{display:flex;align-items:baseline;justify-content:space-between}
.multpill{font-size:11px;font-weight:700;color:var(--wine);background:var(--blush-soft);padding:3px 9px;border-radius:999px;white-space:nowrap}
.reunion-market{border:1px solid var(--line);border-radius:14px;padding:14px 15px;margin:12px 0;background:linear-gradient(135deg,var(--surface-soft),var(--surface));box-shadow:0 4px 14px rgba(110,31,59,.04)}
.reunion-market-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.reunion-market-head h3{margin:0}
.reunion-market-caption{display:block;color:var(--muted);font-size:11px;line-height:1.35;margin-top:2px}
.reunion-market-multiplier{display:flex;align-items:baseline;gap:5px;flex:0 0 auto;padding:5px 10px;border:1px solid color-mix(in srgb,var(--rose) 35%,var(--line));border-radius:10px;background:var(--blush-soft);color:var(--wine)}
.reunion-market-multiplier strong{font-family:'Playfair Display',Georgia,serif;font-size:23px;line-height:1}
.reunion-market-multiplier span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--rose)}
.reunion-market-muted{background:var(--surface);box-shadow:none}
:root[data-theme="dark"] .reunion-market{background:linear-gradient(135deg,#3a1b29,var(--surface));box-shadow:0 5px 16px rgba(0,0,0,.16)}
:root[data-theme="dark"] .reunion-market-muted{background:var(--surface)}
.btn-settings{position:absolute;right:0;top:18px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--wine);font-size:21px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 18px rgba(67,17,39,.08)}
.btn-settings:hover{background:var(--blush-soft)}
.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 4px}
.theme-choice{border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);padding:13px 12px;font:600 14px Inter,sans-serif;cursor:pointer;text-align:left}
.theme-choice.active{border-color:var(--rose);box-shadow:0 0 0 2px color-mix(in srgb,var(--rose) 18%,transparent);color:var(--rose)}
.theme-choice span{display:block;font-size:20px;margin-bottom:5px}
.danger-zone{border:1px solid #d58a99;border-radius:14px;padding:14px;margin-top:18px;background:color-mix(in srgb,#d7375f 7%,var(--card))}
.danger-zone h3{color:#b93356;margin-top:0}
.danger-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.danger-row:last-child{border-bottom:none}
.pool-management-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;width:min(100%,320px);margin-left:auto}
.pool-management-actions .btn-secondary,.pool-management-actions .btn-danger{display:grid;place-items:center;width:100%;min-height:34px;margin:0;padding:7px 9px;border-radius:9px;font-size:12px;line-height:1.2}
.danger-confirm{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.danger-confirm label{font-size:13px;color:var(--ink);display:block;margin-bottom:7px}
.btn-danger-wide{display:block;width:100%;padding:12px 14px;margin-top:10px;border:1px solid #c52d55;border-radius:12px;background:#b71f49;color:#fff;font:700 14px Inter,sans-serif;cursor:pointer}
.btn-danger-wide:disabled{opacity:.35;cursor:default}
.cast-board{padding:0;overflow:hidden;border-color:color-mix(in srgb,var(--wine) 13%,var(--line));box-shadow:0 6px 18px rgba(67,17,39,.035)}
.cast-slider-shell{display:grid;grid-template-columns:132px 34px minmax(0,1fr) 34px;align-items:center;gap:8px;padding:11px 12px;background:linear-gradient(100deg,color-mix(in srgb,var(--blush-soft) 42%,var(--surface)),var(--surface) 48%,color-mix(in srgb,var(--purple) 5%,var(--surface)))}
.cast-slider-title{align-self:stretch;border:0;border-right:1px solid var(--line);background:none;color:var(--wine);padding:4px 12px 4px 2px;text-align:left;cursor:pointer;font-family:Inter,sans-serif}
.cast-slider-title strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:16px;line-height:1.12}
.cast-slider-title span{display:block;margin-top:4px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.cast-slider-arrow{width:32px;height:32px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--wine) 20%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--surface) 88%,var(--blush-soft));color:var(--wine);font:700 20px/1 Georgia,serif;cursor:pointer;transition:transform .15s,background .15s}
.cast-slider-arrow:hover{background:var(--blush-soft);transform:scale(1.04)}
.cast-slider-track{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:3px 1px 5px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none}
.cast-slider-track::-webkit-scrollbar{display:none}
.cast-slider-track>[role="listitem"]{flex:0 0 76px;min-width:0;scroll-snap-align:start}
.cast-reference-thumb{min-width:0;text-align:center;color:var(--ink)}
.cast-reference-avatar{position:relative;width:68px;height:68px;margin:0 auto;border:2px solid color-mix(in srgb,var(--rose) 26%,var(--line));border-radius:50%;overflow:visible;background:linear-gradient(145deg,#fee4ee,#f4cbd8);box-shadow:0 3px 10px rgba(67,17,39,.08)}
.cast-reference-thumb.man .cast-reference-avatar{border-color:color-mix(in srgb,var(--purple) 28%,var(--line));background:linear-gradient(145deg,#ece5ff,#d8d5f3)}
.cast-reference-thumb.engaged .cast-reference-avatar{box-shadow:0 0 0 2px color-mix(in srgb,var(--rose) 32%,transparent),0 4px 12px rgba(67,17,39,.1)}
.cast-reference-thumb.married .cast-reference-avatar{border-color:#c39229;box-shadow:0 0 0 2px color-mix(in srgb,#c39229 24%,transparent),0 4px 12px rgba(67,17,39,.1)}
.cast-reference-thumb.broken-up .cast-reference-avatar{border-color:#bd3652}
.cast-reference-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.cast-reference-initials{height:100%;display:grid;place-items:center;overflow:hidden;border-radius:50%;color:var(--wine);font:700 19px/1 'Playfair Display',Georgia,serif}
.cast-reference-name{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700}
.cast-reference-status{position:absolute;right:-3px;bottom:1px;width:20px;height:20px;display:grid;place-items:center;border:3px solid var(--card);border-radius:50%;background:var(--rose);color:#fff;font-size:8px;font-weight:900;box-shadow:0 2px 5px rgba(67,17,39,.16)}
.cast-reference-thumb.married .cast-reference-status{background:#a67518}
.cast-reference-thumb.broken-up .cast-reference-status{background:#b3263e}
.cast-board-head{width:100%;border:none;background:linear-gradient(135deg,color-mix(in srgb,var(--blush-soft) 58%,var(--surface)),var(--surface));color:var(--wine);padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;cursor:pointer;font-family:Inter,sans-serif}
.cast-board-head strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:21px}
.cast-board-head span{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:2px}
.cast-board-toggle{font-size:22px;font-weight:500;color:var(--rose);line-height:1}
.cast-board-body{padding:14px 16px 17px}
.cast-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:11px}
.cast-couples-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cast-couple{min-width:0;border:1px solid color-mix(in srgb,var(--rose) 45%,var(--line));border-radius:15px;padding:9px;background:color-mix(in srgb,var(--blush-soft) 45%,var(--surface))}
.cast-couple-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.cast-couple-label{text-align:center;color:var(--wine);font-family:'Playfair Display',Georgia,serif;font-size:14px;font-weight:700;padding:8px 3px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cast-section-title{font-family:'Playfair Display',Georgia,serif;font-size:17px;color:var(--wine);margin:0 0 9px}
.cast-section-title.other{margin-top:18px}
.cast-person{min-width:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--surface);position:relative}
.cast-person.engaged{border-color:color-mix(in srgb,var(--rose) 55%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--rose) 10%,transparent)}
.cast-person.married{border-color:color-mix(in srgb,var(--gold) 72%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 18%,transparent)}
.cast-person.broken-up{border-color:#c9344f;box-shadow:0 0 0 2px color-mix(in srgb,#c9344f 14%,transparent)}
.cast-photo{aspect-ratio:4/5;background:linear-gradient(145deg,var(--blush-soft),var(--line));display:grid;place-items:center;overflow:hidden}
.cast-photo img{display:block;width:100%;height:100%;object-fit:cover}
.cast-initials{font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:700;color:var(--wine);letter-spacing:.02em}
.cast-person-name{font-size:12px;font-weight:700;color:var(--ink);padding:8px 7px 9px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cast-status{position:absolute;top:7px;right:7px;background:rgba(67,17,39,.88);color:#fff;font-size:8px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 6px;border-radius:999px}
.cast-status.married{background:#a67518;color:#fff}
.cast-status.broken-up{background:#b3263e;color:#fff}
.chemistry-hero{position:relative;overflow:hidden;padding:26px 22px;border:1px solid color-mix(in srgb,var(--rose) 24%,var(--line));border-radius:20px;background:radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--purple) 18%,transparent),transparent 34%),radial-gradient(circle at 9% 92%,color-mix(in srgb,var(--rose) 16%,transparent),transparent 38%),linear-gradient(135deg,color-mix(in srgb,var(--blush-soft) 68%,var(--card)),var(--card));text-align:center;box-shadow:0 12px 30px rgba(110,31,59,.07)}
.chemistry-kicker{display:block;color:var(--rose);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.chemistry-hero h2{margin:7px 0 6px;color:var(--wine);font:700 clamp(29px,6vw,42px)/1.04 'Playfair Display',Georgia,serif}
.chemistry-hero p{max-width:530px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.55}
.chemistry-orbit{position:absolute;border:1px solid color-mix(in srgb,var(--rose) 28%,transparent);border-radius:50%;pointer-events:none}
.chemistry-orbit.one{width:110px;height:110px;right:-42px;bottom:-58px}
.chemistry-orbit.two{width:62px;height:62px;right:-17px;bottom:-33px}
.chemistry-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:14px 0;padding:5px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--blush-soft) 42%,var(--surface))}
.chemistry-segmented.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.chemistry-tea-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.chemistry-tea-tabs.global{grid-template-columns:repeat(2,minmax(0,1fr))}
.chemistry-segmented button{min-height:42px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:800 12px/1.2 Inter,sans-serif;cursor:pointer}
.chemistry-segmented button.active{background:var(--surface);color:var(--wine);box-shadow:0 3px 11px rgba(67,17,39,.09)}
.chemistry-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:12px 0}
.chemistry-toolbar .field{min-width:145px}
.chemistry-progress{display:flex;align-items:center;gap:11px;margin:13px 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.chemistry-progress-ring{--progress:0;width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:conic-gradient(var(--rose) calc(var(--progress)*1%),var(--blush-soft) 0);position:relative;color:var(--wine);font-size:10px;font-weight:900}
.chemistry-progress-ring::before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--surface)}
.chemistry-progress-ring span{position:relative}
.chemistry-progress strong{display:block;color:var(--wine);font-size:13px}
.chemistry-progress small{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.4}
.rating-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.rating-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 6px 18px rgba(67,17,39,.04)}
.rating-card-head{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:11px;padding:10px 12px;background:linear-gradient(120deg,color-mix(in srgb,var(--blush-soft) 42%,var(--surface)),var(--surface))}
.cast-flag-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 13px 12px}.cast-flag-picker button{padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);font:800 10px Inter,sans-serif;cursor:pointer}.cast-flag-picker button.active.red{border-color:#c94a62;background:#fff0f2;color:#9f243e}.cast-flag-picker button.active.green{border-color:#3f9360;background:#edf8f1;color:#247344}:root[data-theme="dark"] .cast-flag-picker button.active.red{background:#4d202b;color:#ffb5c3}:root[data-theme="dark"] .cast-flag-picker button.active.green{background:#193c29;color:#a9e7bc}
.rating-card-photo{width:76px;height:76px;overflow:hidden;border-radius:13px;background:linear-gradient(145deg,var(--blush-soft),var(--line));display:grid;place-items:center}
.rating-card-photo img{width:100%;height:100%;object-fit:cover}
.rating-card-photo span{color:var(--wine);font:700 23px/1 'Playfair Display',Georgia,serif}
.rating-card-name{min-width:0;color:var(--wine);font:700 20px/1.1 'Playfair Display',Georgia,serif;overflow:hidden;text-overflow:ellipsis}
.rating-card-meta{margin-top:4px;color:var(--soft-text);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.rating-overall{min-width:46px;text-align:center}
.rating-overall strong{display:block;color:var(--rose);font:700 24px/1 'Playfair Display',Georgia,serif}
.rating-overall span{color:var(--soft-text);font-size:9px;font-weight:800}
.rating-rows{padding:7px 12px 11px}
.rating-row{display:grid;grid-template-columns:92px minmax(110px,1fr) 48px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 62%,transparent)}
.rating-row:last-child{border-bottom:0}
.rating-label{color:var(--ink);font-size:11px;font-weight:800}
.rating-label span{margin-right:4px}
.rating-slider{min-width:0}
.rating-slider input{width:100%;height:22px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}
.rating-slider input::-webkit-slider-runnable-track{height:7px;border-radius:99px;background:linear-gradient(90deg,var(--rose) 0 var(--rating-progress),var(--blush-soft) var(--rating-progress) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rose) 18%,var(--line))}
.rating-slider input::-moz-range-track{height:7px;border-radius:99px;background:linear-gradient(90deg,var(--rose) 0 var(--rating-progress),var(--blush-soft) var(--rating-progress) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rose) 18%,var(--line))}
.rating-slider input::-webkit-slider-thumb{width:21px;height:21px;margin-top:-7px;appearance:none;-webkit-appearance:none;border:3px solid var(--surface);border-radius:50%;background:var(--rose);box-shadow:0 2px 8px color-mix(in srgb,var(--rose) 38%,transparent)}
.rating-slider input::-moz-range-thumb{width:17px;height:17px;border:3px solid var(--surface);border-radius:50%;background:var(--rose);box-shadow:0 2px 8px color-mix(in srgb,var(--rose) 38%,transparent)}
.rating-slider input.unrated{opacity:.48}
.rating-slider input:focus-visible{outline:3px solid color-mix(in srgb,var(--purple) 28%,transparent);outline-offset:3px;border-radius:99px}
.rating-slider-scale{display:flex;justify-content:space-between;margin-top:-1px;color:var(--soft-text);font-size:7px;font-weight:800}
.rating-value{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:right}.rating-value strong{color:var(--rose);font:700 20px/1 'Playfair Display',Georgia,serif}.rating-value span{align-self:end;margin:0 0 2px 2px;color:var(--soft-text);font-size:7px;font-weight:900}.rating-value button{grid-column:1/-1;justify-self:end;margin-top:2px;padding:0;border:0;background:transparent;color:var(--soft-text);font-size:9px;font-weight:900;cursor:pointer}.rating-value button:hover{color:var(--rose)}
.chemistry-privacy{display:flex;gap:11px;align-items:flex-start;margin:16px 0;padding:14px;border:1px solid color-mix(in srgb,var(--purple) 26%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--purple) 6%,var(--surface))}
.chemistry-privacy-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:color-mix(in srgb,var(--purple) 13%,var(--surface));color:var(--purple);font-size:17px}
.chemistry-privacy strong{display:block;color:var(--wine);font-size:13px}
.chemistry-privacy p{margin:3px 0 0;color:var(--muted);font-size:11.5px;line-height:1.45}
.chemistry-toggle{display:flex;align-items:flex-start;gap:11px;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer}
.chemistry-toggle input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--rose);flex:0 0 auto}
.chemistry-toggle strong{display:block;color:var(--wine);font-size:13px}
.chemistry-toggle span{display:block;margin-top:3px;color:var(--muted);font-size:11.5px;line-height:1.45}
.notification-options{display:grid;gap:9px;margin:12px 0 6px}
.notification-options .chemistry-toggle{margin:0;padding:12px 14px}
.notification-destination{margin:9px 0 18px;color:var(--muted);font-size:11.5px;line-height:1.45}
.chemistry-savebar{position:sticky;z-index:4;bottom:12px;margin:18px 0 4px;padding:10px;border:1px solid color-mix(in srgb,var(--rose) 26%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--card) 92%,transparent);box-shadow:0 12px 34px rgba(67,17,39,.15);backdrop-filter:blur(12px)}
.chemistry-savebar .btn-primary{margin:0}
.chemistry-empty{padding:30px 20px;text-align:center;border:1px dashed var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 72%,var(--blush-soft))}
.chemistry-empty-icon{font-size:35px}
.chemistry-empty h3{margin:8px 0 4px}
.chemistry-empty p{max-width:430px;margin:0 auto;color:var(--muted);font-size:12px;line-height:1.5}
.chemistry-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;margin:18px 0 16px}
.chemistry-podium .podium-place{min-width:0;text-align:center;padding:13px 7px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.chemistry-podium .podium-place.first{order:2;padding-top:20px;border-color:color-mix(in srgb,#c39229 62%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,#f2c85f 14%,var(--surface)),var(--surface));transform:translateY(-8px)}
.chemistry-podium .podium-place.second{order:1}.chemistry-podium .podium-place.third{order:3}
.chemistry-podium .podium-medal{font-size:18px}.podium-photo{width:58px;height:58px;margin:6px auto;overflow:hidden;border-radius:50%;background:var(--blush-soft);display:grid;place-items:center;color:var(--wine);font:700 17px/1 'Playfair Display',Georgia,serif}
.podium-photo img{width:100%;height:100%;object-fit:cover}
.chemistry-podium .podium-place strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--wine);font:700 15px/1.15 'Playfair Display',Georgia,serif}
.chemistry-podium .podium-place small{display:block;margin-top:4px;color:var(--rose);font-size:11px;font-weight:900}
.leaderboard-list{display:grid;gap:7px}
.leaderboard-row{display:grid;grid-template-columns:28px 45px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.leaderboard-row.expandable{grid-template-columns:28px 45px minmax(0,1fr) auto 24px;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.leaderboard-row.expandable:hover{border-color:color-mix(in srgb,var(--rose) 42%,var(--line));background:color-mix(in srgb,var(--blush-soft) 32%,var(--surface))}
.leaderboard-row.expandable:focus-visible{outline:3px solid color-mix(in srgb,var(--purple) 32%,transparent);outline-offset:2px}
.leaderboard-row.expandable.open{border-color:color-mix(in srgb,var(--purple) 44%,var(--line));border-radius:13px 13px 6px 6px;background:color-mix(in srgb,var(--purple) 5%,var(--surface))}
.leaderboard-rank{text-align:center;color:var(--soft-text);font-size:11px;font-weight:900}
.leaderboard-avatar{width:45px;height:45px;overflow:hidden;border-radius:11px;background:var(--blush-soft);display:grid;place-items:center;color:var(--wine);font:700 13px/1 'Playfair Display',Georgia,serif}
.leaderboard-avatar img{width:100%;height:100%;object-fit:cover}
.leaderboard-name{min-width:0}.leaderboard-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px}.leaderboard-name span{display:block;margin-top:2px;color:var(--soft-text);font-size:10px}
.leaderboard-score{text-align:right;color:var(--wine);font:700 20px/1 'Playfair Display',Georgia,serif}.leaderboard-score span{display:block;margin-top:3px;color:var(--soft-text);font:800 8px/1 Inter,sans-serif;text-transform:uppercase}
.leaderboard-expand-icon{display:grid;place-items:center;color:var(--purple);font-size:15px;font-weight:900;transition:transform .16s ease}.leaderboard-row.open .leaderboard-expand-icon{transform:rotate(180deg)}
.leaderboard-hint{margin:4px 0 9px;color:var(--muted);font-size:10.5px;text-align:center}
.leaderboard-breakdown{margin-top:-7px;padding:14px;border:1px solid color-mix(in srgb,var(--purple) 28%,var(--line));border-top:0;border-radius:0 0 14px 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--purple) 5%,var(--surface)),var(--surface))}
.leaderboard-breakdown-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.leaderboard-breakdown-head h4{margin:0;color:var(--wine);font:700 18px/1.15 'Playfair Display',Georgia,serif}.leaderboard-breakdown-head p{margin:3px 0 0;color:var(--muted);font-size:10.5px;line-height:1.4}.leaderboard-breakdown-head span{flex:0 0 auto;padding:5px 7px;border-radius:8px;background:var(--blush-soft);color:var(--rose);font-size:9px;font-weight:900}
.pool-score-list{display:grid;gap:7px}
.pool-score-row{display:grid;grid-template-columns:minmax(105px,1fr) minmax(210px,1.4fr) 48px;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.pool-score-player{min-width:0}.pool-score-player strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px}.pool-score-player span{display:block;margin-top:2px;color:var(--soft-text);font-size:9px}
.pool-score-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.pool-score-values span{text-align:center;padding:5px 2px;border-radius:7px;background:var(--blush-soft);color:var(--soft-text);font-size:8px;font-weight:900}.pool-score-values b{display:block;margin-top:2px;color:var(--wine);font-size:11px}
.pool-score-overall{text-align:right;color:var(--rose);font:700 19px/1 'Playfair Display',Georgia,serif}.pool-score-overall span{display:block;margin-top:3px;color:var(--soft-text);font:800 7px/1 Inter,sans-serif;text-transform:uppercase}
.breakdown-pagination{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:11px}.breakdown-pagination button{min-width:76px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--wine);font-size:10px;font-weight:900;cursor:pointer}.breakdown-pagination button:disabled{opacity:.4;cursor:default}.breakdown-pagination span{color:var(--muted);font-size:9.5px;font-weight:800}
.chemistry-fingerprint{position:relative;overflow:hidden;margin:16px 0;padding:18px;border:1px solid color-mix(in srgb,var(--rose) 28%,var(--line));border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,var(--rose) 9%,var(--surface)),color-mix(in srgb,var(--purple) 8%,var(--surface)))}
.flag-tea-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:13px 0 17px}.flag-tea{display:flex;flex-direction:column;gap:3px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.flag-tea span{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.flag-tea strong{color:var(--wine);font:700 22px/1.1 'Playfair Display',Georgia,serif}.flag-tea small{color:var(--muted);font-size:10px;font-weight:800}.flag-tea.red{border-color:color-mix(in srgb,#c94a62 42%,var(--line));background:color-mix(in srgb,#fff0f2 70%,var(--surface))}.flag-tea.red span{color:#a52c45}.flag-tea.green{border-color:color-mix(in srgb,#3f9360 42%,var(--line));background:color-mix(in srgb,#edf8f1 70%,var(--surface))}.flag-tea.green span{color:#247344}
.chemistry-fingerprint h3{margin:0 0 4px}.chemistry-fingerprint p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.chemistry-fingerprint .btn-secondary{margin-top:12px}
.friend-scorecard-head{display:flex;align-items:center;gap:10px;margin:14px 0}.friend-scorecard-head .field{min-width:0}
.mini-score-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.mini-score-card{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.mini-score-card-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.mini-score-card-head strong{color:var(--wine);font:700 17px/1.15 'Playfair Display',Georgia,serif}.mini-score-card-head span{color:var(--rose);font-weight:900}
.mini-score-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mini-score-values span{text-align:center;padding:6px 2px;border-radius:8px;background:var(--blush-soft);color:var(--ink);font-size:9px;font-weight:800}.mini-score-values b{display:block;margin-top:2px;color:var(--wine);font-size:12px}
.personal-podium{margin:18px 0;padding:17px;border:1px solid color-mix(in srgb,#c39229 35%,var(--line));border-radius:17px;background:linear-gradient(140deg,color-mix(in srgb,#f2c85f 9%,var(--surface)),var(--surface))}
.personal-podium h3{margin:0 0 3px}.personal-podium>p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45}
.chemistry-outlier{position:relative;overflow:hidden;margin:14px 0 18px;padding:16px 104px 14px 17px;border:1px solid color-mix(in srgb,var(--purple) 34%,var(--line));border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,var(--purple) 10%,var(--surface)),color-mix(in srgb,var(--rose) 8%,var(--surface)))}
.chemistry-highlight-copy{position:relative;z-index:2;animation:chemistry-highlight-in .28s ease}
.chemistry-outlier-kicker{color:var(--purple);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.chemistry-outlier h3{margin:4px 0 5px;color:var(--wine);font-size:19px}.chemistry-outlier p{margin:0;max-width:600px;color:var(--muted);font-size:12px;line-height:1.5}
.chemistry-highlight-emoji{position:absolute;z-index:1;right:21px;top:50%;transform:translateY(-52%);font-size:64px;line-height:1;pointer-events:none;filter:drop-shadow(0 5px 9px color-mix(in srgb,var(--purple) 18%,transparent))}
.chemistry-highlight-controls{position:relative;z-index:2;display:flex;align-items:center;gap:6px;margin-top:10px}.chemistry-highlight-controls button{width:27px;height:24px;display:grid;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--purple) 26%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--purple);font-size:13px;font-weight:900;cursor:pointer}.chemistry-highlight-controls button:hover{background:var(--surface)}.chemistry-highlight-controls span{color:var(--soft-text);font-size:9px;font-weight:800}
@keyframes chemistry-highlight-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.compare-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;margin:14px 0}
.compare-vs{padding-bottom:12px;color:var(--rose);font:900 11px/1 Inter,sans-serif;text-transform:uppercase}
.compare-list{display:grid;gap:8px}
.compare-row{display:grid;grid-template-columns:45px minmax(0,1fr) 58px 58px 64px;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.compare-score{text-align:center;color:var(--wine);font:700 18px/1 'Playfair Display',Georgia,serif}.compare-score span{display:block;margin-top:3px;color:var(--soft-text);font:800 8px/1 Inter,sans-serif;text-transform:uppercase}
.compare-delta{justify-self:end;padding:5px 7px;border-radius:9px;background:var(--blush-soft);color:var(--muted);font-size:10px;font-weight:900}.compare-delta.positive{background:color-mix(in srgb,#3f9866 13%,var(--surface));color:#267348}.compare-delta.negative{background:color-mix(in srgb,var(--rose) 10%,var(--surface));color:var(--rose)}
:root[data-theme="dark"] .cast-board-head{background:linear-gradient(135deg,#3a1b29,var(--surface))}
:root[data-theme="dark"] .cast-slider-shell{background:linear-gradient(100deg,#341927,var(--surface) 50%,#261a35)}
:root[data-theme="dark"] .cast-reference-avatar{background:linear-gradient(145deg,#5a263c,#3b202c)}
:root[data-theme="dark"] .cast-reference-thumb.man .cast-reference-avatar{background:linear-gradient(145deg,#3d315c,#29223e)}
:root[data-theme="dark"] body{background:radial-gradient(900px 500px at 82% -10%,#351522 0%,transparent 62%),radial-gradient(800px 460px at -12% 10%,#29121d 0%,transparent 58%),var(--cream)}
:root[data-theme="dark"] .card{box-shadow:0 10px 28px rgba(0,0,0,.22)}
:root[data-theme="dark"] .seasonpill{background:#3a1b29;color:#f3dbe4;border:1px solid #5b2d41}
:root[data-theme="dark"] .tabbar button.active{background:#e78cab;color:#241019;border-color:#e78cab;box-shadow:none}
:root[data-theme="dark"] .step.done .step-label,:root[data-theme="dark"] .step.cur .step-label{color:#f1b2c8}
:root[data-theme="dark"] .btn-primary{background:linear-gradient(135deg,#c85f83,#e78cab 60%,#f3a4be);color:#241019;box-shadow:0 10px 26px rgba(0,0,0,.3)}
:root[data-theme="dark"] .btn-confirm{background:linear-gradient(135deg,#c85f83,#e78cab 60%,#f3a4be);color:#241019;box-shadow:0 7px 18px rgba(0,0,0,.3)}
:root[data-theme="dark"] .btn-secondary,:root[data-theme="dark"] .btn-add,:root[data-theme="dark"] .btn-small{border-color:#8f4965;color:#f0c8d6}
:root[data-theme="dark"] .btn-small.filled{background:#e78cab;color:#241019;border-color:#e78cab}
:root[data-theme="dark"] .btn-secondary:hover,:root[data-theme="dark"] .btn-how:hover,:root[data-theme="dark"] .btn-signout:hover{background:#3a1b29}
:root[data-theme="dark"] .receipt{background:#2b2118}:root[data-theme="dark"] .receipt.miss{background:#301820}:root[data-theme="dark"] .receipt.pending{background:#261d34}
:root[data-theme="dark"] .receipt.hit,:root[data-theme="dark"] .receipt.hit.pending{background:#172a20;border-left-color:#5fb77d}
:root[data-theme="dark"] .receipt.retro{background:#241a32}
:root[data-theme="dark"] .evt{background:linear-gradient(180deg,#2b1621,#211019)}
:root[data-theme="dark"] .evt.retro-event{border-color:#a96cf0;border-left-color:#ed5a9e;background:linear-gradient(125deg,#3b1830 0%,#291b43 100%);box-shadow:0 10px 26px rgba(0,0,0,.32)}
:root[data-theme="dark"] .evt.retro-event::after{color:#f2c85f;opacity:.68}
:root[data-theme="dark"] .champion-ceremony{background:linear-gradient(145deg,#351020,#551439 58%,#5522a0)}
:root[data-theme="dark"] .notice{background:#2b2416;color:#efdca3;border-color:#796938}
:root[data-theme="dark"] .errcard{background:#35151f;color:#f3dbe4;border-color:#7e3d54}
:root[data-theme="dark"] .invite-row{background:#2b2118}
:root[data-theme="dark"] .btn-danger,:root[data-theme="dark"] .danger-zone h3{color:#f0a5bc}
:root[data-theme="dark"] .btn-danger:hover{background:#3a1b29}
:root[data-theme="dark"] .modal-backdrop{background:rgba(6,2,4,.72)}
@media (max-width:480px){.app{padding-inline:12px}.hdr h1{font-size:27px}.card{padding:15px}.tabbar{gap:5px}.tabbar button{padding:8px 11px;font-size:11px}.stepper{margin-top:18px;padding-inline:0}.step{padding:0 1px}.step-icon{width:39px;height:39px;font-size:18px}.step-icon svg{width:20px;height:20px}.stepper::before{top:19px}.step-label{font-size:7.8px;letter-spacing:.025em}.phase-hero{padding:23px 14px 20px}.phase-hero h2{font-size:29px}.budget-card{padding:14px 13px 13px 48px}.budget-card::before{left:12px}.budgetrow{align-items:flex-start;flex-direction:column;gap:1px}.season-progress-scale,.season-progress-row{grid-template-columns:78px 1fr;gap:8px}.season-progress-phase{font-size:9px;letter-spacing:0}.season-library-row{align-items:flex-start;flex-direction:column}.season-library-row .btn-small{width:100%}.cast-board{padding:0}.cast-slider-shell{grid-template-columns:92px minmax(0,1fr) 30px;gap:6px;padding:9px}.cast-slider-title{padding-right:8px}.cast-slider-title strong{font-size:14px}.cast-slider-title span{font-size:8px}.cast-slider-arrow.prev{display:none}.cast-slider-arrow{width:29px;height:29px}.cast-slider-track>[role="listitem"]{flex-basis:62px}.cast-reference-avatar{width:55px;height:55px}.cast-reference-status{width:18px;height:18px;right:-2px;border-width:2px}.cast-board-head{padding:14px 15px}.cast-board-body{padding:12px}.cast-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cast-couples-grid{grid-template-columns:1fr;gap:8px}.cast-couple{padding:7px}.cast-couple-photos{gap:5px}.cast-couple-label{font-size:13px;padding-top:7px}.cast-person-name{font-size:11px;padding:7px 4px 8px}.rating-grid{grid-template-columns:1fr}.rating-card-head{grid-template-columns:64px 1fr auto}.rating-card-photo{width:64px;height:64px}.rating-row{grid-template-columns:72px minmax(100px,1fr) 44px;gap:7px}.rating-value strong{font-size:18px}.chemistry-hero{padding:23px 16px}.chemistry-tea-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.chemistry-podium{gap:5px}.podium-place{padding-inline:4px}.podium-photo{width:50px;height:50px}.podium-place strong{font-size:13px}.leaderboard-row{grid-template-columns:24px 40px minmax(0,1fr) auto;gap:7px}.leaderboard-row.expandable{grid-template-columns:24px 40px minmax(0,1fr) auto 18px}.leaderboard-avatar{width:40px;height:40px}.leaderboard-breakdown{padding:11px 9px}.pool-score-row{grid-template-columns:minmax(85px,1fr) 46px;gap:7px}.pool-score-values{grid-column:1/-1;grid-row:2}.compare-controls{grid-template-columns:1fr 1fr}.compare-vs{display:none}.compare-row{grid-template-columns:40px minmax(0,1fr) 46px 46px;gap:6px}.compare-row .compare-delta{grid-column:2/-1;justify-self:start}.compare-score{font-size:16px}}
@media (max-width:480px){.chemistry-outlier{padding:15px 70px 13px 14px}.chemistry-highlight-emoji{right:12px;font-size:48px}.chemistry-outlier h3{font-size:18px}.chemistry-outlier p{font-size:11px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
