:root{--ink: #2f1f1c;--cream: #f7f0de;--rose: #d9807b;--rose-dark: #bf6560;--wood: #7b4639;--moss: #8c9b55;--mustard: #d9a441;--success: #6f9a64;--okay: #c98a4b;--u: min(1vw, calc(100vh * 1980 / 1080 / 100));--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)}@supports (height: 100dvh){:root{--u: min(1vw, calc(100dvh * 1980 / 1080 / 100))}}*{box-sizing:border-box}html{height:100%;background:#21171a;overscroll-behavior:none}html,body,#root{height:100%}@supports (height: 100dvh){html,body,#root{height:100dvh}}body{margin:0;font-family:Quicksand,sans-serif;color:var(--ink);background:#21171a;overflow:hidden;overscroll-behavior:none}h1,h2,h3,h4{font-family:Fraunces,serif;margin:0}button{font-family:Quicksand,sans-serif;cursor:pointer;border:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}.viewport{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#21171a}.stage{position:relative;width:calc(var(--u) * 100);aspect-ratio:1980 / 1080;overflow:hidden;-webkit-user-select:none;user-select:none}.stage__picture{display:contents}.stage__bg,.stage__foreground{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.hud{position:fixed;top:12px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:15}.hud__right{display:flex;gap:10px;align-items:flex-start}.hud__chip{pointer-events:auto;background:#f7f0deeb;border:2px solid var(--wood);border-radius:12px;padding:7px 14px;box-shadow:0 3px 8px #00000040}.hud__title{font-family:Fraunces,serif;font-weight:600;font-size:1.15rem}.hud__button{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;color:var(--ink);align-self:stretch}.hud__button:hover{background:#fff}.store-status{display:flex;align-items:center;gap:14px;font-weight:700;font-size:.95rem}.store-status__rating{color:var(--mustard);letter-spacing:1px}.hotspot{position:absolute;background:transparent;padding:0;border-radius:calc(var(--u) * 1.2);transition:box-shadow .15s ease,background .15s ease}.hotspot:not(.hotspot--disabled):hover,.hotspot:not(.hotspot--disabled):focus-visible{outline:none;background:#fff5d224;box-shadow:0 0 0 calc(var(--u) * .2) #fff0bee6,0 0 calc(var(--u) * 2) #ffe29699}.hotspot--disabled{cursor:default}.hotspot--debug{outline:calc(var(--u) * .15) dashed rgba(255,255,255,.85);background:#ffffff1a}.hotspot__label{position:absolute;bottom:100%;left:50%;transform:translate(-50%,calc(var(--u) * -.4));background:var(--ink);color:var(--cream);font-size:calc(var(--u) * 1);font-weight:600;padding:calc(var(--u) * .3) calc(var(--u) * .9);border-radius:calc(var(--u) * .6);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease}.hotspot:not(.hotspot--disabled):hover .hotspot__label,.hotspot:not(.hotspot--disabled):focus-visible .hotspot__label,.hotspot--debug .hotspot__label{opacity:1}.hotspot__badge{position:absolute;top:calc(var(--u) * -.6);right:calc(var(--u) * -.6);background:var(--rose);color:#fff;font-size:calc(var(--u) * 1);font-weight:700;padding:calc(var(--u) * .2) calc(var(--u) * .7);border-radius:999px;box-shadow:0 2px 4px #0000004d}@media (pointer: coarse){.hotspot:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:inherit}.hotspot__label{bottom:auto;top:calc(100% + 7px);transform:translate(-50%);font-size:11px;line-height:1;padding:5px 8px;border-radius:999px;background:#2f1f1ce6;box-shadow:0 2px 6px #00000047;opacity:1}.hotspot:active .hotspot__label{background:var(--rose-dark)}}@media (pointer: coarse){button,.hotspot,.menu-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.hud__button:active,.tray-slot:active,.guide-panel__close:active,.customer__ask:active,.story-continue:active,.orientation-tip__close:active,.drawer-panel__close:active,.dialogue-close:active,.dialogue-option:active,.bouquet-stage__back:active,.bouquet-stage__confirm:active,.result-banner button:active,.selection-item:active{transform:scale(.96);filter:brightness(.94)}.hud__button,.tray-slot,.guide-panel__close,.customer__ask,.story-continue,.drawer-panel__close,.dialogue-close,.dialogue-option,.bouquet-stage__back,.bouquet-stage__confirm,.result-banner button,.selection-item{min-height:44px}.hud__button{min-width:44px;justify-content:center}.guide-panel__close,.orientation-tip__close{min-width:44px;min-height:44px}}.hotspot--sprite{height:auto;border-radius:0}.hotspot--sprite:not(.hotspot--disabled):hover,.hotspot--sprite:not(.hotspot--disabled):focus-visible{background:none;box-shadow:none}.hotspot__picture{display:contents}.hotspot__img{display:block;width:100%;height:auto;pointer-events:none;transition:filter .15s ease,transform .15s ease}.hotspot__img--hover{filter:drop-shadow(0 0 calc(var(--u) * .12) #fff7da) drop-shadow(0 0 calc(var(--u) * .12) #fff7da) drop-shadow(0 0 calc(var(--u) * 1.1) rgba(255,214,120,.95));transform:translateY(calc(var(--u) * -.35))}.hotspot--hint .hotspot__img:not(.hotspot__img--hover){animation:hint-glow 2.4s ease-in-out infinite}@keyframes hint-glow{0%,to{filter:drop-shadow(0 0 0 rgba(255,214,120,0))}50%{filter:drop-shadow(0 0 calc(var(--u) * .9) rgba(255,214,120,.85))}}.customer-layer{--portrait-size: calc(var(--u) * 8);position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.customer{position:absolute;bottom:30%;left:-12%;transform:translate(-50%);transition:left var(--walk-ms, 3.2s) ease-in-out}.customer--arrived{left:51%}.customer--leaving{left:112%}.customer__portrait{font-size:var(--portrait-size);line-height:1;filter:drop-shadow(0 calc(var(--u) * .4) calc(var(--u) * .4) rgba(0,0,0,.3))}.customer__portrait--walking{animation:walk-bob .4s ease-in-out infinite}@keyframes walk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--u) * -.6))}}.customer__bubble{position:absolute;left:51%;bottom:calc(30% + var(--portrait-size) + calc(var(--u) * .8));transform:translate(-50%);width:calc(var(--u) * 28);background:var(--cream);border:calc(var(--u) * .15) solid var(--wood);border-radius:calc(var(--u) * 1.2);padding:calc(var(--u) * .9) calc(var(--u) * 1.2);box-shadow:0 3px 8px #00000040;animation:bubble-pop .25s ease-out;pointer-events:none}.customer__bubble:after{content:"";position:absolute;top:100%;left:50%;margin-left:calc(var(--u) * -.8);border:calc(var(--u) * .8) solid transparent;border-top-color:var(--wood)}.customer__bubble strong{display:block;font-family:Fraunces,serif;font-size:calc(var(--u) * 1.2);margin-bottom:calc(var(--u) * .2)}.customer__bubble p{margin:0;font-size:calc(var(--u) * 1);line-height:1.35}.customer__more{margin-top:calc(var(--u) * .5)!important;font-style:italic;opacity:.8}.customer__ask{position:relative;z-index:5;display:inline-flex;align-items:center;min-height:32px;margin-top:calc(var(--u) * .45);padding:calc(var(--u) * .15) calc(var(--u) * .7);background:#f4f0e6;border-radius:999px;color:var(--wood);font-size:calc(var(--u) * .9);font-weight:700;pointer-events:auto}.customer__ask:hover{background:#efe6d2;color:var(--rose-dark)}.customer__moods{display:flex;flex-wrap:wrap;gap:calc(var(--u) * .35);margin-top:calc(var(--u) * .65)}.customer__mood{display:inline-flex;align-items:center;gap:calc(var(--u) * .2);padding:calc(var(--u) * .15) calc(var(--u) * .55);background:#f4f0e6;border-radius:999px;font-size:calc(var(--u) * .82);font-weight:600}@keyframes bubble-pop{0%{transform:translate(-50%) scale(.85);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.counter-tray{position:absolute;left:29.5%;top:71.8%;width:32.5%;height:9.5%;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * .8);padding:0 calc(var(--u) * 1);background:#f7f0deed;border:calc(var(--u) * .18) solid var(--wood);border-radius:calc(var(--u) * 1);box-shadow:0 3px 8px #00000040}.counter-tray--disabled{opacity:.6}.counter-tray__slots{display:flex;align-items:center;flex-shrink:0;gap:calc(var(--u) * .5)}.counter-tray__divider{width:calc(var(--u) * .15);height:calc(var(--u) * 2.6);background:var(--wood);opacity:.35;margin:0 calc(var(--u) * .3)}.tray-slot{width:calc(var(--u) * 3);height:calc(var(--u) * 3);border-radius:50%;background:transparent;border:calc(var(--u) * .15) dashed rgba(123,70,57,.5);font-size:calc(var(--u) * 1.8);color:#7b463999;display:flex;align-items:center;justify-content:center;padding:0}.tray-slot--filled{background:#fff;border-style:solid;border-color:var(--rose);color:inherit}.counter-tray__assemble{background:var(--rose);color:#fff;font-weight:700;font-size:calc(var(--u) * 1);padding:calc(var(--u) * .8) calc(var(--u) * 1.1);border-radius:calc(var(--u) * .9);white-space:nowrap;flex-shrink:0}.counter-tray__assemble:not(:disabled):hover{background:var(--rose-dark)}.bouquet-stage,.result-banner{position:fixed;left:50%;bottom:3vh;transform:translate(-50%);width:min(540px,92vw);z-index:20;background:var(--cream);border:3px solid var(--wood);border-radius:16px;padding:14px 18px;box-shadow:0 8px 24px #00000059;animation:dock-rise .25s ease-out}@keyframes dock-rise{0%{transform:translate(-50%,16px);opacity:0}to{transform:translate(-50%);opacity:1}}.bouquet-stage{display:grid;grid-template-columns:auto 1fr;column-gap:20px;row-gap:6px;align-items:center}.bouquet-stage h2{grid-column:1 / -1;font-size:1.05rem}.bouquet-display{grid-column:1;grid-row:2 / span 2;display:flex;align-items:flex-end;justify-content:center;min-width:120px;min-height:70px}.bouquet-display__flower{font-size:2.6rem;filter:drop-shadow(0 4px 4px rgba(0,0,0,.25));margin:0 -6px}.bouquet-display__note{grid-column:2;grid-row:2;margin:0;font-size:.75rem;opacity:.6;font-style:italic}.bouquet-pairing{grid-column:2;grid-row:3;display:flex;align-items:center;gap:8px;background:#fff;border-radius:10px;padding:6px 12px;font-size:.85rem}.bouquet-pairing__label{opacity:.6}.bouquet-pairing__book{font-weight:700}.bouquet-stage__actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.bouquet-stage__back{background:transparent;color:var(--ink);padding:8px 14px;font-weight:600;text-decoration:underline}.bouquet-stage__confirm{background:var(--rose);color:#fff;padding:9px 18px;border-radius:10px;font-weight:700}.bouquet-stage__confirm:hover{background:var(--rose-dark)}.result-banner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.result-banner--perfect{border-color:var(--success)}.result-banner--good{border-color:var(--mustard)}.result-banner--okay{border-color:var(--okay)}.result-banner--poor{border-color:var(--rose)}.result-banner__hearts{font-size:1.25rem;letter-spacing:3px;color:var(--rose);line-height:1}.result-banner__highlight{font-size:.82rem;font-style:italic;opacity:.75}.result-banner__earnings{font-weight:700;color:var(--success)}.result-banner button{margin-top:6px;padding:9px 22px;border-radius:10px;background:var(--wood);color:#fff;font-weight:700}.result-banner button:hover{background:#8d5545}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140e0c8c;display:flex;align-items:flex-end;justify-content:center;padding:0 24px;z-index:30}.drawer-panel{background:var(--cream);border-radius:18px 18px 0 0;width:min(760px,100%);max-height:75vh;overflow-y:auto;padding:0 18px 18px;animation:drawer-slide-up .2s ease-out}@keyframes drawer-slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.drawer-panel__header{position:sticky;top:0;background:var(--cream);display:flex;justify-content:flex-end;padding:12px 0 8px;z-index:1}.drawer-panel__close{background:var(--rose);color:#fff;padding:8px 18px;border-radius:10px;font-weight:700;font-size:.85rem}.drawer-panel__close:hover{background:var(--rose-dark)}.selection-panel__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.selection-panel__header h3{font-size:1rem}.selection-panel__counter{font-size:.75rem;opacity:.7;font-weight:600}.selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;padding-top:8px}.selection-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border:2px solid transparent;border-radius:10px;padding:10px 6px 8px;transition:transform .15s ease,border-color .15s ease}.selection-item:hover{transform:translateY(-2px)}.selection-item--selected{border-color:var(--rose);background:#fdf0f1}.selection-item__order{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--rose);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.selection-item__icon{font-size:1.7rem}.selection-item__name{font-size:.72rem;text-align:center;line-height:1.2}.mood-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;margin-top:2px}.mood-badge{display:inline-flex;align-items:center;gap:2px;background:#f4f0e6;border-radius:999px;font-weight:600;line-height:1}.mood-badges--small .mood-badge{padding:1px 4px;font-size:.58rem}.mood-badges--large .mood-badge{padding:5px 9px;font-size:.8rem;margin:3px 4px 0 0;background:#fff;box-shadow:0 2px 4px #00000040}.mood-badge__label{opacity:.75;font-weight:500}.guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140e0c99;display:flex;align-items:center;justify-content:center;padding:24px;z-index:30}.guide-panel{background:var(--cream);border-radius:18px;width:min(760px,100%);max-height:85vh;overflow-y:auto;padding:0}.guide-panel__header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:var(--cream);padding:16px 20px;border-bottom:2px solid rgba(0,0,0,.08)}.guide-panel__close{background:transparent;font-size:1.1rem;padding:4px 8px;border-radius:8px}.guide-panel__close:hover{background:#00000014}.guide-panel__body{padding:8px 20px 20px}.guide-panel__body h3{margin:18px 0 8px;font-size:1.1rem}.guide-entry{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}.guide-entry:last-child{border-bottom:none}.guide-entry__icon{font-size:2.2rem;flex-shrink:0}.guide-entry__text h4{font-size:1rem;margin-bottom:2px}.guide-entry__text p{margin:0 0 6px;font-size:.85rem;line-height:1.35;opacity:.9}.ledger-panel{width:min(440px,100%)}.ledger{padding:16px 20px 22px}.ledger__headline{display:flex;justify-content:space-around;text-align:center;margin-bottom:14px}.ledger__big{display:block;font-family:Fraunces,serif;font-size:1.7rem;font-weight:600}.ledger__stars{color:var(--mustard);letter-spacing:2px}.ledger__caption{font-size:.75rem;opacity:.65}.ledger__rows{list-style:none;margin:0;padding:0}.ledger__rows li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:.9rem}.ledger__rows li:last-child{border-bottom:none}.hud__left{display:flex;gap:10px;align-items:flex-start}.hud__toast{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:16;width:max-content;max-width:min(680px,92vw);background:var(--ink);color:var(--cream);padding:9px 18px;border-radius:14px;line-height:1.35;text-align:center;font-weight:600;font-size:.85rem;box-shadow:0 4px 12px #00000059;animation:toast-in .25s ease-out}@keyframes toast-in{0%{transform:translate(-50%,-8px);opacity:0}to{transform:translate(-50%);opacity:1}}.title__scene{position:absolute;top:0;right:0;bottom:0;left:0;filter:blur(2px) saturate(.9);transform:scale(1.02)}.title__item{position:absolute;height:auto;pointer-events:none}.title__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#2f1f1c59,#21171acc)}.petal{position:absolute;top:-6%;width:calc(var(--u) * .9 * var(--size));height:calc(var(--u) * 1.3 * var(--size));background:linear-gradient(135deg,#f6bfb8,#d9807b);border-radius:100% 0;opacity:0;animation:petal-fall linear infinite;pointer-events:none}@keyframes petal-fall{0%{transform:translateZ(0) rotate(0);opacity:0}8%{opacity:.85}50%{transform:translate3d(calc(var(--u) * var(--drift)),calc(var(--u) * 28),0) rotate(200deg)}92%{opacity:.85}to{transform:translate3d(calc(var(--u) * var(--drift) * -.5),calc(var(--u) * 60),0) rotate(380deg);opacity:0}}.title__menu{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;width:min(440px,90vw);text-align:center;background:#f7f0def2;border:3px solid var(--wood);border-radius:24px;padding:26px 36px 32px;box-shadow:0 14px 40px #00000073;animation:menu-rise .6s ease-out}@keyframes menu-rise{0%{transform:translate(-50%,calc(-50% + 16px));opacity:0}to{transform:translate(-50%,-50%);opacity:1}}.title__ornament{margin:0 0 6px;color:var(--rose);letter-spacing:.5em;font-size:.9rem}.title__name{font-size:clamp(2.2rem,4.6vw,3.2rem);font-weight:600;line-height:1.05}.title__tagline{margin:10px 0 24px;font-family:Fraunces,serif;font-style:italic;font-size:.95rem;opacity:.75}.title__confirm p{margin:0 0 14px;font-size:.9rem;line-height:1.55}.menu-buttons{display:flex;flex-direction:column;gap:10px}.menu-button{width:100%;padding:13px 18px;background:#fff;color:var(--ink);border:2px solid var(--wood);border-radius:14px;font-weight:700;font-size:1.05rem;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 3px 0 var(--wood);transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.menu-button:not(:disabled):hover{transform:translateY(-2px);background:#fff9ea;box-shadow:0 5px 0 var(--wood)}.menu-button:not(:disabled):active{transform:translateY(1px);box-shadow:0 1px 0 var(--wood)}.menu-button:disabled{opacity:.55;box-shadow:none}.menu-button--primary{background:var(--rose);color:#fff}.menu-button--primary:not(:disabled):hover{background:var(--rose-dark)}.menu-button__sub{font-size:.75rem;font-weight:600;opacity:.7}.pause-panel{width:min(360px,100%);padding:24px 28px 28px;text-align:center}.pause-panel__title{margin-bottom:16px}.settings-panel{width:min(560px,100%)}.settings{padding:6px 20px 20px}.settings__row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.08)}.settings__text h4{font-size:1rem}.settings__text p{margin:2px 0 0;font-size:.8rem;opacity:.7}.segmented{display:flex;flex-shrink:0;border:2px solid var(--wood);border-radius:12px;overflow:hidden}.segmented__option{background:transparent;color:var(--ink);padding:7px 14px;font-weight:700;font-size:.85rem}.segmented__option--on{background:var(--wood);color:var(--cream)}.switch{position:relative;flex-shrink:0;width:48px;height:28px;padding:0;border-radius:999px;background:#00000038;transition:background .15s ease}.switch--on{background:var(--success)}.switch__knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .15s ease}.switch--on .switch__knob{transform:translate(20px)}.slider{width:180px;flex-shrink:0;accent-color:var(--rose)}.settings__note{margin:10px 0 0;font-size:.78rem;font-style:italic;opacity:.65}.settings__danger{margin-top:18px;text-align:center}.danger-button{background:transparent;color:#a3433f;border:2px solid #a3433f;border-radius:10px;padding:9px 16px;font-weight:700;font-size:.85rem}.danger-button--armed{background:#a3433f;color:#fff}.orientation-tip{position:fixed;top:calc(62px + var(--safe-top));left:50%;z-index:60;width:min(92vw,390px);display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--cream);border:2px solid var(--wood);border-radius:14px;box-shadow:0 8px 22px #00000059;transform:translate(-50%);animation:toast-in .25s ease-out}.orientation-tip__icon{flex-shrink:0;color:var(--rose);font-size:1.4rem;line-height:1}.orientation-tip__text{flex:1;margin:0;font-size:.84rem;font-weight:600;line-height:1.3}.orientation-tip__close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:10px;background:transparent;color:var(--ink);font-size:1.15rem;line-height:1}.orientation-tip__close:hover{background:#00000012}@media (max-width: 900px),(max-height: 520px){.hud{top:calc(8px + var(--safe-top));left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));gap:6px}.hud__left,.hud__right{gap:6px}.hud__title{display:none}.hud__chip{display:inline-flex;align-items:center;min-height:44px;padding:6px 10px;border-radius:10px}.hud__button{font-size:.8rem}.store-status{gap:8px;font-size:.82rem}.hud__toast{top:calc(62px + var(--safe-top));left:50%;max-width:94vw;padding:8px 14px;font-size:.8rem}.customer-layer{--portrait-size: clamp(48px, 11vw, 84px)}.customer__bubble{width:min(78vw,330px);margin-bottom:10px;padding:10px 13px;border-width:2px;border-radius:14px}.customer__bubble:after{margin-left:-8px;border-width:8px}.customer__bubble strong{font-size:1rem;margin-bottom:2px}.customer__bubble p{font-size:.82rem;line-height:1.35}.customer__more{margin-top:6px!important}.customer__ask{min-height:44px;margin-top:5px;padding:2px 12px;font-size:.8rem}.customer__moods{gap:4px;margin-top:7px}.customer__mood{gap:3px;padding:2px 7px;font-size:.68rem}.counter-tray{position:fixed;left:50%;top:auto;bottom:calc(10px + var(--safe-bottom));transform:translate(-50%);width:min(96vw,540px);height:auto;min-height:64px;padding:8px 10px;gap:8px;border-width:2px;border-radius:14px;z-index:25}.counter-tray__slots{gap:5px}.tray-slot{width:44px;height:44px;font-size:1.35rem;border-width:2px}.counter-tray__divider{height:32px;margin:0 2px}.counter-tray__assemble{min-height:44px;padding:9px 12px;border-radius:10px;font-size:.82rem}.counter-tray__assemble-long{display:none}.result-banner,.bouquet-stage{width:min(94vw,540px);bottom:calc(3vh + var(--safe-bottom));padding:12px 14px;max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));overflow-y:auto}.drawer-overlay{padding:0 calc(8px + var(--safe-right)) 0 calc(8px + var(--safe-left))}.drawer-panel{max-height:calc(100dvh - 16px - var(--safe-top));padding:0 12px calc(14px + var(--safe-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.selection-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.selection-item{padding:8px 4px 7px}.selection-item__icon{font-size:1.5rem}.selection-item__name{font-size:.68rem}.guide-overlay{padding:calc(10px + var(--safe-top)) calc(10px + var(--safe-right)) calc(10px + var(--safe-bottom)) calc(10px + var(--safe-left))}.guide-panel{max-height:calc(100dvh - 20px - var(--safe-top) - var(--safe-bottom));border-radius:14px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.guide-panel__header{padding:12px 14px}.guide-panel__close{min-width:44px;min-height:44px}.guide-panel__body{padding:4px 14px 16px}.settings{padding:4px 14px calc(16px + var(--safe-bottom))}.dialogue-overlay{padding:0 calc(10px + var(--safe-right)) 0 calc(10px + var(--safe-left))}.dialogue-panel{max-height:calc(80dvh - var(--safe-top))}.dialogue-footer{position:sticky;bottom:0;background:var(--cream)}.story-overlay{padding:calc(14px + var(--safe-top)) calc(14px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(14px + var(--safe-left))}.story-panel{max-height:calc(100dvh - 28px - var(--safe-top) - var(--safe-bottom))}}@media (orientation: portrait) and (max-width: 700px) and (pointer: coarse){.viewport{padding-bottom:min(32dvh,240px)}.customer__bubble{position:fixed;left:50%;top:auto;bottom:calc(86px + var(--safe-bottom));width:min(94vw,430px);max-height:min(38dvh,300px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:22;transform:translate(-50%)}.customer__bubble:after{display:none}.customer__moods{gap:5px;margin-top:8px}.customer__mood{font-size:.72rem;padding:3px 8px}}@media (max-width: 600px){.hud__mode,.hud__button-label{display:none}.hud__button{justify-content:center;padding:6px 12px}.title__menu{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));overflow-y:auto;padding:22px 22px calc(26px + var(--safe-bottom))}.title__tagline{margin:8px 0 18px;font-size:.86rem}.menu-button{min-height:48px;padding:12px 14px;font-size:.98rem}.bouquet-stage{grid-template-columns:1fr;row-gap:7px}.bouquet-display{grid-column:1;grid-row:auto;min-height:58px}.bouquet-display__note,.bouquet-pairing{grid-column:1;grid-row:auto}.bouquet-stage__actions{justify-content:stretch;gap:8px}.bouquet-stage__back,.bouquet-stage__confirm{flex:1;text-align:center}.settings__row{flex-wrap:wrap;gap:10px}.settings__text,.settings__row .segmented,.settings__row .slider{flex:1 1 100%}.settings__row .segmented__option{flex:1}.settings__row .slider{width:100%}.settings__row .switch{margin-left:auto}}@media (max-height: 520px){.title__menu{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom));overflow-y:auto;padding:18px 26px calc(20px + var(--safe-bottom));border-radius:20px}.title__ornament{margin-bottom:2px}.title__name{font-size:clamp(1.9rem,5vw,2.6rem)}.title__tagline{margin:6px 0 14px;font-size:.88rem}.menu-buttons{gap:8px}.menu-button{min-height:44px;padding:10px 14px;font-size:.95rem}}@media (max-width: 360px){.store-status__rating{display:none}.hud__chip{padding:5px 8px}.counter-tray{width:97vw;padding:7px 8px;gap:6px}.counter-tray__assemble{padding:8px 9px;font-size:.75rem}}.story-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140e0cb3;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.story-panel{background:var(--cream);border:3px solid var(--wood);border-radius:18px;width:min(600px,100%);max-height:80vh;overflow-y:auto;padding:24px;box-shadow:0 14px 40px #00000080;animation:menu-rise .3s ease-out}.story-panel--center{text-align:center}.story-panel__content{margin-bottom:20px}.story-narrator p{font-family:Fraunces,serif;font-size:1.1rem;line-height:1.6;margin:0;text-align:center}.story-panel h2{margin-bottom:12px;color:var(--rose)}.story-panel__footer{display:flex;justify-content:flex-end}.story-continue{background:var(--wood);color:var(--cream);padding:10px 20px;border-radius:10px;font-weight:700;font-size:.95rem}.story-continue--primary{background:var(--rose);width:100%;justify-content:center}.story-continue:hover{opacity:.9}.journal-panel{width:min(700px,100%)}.journal-tabs{display:flex;gap:8px;padding:0 20px;border-bottom:2px solid rgba(0,0,0,.08)}.journal-tab{background:transparent;padding:10px 16px;font-weight:600;color:var(--ink);opacity:.6;border-bottom:3px solid transparent;margin-bottom:-2px}.journal-tab--active{opacity:1;border-bottom-color:var(--rose)}.journal-entries{display:flex;flex-direction:column;gap:12px}.journal-entry{background:#fff;padding:12px 16px;border-radius:10px;border-left:3px solid var(--rose)}.journal-entry__text{margin:0 0 6px;line-height:1.5}.journal-entry__date{font-size:.75rem;opacity:.6}.journal-empty{text-align:center;opacity:.6;padding:40px 20px}.pressed-flowers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.pressed-flower-card{background:#fff;padding:12px;border-radius:10px;display:flex;gap:10px;align-items:center}.pressed-flower-card__icon{font-size:2rem}.pressed-flower-card__info{flex:1}.pressed-flower-card__info strong{display:block;font-size:.9rem}.pressed-flower-card__info p{margin:2px 0;font-size:.8rem;opacity:.7}.pressed-flower-card__rating{font-size:.75rem;color:var(--rose);text-transform:capitalize}.dialogue-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140e0c99;display:flex;align-items:flex-end;justify-content:center;padding:20px;z-index:40}.dialogue-panel{background:var(--cream);border:3px solid var(--wood);border-radius:18px 18px 0 0;width:min(600px,100%);max-height:60vh;overflow-y:auto;animation:drawer-slide-up .2s ease-out}.dialogue-header{padding:12px 18px;background:#7b46391a;border-bottom:2px solid rgba(0,0,0,.08);font-family:Fraunces,serif;font-size:1.1rem}.dialogue-content{padding:16px 18px}.dialogue-line{margin:0 0 10px;line-height:1.5}.dialogue-more{margin:0;font-style:italic;opacity:.8;line-height:1.5}.dialogue-smalltalk{padding:0 18px 12px;display:flex;flex-direction:column;gap:8px}.dialogue-smalltalk__title{margin:0 0 4px;font-weight:700;font-size:.9rem}.dialogue-option{background:#fff;padding:10px 14px;border-radius:10px;text-align:left;font-size:.9rem;border:2px solid transparent}.dialogue-option:hover:not(:disabled){border-color:var(--rose);background:#fdf0f1}.dialogue-option:disabled{opacity:.5}.dialogue-footer{padding:12px 18px;border-top:2px solid rgba(0,0,0,.08)}.dialogue-close{background:var(--rose);color:#fff;padding:10px 18px;border-radius:10px;font-weight:700;width:100%}@media (max-width: 900px){.story-panel{padding:18px;max-height:90vh}.story-narrator p{font-size:1rem}.journal-panel{max-height:92vh}.pressed-flowers-grid{grid-template-columns:1fr}.dialogue-panel{max-height:70vh}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
