@charset "UTF-8";
:root{color-scheme:light;--paper:#faf6ec;--ink:#174f46;--muted:#73817a;--red:#bd3e49;--gold:#dfab50;--line:#dcded2;--font:"Trebuchet MS",Arial,sans-serif;--display:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;background-image:radial-gradient(#617f6311 .8px,transparent .8px);background-size:9px 9px}[hidden]{display:none!important}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #dd9b35;outline-offset:5px}button:disabled{cursor:wait;opacity:.65}svg{display:block;width:24px;height:24px}a{color:inherit}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.top-trim{height:7px;background:repeating-linear-gradient(120deg,var(--red) 0,var(--red) 15px,var(--paper) 15px,var(--paper) 29px,var(--ink) 29px,var(--ink) 44px,var(--paper) 44px,var(--paper) 58px)}.page{width:min(1240px,calc(100% - 72px));margin:0 auto}.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0 24px;border-bottom:1px solid var(--line)}.party-brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:1.6px;line-height:1.65}.party-brand strong{font-size:12px;letter-spacing:2px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid #d7caaa;border-radius:50%;background:#fffaf0}.brand-mark svg{width:32px;height:32px}.masthead-note{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#718178;display:flex;gap:10px;align-items:center}.tiny-star{color:var(--red);font-size:17px}.utility-button{border:1px solid #d8ddcf;border-radius:9px;background:transparent;display:flex;align-items:center;justify-content:center;gap:9px;height:37px;padding:0 12px;font-size:11px;font-weight:700;color:var(--ink)}.utility-button:hover{background:#f0eddf}.utility-button svg{width:17px;height:17px}.sound-button[aria-pressed="false"] .sound-waves{display:none}.sound-button[aria-pressed="true"] .sound-muted{display:none}
.intro{display:flex;align-items:center;justify-content:space-between;padding:32px 0 29px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:700;letter-spacing:2.5px;color:#8b795c}.eyebrow span{height:1px;width:15px;background:#bba984}.eyebrow span:last-child{display:none}h1{position:relative;font-family:var(--display);font-size:clamp(40px,5.2vw,70px);letter-spacing:-3.2px;line-height:1.15;margin:9px 0 5px;font-weight:900}h1 em{font-style:italic;color:var(--red);font-weight:700}.title-sparkle{display:inline;width:24px;height:24px;margin-left:12px;vertical-align:top;margin-top:8px;color:var(--gold);transform:rotate(12deg)}.intro p{font-size:14px;color:#64746d;margin:10px 0 0;letter-spacing:.15px}.holiday-seal{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:103px;height:103px;border:1px dashed #b4baa0;outline:5px solid var(--paper);border-radius:50%;transform:rotate(12deg);margin:0 18px}.holiday-seal svg{width:40px;height:40px}.holiday-seal span{font-size:8px;font-weight:700;letter-spacing:1.1px}
.game-card{background:#fffdf5;border:2px solid var(--ink);border-radius:21px;overflow:hidden;box-shadow:0 7px 0 #e4e2d3;isolation:isolate}.scoreboard{display:grid;grid-template-columns:1.05fr 1fr 1fr auto;align-items:center;min-height:93px;padding:15px 26px;gap:20px;background:#fffdf5;border-bottom:1px solid #cedccf}.score-cell{padding-left:22px;border-left:1px solid #e3e5d8}.score-cell:first-child{border:0;padding-left:0}.stat-label{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;letter-spacing:1.6px;color:#66796b;white-space:nowrap}.stat-label svg{width:14px;height:14px;color:#7b8f71}.stat-label .small-house{width:18px;height:18px;margin:-2px 0}.score-line{display:flex;align-items:baseline;gap:13px;margin-top:5px;white-space:nowrap}.score-line strong{font-size:28px;font-weight:700;letter-spacing:1px;font-variant-numeric:tabular-nums;line-height:1.1}.score-line span{font-size:10px;color:#65715e}.saved-score .score-line strong{color:var(--red)}.best-score .score-line strong{color:#7c856d}.icon-button{display:grid;place-items:center;border:1px solid #dde2d5;border-radius:9px;width:33px;height:33px;background:transparent;color:var(--ink)}.icon-button:hover{background:#eff0e6}.icon-button svg{width:17px;height:17px}.stage{position:relative;aspect-ratio:1280/580;overflow:hidden;background:#b4e4e4;touch-action:none;container-type:inline-size}.stage canvas{display:block;width:100%;height:100%;touch-action:none}.stage-label{position:absolute;left:23px;top:17px;display:flex;align-items:center;gap:7px;font-size:8px;font-weight:700;letter-spacing:1.1px;color:#1a635c;pointer-events:none;background:#f2fffae6;padding:7px 10px;border-radius:20px;box-shadow:0 1px 3px #2750500c}.status-dot{height:5px;width:5px;border-radius:50%;background:#4aa47a}.overlay{position:absolute;top:50%;right:6.2%;width:40%;max-width:464px;transform:translateY(-49%);padding:28px 30px 23px;border:1px solid #fefaf1;border-radius:17px;background:#fffbefed;box-shadow:0 9px 34px #11434918;backdrop-filter:blur(8px);text-align:left}.overlay-kicker{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1.6px;font-weight:700;color:#839478}.overlay-kicker svg{width:14px;height:14px;color:var(--gold)}.overlay h2{font-family:var(--display);font-size:clamp(25px,3.5vw,48px);letter-spacing:-1.8px;line-height:1.06;margin:13px 0 14px;font-weight:800}.overlay h2 em{font-style:italic;color:var(--red)}.overlay p{font-size:12px;color:#52654d;line-height:1.75;margin:0 0 20px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:184px;min-height:44px;border:1px solid #932e39;border-radius:8px;color:#fff9ed;background:var(--red);box-shadow:0 3px 0 #8d313b;padding:10px 15px;font-size:13px;font-weight:700;transition:background .15s,transform .15s,box-shadow .15s}.primary-button:hover{background:#a8313d;transform:translateY(-1px);box-shadow:0 4px 0 #8d313b}.primary-button:active{transform:translateY(2px);box-shadow:0 1px 0 #8d313b}.primary-button svg{width:18px;height:18px}.overlay-key{display:flex;align-items:center;gap:6px;margin-top:14px;font-size:9px;color:#52654d}kbd{display:inline-block;font-family:var(--font);font-size:9px;letter-spacing:1px;font-weight:700;border:1px solid #c9d0bd;border-bottom-width:3px;border-radius:5px;padding:4px 8px;color:#42634f;background:#fffff7;white-space:nowrap}.overlay-key span{margin:0 1px}.loading-note{position:absolute;bottom:18px;left:23px;font-size:11px;color:var(--ink);padding:7px 12px;border-radius:20px;background:#fffff4ed}.result-overlay{padding-top:23px;padding-bottom:20px}.result-overlay h2{font-size:clamp(24px,3.3vw,43px);margin:12px 0}.result-overlay p{margin-bottom:12px}.result-numbers{display:flex;gap:18px;margin-bottom:18px}.result-numbers div{display:flex;flex-direction:column;gap:3px}.result-numbers strong{font-size:22px;font-variant-numeric:tabular-nums}.result-numbers span{font-size:7px;letter-spacing:.8px;color:#7c8877;font-weight:700}.delivery-toast{position:absolute;top:23px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;white-space:nowrap;background:#fffaf0f5;border:1px solid #dfc56f;border-radius:12px;padding:11px 14px;box-shadow:0 4px 25px #37584419;pointer-events:none;animation:toast-in .28s ease-out}.delivery-toast>svg{width:34px;height:34px}.delivery-toast strong{display:block;font-size:12px}.delivery-toast span:not(.toast-plus){display:block;font-size:10px;color:#7b8271;margin-top:3px}.toast-plus{font-family:var(--display);font-weight:700;color:var(--red);font-size:26px;padding-left:4px}.delivery-track{display:flex;align-items:center;gap:18px;padding:16px 25px;background:#f9fbed;border-top:1px solid #dce7db;min-height:52px}.track-label{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:8px;font-weight:700;letter-spacing:1.1px}.track-label svg{width:13px;height:13px;color:#cf9e44}.progress-track{height:8px;border-radius:10px;background:#e0e6d4;flex:1;overflow:hidden}.progress-track>div{height:100%;width:0;border-radius:10px;background:repeating-linear-gradient(120deg,#ba4450 0,#ba4450 8px,#dc7378 8px,#dc7378 16px);transition:width .12s linear}.delivery-track>strong{font-size:10px;font-weight:700;min-width:92px;text-align:right;color:#76816a;font-variant-numeric:tabular-nums}.under-game{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:21px;padding:0 2px}.control-description{display:flex;align-items:center;gap:11px;font-size:11px;color:#7d8878;margin:0}.control-description strong{color:#5b705b;font-weight:400}.control-description kbd{font-size:9px;letter-spacing:1.2px;padding:6px 11px}.speed-note{display:flex;align-items:center;gap:8px;font-size:10px;color:#809079}.speed-lines{font-size:23px;font-weight:700;line-height:1;color:#b59148}.jump-button{display:none;border:1px solid #0e4039;border-bottom-width:4px;border-radius:10px;min-height:46px;background:var(--ink);color:#fffcf0;font-size:12px;font-weight:700;letter-spacing:1px;touch-action:none}.jump-button span{font-size:19px;margin-left:8px}.how-to{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding:31px 0 29px;margin-top:15px;border-bottom:1px solid var(--line)}.how-to-step{display:flex;gap:13px}.step-number{display:inline-grid;place-items:center;flex:0 0 26px;height:26px;border:1px solid #d7d9c4;border-radius:50%;font-size:9px;color:#939b81;margin-top:1px}.how-to h3{font-size:12px;margin:0 0 7px;font-weight:700;letter-spacing:.1px}.how-to p{font-size:11px;line-height:1.7;color:#63705e;margin:0;max-width:270px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0 26px;color:#9a9f8d;font-size:9px}footer>span:first-child{letter-spacing:1.6px;font-size:8px;font-weight:700}.footer-star{font-size:17px;color:#bb7e6d}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript{position:fixed;bottom:20px;left:20px;right:20px;padding:20px;background:#fff0bf;color:#624817;border:2px solid #987233;z-index:10}.game-card:fullscreen{width:100%;height:100%;border:0;border-radius:0;background:var(--ink);display:flex;flex-direction:column;justify-content:center;box-shadow:none}.game-card:fullscreen .stage{flex:0 1 auto;width:100%;max-height:calc(100vh - 145px);aspect-ratio:1280/580;align-self:center}.game-card:fullscreen canvas{object-fit:contain}.game-card:fullscreen .scoreboard,.game-card:fullscreen .delivery-track{flex-shrink:0}.game-card:fullscreen .overlay{max-width:460px}.game-card:fullscreen .stage-label{top:18px}.score-pop{animation:score-pop .45s ease-out}.new-best{color:var(--red)!important}@keyframes toast-in{from{opacity:0;translate:0 -10px}to{opacity:1;translate:0 0}}@keyframes score-pop{35%{transform:scale(1.3)}100%{transform:scale(1)}}
@media(min-width:1450px){.page{width:min(1280px,calc(100% - 96px))}.intro{padding-top:37px;padding-bottom:33px}}
@media(max-width:1000px){.page{width:calc(100% - 44px)}.masthead-note{font-size:8px;letter-spacing:1px}.scoreboard{padding:15px 20px;gap:13px}.score-cell{padding-left:16px}.score-line{gap:7px}.score-line span{font-size:9px}.score-line strong{font-size:24px}.overlay{padding:21px 24px 19px}.overlay p{font-size:11px;margin-bottom:15px}.overlay h2{margin:10px 0}.primary-button{min-height:40px;font-size:12px}.overlay-key{margin-top:11px;font-size:8px}.result-overlay .overlay-kicker{font-size:7px}.result-numbers{gap:13px;margin-bottom:12px}.result-numbers strong{font-size:20px}.result-overlay .overlay-key{margin-top:9px}.how-to{gap:20px}.holiday-seal{width:90px;height:90px;margin-right:6px}}
@media(max-width:760px){.page{width:calc(100% - 30px)}.masthead{padding:16px 0}.masthead-note{display:none}.party-brand{font-size:8px;gap:8px;letter-spacing:1px}.party-brand strong{font-size:10px;letter-spacing:1.5px}.brand-mark{width:36px;height:36px}.brand-mark svg{width:28px;height:28px}.intro{padding:26px 0 24px}.eyebrow{font-size:7px;letter-spacing:1.8px}h1{font-size:46px;letter-spacing:-2.8px}.title-sparkle{width:17px;height:17px;margin-left:7px;margin-top:3px}.intro p{font-size:12px}.holiday-seal{width:72px;height:72px;gap:3px}.holiday-seal svg{width:28px;height:28px}.holiday-seal span{font-size:6px;letter-spacing:.6px}.scoreboard{min-height:79px;padding:14px 16px;gap:10px;grid-template-columns:1fr .85fr 1fr auto}.score-cell{padding-left:10px}.stat-label{font-size:7px;gap:4px;letter-spacing:.7px}.stat-label svg{width:12px;height:12px}.score-line strong{font-size:23px;letter-spacing:0}.score-line span{display:none}.icon-button{width:28px;height:28px}.game-card{border-radius:16px}.overlay{padding:17px 19px 15px;right:3.5%;width:45%;border-radius:12px}.overlay h2{font-size:29px;letter-spacing:-1px;margin:9px 0}.overlay p{font-size:9px;line-height:1.65;margin-bottom:12px}.overlay-kicker{font-size:6px;letter-spacing:1px}.overlay-kicker svg{width:11px;height:11px}.primary-button{min-width:155px;min-height:34px;padding:7px 11px;font-size:10px;border-radius:6px}.primary-button svg{width:14px;height:14px}.overlay-key{font-size:7px;margin-top:10px;gap:4px}.overlay-key kbd{font-size:6px;padding:2px 5px}.stage-label{top:11px;left:13px;font-size:6px;padding:5px 7px;letter-spacing:.6px;gap:5px}.status-dot{width:4px;height:4px}.result-overlay h2{font-size:27px;line-height:1.05;margin:7px 0}.result-overlay .overlay-kicker{font-size:5px}.result-overlay p{margin-bottom:7px;font-size:8px}.result-numbers{margin-bottom:10px;gap:12px}.result-numbers strong{font-size:17px}.result-numbers span{font-size:5px}.delivery-track{padding:13px 14px;gap:11px;min-height:45px}.track-label{font-size:6px;letter-spacing:.5px;gap:4px}.track-label svg{width:11px;height:11px}.delivery-track>strong{font-size:8px;min-width:77px}.progress-track{height:6px}.under-game{margin-top:19px;flex-wrap:wrap;gap:12px}.control-description{font-size:9px;gap:7px}.control-description kbd{font-size:8px;padding:5px 8px}.speed-note{font-size:9px}.how-to{gap:18px;padding:22px 0;margin-top:10px}.how-to-step{gap:8px}.step-number{flex-basis:22px;height:22px;font-size:8px}.how-to h3{font-size:10px;margin-bottom:5px}.how-to p{font-size:9px}.delivery-toast{top:13px;padding:7px 10px;gap:7px}.delivery-toast>svg{width:27px;height:27px}.delivery-toast strong{font-size:9px}.delivery-toast span:not(.toast-plus){font-size:8px}.toast-plus{font-size:21px}.loading-note{font-size:9px;bottom:10px;left:12px}.result-overlay .overlay-key{margin-top:8px}footer{font-size:8px;padding:18px 0 22px}footer>span:first-child{font-size:7px;letter-spacing:1px}}
@media(max-width:520px){.page{width:calc(100% - 22px)}.masthead{padding:13px 0}.utility-button{height:33px;font-size:10px;padding:0 10px}.intro{padding:23px 4px 22px}.eyebrow{font-size:6px;letter-spacing:1.3px}h1{font-size:38px;letter-spacing:-2.2px;white-space:nowrap}.title-sparkle{display:none}.intro p{font-size:11px;margin-top:7px}.holiday-seal{display:none}.scoreboard{padding:13px 12px;min-height:78px;grid-template-columns:1fr .86fr 1fr;gap:8px}.stat-label{font-size:6px;letter-spacing:.6px;gap:4px}.stat-label svg{width:11px;height:11px}.score-cell{padding-left:9px}.score-line strong{font-size:24px}.fullscreen-button{position:absolute;right:23px;top:auto;transform:translateY(66px);z-index:4;background:#fcfdf2cc;width:25px;height:25px}.stage{aspect-ratio:1280/810}.stage canvas{object-fit:cover;object-position:31% center;width:100%;height:100%}.overlay{width:52%;right:2.5%;padding:12px 11px;border-radius:10px;top:50%;transform:translateY(-44%)}.overlay h2{font-size:23px;letter-spacing:-1px;margin:7px 0}.overlay-kicker{font-size:5px;letter-spacing:.65px;gap:3px}.overlay-kicker svg{width:9px;height:9px}.overlay p{font-size:10px;line-height:1.5;margin-bottom:10px}.primary-button{min-width:0;width:100%;font-size:10px;min-height:34px;gap:7px;padding:7px 9px}.overlay-key{font-size:7px;gap:3px;margin-top:8px;letter-spacing:-.1px}.overlay-key kbd{font-size:5px;padding:2px 4px;letter-spacing:.5px}.overlay-key>span{margin:0}.stage-label{font-size:5px;left:9px;top:10px;letter-spacing:.2px;padding:5px 6px;max-width:68%}.result-overlay{padding:11px}.result-overlay h2{font-size:22px;margin:6px 0}.result-overlay .overlay-kicker{font-size:4px;letter-spacing:.5px}.result-overlay p{font-size:9px;line-height:1.4;margin-bottom:7px}.result-numbers{gap:9px;margin-bottom:9px}.result-numbers strong{font-size:14px}.result-numbers span{font-size:5px;letter-spacing:.15px}.result-overlay .overlay-key{margin-top:7px}.delivery-track{padding:12px 10px;gap:8px;min-height:45px}.track-label{font-size:5px;letter-spacing:.3px;gap:3px}.track-label svg{width:9px;height:9px}.delivery-track>strong{font-size:7px;min-width:70px}.progress-track{height:6px}.under-game{display:grid;grid-template-columns:1fr;gap:13px;margin-top:18px}.jump-button{display:block;width:100%}.control-description{justify-content:center;font-size:9px;grid-row:2}.speed-note{justify-content:center;grid-row:3;font-size:9px}.how-to{grid-template-columns:1fr;padding:25px 5px;gap:18px;margin-top:6px}.how-to-step{gap:11px}.step-number{flex-basis:26px;height:26px;font-size:9px}.how-to h3{font-size:12px;margin-bottom:4px}.how-to p{font-size:10px;line-height:1.6;max-width:310px}footer{flex-wrap:wrap;gap:8px;padding:19px 5px;font-size:8px}footer>span:first-child{font-size:7px}.footer-star{display:none}.delivery-toast{top:40px;padding:6px 8px;gap:5px;left:50%;width:max-content;max-width:90%}.delivery-toast strong{font-size:8px}.delivery-toast span:not(.toast-plus){font-size:6px}.delivery-toast>svg{width:22px;height:22px}.toast-plus{font-size:18px}.loading-note{font-size:8px;bottom:8px;left:8px}.game-card:fullscreen .stage{aspect-ratio:1280/810}.game-card:fullscreen .fullscreen-button{position:static;transform:none}.game-card:fullscreen .scoreboard{grid-template-columns:1fr .85fr 1fr auto}}
@media(pointer:coarse) and (min-width:521px){.jump-button{display:block;min-width:160px;padding:0 24px}.under-game .speed-note{display:none}.control-description{max-width:60%;line-height:1.6}.control-description strong{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Roomy touch layouts keep every start/retry control inside the game on small phones. */
@media(max-width:520px){.stage{min-height:250px}.stage canvas{object-position:0% center}.overlay{width:88%;left:6%;right:auto;top:50%;transform:translateY(-50%);padding:14px 17px}.overlay h2{font-size:25px;line-height:1.03;margin:8px 0}.overlay p{font-size:11px;line-height:1.5;margin-bottom:12px}.overlay-kicker{font-size:7px;letter-spacing:.8px}.overlay-key{font-size:9px;margin-top:10px;gap:5px}.overlay-key kbd{font-size:7px;padding:3px 5px}.primary-button{min-height:42px;font-size:12px}.result-overlay{padding:12px 17px}.result-overlay h2{font-size:23px;margin:6px 0}.result-overlay .overlay-kicker{font-size:6px}.result-overlay p{font-size:10px;margin-bottom:8px}.result-numbers{gap:22px;margin-bottom:10px}.result-numbers strong{font-size:19px}.result-numbers span{font-size:7px;letter-spacing:.1px}.result-overlay .overlay-key{margin-top:9px}.delivery-toast{top:43px}.delivery-toast strong{font-size:10px}.delivery-toast span:not(.toast-plus){font-size:8px}}
