:root{font-family:ui-rounded,"Avenir Next",Avenir,system-ui,sans-serif;color:#332447;background:#eee9f3;font-synthesis:none;--ink:#332447;--muted:#685979;--accent:#684395;--line:#d6c8e2;--paper:#faf7fc}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 10%,#fffaf2 0,transparent 55%),#eee9f3}main{width:min(100% - 32px,540px);margin:24px auto 32px}header{margin-bottom:18px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.12em;margin:0 0 7px;color:#71617f}h1{font-size:clamp(31px,6vw,43px);line-height:1.07;letter-spacing:-.06em;margin:0;display:flex;align-items:center;gap:11px}h1 span{font-size:.78em;color:#a5682c;transform:rotate(15deg);font-weight:500}.lede{font-size:15px;line-height:1.45;margin:9px 0 0;color:var(--muted)}.game{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:0 12px 40px #3e235310}.hud{display:grid;grid-template-columns:1fr 1fr .8fr 1.2fr;gap:5px;padding:1px 7px 12px}.hud div{display:flex;flex-direction:column;gap:3px}.hud span{color:var(--muted);font-size:12px}.hud strong{font-size:23px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.03em}#lives{font-size:17px;letter-spacing:0;line-height:1.5}.arena{position:relative;aspect-ratio:1;background:#eee4f2;border-radius:13px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline-offset:3px}.arena:focus-visible{outline:3px solid #855ba8}canvas{display:block;width:100%;height:100%;pointer-events:none}.cargo{position:absolute;top:11px;left:11px;border-radius:50px;padding:6px 10px;background:#fff9edf0;color:#594064;font-size:12px;opacity:0;transition:opacity .15s;font-variant-numeric:tabular-nums;pointer-events:none}.cargo.visible{opacity:1}.cargo span{font-weight:750}.cargo b{display:inline-block;margin-left:6px;color:#68421a}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#f3eaf1d9;backdrop-filter:blur(3px)}.overlay[hidden]{display:none}.overlay-card{text-align:center;width:100%;max-width:340px}.kicker{font-size:10px;letter-spacing:.08em;font-weight:800;color:#775876;margin:0 0 10px}h2{font-size:clamp(25px,5vw,34px);line-height:1.1;letter-spacing:-.045em;margin:0 0 12px}.overlay-card>p:not(.kicker):not(.overlay-note){font-size:15px;line-height:1.55;margin:0 0 18px;color:#594966}.primary{border:0;border-radius:50px;background:var(--ink);color:#fff9ec;font:inherit;font-weight:750;min-height:49px;padding:12px 35px;box-shadow:0 4px 0 #ac93bf;cursor:pointer}.primary:hover{background:#4c3565}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #ac93bf}.overlay-note{font-size:11px;line-height:1.4;margin:16px 0 0;color:#71607b}.result-stats{display:flex;justify-content:center;gap:25px;margin:-1px 0 20px}.result-stats div{display:flex;flex-direction:column}.result-stats strong{font-size:30px;letter-spacing:-.04em}.result-stats span{font-size:12px;color:#71607b}.play-controls{display:flex;gap:9px;margin-top:12px}.hold{flex:1;min-height:61px;display:flex;align-items:center;justify-content:center;gap:9px;flex-direction:column;border:1px solid #c5b2d7;background:#e8dbf1;color:#432c5d;border-radius:13px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;font:inherit;font-weight:750;cursor:pointer;transition:background .12s,border .12s}.hold span{font-size:15px;line-height:1.1}.hold small{font-size:11px;font-weight:500;line-height:1}.hold[data-held=true]{background:#684395;border-color:#684395;color:#fff9eb}.hold:disabled{cursor:default;opacity:.6}.icon-button{width:52px;min-height:52px;border:1px solid var(--line);border-radius:13px;background:#f4eef8;font-size:20px;color:#5c4076;cursor:pointer}.icon-button:disabled{opacity:.45;cursor:default}.status{font-size:12px;line-height:1.45;min-height:35px;text-align:center;color:#705b7b;margin:11px 4px 0}.below{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:15px;margin:9px 0 0;color:#776780;font-size:11px}.text-button{font:inherit;font-size:12px;min-height:44px;border:0;background:none;color:#654877;padding:5px 2px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}details{width:100%;font-size:13px;line-height:1.6}summary{cursor:pointer;min-height:40px;display:flex;align-items:center;gap:5px;color:#5d4c6c}summary:before{content:'+';font-size:18px}details[open] summary:before{content:'−'}details p{margin:4px 0 12px}kbd{background:#ded1e7;border-radius:4px;padding:1px 4px;font-size:.95em}button:focus-visible,summary:focus-visible{outline:3px solid #9470b7;outline-offset:3px}@media(max-width:360px){main{width:calc(100% - 20px);margin-top:17px}.game{padding:9px}.hud{padding-inline:4px}.hud strong{font-size:21px}.overlay{padding:12px}.overlay-card>p:not(.kicker):not(.overlay-note){font-size:13px;margin-bottom:13px}.overlay-note{font-size:10px;margin-top:12px}h2{font-size:25px}.kicker{font-size:9px}.primary{min-height:46px;padding:10px 29px}.lede{font-size:14px}.status{font-size:11px}}@media(min-width:700px){main{margin-top:28px}.game{padding:15px}header{text-align:center}h1{justify-content:center}.arena{max-height:520px}.hud{padding-bottom:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.result-stats[hidden]{display:none}
@media(min-width:600px){.arena{width:min(100%,calc(100svh - 350px));margin-inline:auto}}
/* Public type and controls stay readable at normal phone scale. */
.eyebrow{display:block;font-size:12px;line-height:1.5;letter-spacing:.08em;text-decoration:none}h1{font-size:clamp(31px,6vw,43px)}.lede{font-size:16px}.hud span{font-size:14px}.hud strong{font-size:25px}#lives{font-size:18px}.cargo{font-size:14px}.kicker{font-size:12px;line-height:1.45}.overlay-card>p:not(.kicker):not(.overlay-note){font-size:16px}.overlay-note{font-size:14px;line-height:1.4;margin-top:12px}.hold{min-height:70px;gap:7px}.hold span{font-size:17px}.hold small{font-size:14px;line-height:1.25}.status{font-size:14px;min-height:41px}.below,.text-button,details{font-size:14px}.text-button{min-height:44px}.below{display:block}.preferences{display:flex;flex-wrap:wrap;gap:7px 22px;justify-content:space-between}.below>p{font-size:14px;line-height:1.5;margin:4px 0 9px}summary{min-height:44px}.challenge-picker{margin:0 0 12px}.mode-buttons{display:flex;background:#ded2e9;border-radius:14px;padding:4px;gap:5px}.mode-buttons button{flex:1;border:0;border-radius:10px;min-height:44px;padding:8px 10px;font:inherit;font-size:15px;font-weight:700;color:#5c456e;background:none;cursor:pointer}.mode-buttons button[aria-pressed=true]{background:#fff9ee;color:#402f51;box-shadow:0 2px 4px #39294710}.mode-buttons button:disabled{cursor:default;opacity:.76}#challenge-label{font-size:14px;margin:8px 1px;color:#6e577b}.copy-score{display:block;margin:10px auto 0;padding:7px 14px;min-height:44px;border:1px solid #a88bbd;border-radius:10px;color:#4d3067;background:#faf4ff;font:inherit;font-size:14px;cursor:pointer}.copy-score[hidden],#share-panel[hidden],#reset-panel[hidden]{display:none}.share-panel{padding:12px 3px;font-size:14px}.share-panel label{display:block;margin-bottom:7px}.share-panel textarea{width:100%;font:inherit;padding:10px;border:1px solid #ba9dd0;border-radius:8px;background:#fffdf8;color:#3d294e}.result-stats{margin:0 0 13px}.result-stats span{font-size:14px}.result-stats strong{font-size:30px}.primary{font-size:16px;min-height:48px}#reset-panel{border:1px solid var(--line);padding:14px;border-radius:12px;line-height:1.5}#reset-panel button,.privacy-choice button{font:inherit;font-weight:650;min-height:44px;padding:9px 14px;border:1px solid #c5b2d7;border-radius:9px;color:#4f3567;background:#f4ebf9;cursor:pointer}.privacy-choice{margin-top:22px;padding:18px;background:#fff9ee;border:1px solid #d8c5a7;border-radius:14px;font-size:14px;line-height:1.6}.privacy-choice[hidden]{display:none}.privacy-choice h2{font-size:20px;line-height:1.25;letter-spacing:-.025em;margin:0 0 8px}.privacy-choice p{margin:8px 0}.privacy-choice>div{display:flex;flex-wrap:wrap;gap:8px}.privacy-choice a,footer a{color:#654576;text-underline-offset:3px}#analytics-storage-note:empty{display:none}footer{margin-top:22px;border-top:1px solid #d1c0dc;padding-top:12px;font-size:14px;line-height:1.7;color:#6c5979}footer nav{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}footer nav a{display:inline-flex;align-items:center;min-height:44px}footer p{margin:9px 0}.portable-only{display:none}.document{font-size:17px;line-height:1.7;max-width:700px}.document h1{font-size:36px;line-height:1.15;display:block;margin:22px 0}.document h2{font-size:23px;line-height:1.3;margin:26px 0 10px}.document a{color:#66428b}.document p{margin:12px 0}
@media(min-width:600px){.arena{width:min(100%,max(260px,calc(100svh - 400px)))}}
@media(max-width:599px) and (max-height:740px){.arena{width:min(100%,max(250px,calc(100svh - 240px)));margin-inline:auto}}
@media(max-width:360px){.overlay{padding:10px}.overlay-card>p:not(.kicker):not(.overlay-note){font-size:14px;margin-bottom:10px}.overlay-note{font-size:12px}.kicker{font-size:11px}h2{font-size:23px}.copy-score{margin-top:7px;min-height:42px;padding-block:6px}.result-stats{margin-bottom:9px}.result-stats strong{font-size:26px}.result-stats span{font-size:12px}.primary{padding:9px 19px}.status{font-size:14px}.hold span{font-size:16px}.hold small{font-size:14px}}

/* The result share action is below the arena so small displays keep the retry in view. */
.overlay{padding:12px;overflow-y:auto}.overlay-card{margin:auto}.overlay[data-kind=result] .overlay-note{display:none}.overlay[data-kind=result] h2{font-size:28px}.overlay[data-kind=result] .overlay-card>p:not(.kicker):not(.overlay-note){margin-bottom:10px}.overlay[data-kind=result] .kicker{margin-bottom:7px}.overlay-card .kicker{font-size:14px;letter-spacing:0}.overlay-note,.result-stats span{font-size:14px}.overlay-card h2{font-size:28px}.overlay-card>p:not(.kicker):not(.overlay-note){font-size:16px;line-height:1.4;margin-bottom:13px}.overlay-note{margin-top:12px}.eyebrow{font-size:14px}.game>.copy-score{margin:10px auto 0}.document{width:min(100% - 32px,700px)}
@media(max-width:360px){.overlay-card h2,.overlay[data-kind=result] h2{font-size:25px}.overlay-card>p:not(.kicker):not(.overlay-note){font-size:14px}.overlay-card .kicker{font-size:14px}.overlay-note,.result-stats span{font-size:14px}.result-stats{gap:18px}.result-stats strong{font-size:27px}}
.hud{font-size:14px;grid-template-columns:repeat(auto-fit,minmax(min(4.5em,100%),1fr))}.hud>div{min-width:0}.mode-buttons button,.primary{max-width:100%;overflow-wrap:anywhere}.primary{padding-inline:24px}.hold{min-width:0;padding:10px 8px;overflow-wrap:anywhere}.hold span,.hold small{text-align:center}.icon-button{flex-shrink:0}.overlay-card{overflow-wrap:anywhere}.document h1,footer,details,.privacy-choice{overflow-wrap:anywhere}#lives{white-space:nowrap}
@media(min-width:700px) and (max-height:500px){main{width:min(100% - 32px,760px)}.game{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:12px}.hud{grid-column:1/-1;padding-bottom:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.arena{width:min(100%,260px);grid-column:1;grid-row:2/5}.play-controls{grid-column:2;grid-row:2;align-self:start;margin-top:0}.status{grid-column:2;grid-row:3;align-self:start}.game>.copy-score{grid-column:2;grid-row:4;align-self:start}.share-panel{grid-column:1/-1}.overlay-card>p:not(.kicker):not(.overlay-note){font-size:14px}.overlay-card h2{font-size:25px}.overlay-note{font-size:14px}.primary{padding-inline:16px}.overlay .kicker{font-size:14px}}
h1{display:block;overflow-wrap:anywhere}h1 span{display:inline-block;margin-left:10px}
.overlay{background:#f3eaf1bf;backdrop-filter:blur(1px)}
.arena:has(.overlay:not([hidden])){touch-action:pan-y}.overlay{touch-action:pan-y;overscroll-behavior:contain}
