:root{color:#2f241c;background:#ffe3b8;font-family:ui-rounded,Hiragino Maru Gothic ProN,Yu Gothic,Meiryo,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;width:100dvw;min-width:320px;height:100%;height:100dvh;min-height:100dvh;margin:0;overflow:hidden}body{overscroll-behavior:none;user-select:none;-webkit-touch-callout:none}#app{position:fixed;inset:0;overflow:hidden;background:#ffe3b8}.game-canvas{position:absolute;inset:0;display:block;width:100dvw;height:100dvh;touch-action:none}.app-error{position:absolute;inset:16px;display:grid;place-items:center;max-width:520px;min-height:160px;margin:auto;padding:24px;border:2px solid #ff8a65;border-radius:8px;background:#fff6e8;text-align:center}.debug-panel{position:fixed;top:8px;left:8px;z-index:10;display:grid;gap:6px;width:min(320px,calc(100vw - 16px));padding:8px;border:1px solid rgb(47 36 28 / .32);border-radius:8px;background:#fff6e8e0;color:#2f241c;font-size:12px}.debug-panel__row{display:grid;grid-template-columns:42px 1fr 44px;align-items:center;gap:6px}.debug-panel__row input{width:100%}.debug-panel__stats{min-height:60px;margin:0;overflow:hidden;font:inherit;white-space:pre-wrap}.hud{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:5;display:grid;grid-template-columns:repeat(3,max-content);gap:6px;justify-content:end;pointer-events:none}.hud__item{min-width:116px;min-height:32px;padding:7px 10px;border:1px solid rgb(47 36 28 / .18);border-radius:8px;background:#fffaf0e0;color:#2f241c;font-size:13px;font-weight:700;line-height:1.2;text-align:center;white-space:nowrap;box-shadow:0 2px #2f241c1f}.hud__item--target,.hud__item--snacks{min-width:132px}body:not([data-game-phase=play]) .hud{display:none}body:not([data-game-phase=play]) .hud-orders,body:not([data-game-phase=play]) .phone-button,body:not([data-game-phase=play]) .phone-banner,body:not([data-game-phase=play]) .phone-panel{display:none}.score-pop{position:fixed;top:42%;left:50%;z-index:6;pointer-events:none;color:#ff5a3c;font-size:22px;font-weight:800;text-shadow:0 2px 0 rgb(255 246 232 / .85)}.delivery-arrow{position:fixed;top:50%;left:50%;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#ff5a3cd6;color:#fff6e8;font-size:28px;font-weight:900;pointer-events:none}.delivery-arrow[hidden]{display:none}.delivery-arrow[data-mode=collect]{background:#ffd166bd;color:#4a3324}.delivery-arrow[data-mode=deliver]{animation:deliver-arrow-pulse .66s steps(2,end) infinite}.hud-orders{position:fixed;top:max(94px,calc(env(safe-area-inset-top) + 94px));left:max(12px,env(safe-area-inset-left));z-index:5;min-width:190px;min-height:44px;max-width:min(360px,calc(100vw - 24px));padding:8px 12px;border:2px solid rgb(47 36 28 / .26);border-radius:8px;background:#fffaf0eb;color:#2f241c;font:inherit;font-size:13px;font-weight:800;text-align:left;box-shadow:0 3px #2f241c24;pointer-events:auto}.hud-orders[hidden]{display:none}.hud-orders--ready{border-color:#f2b441;background:#ffe8a0f0}.hud-orders--warning{border-color:#e85d4c;color:#8f2f27}.phone-button{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:7;width:56px;height:56px;display:grid;place-items:center;border:2px solid rgb(47 36 28 / .28);border-radius:50%;background:#fff8ea;box-shadow:0 4px #2f241c2e;font-size:28px}.phone-button--open{background:#94d2bd}.phone-button__badge{position:absolute;top:-6px;right:-4px;min-width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#e85d4c;color:#fff8ea;font-size:11px;font-weight:900}.phone-banner{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(82px,calc(env(safe-area-inset-bottom) + 82px));z-index:7;min-width:220px;min-height:52px;padding:10px 14px;border:2px solid rgb(47 36 28 / .28);border-radius:8px;background:#fff8ea;color:#2f241c;font:inherit;font-weight:900;box-shadow:0 4px #2f241c2e}.phone-banner[hidden],.phone-panel[hidden]{display:none}.phone-panel{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(82px,calc(env(safe-area-inset-bottom) + 82px));z-index:7;width:min(230px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 32px));max-height:min(400px,calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 120px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:2px solid rgb(47 36 28 / .32);border-radius:12px;background:#fff8ea;color:#2f241c;box-shadow:0 7px #2f241c2e;overflow:hidden;pointer-events:auto}.phone-panel__header{min-height:44px;display:grid;grid-template-columns:1fr auto 34px;align-items:center;gap:6px;padding:8px 10px;border-bottom:2px solid rgb(47 36 28 / .18);background:#94d2bd}.phone-panel__close{min-width:34px;min-height:34px;border:0;border-radius:50%;background:#fff8eaeb;font:inherit;font-weight:900}.phone-panel__cards{display:grid;gap:8px;padding:10px;overflow:auto}.phone-panel__empty{margin:0;padding:16px 8px;text-align:center;font-weight:800}.phone-panel__warning{padding:8px 10px;border-top:2px solid rgb(47 36 28 / .14);background:#ffe1d8;color:#8f2f27;font-size:13px;font-weight:900}.phone-card{min-height:112px;display:grid;grid-template-columns:1fr auto;gap:5px 8px;padding:9px;border:2px solid rgb(47 36 28 / .18);border-radius:8px;background:#ffffff85;color:inherit;font:inherit;text-align:left}.phone-card--selected{border-color:#e85d4c}.phone-card--ready{border-color:#f2b441;background:#fff0b8}.phone-card__head,.phone-card__items,.phone-card__status,.phone-card__mood{grid-column:1 / -1}.phone-card__head,.phone-card__tip,.phone-card__status{font-weight:900}.phone-card__tip{grid-column:2;grid-row:1;justify-self:end}.phone-card__items{font-size:13px;font-weight:800}.phone-card__status{color:#d84c35}.phone-card__mood{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;font-size:12px;font-weight:800}.phone-card__mood-bar{height:8px;border:1px solid rgb(47 36 28 / .24);border-radius:999px;background:linear-gradient(90deg,#63bd8e calc(var(--mood) * 100%),#2f241c1f 0)}@keyframes deliver-arrow-pulse{50%{background:#ff8a3deb}}.flow-title{position:fixed;inset:0;z-index:8;display:grid;align-items:end;justify-items:center;padding:24px;padding-bottom:max(32px,calc(env(safe-area-inset-bottom) + 32px));pointer-events:none}.flow-title[hidden]{display:none}.flow-title__inner{display:grid;justify-items:center;gap:10px;width:min(420px,calc(100vw - 48px));color:#2f241c;text-align:center;pointer-events:auto}.flow-title__logo,.flow-title__heading{margin:0;text-shadow:0 2px 0 rgb(255 246 232 / .9)}.flow-title__logo{color:#d84c35;font-size:18px;font-weight:900}.flow-title__heading{font-size:52px;line-height:1}.flow-title__start,.flow-title__button,.flow-title__toggle,.flow-pause-panel button{min-height:44px;border:0;border-radius:8px;color:#2f241c;font:inherit;font-weight:900}.flow-title__start{width:min(280px,100%);min-height:62px;background:#ff8a65;font-size:26px;box-shadow:0 6px #2f241c33}.flow-title__button,.flow-title__toggle{width:min(220px,100%);background:#fff6e8eb}.flow-title__toggle{display:flex;align-items:center;justify-content:center;gap:8px}.flow-countdown{position:fixed;inset:0;z-index:9;display:grid;place-items:center;color:#ff5a3c;font-size:128px;font-weight:1000;text-shadow:0 6px 0 rgb(255 246 232 / .9);pointer-events:none}.mobile-orientation-badge{position:fixed;top:max(132px,calc(env(safe-area-inset-top) + 132px));left:50%;z-index:13;min-height:44px;padding:10px 16px;border:1px solid rgb(47 36 28 / .16);border-radius:8px;background:#fffaf0eb;color:#2f241c;font-size:13px;font-weight:900;line-height:1.2;pointer-events:none;transform:translate(-50%);box-shadow:0 4px #2f241c24}.mobile-orientation-badge[hidden]{display:none}@media(orientation:landscape){.mobile-orientation-badge{display:none}}.flow-countdown[hidden],.flow-pause-button[hidden],.flow-pause-panel[hidden]{display:none}.flow-pause-button{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:9;width:48px;height:48px;border:0;border-radius:50%;background:#fff6e8e6;color:#2f241c;font:inherit;font-size:20px;font-weight:900;pointer-events:auto;touch-action:manipulation}.flow-pause-panel{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:#2f241c47}.flow-pause-panel__inner{display:grid;gap:10px;width:min(300px,calc(100vw - 40px));padding:18px;border-radius:8px;background:#fff6e8f5;text-align:center}.flow-pause-panel h2{margin:0}.flow-pause-panel button{background:#94d2bd}.flow-pause-panel__primary{background:#ff8a65!important}.result-overlay{position:fixed;inset:0;z-index:12;display:grid;place-items:center;padding:20px;background:#2f241c42}.result-overlay[hidden]{display:none}.result-overlay:before{position:absolute;inset:10%;border:2px solid rgb(255 246 232 / .62);border-radius:8px;content:"";pointer-events:none}.result-overlay>*{position:relative;width:min(420px,calc(100vw - 40px));margin:0;padding-inline:18px;background:#fff6e8f0;color:#2f241c;text-align:center}.result-overlay__rank{padding-top:18px;border-radius:8px 8px 0 0;color:#ff5a3c;font-size:72px;font-weight:900;line-height:.95;animation:result-pop .42s ease-out both}.result-overlay__title{padding-top:4px;font-size:25px;line-height:1.2}.result-overlay__line,.result-overlay__odds,.result-overlay__sample,.result-overlay__capsule{padding-top:8px;font-size:14px;font-weight:700}.result-overlay__sample{color:#5b4b3d;font-size:12px}.result-overlay__line--stats,.result-overlay__line--best,.result-overlay__line--breakdown{font-size:12px;line-height:1.25}.result-overlay__line--breakdown{color:#5b4b3d}.result-overlay__button{width:min(260px,calc(100vw - 96px));min-height:44px;margin-top:12px;border:0;border-radius:8px;background:#ff8a65;color:#2f241c;font:inherit;font-weight:900;white-space:nowrap}.result-overlay__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding-top:12px}.result-overlay__actions .result-overlay__button{width:min(168px,100%);margin-top:0}.result-overlay__button--primary{background:#ff8a65}.result-overlay__button--secondary{background:#94d2bd}.result-overlay__capsule{min-height:38px;padding-bottom:18px;border-radius:0 0 8px 8px}.result-overlay__capsule.is-sr{color:transparent;background-image:linear-gradient(90deg,#ff5a3c,#ffd166,#4ecdc4,#7b61ff,#ff5a3c);background-clip:text;-webkit-background-clip:text;background-size:220% 100%;animation:capsule-rainbow .9s linear infinite}.customize-panel{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:6;display:grid;grid-template-columns:1fr;gap:8px;width:min(360px,calc(100vw - 24px));max-height:min(76dvh,620px);padding:12px;border:1px solid rgb(47 36 28 / .2);border-radius:8px;background:#fff6e8f0;color:#2f241c;font-size:12px;overflow:auto;pointer-events:auto;box-shadow:0 8px #2f241c1f}.customize-panel[hidden]{display:none}.customize-panel__name{min-width:0;overflow:hidden;font-size:16px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.customize-panel__status{color:#5b4b3d;font-size:11px}.customize-panel__row{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px}.customize-panel__row--toggle{grid-template-columns:64px auto minmax(0,1fr)}.customize-panel__row--slider{grid-template-columns:64px minmax(0,1fr) 34px}.customize-panel__label{color:#5b4b3d;font-weight:800;line-height:1.1}.customize-panel__row input{min-width:0;width:100%;font:inherit}.customize-panel__row input[type=text]{min-height:44px;padding:0 10px;border:1px solid rgb(47 36 28 / .22);border-radius:8px;background:#fffaf0;color:#2f241c}.customize-panel__row input[type=checkbox]{width:24px;height:24px;accent-color:#ff8a65}.customize-panel__group{display:flex;flex-wrap:wrap;gap:6px}.customize-panel__choice{display:grid;place-items:center;width:44px;min-width:44px;height:44px;border:2px solid rgb(47 36 28 / .18);border-radius:8px;background:#fffaf0;color:#2f241c;font:inherit;font-size:20px;font-weight:900;line-height:1;touch-action:manipulation}.customize-panel__choice--swatch{border-radius:50%;background:var(--swatch-color, #fffaf0);box-shadow:inset 0 0 0 4px #fffaf0bf}.customize-panel__choice.is-selected{border-color:#ff5a3c;box-shadow:0 0 0 3px #ff5a3c2e,inset 0 0 0 4px #fffaf0bf}.customize-panel__choice--icon.is-selected{background:#ffd166}.customize-panel__slider-value,.customize-panel__toggle-value{font-weight:900;text-align:center}.customize-panel__button{min-height:44px;border:0;border-radius:8px;background:#94d2bd;color:#2f241c;font:inherit;font-weight:800;touch-action:manipulation}.speed-lines{position:fixed;inset:0;z-index:4;pointer-events:none;transition:opacity .12s ease}.speed-lines[hidden]{display:none}.speed-lines i{position:absolute;top:calc(50% + (var(--line-index) - 3.5) * 8%);left:50%;width:36vw;max-width:420px;height:3px;border-radius:999px;background:linear-gradient(90deg,#fff6e800,#fff6e8d9);transform:translate(-50%,-50%) rotate(calc((var(--line-index) - 3.5) * 14deg))}.touch-controls{position:fixed;inset:0;z-index:7;pointer-events:none;touch-action:none}.touch-controls__surface{position:absolute;inset:0 50% 0 0;pointer-events:auto;touch-action:none}.touch-controls__stick{position:absolute;width:var(--touch-stick-size, 120px);height:var(--touch-stick-size, 120px);border:2px solid rgb(255 246 232 / .76);border-radius:50%;background:#2f241c2e;pointer-events:none;transform:translate(-50%,-50%)}.touch-controls__knob{position:absolute;top:50%;left:50%;width:46px;height:46px;border-radius:50%;background:#ff8a65e6;box-shadow:0 4px #2f241c2e;transform:translate(-50%,-50%)}.touch-controls__button{position:absolute;right:max(18px,env(safe-area-inset-right));width:var(--touch-button-size, 64px);height:var(--touch-button-size, 64px);border:0;border-radius:50%;background:#fff6e8e0;color:#2f241c;font:inherit;font-size:12px;font-weight:900;line-height:1.05;white-space:pre-line;pointer-events:auto;touch-action:manipulation}.touch-controls__button--jump{bottom:max(98px,calc(env(safe-area-inset-bottom) + 98px))}.touch-controls__button--drift{bottom:max(24px,calc(env(safe-area-inset-bottom) + 24px))}.touch-controls__button.is-active{background:#ff8a65;transform:translateY(2px)}body[data-game-phase=title] .touch-controls,body[data-game-phase=countdown] .touch-controls,body[data-game-phase=customize] .touch-controls,body[data-game-phase=pause] .touch-controls,body[data-game-phase=result] .touch-controls{display:none}.shot-mode .hud,.shot-mode .hud-orders,.shot-mode .phone-button,.shot-mode .phone-banner,.shot-mode .phone-panel,.shot-mode .touch-controls,.shot-mode .flow-title,.shot-mode .flow-countdown,.shot-mode .flow-pause-button,.shot-mode .flow-pause-panel,.shot-mode .result-overlay,.shot-mode .customize-panel,.world-shot-mode .hud,.world-shot-mode .hud-orders,.world-shot-mode .phone-button,.world-shot-mode .phone-banner,.world-shot-mode .phone-panel,.world-shot-mode .touch-controls,.world-shot-mode .flow-title,.world-shot-mode .flow-countdown,.world-shot-mode .flow-pause-button,.world-shot-mode .flow-pause-panel,.world-shot-mode .result-overlay,.world-shot-mode .customize-panel{display:none!important}@media(hover:hover)and (pointer:fine){.touch-controls{display:none}.force-touch .touch-controls{display:block}}@media(max-width:700px){.hud{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));left:max(72px,calc(env(safe-area-inset-left) + 72px));grid-template-columns:repeat(2,minmax(0,max-content));justify-content:flex-end}.hud__item{min-width:0;max-width:100%;font-size:11px}.hud-orders{top:max(124px,calc(env(safe-area-inset-top) + 124px));max-width:min(300px,calc(100vw - 24px));font-size:12px}.phone-button{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.customize-panel{width:min(360px,calc(100vw - 24px));max-height:min(68dvh,520px);font-size:11px}.customize-panel__row{grid-template-columns:56px minmax(0,1fr)}.customize-panel__row--toggle{grid-template-columns:56px auto minmax(0,1fr)}.customize-panel__row--slider{grid-template-columns:56px minmax(0,1fr) 30px}.debug-panel{width:min(300px,calc(100vw - 16px));max-height:42dvh;overflow:auto}}@media(max-width:700px)and (orientation:portrait){.flow-title{padding:18px;padding-bottom:max(22px,calc(env(safe-area-inset-bottom) + 22px))}.flow-title__inner{gap:8px;width:min(340px,calc(100vw - 36px))}.flow-title__heading{font-size:42px;line-height:1.04}.flow-title__logo{font-size:16px}.flow-title__start{min-height:58px;font-size:24px}.hud{width:min(288px,calc(100vw - 88px));grid-template-columns:repeat(2,minmax(0,1fr))}.hud__item{width:100%;padding-inline:7px;overflow:hidden;text-overflow:clip}.phone-banner{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:auto;top:max(12px,env(safe-area-inset-top))}.phone-panel{left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right));max-height:min(52dvh,calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px),430px);border-radius:12px 12px 0 0}.result-overlay{padding:max(12px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.result-overlay:before{inset:8%}.result-overlay>*{width:min(360px,calc(100vw - 32px));padding-inline:12px}.result-overlay__rank{font-size:64px}.result-overlay__title{font-size:22px}.result-overlay__actions .result-overlay__button{width:min(172px,calc(50vw - 24px))}}@media(max-height:500px)and (orientation:landscape){.flow-title{align-items:center;justify-items:end;padding:max(12px,env(safe-area-inset-top)) max(18px,calc(env(safe-area-inset-right) + 18px)) max(12px,env(safe-area-inset-bottom)) 18px}.flow-title__inner{gap:6px;width:min(320px,calc(100vw - 48px))}.flow-title__heading{font-size:36px}.flow-title__start{min-height:52px;font-size:22px}.flow-title__button,.flow-title__toggle{width:min(190px,100%)}.hud{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));grid-template-columns:repeat(3,minmax(104px,max-content))}.phone-panel{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:min(210px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 20px));max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 20px)}.phone-banner{right:max(10px,env(safe-area-inset-right));bottom:max(74px,calc(env(safe-area-inset-bottom) + 74px))}.result-overlay{align-items:center;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.result-overlay:before{inset:4% 7%}.result-overlay>*{width:min(390px,calc(100vw - 40px));padding-inline:10px}.result-overlay__rank{padding-top:8px;font-size:48px}.result-overlay__title{padding-top:2px;font-size:18px}.result-overlay__line,.result-overlay__odds,.result-overlay__sample,.result-overlay__capsule{padding-top:4px;font-size:12px}.result-overlay__sample{display:none}.result-overlay__actions{padding-top:6px}.result-overlay__button{margin-top:6px}.result-overlay__capsule{min-height:26px;padding-bottom:8px}.touch-controls__button--jump{bottom:max(86px,calc(env(safe-area-inset-bottom) + 86px))}.touch-controls__button--drift{bottom:max(14px,calc(env(safe-area-inset-bottom) + 14px))}}@keyframes result-pop{0%{transform:scale(.72);opacity:0}to{transform:scale(1);opacity:1}}@keyframes capsule-rainbow{0%{background-position:0 0}to{background-position:220% 0}}@media(prefers-reduced-motion:reduce){.result-overlay__rank,.result-overlay__capsule.is-sr{animation:none}}
