:root{
  --bg:#f5fbfc;--card:#ffffff;--ink:#173a43;--muted:#5f747a;
  --teal:#0b91a0;--teal-dark:#08727e;--aqua:#20c7d9;--blue:#2f7df4;
  --coral:#ff6f61;--sun:#ffc94a;--purple:#8b5cf6;--mint:#35c78b;
  --soft:#e8f7f9;--soft-blue:#edf4ff;--soft-coral:#fff0ed;--soft-purple:#f4efff;
  --danger:#c43c45;--good:#177f5a;--shadow:0 12px 32px rgba(24,74,84,.10);
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:linear-gradient(180deg,#f4fbfc 0%,#fffaf6 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;font-size:17px}
body.large-text{font-size:19px} button,select,input{font:inherit} button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer} button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid rgba(47,125,244,.38);outline-offset:3px}
#app{min-height:100dvh}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:52px 1fr 52px;align-items:center;padding:max(10px,env(safe-area-inset-top)) 14px 10px;background:rgba(247,252,252,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(11,145,160,.10)}
.brand-wrap{text-align:center;min-width:0}.brand{font-weight:900;font-size:1.14rem;letter-spacing:-.02em;color:var(--teal-dark)}.subtitle{color:var(--muted);font-size:.82rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icon-btn{border:0;background:transparent;min-width:50px;min-height:50px;border-radius:16px;color:var(--teal-dark);display:grid;place-items:center}.icon-btn svg{width:27px;height:27px;fill:currentColor}.icon-btn:active{background:var(--soft)}.hidden{visibility:hidden}
.screen{width:min(980px,100%);margin:0 auto;padding:18px 16px calc(36px + env(safe-area-inset-bottom))}
.hero{text-align:center}.ocean-hero{position:relative;overflow:hidden;padding:28px 20px 24px;border-radius:28px;background:radial-gradient(circle at 12% 8%,rgba(32,199,217,.24),transparent 29%),radial-gradient(circle at 92% 20%,rgba(255,111,97,.22),transparent 26%),linear-gradient(145deg,#ebfbfd,#fff8f2);border:1px solid rgba(11,145,160,.12)}
.ocean-hero:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-35px;height:70px;background:radial-gradient(55px 22px at 30px 0,transparent 58%,rgba(47,125,244,.10) 60% 64%,transparent 66%) repeat-x;background-size:90px 45px;pointer-events:none}.hero-kicker{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--teal-dark);font-size:.72rem;font-weight:900;letter-spacing:.16em}.hero-kicker span{width:32px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--aqua),var(--blue))}.hero h1{margin:7px 0 8px;font-size:clamp(2.15rem,8vw,3.5rem);line-height:1;letter-spacing:-.045em;color:#0d5d68}.hero p{margin:0 auto;max-width:38rem;line-height:1.5;color:var(--muted);font-size:1rem}.status-pill{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:9px 13px;border-radius:999px;background:#e6f8ef;color:var(--good);font-weight:850;font-size:.82rem}
.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:20px}.game-card{border:1px solid rgba(20,100,110,.08);text-align:left;background:#fff;min-height:158px;border-radius:24px;padding:18px;box-shadow:var(--shadow);color:var(--ink);display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:start;transition:transform .12s ease,box-shadow .12s ease}.game-card:active{transform:scale(.985);box-shadow:0 5px 16px rgba(24,74,84,.11)}.game-card.wide{grid-column:1/-1;min-height:124px}.game-card h2{font-size:1.15rem;margin:2px 0 7px;letter-spacing:-.02em;color:#124e59}.game-card p{margin:0;color:var(--muted);line-height:1.4;font-size:.92rem}.game-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;flex:none}.game-icon svg{width:45px;height:45px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.game-icon svg .fill{fill:currentColor;stroke:none}.icon-lettertap{background:#e8f9fb;color:#078b99}.icon-scatter{background:#fff0ed;color:#e85c50}.icon-twenty{background:#fff8da;color:#bf8200}.icon-guess{background:#edf4ff;color:#2f70de}.icon-questions{background:#f3efff;color:#7752dc}.icon-bingo{background:#e9fbf3;color:#159566}.icon-hunt{background:#fff2e6;color:#d66a22}
.panel{background:var(--card);border-radius:22px;padding:18px;box-shadow:var(--shadow);margin-bottom:14px;border:1px solid rgba(20,100,110,.08)}.center{text-align:center}.eyebrow{color:var(--teal-dark);text-transform:uppercase;letter-spacing:.11em;font-size:.74rem;font-weight:900;margin-bottom:8px}.prompt{font-size:clamp(1.7rem,7vw,2.8rem);line-height:1.1;font-weight:900;margin:8px auto 14px;letter-spacing:-.03em;text-wrap:balance}.prompt.medium{font-size:clamp(1.45rem,6vw,2.3rem)}.big-answer{font-size:clamp(2.2rem,9vw,4rem);line-height:1.05;font-weight:900;margin:18px 0;overflow-wrap:anywhere;letter-spacing:-.035em}.muted{color:var(--muted)}.pack-desc{line-height:1.45;margin:10px 0 0}.pack-picker{max-width:720px;margin-left:auto;margin-right:auto}
.controls{display:flex;gap:10px;margin-top:14px}.controls>*{flex:1}.primary,.secondary,.danger,.ghost{border:0;border-radius:16px;min-height:56px;padding:12px 16px;font-weight:900;transition:transform .1s ease}.primary:active,.secondary:active,.danger:active,.ghost:active{transform:scale(.985)}.primary{background:linear-gradient(135deg,var(--teal),#087f8c);color:white}.secondary{background:var(--soft);color:#155e68}.danger{background:#ffe8ea;color:var(--danger)}.ghost{background:white;color:var(--teal-dark);border:1.5px solid rgba(11,145,160,.26)}.full{width:100%;margin-top:10px}
.timer{font-variant-numeric:tabular-nums;font-size:clamp(4.8rem,22vw,8.5rem);line-height:1;font-weight:950;margin:18px 0 8px;color:#0a7480;letter-spacing:-.06em}.medium-timer{font-size:clamp(4rem,16vw,6.5rem)}.timer.urgent{color:var(--coral);animation:pulse .55s ease-in-out infinite alternate}@keyframes pulse{to{transform:scale(1.055)}}.progress{height:11px;border-radius:999px;background:#e9f1f2;overflow:hidden;margin:12px 0}.progress>div{height:100%;background:linear-gradient(90deg,var(--aqua),var(--blue));width:100%;transition:width .2s linear}
.letters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}.letter{border:1px solid rgba(15,100,110,.08);min-height:62px;border-radius:17px;background:#fff;box-shadow:0 4px 12px rgba(24,74,84,.07);font-size:1.35rem;font-weight:950;color:#17434c}.letter.used{background:#e6ecee;color:#84979b;text-decoration:line-through;box-shadow:none}.categories{display:grid;gap:9px;margin:14px 0;counter-reset:cat}.category-row{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:12px 13px;background:#fff;border-radius:15px;border:1px solid rgba(20,100,110,.07);box-shadow:0 3px 10px rgba(24,74,84,.05);font-weight:760;line-height:1.25}.category-row:before{counter-increment:cat;content:counter(cat);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dff7fa;color:#087986;font-weight:950;font-size:.82rem}
.counter-box{display:flex;justify-content:center;gap:14px;align-items:center;margin:18px 0}.counter{min-width:145px;text-align:center;font-size:2.25rem;font-weight:950}.counter-btn{min-width:60px;max-width:70px;font-size:1.5rem}.reveal-card{min-height:280px;display:grid;place-items:center;padding:28px 20px;border-radius:24px;background:linear-gradient(145deg,#fff,#eefbfc);border:1px solid rgba(11,145,160,.10);box-shadow:var(--shadow);text-align:center}.cover{color:var(--muted)}
.help{margin-top:20px;background:rgba(255,255,255,.72);box-shadow:none}.help summary{cursor:pointer;font-weight:900;color:var(--teal-dark);min-height:44px;display:flex;align-items:center}.help p,.help li{color:var(--muted);line-height:1.5}.footer-note{text-align:center;color:var(--muted);font-size:.8rem;margin-top:26px;line-height:1.5}
.modal{border:0;border-radius:26px;padding:0;width:min(92vw,500px);background:transparent}.modal::backdrop{background:rgba(20,47,53,.48);backdrop-filter:blur(4px)}.modal-card{background:#fff;padding:22px;border-radius:26px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-head h2{margin:0;color:#12535e}.field{display:grid;gap:7px;font-weight:800;margin:14px 0}select,input.round-code{width:100%;min-height:52px;border:1.5px solid #bfd7da;border-radius:14px;padding:9px 11px;background:white;color:var(--ink)}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid #e5eeee;font-weight:720}.toggle-row input{width:26px;height:26px;accent-color:var(--teal)}.settings-note{margin:16px 0 10px;padding:12px 14px;border-radius:14px;background:#ebfaf4;color:#286a52;font-size:.86rem;line-height:1.42}.confirm-modal{text-align:center}.confirm-symbol{width:54px;height:54px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;background:#fff0ed;color:var(--coral);font-size:2rem;font-weight:950}.confirm-modal h2{margin:6px 0 8px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.turn-timer-row{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center;text-align:left;margin-top:8px}.timer-block{text-align:center}.turn-timer-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.compact-timer{font-size:4.2rem;margin:0;text-align:center}.timer-note{margin-top:9px;color:var(--muted);font-size:.88rem;font-weight:720}
.scatter-shell{min-height:calc(100dvh - 86px);display:flex;flex-direction:column}.scatter-top{display:grid;grid-template-columns:85px 110px 1fr;gap:10px 14px;align-items:center;padding:14px 16px;margin-bottom:9px}.scatter-letter-box,.scatter-timer-box{text-align:center}.scatter-letter{font-size:2.8rem;line-height:1;font-weight:950;color:#087986}.scatter-timer{font-size:3.2rem;margin:0}.scatter-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scatter-progress{grid-column:1/-1;margin:0}.scatter-sync{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:12px 14px;margin-bottom:9px}.small-copy{font-size:.8rem;line-height:1.32}.round-code-row{display:flex;gap:7px}.round-code{width:104px!important;text-align:center;font-size:1.06rem!important;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.round-code-row button{min-height:52px}.compact-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 9px;flex:1}.compact-categories .category-row{min-height:58px;font-size:.94rem}.scatter-help{margin-top:4px}
.daily-card-note{margin:5px 0 10px;text-align:center;color:var(--muted);font-size:.8rem;font-weight:720}.bingo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:12px auto 10px;max-width:680px}.bingo-cell{position:relative;aspect-ratio:1/1;min-width:0;padding:5px;border:1px solid rgba(11,145,160,.15);border-radius:12px;background:#fff;color:var(--ink);font-size:clamp(.66rem,2.25vw,.94rem);line-height:1.05;font-weight:850;overflow:hidden;display:grid;place-items:center;box-shadow:0 2px 7px rgba(24,74,84,.05)}.text-bingo-label{padding:3px;overflow-wrap:anywhere}.picture-bingo{gap:4px}.picture-cell{grid-template-rows:1fr auto;align-content:stretch;gap:0;padding:2px}.bingo-icon{display:grid;place-items:center;width:100%;height:100%;font-size:clamp(2.1rem,9.5vw,4.6rem);line-height:1;filter:saturate(1.08)}.bingo-label{display:block;width:100%;padding:2px 2px 3px;font-size:clamp(.48rem,1.85vw,.72rem);line-height:1.02;font-weight:900;white-space:normal}.picture-cell.free .bingo-icon{font-size:clamp(2rem,8vw,4rem);color:#dd8a00}.bingo-cell.marked{background:#dff8f0;box-shadow:inset 0 0 0 3px #22a875}.bingo-cell.marked .bingo-icon,.bingo-cell.marked .bingo-label,.bingo-cell.marked .text-bingo-label{opacity:.42}.bingo-check{position:absolute;inset:auto 5px 5px auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#168b64;color:#fff;font-size:1.35rem;font-weight:950;box-shadow:0 3px 9px rgba(0,0,0,.18)}.bingo-cell.free{background:#fff6dc;color:#946200}.bingo-win{text-align:center;margin:7px auto 12px;padding:16px;border-radius:20px;max-width:680px;background:linear-gradient(135deg,#dcf9f1,#fff4de,#f4efff);color:#0b626e;border:1px solid rgba(11,145,160,.12);box-shadow:var(--shadow)}.bingo-word{font-size:2.1rem;font-weight:950;letter-spacing:.08em;margin-bottom:4px}
.same-list-note{margin-top:13px;padding:10px 12px;border-radius:13px;background:#e8f8ef;color:var(--good);font-size:.84rem;font-weight:850}.hunt-progress{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.progress-count{font-size:1.9rem;font-weight:950;color:#0c6b76}.mini-progress{height:14px;border-radius:999px;background:#e8f1f2;overflow:hidden}.mini-progress>div{height:100%;background:linear-gradient(90deg,var(--coral),var(--aqua));transition:width .2s}.hunt-list{display:grid;gap:10px;margin:12px 0 16px}.hunt-item{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;width:100%;text-align:left;padding:14px 15px;border:1px solid rgba(11,145,160,.10);border-radius:16px;background:#fff;color:var(--ink);line-height:1.4;box-shadow:0 3px 10px rgba(24,74,84,.05)}.hunt-item.done{background:#e7f8f1;color:#607a71;text-decoration:line-through}.hunt-check{width:32px;height:32px;border-radius:10px;border:2px solid #55c89d;display:grid;place-items:center;font-weight:950;color:white;background:white}.hunt-item.done .hunt-check{background:#168b64;border-color:#168b64}
.time-up-alert{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(255,111,97,0);pointer-events:none;opacity:0;transition:opacity .15s ease,background .15s ease}.time-up-alert.show{opacity:1;background:rgba(255,111,97,.88);pointer-events:auto;animation:alertFlash .45s ease 2}.time-up-card{min-width:min(88vw,420px);padding:28px 24px;border-radius:28px;background:#fff;text-align:center;box-shadow:0 28px 80px rgba(58,24,20,.28);transform:scale(.92);transition:transform .15s ease}.time-up-alert.show .time-up-card{transform:scale(1)}.time-up-icon{font-size:3.4rem}.time-up-card strong{display:block;font-size:clamp(2.3rem,12vw,4.5rem);line-height:1;margin:10px 0;color:#bd3d43;letter-spacing:-.04em}.time-up-card span{color:var(--muted);font-weight:800}@keyframes alertFlash{50%{background:rgba(255,201,74,.92)}}
@media (max-width:430px){.screen{padding-left:12px;padding-right:12px}.game-grid{grid-template-columns:1fr}.game-card.wide{grid-column:auto}.game-card{min-height:126px;padding:15px}.game-icon{width:60px;height:60px}.letters{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.letter{min-height:58px}.turn-timer-row{grid-template-columns:105px 1fr}.turn-timer-actions{grid-template-columns:1fr}.scatter-top{grid-template-columns:64px 82px 1fr;gap:8px}.scatter-letter{font-size:2.2rem}.scatter-timer{font-size:2.55rem}.scatter-actions{grid-template-columns:1fr}.scatter-actions button{min-height:48px;padding:9px}.compact-categories .category-row{min-height:52px;font-size:.9rem;padding:9px}.scatter-sync{grid-template-columns:1fr}.round-code-row{justify-content:center}.bingo-grid{gap:3px}.bingo-cell{border-radius:9px;padding:1px}.picture-cell{padding:1px}.bingo-check{width:29px;height:29px;font-size:1.1rem;right:3px;bottom:3px}.controls{gap:8px}.controls .ghost,.controls .primary,.controls .secondary{padding-left:9px;padding-right:9px}}
@media (min-width:760px){.screen{padding:24px 28px 46px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.game-card{min-height:180px;display:block}.game-card.wide{grid-column:auto;min-height:180px}.game-icon{width:72px;height:72px;margin-bottom:16px}.game-icon svg{width:50px;height:50px}.game-card h2{font-size:1.24rem}.game-card p{font-size:.96rem}.ocean-hero{padding:36px 30px 30px}.panel{padding:22px}.compact-categories{grid-template-columns:repeat(4,minmax(0,1fr))}.scatter-shell{min-height:auto}.bingo-grid{gap:8px}.picture-cell{padding:4px}.bingo-label{font-size:.78rem}.hunt-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
body.large-text .game-card p,body.large-text .pack-desc,body.large-text .help p,body.large-text .hunt-item{font-size:1rem}body.large-text .primary,body.large-text .secondary,body.large-text .danger,body.large-text .ghost{min-height:60px}body.large-text .letter{min-height:66px;font-size:1.5rem}


/* Version 5: play-first mobile layout */
.home-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 2px 10px}
.home-intro h1{margin:2px 0 0;font-size:clamp(1.55rem,6vw,2.15rem);line-height:1.05;letter-spacing:-.04em;color:#124e59}
.home-intro .hero-kicker{justify-content:flex-start;font-size:.66rem;letter-spacing:.13em}
.home-intro .status-pill{margin:0;white-space:nowrap;padding:7px 10px;font-size:.72rem}
.game-grid{gap:11px;margin-top:6px}
.game-card,.game-card.wide{min-height:112px;padding:14px;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}
.game-card h2{margin:0;font-size:1.04rem}
.game-icon{width:68px;height:68px;border-radius:21px}
.game-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.8}
.game-card.wide{grid-column:1/-1;min-height:104px;flex-direction:row}
.topbar{padding-bottom:7px}.brand{font-size:1.04rem}.subtitle{font-size:.74rem}
.lettertap-head{position:sticky;top:70px;z-index:4;padding:12px 14px;margin-bottom:10px}
.lt-status{display:grid;grid-template-columns:1fr 88px;gap:12px;align-items:center}
.lt-category .eyebrow{margin-bottom:3px}.lt-category .prompt{margin:0;text-align:left;font-size:clamp(1.15rem,5vw,1.65rem)}
.lt-status .compact-timer{font-size:3.25rem}
.letters{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:8px}
.letter{min-height:50px;border-radius:14px;font-size:1.2rem}
.lt-controls{flex-wrap:wrap}.lt-controls>*{flex:1 1 30%;min-height:48px;padding:9px 10px}
.scatter-lobby{max-width:620px;margin:0 auto}.lobby-code{justify-content:center;margin:18px auto 6px;max-width:360px}
.scatter-top{position:sticky;top:70px;z-index:4;grid-template-columns:72px 72px 1fr;padding:10px 12px}
.scatter-round{text-align:center}.scatter-round strong{font-size:1.35rem;color:#0b6671}
.scatter-top .scatter-letter{font-size:2.35rem}.scatter-top .scatter-timer{font-size:2.7rem}
.compact-categories{display:grid;grid-template-columns:1fr;gap:7px;flex:none}
.compact-categories .category-row{min-height:48px;padding:9px 11px;font-size:1rem}
.scatter-bottom-actions{margin:8px 0}.scatter-code-foot{text-align:center;color:var(--muted);font-size:.78rem;margin:8px 0 4px}
.guess-timer-panel{position:relative}.guess-score{position:absolute;right:18px;top:16px;display:grid;text-align:center;color:var(--muted);font-size:.72rem;font-weight:850}.guess-score strong{font-size:1.5rem;color:var(--teal-dark)}
.final-guess{margin-top:14px;padding:12px 14px;border-radius:14px;background:#fff4de;color:#7b5700;display:flex;flex-direction:column;gap:3px}.hidden-block{display:none!important}
.bingo-grid{margin-top:4px}
.bingo-cell{font-size:clamp(.72rem,2.45vw,1rem);font-weight:700;line-height:1.08;letter-spacing:-.015em}
.text-bingo-label{font-weight:700}
.bingo-label{font-size:clamp(.56rem,2.05vw,.78rem);font-weight:750;line-height:1.05}
.bingo-options{max-width:680px;margin:12px auto 14px}
.hunt-progress{grid-template-columns:auto 1fr auto;margin-bottom:8px;padding:12px 14px}
.hunt-sort{display:grid;gap:4px;font-size:.72rem;font-weight:850;color:var(--muted)}
.hunt-sort select{min-height:42px;padding:6px 9px}
.hunt-list{margin-top:8px}.hunt-options{margin-top:12px}
@media (max-width:430px){
  .home-intro{align-items:flex-start}.home-intro .status-pill{font-size:.66rem}
  .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .game-card,.game-card.wide{min-height:104px;padding:11px}
  .game-card.wide{grid-column:1/-1}
  .game-icon{width:62px;height:62px}
  .letters{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .letter{min-height:46px;border-radius:12px}
  .scatter-top{grid-template-columns:62px 62px 1fr;gap:7px}
  .scatter-top .scatter-timer{font-size:2.35rem}
  .hunt-progress{grid-template-columns:auto 1fr}.hunt-sort{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center}
}

/* Local Lucide SVG assets */
.local-svg-icon{
  width:40px;
  height:40px;
  display:block;
  object-fit:contain;
}
.game-icon svg{display:none}

/* Safari/cache-safe icon image class */
.local-svg-image-v2{
  width:40px;
  height:40px;
  display:block;
  object-fit:contain;
  background:transparent !important;
  -webkit-mask:none !important;
  mask:none !important;
  border:0;
}

/* Version 5 polish: distinct success celebrations */
.time-up-alert.celebration.show{background:rgba(11,145,160,.90);animation:celebrationFlash .55s ease 2}
.time-up-alert.celebration .time-up-card strong{color:var(--teal-dark)}
@keyframes celebrationFlash{50%{background:rgba(255,201,74,.92)}}
.completion-card{max-width:720px;margin:4px auto 14px;padding:20px 18px;border-radius:22px;text-align:center;background:linear-gradient(135deg,#dcf9f1,#fff4de,#f4efff);border:1px solid rgba(11,145,160,.12);box-shadow:var(--shadow)}
.completion-card .completion-emoji{font-size:2.7rem;line-height:1;margin-bottom:8px}
.completion-card strong{display:block;color:var(--teal-dark);font-size:1.45rem;margin-bottom:4px}
.completion-card span{color:var(--muted);font-weight:750}
