:root{--font-family:"Nunito Variable", "Nunito", system-ui, sans-serif;--color-text:#5b4660;--color-text-soft:#9a8597;--font-size-title:1.6rem;--font-size-body:1rem;--font-size-small:.75rem;--font-weight-title:800;--font-weight-body:600;--color-surface:#fff;--color-panel:var(--color-background);--color-button:#fff;--color-button-pressed:#fde3ec;--color-button-text:var(--color-text);--color-button-on:#f7a1bf;--color-button-on-text:#fff;--color-switch-off:#e4d9de;--color-accent:#f28bb0;--color-accent-text:#fff;--color-disabled-text:#c4b5c2;--shadow-soft:0 3px 0 #ead6dc, 0 6px 14px #a06e821f;--shadow-pressed:0 1px 0 #ead6dc;--radius-button:16px;--radius-panel:24px;--app-max-width:720px;--button-height:44px;--color-message-hint:#fff4c7;--color-message-mistake:#ffe1e7;--color-message-success:#e2f6e7;--color-message-info:#fff;--petal-pink:#f9b8cc;--petal-peach:#ffc9a3;--petal-lavender:#d3bff2;--petal-mint:#b9e8c8;--petal-opacity:.55;--petal-sway:36px;--board-shadow-room:24px;--slider-track-height:8px;--slider-thumb-size:26px;--shower-petal-size:16px;--shower-fall-min:1.8s;--shower-fall-spread:1.2s;--shower-delay-spread:1s;--dialog-pop-duration:.18s;--panel-slide-duration:.22s;--message-pop-duration:.26s;--color-backdrop:#5b466059;--space-xs:4px;--space-s:8px;--space-m:16px;--space-l:24px;--safe-top:max(env(safe-area-inset-top), var(--space-m));--safe-bottom:max(env(safe-area-inset-bottom), var(--space-s));--safe-left:max(env(safe-area-inset-left), var(--space-xs));--safe-right:max(env(safe-area-inset-right), var(--space-xs))}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-text:#f3e6f0;--color-text-soft:#b9a6bd;--color-surface:#3a2c44;--color-button:#3a2c44;--color-button-pressed:#4a3856;--color-button-on:#f28bb0;--color-button-on-text:#2a1d31;--color-switch-off:#4b3b55;--color-accent-text:#2a1d31;--color-disabled-text:#6f5f77;--shadow-soft:0 3px 0 #160e1b, 0 6px 14px #00000059;--shadow-pressed:0 1px 0 #160e1b;--color-message-hint:#4a4127;--color-message-mistake:#4f2634;--color-message-success:#24402f;--color-message-info:#3a2c44;--color-backdrop:#0a050e99;--petal-pink:#a3647d;--petal-peach:#a87757;--petal-lavender:#7766a3;--petal-mint:#53906b;--petal-opacity:.4}*,:before,:after{box-sizing:border-box}html,body{background:var(--color-background);height:100%;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-body);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:0;overflow:hidden}#app{height:100%}[data-reduced-motion] *,[data-reduced-motion] :before,[data-reduced-motion] :after{transition:none!important;animation:none!important}[data-reduced-motion] ::backdrop{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@keyframes backdrop-in{0%{opacity:0}}@keyframes backdrop-out{to{opacity:0}}.button{min-height:var(--button-height);min-width:var(--button-height);padding:0 var(--space-m);border-radius:var(--radius-button);background:var(--color-button);color:var(--color-button-text);font:inherit;box-shadow:var(--shadow-soft);cursor:pointer;border:none;font-weight:700;transition:transform 80ms ease-out,box-shadow 80ms ease-out,background .12s}.button:active:not(:disabled){box-shadow:var(--shadow-pressed);background:var(--color-button-pressed);transform:translateY(2px)}.button:disabled{color:var(--color-disabled-text);cursor:default}.button--accent{background:var(--color-accent);color:var(--color-accent-text)}.button[aria-pressed=true]{background:var(--color-button-on);color:var(--color-button-on-text)}.button--icon{justify-content:center;align-items:center;padding:0;font-size:1.25rem;display:inline-flex}.button--icon svg{display:block}.dialog{width:min(320px, calc(100vw - 2 * var(--space-l)));padding:var(--space-l);border-radius:var(--radius-panel);background:var(--color-panel);color:var(--color-text);text-align:center;box-shadow:var(--shadow-soft);animation:dialog-in var(--dialog-pop-duration) ease-out;border:none}.dialog::backdrop{background:var(--color-backdrop);animation:backdrop-in var(--dialog-pop-duration) ease-out}.dialog--closing{animation:dialog-out var(--dialog-pop-duration) ease-in forwards}.dialog--closing::backdrop{animation:backdrop-out var(--dialog-pop-duration) ease-in forwards}@keyframes dialog-in{0%{opacity:0;transform:scale(.92)}}@keyframes dialog-out{to{opacity:0;transform:scale(.92)}}.dialog__question{margin:0 0 var(--space-s);font-size:1.25rem;font-weight:var(--font-weight-title)}.dialog__detail{margin:0 0 var(--space-l);color:var(--color-text-soft)}.dialog__buttons{gap:var(--space-s);grid-template-columns:1fr 1fr;display:grid}.dialog__link{width:100%;margin:0 0 var(--space-m);padding:var(--space-s) var(--space-m);border:2px solid var(--color-button-pressed);border-radius:var(--radius-button);font:inherit;color:var(--color-text);background:var(--color-background);-webkit-user-select:text;user-select:text}.dialog__wide-button{grid-column:1/-1}.home{justify-content:center;align-items:center;gap:var(--space-m);height:100%;padding:0 var(--space-m);text-align:center;flex-direction:column;display:flex}.home__crown{width:88px;color:var(--color-accent)}.home__title{font-size:2.2rem;font-weight:var(--font-weight-title);margin:0}.home__tagline{margin:0 0 var(--space-m);color:var(--color-text-soft)}.home__label{font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-soft);margin:0}.size-chips{gap:var(--space-s);grid-template-columns:repeat(3,1fr);width:100%;max-width:340px;display:grid}.size-chips__chip[aria-checked=true]{background:var(--color-button-on);color:var(--color-button-on-text)}.home__play{width:100%;max-width:340px;min-height:56px;margin-top:var(--space-s);font-size:1.25rem}.home__continue{width:100%;max-width:340px}.home__footer{gap:var(--space-s);margin-top:var(--space-m);display:flex}.home__footer-button{align-items:center;gap:var(--space-s);display:flex}.win{text-align:center;align-items:center}.win .win__time{font-size:2.6rem;font-weight:var(--font-weight-title);font-variant-numeric:tabular-nums;margin:0}.win__line{margin:0}.win__badge{padding:var(--space-xs) var(--space-m);border-radius:var(--radius-button);background:var(--color-message-hint);font-weight:var(--font-weight-title)}.win__note{font-size:var(--font-size-small);color:var(--color-text-soft)}.win__buttons{gap:var(--space-s);width:100%;margin-top:var(--space-s);grid-template-columns:1fr 1fr;display:grid}.win__buttons .button--accent{grid-column:1/-1}.panel{width:min(var(--app-max-width), 100vw);max-width:none;max-height:85vh;padding:var(--space-m) var(--space-l) calc(var(--safe-bottom) + var(--space-l));border-radius:var(--radius-panel) var(--radius-panel) 0 0;background:var(--color-panel);color:var(--color-text);box-shadow:var(--shadow-soft);animation:panel-in var(--panel-slide-duration) ease-out;border:none;margin:auto auto 0}.panel::backdrop{background:var(--color-backdrop);animation:backdrop-in var(--panel-slide-duration) ease-out}.panel--closing{animation:panel-out var(--panel-slide-duration) ease-in forwards}.panel--closing::backdrop{animation:backdrop-out var(--panel-slide-duration) ease-in forwards}@keyframes panel-out{to{opacity:0;transform:translateY(40px)}}@keyframes panel-in{0%{opacity:0;transform:translateY(40px)}}.panel__header{margin-bottom:var(--space-m);justify-content:space-between;align-items:center;display:flex}.panel__title{font-size:var(--font-size-title);font-weight:var(--font-weight-title);margin:0}.panel__close{box-shadow:none}.panel__body{gap:var(--space-m);flex-direction:column;display:flex}.haptic-switch{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:0}.petal-shower{pointer-events:none;z-index:20;position:fixed;inset:0;overflow:hidden}.petal-shower__petal{top:-40px;left:calc(50% + 48% * sin(var(--index) * 136.937deg));width:var(--shower-petal-size);height:calc(var(--shower-petal-size) * .7);background:var(--petal-pink);opacity:0;animation:petal-shower-fall calc(var(--shower-fall-min) + var(--shower-fall-spread) * (.5 + .5 * sin(var(--index) * 75.0575deg))) ease-in calc(var(--shower-delay-spread) * (.5 + .5 * sin(var(--index) * 211.994deg))) forwards;border-radius:0 100%;position:absolute}.petal-shower__petal:nth-child(4n+2){background:var(--petal-peach)}.petal-shower__petal:nth-child(4n+3){background:var(--petal-lavender)}.petal-shower__petal:nth-child(4n+4){background:var(--petal-mint)}@keyframes petal-shower-fall{0%{opacity:.95;transform:translate(0)rotate(0)}50%{transform:translate(var(--petal-sway), 50vh) rotate(200deg)}85%{opacity:.9}to{opacity:0;transform:translate(calc(var(--petal-sway) * -1), calc(100vh + 60px)) rotate(400deg)}}[data-reduced-motion] .petal-shower{display:none}@media (prefers-reduced-motion:reduce){.petal-shower{display:none}}.game-screen{flex-direction:column;height:100%;display:flex}.game-screen__board{touch-action:none;flex:1;min-height:0;position:relative}.game-screen__board canvas{top:0;left:calc(-1 * var(--board-shadow-room));position:absolute}.game-screen__seed{text-align:center;min-height:1.2em;font-size:var(--font-size-small);color:var(--color-text-soft);margin:0}.bottom-bar{gap:var(--space-s);padding:var(--space-s) var(--space-xs);grid-template-columns:repeat(3,1fr);display:grid}.bottom-bar .button{padding:0 var(--space-xs)}.message-line{min-height:3.2em;margin:0 var(--space-xs);padding:var(--space-s) var(--space-m);border-radius:var(--radius-button);text-align:center;justify-content:center;align-items:center;line-height:1.3;display:flex}.message-line[data-tone=none]{visibility:hidden}.message-line[data-tone=info]{background:var(--color-message-info)}.message-line[data-tone=hint]{background:var(--color-message-hint)}.message-line[data-tone=mistake]{background:var(--color-message-mistake)}.message-line[data-tone=success]{background:var(--color-message-success);font-weight:var(--font-weight-title)}.message-line--new{animation:message-pop var(--message-pop-duration) ease-out}@keyframes message-pop{0%{opacity:0;transform:translateY(-6px)scale(.96)}}.top-bar{justify-content:space-between;align-items:center;gap:var(--space-s);padding:var(--space-s) var(--space-xs);display:flex}.top-bar__middle{flex-direction:column;flex:1;align-items:flex-start;line-height:1.1;display:flex}.top-bar__size{font-size:var(--font-size-small);color:var(--color-text-soft)}.top-bar__timer{font-size:1.35rem;font-weight:var(--font-weight-title);font-variant-numeric:tabular-nums}.top-bar__tools{gap:var(--space-xs);display:flex}.settings__version{text-align:center;font-size:var(--font-size-small);color:var(--color-text-soft);margin:0}.choice-row{gap:var(--space-s);flex-direction:column;display:flex}.choice-row__choices{gap:var(--space-s);grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;display:grid}.choice-row__choices .button[aria-checked=true]{background:var(--color-button-on);color:var(--color-button-on-text)}.slider-row{gap:var(--space-xs);flex-direction:column;display:flex}.slider-row__slider{appearance:none;width:100%;height:var(--button-height);cursor:pointer;background:0 0;margin:0}.slider-row__slider::-webkit-slider-runnable-track{height:var(--slider-track-height);border-radius:var(--slider-track-height);background:linear-gradient(to right, var(--color-accent) var(--slider-fill), var(--color-switch-off) var(--slider-fill))}.slider-row__slider::-moz-range-track{height:var(--slider-track-height);border-radius:var(--slider-track-height);background:linear-gradient(to right, var(--color-accent) var(--slider-fill), var(--color-switch-off) var(--slider-fill))}.slider-row__slider::-webkit-slider-thumb{appearance:none;width:var(--slider-thumb-size);height:var(--slider-thumb-size);margin-top:calc((var(--slider-track-height) - var(--slider-thumb-size)) / 2);background:var(--color-surface);box-shadow:var(--shadow-soft);border:none;border-radius:50%}.slider-row__slider::-moz-range-thumb{width:var(--slider-thumb-size);height:var(--slider-thumb-size);background:var(--color-surface);box-shadow:var(--shadow-soft);border:none;border-radius:50%}.toggle-row{justify-content:space-between;align-items:center;gap:var(--space-m);cursor:pointer;display:flex}.toggle-row__text{flex-direction:column;gap:2px;display:flex}.toggle-row__text span{font-size:var(--font-size-small);color:var(--color-text-soft)}.toggle-row__switch{appearance:none;background:var(--color-switch-off);cursor:pointer;border-radius:16px;flex:none;width:52px;height:32px;margin:0;transition:background .15s;position:relative}.toggle-row__switch:after{content:"";background:var(--color-surface);width:24px;height:24px;box-shadow:var(--shadow-pressed);border-radius:50%;transition:transform .15s ease-out;position:absolute;top:4px;left:4px}.toggle-row__switch:checked{background:var(--color-accent)}.toggle-row__switch:checked:after{transform:translate(20px)}.stats__totals{gap:var(--space-s);grid-template-columns:repeat(3,1fr);display:grid}.stats__tile{align-items:center;gap:var(--space-xs);padding:var(--space-m) var(--space-xs);border-radius:var(--radius-button);background:var(--color-surface);text-align:center;flex-direction:column;display:flex}.stats__tile strong{font-size:1.15rem;font-weight:var(--font-weight-title)}.stats__tile span{font-size:var(--font-size-small);color:var(--color-text-soft)}.stats__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.stats__table th{font-size:var(--font-size-small);color:var(--color-text-soft);text-align:left;padding:var(--space-xs) var(--space-s)}.stats__table td{padding:var(--space-s);border-top:1px solid var(--color-button-pressed)}.toast{inset:auto auto calc(var(--safe-bottom) + 72px) 50%;padding:var(--space-s) var(--space-m);border-radius:var(--radius-button);background:var(--color-text);color:var(--color-surface);font:inherit;box-shadow:var(--shadow-soft);border:none;margin:0;font-weight:700;animation:.18s ease-out toast-in;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}.app-shell{height:100%;max-width:var(--app-max-width);padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);margin:0 auto}.app-shell>section{z-index:1;height:100%;position:relative}.app-shell>[hidden]{display:none}.petals{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.petals__petal{top:-40px;left:var(--petal-left);width:var(--petal-size);height:calc(var(--petal-size) * .7);background:var(--petal-color);opacity:var(--petal-opacity);animation:petal-fall var(--petal-seconds) linear var(--petal-delay) infinite;border-radius:0 100%;position:absolute}@keyframes petal-fall{0%{transform:translate(0)rotate(0)}25%{transform:translate(var(--petal-sway), 27vh) rotate(90deg)}50%{transform:translateY(55vh)rotate(180deg)}75%{transform:translate(calc(var(--petal-sway) * -1), 82vh) rotate(270deg)}to{transform:translateY(calc(100vh + 80px))rotate(360deg)}}.petals__petal:first-child{--petal-left:6%;--petal-size:16px;--petal-color:var(--petal-pink);--petal-seconds:26s;--petal-delay:-3s}.petals__petal:nth-child(2){--petal-left:22%;--petal-size:12px;--petal-color:var(--petal-peach);--petal-seconds:31s;--petal-delay:-17s}.petals__petal:nth-child(3){--petal-left:37%;--petal-size:18px;--petal-color:var(--petal-lavender);--petal-seconds:24s;--petal-delay:-9s}.petals__petal:nth-child(4){--petal-left:51%;--petal-size:13px;--petal-color:var(--petal-pink);--petal-seconds:34s;--petal-delay:-25s}.petals__petal:nth-child(5){--petal-left:64%;--petal-size:15px;--petal-color:var(--petal-mint);--petal-seconds:28s;--petal-delay:-13s}.petals__petal:nth-child(6){--petal-left:77%;--petal-size:11px;--petal-color:var(--petal-peach);--petal-seconds:30s;--petal-delay:-21s}.petals__petal:nth-child(7){--petal-left:88%;--petal-size:17px;--petal-color:var(--petal-lavender);--petal-seconds:25s;--petal-delay:-6s}.petals__petal:nth-child(8){--petal-left:45%;--petal-size:10px;--petal-color:var(--petal-mint);--petal-seconds:36s;--petal-delay:-30s}[data-reduced-motion] .petals{display:none}@media (prefers-reduced-motion:reduce){.petals{display:none}}
