:root{--paper: #f3e5c8;--paper-card: rgba(255, 253, 248, .9);--ink: #2e2a38;--ink-soft: #6c6579;--line: rgba(46, 42, 56, .1);--amber: #e79a38;--coral: #d9553f;--mint: #4fb097;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--edge: var(--space-4);--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--gap: var(--space-3);--radius-xs: 4px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-pill: 999px;--border: 2px;--shadow: 0 6px 20px rgba(46, 42, 56, .1), 0 1px 2px rgba(46, 42, 56, .06);color-scheme:light}*{box-sizing:border-box}.hud,.veil{user-select:none;-webkit-user-select:none}html,body{margin:0;height:100%;overflow:hidden;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#app{position:relative;width:100%;height:100%}#app.is-loading>:not(.splash){visibility:hidden}.splash{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:var(--paper);transition:opacity .3s ease,visibility .3s}#app:not(.is-loading) .splash{opacity:0;visibility:hidden;pointer-events:none}.splash__logo{margin:0;animation:splash-pulse 1.2s ease-in-out infinite}@keyframes splash-pulse{50%{transform:scale(.9);opacity:.7}}#stage{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}#stage.is-erasing{cursor:cell}.hud{position:absolute;z-index:2}.hud--score{top:calc(var(--edge) + var(--safe-top));left:calc(var(--edge) + var(--safe-left));pointer-events:none;display:flex;flex-direction:column;gap:var(--space-2)}.score{display:flex;align-items:center;gap:var(--space-2)}.score__icon{width:22px;height:22px;border-radius:var(--radius-xs);background:var(--amber);box-shadow:inset 0 -3px #00000024}.score__value{font-size:var(--text-2xl);font-weight:700;line-height:1;letter-spacing:-.02em}.cold{display:flex;align-items:center;gap:var(--gap)}.cold__bar{width:72px;height:6px;border-radius:var(--radius-pill);background:var(--line);overflow:hidden}.cold__fill{display:block;height:100%;width:0;border-radius:var(--radius-pill);background:var(--amber);transition:width .3s ease}.cold__text{font-size:var(--text-xs);font-weight:600;color:var(--ink-soft)}.cold.is-critical .cold__fill{background:var(--coral);animation:blink .8s ease-in-out infinite}@keyframes blink{50%{opacity:.35}}.hud--clock{top:calc(var(--edge) + var(--safe-top));right:calc(var(--edge) + var(--safe-right));display:flex;flex-direction:column;align-items:flex-end;gap:var(--gap)}.clock{display:flex;align-items:center;gap:var(--space-2);pointer-events:none}.clock__ring{width:44px;height:44px;transform:rotate(-90deg)}.clock__track{fill:none;stroke:var(--line);stroke-width:5}.clock__fill{fill:none;stroke:var(--ink);stroke-width:5;stroke-linecap:round}.clock__text{display:flex;flex-direction:column;order:-1;text-align:right}.clock__day{font-size:var(--text-base);font-weight:700;letter-spacing:.08em}.clock__week{font-size:var(--text-xs);font-weight:600;color:var(--ink-soft)}.rush{position:absolute;top:11px;right:calc(100% + 12px);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--amber);color:#fffdf8;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(8px);transition:opacity .4s ease,transform .4s ease}.rush.is-on{opacity:1;transform:none}.clock__fill{transition:stroke .4s ease}.hud--clock.is-rush .clock__fill{stroke:var(--amber)}.speed{display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-pill);background:var(--paper-card);box-shadow:var(--shadow)}.speed__btn{position:relative;width:40px;height:40px;display:grid;place-items:center;border:none;border-radius:50%;background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease}.speed__btn:hover{background:var(--line)}.speed__btn.is-active{background:var(--ink);color:#fffdf8}.hud--tray{bottom:calc(var(--edge) + var(--safe-bottom));left:50%;transform:translate(-50%);display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-lg);background:var(--paper-card);box-shadow:var(--shadow)}.tray__item{min-width:48px;height:48px;padding:0 var(--space-3);display:flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius);background:transparent;color:var(--ink);cursor:pointer;transition:background .12s ease}.tray__item:hover{background:var(--line)}.tray__item.is-active{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ink)}.tray__item[hidden]{display:none}.tray__item--kitchen:not(.is-active){animation:nudge 1.4s ease-in-out infinite}@keyframes nudge{50%{transform:translateY(-4px)}}.tray__item--info{cursor:default}.tray__item--info:hover{background:transparent}.tray__item.is-empty .tray__count{color:var(--coral)}.tray__count{font-size:var(--text-base);font-weight:700}@media(max-width:620px){.hud--tray{max-width:calc(100% - var(--edge) - var(--safe-left) - var(--safe-right));padding:var(--space-1)}.tray__item{flex:0 1 auto;min-width:40px;height:46px;padding:0 var(--space-2);gap:var(--space-1)}.tray__count{font-size:var(--text-sm)}}.toast{position:absolute;left:50%;bottom:calc(var(--edge) + var(--safe-bottom) + 60px + var(--gap));z-index:3;max-width:calc(100vw - var(--edge) * 2);margin:0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--ink);color:#fffdf8;font-size:var(--text-base);font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,6px);transition:opacity .25s ease,transform .25s ease}.toast:has(.ico){display:flex;align-items:center;gap:var(--space-2)}.toast .ico{width:20px;height:20px}.toast .ico--star{color:#e9a92e}.toast.is-on{opacity:1;transform:translate(-50%)}.veil{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#f3e5c899;backdrop-filter:blur(6px)}.veil--soft{background:#f3e5c88c;backdrop-filter:none}.veil[hidden]{display:none}.card{width:min(320px,calc(100vw - var(--edge) * 2));padding:var(--space-4);border-radius:var(--radius-lg);background:#fffdf8;box-shadow:var(--shadow);text-align:center}.logo{display:block;width:56px;height:56px;margin:0 auto var(--space-3);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 50%,#fffdf8 0 7px,transparent 8px),linear-gradient(#635c73,#635c73) center / 100% 14px no-repeat,linear-gradient(#635c73,#635c73) center / 14px 100% no-repeat,var(--amber)}.card__kicker{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.card__title{margin:0 0 var(--space-4);font-size:var(--text-lg);font-weight:700;line-height:1.2;letter-spacing:-.01em}.card__title--big{margin-bottom:var(--space-2);font-size:var(--text-2xl);letter-spacing:-.03em}.card__lead{margin:calc(-1 * var(--space-2)) 0 var(--space-5);color:var(--ink-soft);font-size:var(--text-base);line-height:1.5}.tally{margin:0 0 var(--space-5);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);text-align:center}.slider{position:relative;margin:0 0 var(--space-2)}.slider__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--radius);overscroll-behavior-x:contain}.slider__track::-webkit-scrollbar{display:none}.slide{position:relative;flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always}.slide__thumb{display:block;width:100%;border-radius:var(--radius)}.slide--random .slide__thumb{filter:saturate(.4) blur(3px);opacity:.7}.slide__mark{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--text-2xl);font-weight:700;color:var(--ink)}.slider__nav{position:absolute;top:50%;width:40px;height:40px;margin-top:-20px;display:grid;place-items:center;border:0;border-radius:50%;background:#fffdf8;box-shadow:var(--shadow);color:var(--ink);cursor:pointer}.slider__nav--prev{left:-12px}.slider__nav--prev .ico{transform:scaleX(-1)}.slider__nav--next{right:-12px}.slider__name{margin:0 0 var(--space-2);font-size:var(--text-md);font-weight:700}.slider__dots{display:flex;justify-content:center;gap:var(--space-1);margin:0 0 var(--space-4)}.dot{width:5px;height:5px;border-radius:50%;background:#635c7333;transition:background .2s,transform .2s}.dot.is-on{background:var(--ink);transform:scale(1.3)}.promo{margin:0 0 var(--space-4);text-align:left}.promo__label{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--ink-soft);text-align:center}.promo__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:var(--radius)}.promo__track::-webkit-scrollbar{display:none}.promo__slide{flex:0 0 100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:#635c7312;color:var(--ink);text-decoration:none;scroll-snap-align:center;scroll-snap-stop:always}.promo__icon{flex:none;width:44px;height:44px;border-radius:var(--radius);object-fit:cover}.promo__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:0;font-size:var(--text-sm);line-height:1.3;color:var(--ink-soft)}.promo__text strong{font-size:var(--text-base);color:var(--ink)}.promo__cta{flex:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--amber);color:#fffdf8;font-size:var(--text-sm);font-weight:700}.promo__dots{margin:var(--space-2) 0 0}.card__best{margin:var(--gap) 0 0;font-size:var(--text-sm);font-weight:600;color:var(--ink-soft)}.tally dt{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.tally dd{margin:var(--space-1) 0 0;font-size:var(--text-lg);font-weight:700}.btn{width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius);background:var(--ink);color:#fffdf8;font-size:var(--text-base);font-weight:700;letter-spacing:.04em;cursor:pointer;transition:transform .12s ease}.btn:hover{transform:translateY(-1px)}.link{width:100%;margin-top:var(--space-2);padding:var(--space-2);border:none;background:none;color:var(--ink-soft);font:inherit;font-size:var(--text-base);font-weight:600;cursor:pointer}.link:hover{color:var(--ink)}.shot{margin:0 0 var(--space-4)}.shot__img{display:block;width:100%;max-height:34vh;object-fit:contain;border-radius:var(--radius);background:var(--line)}.shot__actions{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.shot__btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius);background:none;color:var(--ink);font:inherit;font-size:var(--text-base);font-weight:600;cursor:pointer}.shot__btn:hover{background:var(--line)}.shot__btn[hidden]{display:none}.card--menu{padding:var(--space-4);text-align:left}.rows{margin-top:var(--space-2);display:grid}.rows--settings{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line)}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);padding:var(--space-3) var(--space-2);border:none;border-radius:var(--radius-sm);background:none;color:var(--ink);font:inherit;font-size:var(--text-md);font-weight:600;text-align:left;cursor:pointer}.row:hover{background:var(--line)}.row__value{color:var(--ink-soft);font-weight:500}.btn--ghost{margin-top:var(--space-2);background:var(--paper);color:var(--ink)}.menu{display:grid;gap:0}.menu .btn--ghost{margin-top:var(--space-2)}.card--history{width:min(420px,calc(100vw - var(--edge) * 2))}.history{max-height:min(48vh,380px);overflow-y:auto;margin:0 0 var(--space-1);display:grid;gap:0;text-align:left}.history__row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-1);border-bottom:1px solid var(--line)}.history__row:last-child{border-bottom:none}.history__row.is-best .history__meals:after{content:"";display:inline-block;width:7px;height:7px;margin-left:var(--space-2);vertical-align:middle;border-radius:50%;background:var(--amber)}.history__meals{font-size:var(--text-md);font-weight:700}.history__meta{grid-column:1;font-size:var(--text-sm);color:var(--ink-soft)}.history__when{grid-column:2;grid-row:1 / span 2;font-size:var(--text-sm);color:var(--ink-soft);text-align:right}.history__empty{padding:var(--space-4) 0;font-size:var(--text-base);color:var(--ink-soft);text-align:center}.upgrade{text-align:center}.upgrade .card__title{margin-bottom:var(--space-2)}.upgrade__ask{margin:0 0 var(--space-4);color:var(--ink-soft);font-size:var(--text-base)}.upgrade__choices{display:flex;justify-content:center;gap:var(--gap);flex-wrap:wrap}.choice{width:168px;padding:var(--space-5) var(--space-4) var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);border:1.5px solid transparent;border-radius:var(--radius-lg);background:#fffdf8;box-shadow:var(--shadow);color:var(--ink);cursor:pointer;transition:transform .15s ease,border-color .15s ease}.choice:hover{transform:translateY(-4px);border-color:var(--ink)}.choice__icon{width:44px;height:44px;margin-bottom:var(--space-1);border-radius:var(--radius)}.choice__title{font-size:var(--text-md);font-weight:700}.choice__detail{font-size:var(--text-sm);color:var(--ink-soft)}@media(max-width:620px){.score__value{font-size:var(--text-xl)}}.ico{display:inline-block;flex:none;width:22px;height:22px;background:currentColor;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.ico--accent{color:var(--amber)}.speed__btn .ico{width:18px;height:18px}.score__icon.ico{width:24px;height:24px;border-radius:0;background:var(--amber);box-shadow:none}.choice__icon.ico{width:40px;height:40px;margin:0 auto var(--space-2);border-radius:0;background:var(--ink)}.row__go{width:16px;height:16px;color:var(--ink-soft)}.speed__btn.is-flat .ico--cube{--icon: url(../icons/layout-grid.svg)}.speed__btn.is-muted .ico--volume{--icon: url(../icons/volume-off.svg)}.ico--arrow-roundabout-right{--icon: url(../icons/arrow-roundabout-right.svg)}.ico--arrows-cross{--icon: url(../icons/arrows-cross.svg)}.ico--bolt{--icon: url(../icons/bolt.svg)}.ico--building-bridge{--icon: url(../icons/building-bridge.svg)}.ico--chevron-right{--icon: url(../icons/chevron-right.svg)}.ico--cube{--icon: url(../icons/cube.svg)}.ico--eraser{--icon: url(../icons/eraser.svg)}.ico--download{--icon: url(../icons/download.svg)}.ico--cloud-rain{--icon: url(../icons/cloud-rain.svg)}.ico--share{--icon: url(../icons/share.svg)}.ico--star{--icon: url(../icons/star.svg)}.ico--menu-2{--icon: url(../icons/menu-2.svg)}.ico--motorbike{--icon: url(../icons/motorbike.svg)}.ico--package{--icon: url(../icons/package.svg)}.ico--player-pause{--icon: url(../icons/player-pause.svg)}.ico--player-play{--icon: url(../icons/player-play.svg)}.ico--player-track-next{--icon: url(../icons/player-track-next.svg)}.ico--road{--icon: url(../icons/road.svg)}.ico--tools-kitchen-2{--icon: url(../icons/tools-kitchen-2.svg)}.ico--traffic-lights{--icon: url(../icons/traffic-lights.svg)}.ico--truck-delivery{--icon: url(../icons/truck-delivery.svg)}.ico--volume{--icon: url(../icons/volume.svg)}.ico--volume-off{--icon: url(../icons/volume-off.svg)}.clock__rain{width:14px;height:14px;margin-right:var(--space-1);vertical-align:-2px;color:#5b8dd6}.clock__rain[hidden]{display:none}
