:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f4edda;background:#102b26;font-synthesis:none;--gold:#efbf69;--ink:#183d35;--cream:#f4edda}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 10%,#2b5145 0,#102b26 70%)}button,a,input{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;min-height:44px;border:1px solid #8aa294;border-radius:8px;background:#234a40;color:var(--cream);padding:9px 14px;font-weight:650}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-underline-offset:4px}button:hover:not(:disabled){filter:brightness(1.1)}button:focus-visible,a:focus-visible,.arena:focus-visible{outline:3px solid #f4c775;outline-offset:4px}button.primary{background:var(--gold);border-color:var(--gold);color:#202d24;font-weight:800}.shell{width:min(100% - 32px,880px);margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0}.brand{display:flex;gap:10px;align-items:center;text-decoration:none}.brand strong{font-family:Georgia,serif;font-size:27px;letter-spacing:-.6px}.brand small{display:block;font-size:14px;color:#d2ddcd;margin-top:3px}.header-actions{display:flex;gap:16px;align-items:center}.header-actions a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}.header-actions button{background:transparent}.modebar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}.tabs{display:flex;gap:5px}.tabs button{background:transparent;border-color:transparent}.tabs button[aria-pressed=true]{background:#f4edda;color:#183d35}.modebar>span{font-size:14px;color:#d2ddcd}.game{max-width:650px;margin:auto}.hud{display:flex;align-items:center;gap:20px;padding:10px 6px}.hud>div:first-child{flex:1}.hud span{display:block;font-size:14px;color:#d8e1d2}.hud strong{display:block;font-size:23px;margin-top:2px;font-variant-numeric:tabular-nums}.hud .score strong{color:var(--gold)}.arena{width:100%;aspect-ratio:1;position:relative;touch-action:none;user-select:none;overflow:hidden;border-radius:50%;background:#16372e;isolation:isolate}.arena canvas{width:100%;height:100%;display:block}.splash{position:absolute;inset:0;display:grid;place-items:center;background:#102b2688;border-radius:50%}.splash>div{width:75%;padding:24px 18px;background:#15392ff2;border-radius:16px;text-align:center;box-shadow:0 15px 60px #0005}.splash h1{font-family:Georgia,serif;font-size:clamp(25px,5vw,42px);font-weight:normal;margin:10px 0;text-wrap:balance}.splash p:not(.kicker){line-height:1.5;font-size:17px;max-width:28ch;margin:14px auto}.kicker{font-size:12px;letter-spacing:.08em;color:var(--gold);margin:0}.splash small{display:block;margin-top:14px;font-size:14px}.splash .primary{min-width:150px}.hit{position:absolute;top:12%;left:50%;transform:translateX(-50%);background:#f4edda;color:#183d35;border-radius:8px;padding:10px 14px;font-weight:800;font-size:20px;pointer-events:none;white-space:nowrap;box-shadow:0 5px 20px #0005;opacity:0;transition:opacity .12s}.hit.visible{opacity:1}.play-controls{margin:12px auto 0;width:100%}.meter-wrap{max-width:430px;margin:0 auto 12px}.meter-label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px}.meter-label strong{font-weight:600}.meter{position:relative;height:17px;border-radius:12px;background:linear-gradient(90deg,#55776c,#afbc83 43%,#efbf69 47%,#efbf69 53%,#afbc83 57%,#55776c);border:1px solid #9eb59d;overflow:visible}.sweet{position:absolute;left:50%;top:-4px;height:23px;width:2px;background:#fff}.needle{position:absolute;left:0;top:-4px;height:23px;width:6px;border:1px solid #102b26;background:#fff;transform:translateX(-3px);border-radius:2px}.buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.buttons>.primary{min-width:180px;touch-action:none;user-select:none}.buttons button{font-size:15px}#fs-host{display:contents}.fullscreen-toggle{display:inline-flex;gap:6px;align-items:center}.fullscreen-toggle svg{width:18px;height:18px}#status{font-size:16px;line-height:1.45;text-align:center;margin:12px 0;min-height:24px}.daily-note{text-align:center;font-size:14px;line-height:1.6;color:#d2ddcd;margin:18px 0}.result{background:#f4edda;color:#183d35;padding:20px;border-radius:12px;text-align:center;margin:12px auto}.result h2{font-family:Georgia,serif;font-size:30px;margin:0 0 6px;font-weight:normal}.result p{line-height:1.5;margin:8px 0 14px}.result-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.result-actions button:not(.primary){color:#183d35;background:transparent;border-color:#789185}.result textarea{width:100%;margin-top:12px;font:inherit;min-height:110px;padding:10px}.dp-footer{padding:20px 0 24px;border-top:1px solid #55796b;font-size:14px;color:#cddace;text-align:center}.dp-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;align-items:center}.dp-links a{min-height:44px;display:flex;align-items:center}.dp-links button{background:transparent;color:inherit;padding:8px;border:0;font-size:14px}dialog{max-width:min(600px,calc(100vw - 28px));max-height:85dvh;overflow:auto;background:#f4edda;color:#183d35;border:0;border-radius:14px;padding:24px;line-height:1.6;font-size:17px}dialog::backdrop{background:#001b15aa}dialog h2{font-family:Georgia,serif;font-size:30px;line-height:1.2}dialog .close{float:right}dialog p{clear:both}.document{max-width:760px;margin:40px auto;padding:0 22px;line-height:1.7}.document h1,.document h2{font-family:Georgia,serif;line-height:1.2}.document h1{font-size:38px}.document h2{font-size:27px;margin-top:30px}.document p{font-size:17px}.document button{margin:6px}.fullscreen-fit{display:contents}.game-fullscreen-lock{overflow:hidden}.game.is-fullscreen{position:fixed;inset:0;z-index:2147483001;width:100%;max-width:none;margin:0;background:#102b26;padding:max(8px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:'hud' 'board' 'controls' 'status';gap:6px;overflow:auto}.game.is-fullscreen .hud{grid-area:hud;width:min(650px,100%);justify-self:center;padding:0 4px}.game.is-fullscreen .fullscreen-fit{display:grid;place-items:center;container-type:size;grid-area:board;min-height:0;min-width:0}.game.is-fullscreen .arena{width:min(100cqw,100cqh);height:auto}.game.is-fullscreen .play-controls{grid-area:controls;margin:0;max-width:600px}.game.is-fullscreen #status{grid-area:status;margin:0}.game.is-fullscreen .result{grid-area:controls;margin:0;padding:8px;max-width:600px;justify-self:center}.game.is-fullscreen .result h2{font-size:22px}.game.is-fullscreen .result p{margin:4px}.game.is-fullscreen .result #share,.game.is-fullscreen .result #practice-next,.game.is-fullscreen .board-score-confirmation{display:none}.fullscreen-tip{position:absolute;z-index:10;background:#f4edda;color:#183d35;max-width:380px;padding:12px;border-radius:10px;top:10px;left:10px}.fullscreen-tip button{float:right}.game[data-finished=true] .play-controls{display:none}.game[data-finished=true] .hud{opacity:.8}[hidden]{display:none!important}@media(min-width:760px){.game:not(.is-fullscreen){max-width:650px}.arena{max-width:600px;margin:auto}.shell{width:min(100% - 48px,880px)}}@media(max-width:470px){.shell{width:calc(100% - 16px)}header{padding:13px 2px;gap:8px;align-items:flex-start}.brand{gap:7px}.brand strong{font-size:23px}.brand small{font-size:12px}.brand img{width:35px;height:35px}.header-actions{gap:6px;flex-direction:column;align-items:stretch}.header-actions button,.header-actions a{font-size:14px;padding:4px 8px;min-height:44px}.header-actions a{justify-content:center}.modebar{margin-bottom:4px}.hud{gap:14px;padding:8px 4px}.hud strong{font-size:22px}.hud span{font-size:13px}.splash>div{padding:18px 10px;width:79%}.splash p:not(.kicker){font-size:15px;margin:10px auto}.splash small{font-size:12px;margin-top:10px}.kicker{font-size:10px}.splash h1{font-size:28px;margin:8px 0}.buttons{gap:6px}.buttons>.primary{min-width:140px}.buttons button{padding:8px 10px;font-size:14px}.play-controls{margin-top:8px}.meter-wrap{margin:0 10px 10px}#status{font-size:14px}.daily-note{margin:12px 0}.result{padding:14px}.result h2{font-size:26px}}@media(min-aspect-ratio:5/4){.game.is-fullscreen{grid-template-columns:minmax(0,1fr) minmax(220px,35%);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:'board hud' 'board controls' 'board status';gap:12px}.game.is-fullscreen .play-controls{align-self:center}.game.is-fullscreen .buttons{flex-wrap:wrap}.game.is-fullscreen .hud{flex-wrap:wrap;gap:8px}.game.is-fullscreen .hud>div:first-child{flex-basis:100%}.game.is-fullscreen .result{align-self:center}.game.is-fullscreen .splash small{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.privacy-consent{padding:12px 14px;border-radius:12px;border:1px solid #8da58e;background:#f4edda;box-shadow:0 10px 28px #001c1650;display:grid;gap:8px;color:#183d35}.privacy-consent p{margin:0;font-size:15px;line-height:1.4;overflow-wrap:break-word}.privacy-consent-actions{display:flex;flex-wrap:wrap;gap:8px}.privacy-consent-allow{flex:1;background:#183d35;color:#f4edda;border:0}.privacy-consent-decline{background:transparent;color:#183d35;border:0}.privacy-consent a{color:#183d35}.hud #hud-fs{display:contents}.game.is-fullscreen .hud #hud-fs{display:flex;margin-left:auto}.game.is-fullscreen #hud-fs button{font-size:14px;padding:7px}.game.is-fullscreen #hud-fs button svg{display:none}
/* Enlarged text keeps the start action reachable inside its own scrollable panel. */
.arena:has(.splash:not([hidden])){border-radius:16px}.splash{border-radius:16px;place-items:safe center}.splash>div{max-height:100%;overflow:auto}
.game:not(.is-fullscreen) .arena:has(.splash:not([hidden])){aspect-ratio:auto;min-height:clamp(304px,calc(100vw - 16px),600px);overflow:visible}
.game:not(.is-fullscreen) .arena:has(.splash:not([hidden])) canvas{position:absolute;inset:0;object-fit:contain}
.game:not(.is-fullscreen) .splash{position:relative;min-height:clamp(304px,calc(100vw - 16px),600px);padding:12px 0}
.game:not(.is-fullscreen) .splash>div{max-height:none;overflow:visible}
/* Inline catalogue invitation belongs to the result, including the very first game. */
.dp-more-games,.dp-more-games *{box-sizing:border-box}
a.dp-more-games{display:flex;align-items:center;gap:12px;grid-column:1/-1;width:100%;margin:12px 0 0;padding:13px 14px;border:2px solid #5943a8;border-radius:14px;background:#5943a8;color:#fff8ef;font:16px/1.35 system-ui,sans-serif;text-align:left;text-decoration:none;white-space:normal;min-height:64px;box-shadow:none}
a.dp-more-games:hover{background:#463387;border-color:#463387;color:#fff8ef}
a.dp-more-games:focus-visible{outline:3px solid #302741;outline-offset:3px}
.dp-more-games svg{flex:0 0 30px;width:30px;height:30px;fill:#d3f36b}
.dp-more-games>span{min-width:0;flex:1}
.dp-more-games strong{display:block;font:750 17px/1.3 system-ui,sans-serif;text-wrap:balance}
.dp-more-games span span{display:block;margin-top:4px;font:14px/1.4 system-ui,sans-serif;text-wrap:pretty}
.overlay[data-kind=result] .dp-more-games{order:10}
#overlay:not([data-kind=result]) .dp-more-games,#feedback-box:not([data-kind=won]) .dp-more-games{display:none}
/* Same optional, nonmodal card on the collection and game recap. */
.dp-install,.dp-install *{box-sizing:border-box}.dp-install[hidden],.dp-install [hidden]{display:none!important}
.dp-install{position:fixed;z-index:100;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:min(360px,calc(100% - 24px));min-height:min(338px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:22px 18px 18px;border:1.5px solid #302741;border-radius:20px;background:#faf7ef;color:#302741;box-shadow:0 8px 32px #2c224026;font:15px/1.4 system-ui,sans-serif;text-align:left;isolation:isolate;overflow-wrap:break-word}
.dp-install h2{color:inherit;font:750 23px/1.15 system-ui,sans-serif;letter-spacing:-.035em;margin:0 26px 8px 0;text-wrap:pretty}.dp-install p{color:inherit;font:inherit;margin:0 0 12px}.dp-install .dp-phone{display:block;width:184px;height:100px;margin:-5px auto 9px;fill:none}.dp-install button,.dp-install a{font:inherit}.dp-install .dp-install-close{position:absolute;display:grid;place-items:center;right:3px;top:3px;width:44px;height:44px;min-height:44px;padding:12px;border:0;border-radius:9px;background:transparent;color:inherit;box-shadow:none;cursor:pointer}.dp-install-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.dp-install .dp-guide{font-size:14px;line-height:1.65}.dp-platform{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.dp-platform svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;vertical-align:middle}
.dp-install .dp-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dp-install .dp-actions button{min-height:44px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:inherit;cursor:pointer}.dp-install .dp-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1.5px solid #302741!important;border-radius:9px;background:#d4f76b!important;color:#302741!important;font-weight:750;text-decoration:none;padding:9px 12px;cursor:pointer;white-space:normal}.dp-install .dp-entry{display:flex;gap:8px;flex-wrap:wrap}.dp-entry input{flex:1 1 145px;min-width:0;width:100%;min-height:44px;border:1px solid #a59db3;border-radius:9px;background:#fff;padding:9px 10px;color:#302741;font:16px/1.4 system-ui,sans-serif}.dp-install .dp-consent{display:flex;align-items:center;gap:9px;margin:7px 0;min-height:44px;font:14px/1.4 system-ui,sans-serif;cursor:pointer}.dp-consent input{appearance:auto;flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#6752ad}.dp-install .dp-note{font-size:13px;line-height:1.5}.dp-install .dp-note a{display:inline-block;color:#6752ad;padding-block:7px}.dp-install #welcome-status{margin:12px 0;font-size:15px}.dp-install .dp-label,.dp-install .dp-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.dp-install :focus-visible{outline:3px solid #6752ad;outline-offset:3px}.dp-install button:disabled{opacity:.6;cursor:wait}
.dp-app-icon{animation:dp-add 3.8s ease-in-out 3;transform-origin:107px 56px}.dp-ring{opacity:0;animation:dp-ring 3.8s ease-out 3;transform-origin:107px 56px}.dp-trail{animation:dp-trail 3.8s ease 3}@keyframes dp-add{0%,10%{transform:translate(-64px,24px) rotate(-12deg) scale(.8);opacity:0}30%,75%,100%{transform:translate(0,0) rotate(0) scale(1);opacity:1}40%{transform:scale(1.12)}50%{transform:scale(1)}}@keyframes dp-ring{32%{opacity:.7;transform:scale(.7)}60%,100%{opacity:0;transform:scale(1.25)}}@keyframes dp-trail{0%,15%{opacity:1}50%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){.dp-app-icon,.dp-ring,.dp-trail{animation:none}.dp-ring,.dp-trail{display:none}}

.dp-platform svg{animation:dp-guide-button 3.8s ease 3;transform-origin:center}.dp-platform:nth-of-type(2) svg{animation-delay:.7s}@keyframes dp-guide-button{0%,15%,75%,100%{transform:translateY(0);color:#302741}30%,50%{transform:translateY(-3px);color:#6752ad}}@media(prefers-reduced-motion:reduce){.dp-platform svg{animation:none}}
.dp-steps{margin:10px 0 0;padding:0 0 0 1.4em}.dp-steps .dp-platform{display:inline;white-space:normal}.dp-steps .dp-nw{white-space:nowrap}.dp-steps .dp-platform svg{display:inline-block;vertical-align:-.3em;margin-right:4px}.dp-ios-steps:focus{outline:none}.dp-steps li{padding-left:2px}.dp-steps li+li{margin-top:4px}
.dp-guide-more{margin:8px 0 0;font-size:14px;line-height:1.5}.dp-guide-more summary{cursor:pointer;font-weight:650;min-height:24px}.dp-guide-more p{margin:6px 0 0}
