@layer reset,tokens,base,kit,screens,overrides;@layer base{@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/grandstander-vietnamese-600-normal-C4_wjyFz.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/grandstander-latin-ext-600-normal-BLRGYHrl.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/grandstander-latin-600-normal-DhUtGjFB.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/grandstander-vietnamese-700-normal-64TgBrxv.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/grandstander-latin-ext-700-normal-Vv3vXM5G.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/grandstander-latin-700-normal-B7EXRwbV.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/grandstander-vietnamese-800-normal-CLIxpULc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/grandstander-latin-ext-800-normal-DXxZD3HK.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/grandstander-latin-800-normal-C5RZ1tt5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-D_CZYdm9.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}}@layer tokens{:root{--pink-50: #fff6fa;--pink-100: #ffeaf3;--pink-200: #ffd2e4;--pink-300: #ffb0cf;--pink-400: #ff8fbb;--pink-500: #f26aa4;--pink-600: #d94a8b;--pink-700: #a82e68;--butter-100: #fff4c9;--butter-300: #ffe08a;--butter-500: #f6c451;--butter-700: #b8862a;--lilac-100: #f1e9ff;--lilac-300: #d6c2f5;--lilac-500: #a98be0;--lilac-700: #6f4bb8;--sky-100: #e4f1ff;--sky-300: #bcdcff;--sky-500: #7fb4ea;--sky-700: #3f7fc0;--mint-100: #e2f7ec;--mint-300: #b6e8d0;--mint-500: #6ccaa0;--mint-700: #2f9a72;--peach-100: #ffeadb;--peach-300: #ffcfb0;--peach-500: #f7a574;--peach-700: #cf7a3d;--cocoa-900: #3b2140;--cocoa-700: #6b4870;--cream: #fff8ee;--white: #fff;--berry: #d4294f;--berry-100: #ffe3e8;--berry-300: #ffb3c0;--berry-700: #a81e3d;--wood-100: #f8ead8;--wood-300: #e8c9a2;--wood-500: #c99a6b;--wood-700: #8a5f3c;--paper-50: #fffdf7;--paper-100: #fbf3e4;--paper-line: #ecd8c5;--cup-default: #c9a27e;--pink-edge: var(--pink-600);--butter-edge: #d9a63a;--mint-edge: #4fae86;--sky-edge: #5f97d2;--lilac-edge: #8d6fd0;--peach-edge: #e08b52;--wood-edge: var(--wood-700);--berry-edge: var(--berry-700);--text: var(--cocoa-900);--text-soft: var(--cocoa-700);--page: var(--pink-100);--surface: var(--cream);--surface-2: var(--white);--line: var(--pink-200);--line-strong: var(--pink-300);--primary: var(--pink-400);--ok: var(--mint-700);--warn: var(--butter-700);--bad: var(--berry);--outline: var(--cocoa-900);--star: #b0650c;--pink-text: var(--pink-700);--sky-text: #2f6aa3;--peach-text: #a8551e;--mint-text: #24795a;--butter-text: #8a5f0c;--ok-bg: var(--mint-100);--warn-bg: var(--butter-100);--bad-bg: var(--berry-100);--info-bg: var(--sky-100);--surface-paper: var(--paper-50);--surface-wood: var(--wood-100);--surface-clay: var(--pink-100);--ink: var(--cocoa-900);--ink-soft: var(--cocoa-700);--line-paper: var(--paper-line);--status-ok-bg: var(--mint-100);--status-ok-ink: var(--mint-text);--status-warn-bg: var(--butter-100);--status-warn-ink: var(--butter-text);--status-bad-bg: var(--berry-100);--status-bad-ink: var(--berry-700);--btn-bg: linear-gradient(180deg, var(--pink-300), var(--pink-400));--btn-edge: var(--pink-600);--btn-ink: var(--text);--paper-bg: var(--paper-50);--toast-bg: var(--paper-50);--meter-track: var(--paper-50);--meter-fill: linear-gradient(90deg, var(--butter-300), var(--butter-500));--tab-bg: var(--cream);--tab-active: var(--white);--font-display: "Grandstander", "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, sans-serif;--fs-xs: 12px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: clamp(16px, 4.8vw, 18px);--fs-xl: clamp(20px, 5.6vw, 22px);--fs-2xl: clamp(24px, 6.4vw, 28px);--fs-3xl: clamp(28px, 8vw, 36px);--lh-tight: 1.25;--lh-body: 1.5;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--gutter: clamp(12px, 4vw, 20px);--stack: clamp(12px, 3.5vw, 20px);--tap: 46px;--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);--r-xs: 8px;--r-sm: 12px;--r-md: 18px;--r-lg: 24px;--r-xl: 30px;--r-pill: 999px;--edge: var(--pink-600);--glow: rgba(168, 46, 104, .38);--sh-clay: 0 5px 0 var(--edge), 0 12px 16px -8px var(--glow), inset 0 3px 0 rgba(255, 255, 255, .6);--sh-clay-pressed: 0 1px 0 var(--edge), 0 3px 6px -3px var(--glow), inset 0 3px 0 rgba(255, 255, 255, .35);--sh-panel: 0 6px 0 var(--pink-200), 0 16px 24px -14px rgba(168, 46, 104, .45), inset 0 3px 0 rgba(255, 255, 255, .85);--sh-soft: 0 6px 14px -6px rgba(120, 50, 90, .35);--bw: 3px;--press-y: 4px;--hover-y: -2px;--ring: 0 0 0 3px var(--white), 0 0 0 6px var(--lilac-700);--t-fast: .12s;--t-med: .22s;--t-slow: .38s;--ease-out: cubic-bezier(.22, .8, .22, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.22, 1.25, .36, 1);--ease-spring: linear(0, .1, .35, .65, .9, 1.05, 1.09, 1.07, 1.03, 1.01, 1);--spring-nhe: cubic-bezier(.22, 1.25, .36, 1);--spring-nhe: linear(0, .1, .35, .65, .9, 1.05, 1.09, 1.07, 1.03, 1.01, 1);--spring-vua: cubic-bezier(.22, 1.25, .36, 1);--spring-vua: linear(0, .1, .3, .55, .8, .98, 1.05, 1.05, 1.02, 1);--spring-nang: cubic-bezier(.22, 1.15, .36, 1);--spring-nang: linear(0, .08, .25, .5, .72, .88, .97, 1.01, 1.02, 1);--spring-cham: cubic-bezier(.22, 1, .36, 1);--spring-cham: linear(0, .05, .18, .35, .55, .72, .85, .94, .98, 1);--dur-nhe: .28s;--dur-vua: .38s;--dur-nang: .48s;--dur-cham: .64s;--dur-nhau: 2s;--paper: radial-gradient(circle, rgba(242, 106, 164, .09) 1.4px, transparent 1.8px) 0 0 / 22px 22px, var(--surface);--scrim: rgba(59, 33, 64, .55);--sky-sang-top: #ffcfe3;--sky-sang-bottom: #fff3de;--sky-sang-sun: #f3c971;--sky-trua-top: #ffb8d6;--sky-trua-bottom: #ffeef5;--sky-trua-sun: #ffe9b8;--sky-chieu-top: #f58ab8;--sky-chieu-bottom: #ffd9c0;--sky-chieu-sun: #ffb36b;--season-accent: var(--pink-400);--season-bg: var(--pink-50);--season-border: var(--pink-200);--season-edge: var(--pink-500);--season-ink: var(--pink-700);--awning-stripe: var(--pink-500);--awning-stripe-alt: var(--pink-50);--awning-top: var(--pink-200);--tree-leaf-1: var(--mint-300);--tree-leaf-2: var(--mint-100);--tree-leaf-3: var(--pink-200);--tree-bloom-1: var(--pink-400);--tree-bloom-2: var(--butter-300);color-scheme:light}[data-mua=xuan],.season-xuan{--season-accent: var(--pink-400);--season-bg: var(--pink-50);--season-border: var(--pink-200);--season-edge: var(--pink-500);--season-ink: var(--pink-700);--awning-stripe: var(--pink-500);--awning-stripe-alt: var(--pink-50);--awning-top: var(--pink-200);--tree-leaf-1: var(--mint-300);--tree-leaf-2: var(--mint-100);--tree-leaf-3: var(--pink-200);--tree-bloom-1: var(--pink-400);--tree-bloom-2: var(--butter-300)}[data-mua=ha],.season-ha{--season-accent: var(--mint-500);--season-bg: var(--butter-100);--season-border: var(--butter-300);--season-edge: var(--butter-500);--season-ink: var(--butter-text);--awning-stripe: var(--mint-500);--awning-stripe-alt: var(--cream);--awning-top: var(--mint-300);--tree-leaf-1: var(--mint-500);--tree-leaf-2: var(--mint-300);--tree-leaf-3: var(--mint-100);--tree-bloom-1: var(--butter-300);--tree-bloom-2: var(--peach-300)}[data-mua=thu],.season-thu{--season-accent: var(--peach-500);--season-bg: var(--peach-100);--season-border: var(--wood-300);--season-edge: var(--peach-edge);--season-ink: var(--peach-text);--awning-stripe: var(--peach-500);--awning-stripe-alt: var(--butter-100);--awning-top: var(--peach-300);--tree-leaf-1: var(--peach-500);--tree-leaf-2: var(--butter-300);--tree-leaf-3: var(--peach-300);--tree-bloom-1: var(--butter-500);--tree-bloom-2: var(--berry-300)}[data-mua=dong],.season-dong{--season-accent: var(--sky-500);--season-bg: var(--sky-100);--season-border: var(--sky-300);--season-edge: var(--sky-500);--season-ink: var(--sky-text);--awning-stripe: var(--sky-500);--awning-stripe-alt: var(--sky-100);--awning-top: var(--sky-300);--tree-leaf-1: var(--sky-300);--tree-leaf-2: var(--sky-100);--tree-leaf-3: var(--white);--tree-bloom-1: var(--lilac-300);--tree-bloom-2: var(--sky-500)}}@layer reset{*,*:before,*:after{box-sizing:border-box;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true],.allow-select,.save-box{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img,svg,a{-webkit-user-drag:none}html,body{margin:0;overscroll-behavior:none}html{scroll-padding-bottom:calc(88px + var(--safe-bottom));-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;min-height:100dvh;color:var(--text);font:600 var(--fs-md)/var(--lh-body) var(--font-body);background:radial-gradient(circle,rgba(255,255,255,.8) 2.5px,transparent 3.5px) 0 0 / 40px 40px,radial-gradient(circle,rgba(255,176,207,.4) 1.8px,transparent 2.8px) 20px 20px / 40px 40px,var(--page);-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--lilac-700);outline-offset:3px}h1,h2,h3,.title,.h2,.chain-title{margin:0;font-family:var(--font-display);font-weight:800;line-height:var(--lh-tight);letter-spacing:.005em;text-wrap:balance}.num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum"}.num small{font-size:.82em;font-weight:700;margin-left:1px}.diba-text,.diba-say,.love-letter-message,.love-paper-body,.crew-text{text-wrap:pretty}strong{font-weight:800}#app>*{animation:screen-fade var(--t-slow) var(--ease-out) both}@keyframes screen-fade{0%{opacity:0}to{opacity:1}}.page{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;padding:var(--stack) var(--gutter) calc(100px + var(--safe-bottom));background:var(--paper)}.page.narrow{max-width:480px}.title{font-size:var(--fs-3xl);margin:var(--sp-1) 0 var(--sp-3)}.accent{color:inherit}.eyebrow{margin:0;color:var(--text-soft);font-size:var(--fs-sm)}.lead,.muted{color:var(--text-soft)}.small{font-size:var(--fs-sm)}.h2{font-size:var(--fs-xl);margin:0 0 var(--sp-2)}.panel,.card{color:var(--text);background:var(--paper);border:var(--bw) solid var(--line-strong);border-radius:var(--r-xl);padding:var(--sp-4);margin:var(--sp-3) 0;box-shadow:var(--sh-panel)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3)}.topbar .title{margin-bottom:0}.btn,.pill,.step,.chip{--c1: var(--white);--c2: var(--pink-50);--rim: var(--line-strong);--edge: var(--pink-300);--glow: rgba(168, 46, 104, .28);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);border:var(--bw) solid var(--rim);border-radius:var(--r-pill);background:linear-gradient(180deg,var(--c1),var(--c2));color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);font-weight:800;line-height:1.1;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;box-shadow:var(--sh-clay);transition:transform var(--t-fast) var(--ease-bounce),box-shadow var(--t-fast) var(--ease-out),filter var(--t-fast)}.btn{--c1: var(--pink-300);--c2: var(--pink-400);--rim: var(--pink-500);--edge: var(--pink-600);--glow: rgba(168, 46, 104, .45)}.btn-gold{--c1: var(--butter-100);--c2: var(--butter-300);--rim: var(--butter-500);--edge: var(--butter-700);--glow: rgba(184, 134, 42, .45)}.btn-mint{--c1: var(--mint-100);--c2: var(--mint-300);--rim: var(--mint-500);--edge: var(--mint-700);--glow: rgba(47, 154, 114, .4)}.btn-ghost{--c1: var(--white);--c2: var(--pink-50);--rim: var(--line-strong);--edge: var(--pink-300);--glow: rgba(168, 46, 104, .25)}.step.plus,.chip[aria-pressed=true]{--c1: var(--pink-300);--c2: var(--pink-400);--rim: var(--pink-500);--edge: var(--pink-600);--glow: rgba(168, 46, 104, .45)}.btn-big{width:100%;min-height:56px;font-size:var(--fs-lg)}.btn-small{min-height:var(--tap);padding:0 var(--sp-3);font-size:var(--fs-sm)}@media(hover:hover){.btn:hover:not(:disabled),.pill:hover:not(:disabled),.step:hover:not(:disabled),.chip:hover:not(:disabled){transform:translateY(var(--hover-y));filter:saturate(1.1) brightness(1.03)}}.btn:active:not(:disabled),.pill:active:not(:disabled),.step:active:not(:disabled),.chip:active:not(:disabled){transform:translateY(var(--press-y));box-shadow:var(--sh-clay-pressed);filter:none}.btn:disabled,.step:disabled,.chip:disabled,.pill:disabled{filter:grayscale(.75);opacity:.55;cursor:not-allowed;transform:none;box-shadow:0 var(--sp-1) 0 var(--edge)}.chip{font-size:var(--fs-md)}.chip[aria-pressed=true]{animation:pop-in var(--t-med) var(--ease-bounce)}.form{display:grid;gap:var(--sp-2)}.form input:not([type=checkbox]){min-height:var(--tap);padding:var(--sp-2) var(--sp-4);border:var(--bw) solid var(--line-strong);border-radius:var(--r-md);background:var(--white);box-shadow:inset 0 3px #f26aa414;font-weight:700}.form input:not([type=checkbox]):focus{border-color:var(--pink-500);outline:none;box-shadow:inset 0 3px #f26aa414,var(--ring)}.form label{font-weight:800}.check{display:flex;gap:var(--sp-3);align-items:flex-start;font-weight:600}.check input{width:24px;height:24px;margin-top:2px;accent-color:var(--pink-500)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:var(--sp-3)}.stat{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--pink-50);border:2px dashed var(--line-strong)}.stat-label{display:block;color:var(--text-soft);font-size:var(--fs-xs);font-weight:700}.stat-value{font-family:var(--font-display);font-weight:800;font-size:var(--fs-2xl);line-height:1.2}.lv-bar{display:block;height:16px;border:2px solid var(--pink-300);border-radius:var(--r-pill);background:var(--white);overflow:hidden;box-shadow:inset 0 2px 3px #a82e6826}.lv-fill{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(180deg,var(--butter-300),var(--butter-500));box-shadow:inset 0 2px #fff9;width:100%;transform-origin:left center;transition:transform var(--t-slow) var(--ease-out)}.tag{display:inline-flex;align-items:center;padding:2px var(--sp-3);border-radius:var(--r-pill);background:var(--butter-100);border:2px solid var(--butter-300);color:var(--text);font-size:var(--fs-xs);font-weight:800}.tag.muted{background:var(--pink-50);border-color:var(--line);color:var(--text-soft);font-weight:700}.brew-panel:empty{display:none}.sr-only{position:absolute;clip-path:inset(50%);opacity:0;pointer-events:none;margin:0;padding:0;border:0}.brew-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.brew-head .brew-track{flex:1;margin:0}.brew-cancel{flex:none;align-self:flex-start;min-height:44px;margin-left:auto;padding:2px 10px;font-size:var(--fs-xs)}.brew-step{margin:0;color:var(--text-soft);font-size:var(--fs-sm);font-weight:700}.brew-title{margin:0;font-size:var(--fs-xl)}.brew-order{margin:var(--sp-2) 0 var(--sp-3);background:var(--butter-100);border:2px dashed var(--butter-500);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);font-weight:700}.g-box{display:grid;gap:var(--sp-3)}.g-hint{margin:0;color:var(--text-soft);font-size:var(--fs-sm)}.g-row{display:flex;gap:var(--sp-3);align-items:center;justify-content:center}.g-row.wrap{flex-wrap:wrap}.g-hold{touch-action:none}.g-label{font-weight:800}.g-opts{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.g-pad{position:relative;display:grid;place-items:center;width:100%;height:190px;border:2.5px solid var(--pink-300);border-radius:var(--r-xl);background:radial-gradient(circle at 50% 40%,var(--white) 0%,var(--pink-50) 100%);box-shadow:0 6px 0 var(--pink-200),inset 0 2px 0 var(--white),0 10px 18px -8px #b43c6426;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer;transition:transform var(--t-fast) var(--ease-bounce),border-color var(--t-fast),box-shadow var(--t-fast)}@media(hover:hover){.g-pad:hover{border-color:var(--pink-400)}}.g-pad:active{transform:translateY(2px);box-shadow:0 4px 0 var(--pink-200),inset 0 2px 0 var(--white)}.g-pad-text{color:var(--pink-700);font-family:var(--font-display);font-weight:800;font-size:var(--fs-xl);letter-spacing:-.01em;text-shadow:0 1px 0 rgba(255,255,255,.85)}.g-progress{height:16px;border:2px solid var(--pink-300);border-radius:var(--r-pill);background:var(--white);overflow:hidden}.g-progress-fill{display:block;height:100%;width:0;border-radius:var(--r-pill);background:linear-gradient(180deg,var(--pink-300),var(--pink-500))}.g-count{margin:0;text-align:center;color:var(--text-soft)}.g-beat{position:absolute;top:var(--sp-5);width:70px;height:70px;border-radius:50%;border:4px solid var(--line-strong)}.g-beat.on{background:var(--butter-300);border-color:var(--butter-500)}.g-track{position:relative;height:36px;border:var(--bw) solid var(--line-strong);border-radius:var(--r-pill);background:linear-gradient(180deg,var(--paper-100),var(--white));box-shadow:inset 0 2px 4px #3b21401f;contain:layout style}.g-zone{position:absolute;left:36%;width:28%;top:0;bottom:0;background:linear-gradient(180deg,var(--mint-100),var(--mint-300));border-inline:2px solid var(--mint-500);box-shadow:inset 0 2px #ffffffb3}.g-needle{position:absolute;left:0;top:-8px;bottom:-8px;width:10px;margin-left:-5px;background:linear-gradient(180deg,var(--pink-400),var(--pink-600));border:2px solid var(--white);border-radius:var(--r-pill);box-shadow:0 2px 6px #a82e6880;will-change:transform}.grade{position:fixed;left:50%;top:38%;z-index:30;padding:var(--sp-1) var(--sp-8);border:var(--bw) solid var(--butter-500);border-radius:var(--r-pill);background:var(--butter-100);font-family:var(--font-display);font-weight:800;font-size:var(--fs-3xl);box-shadow:0 5px 0 var(--butter-700),0 12px 16px -8px #b8862a80;pointer-events:none;transform:translate(-50%,-50%) rotate(-3deg);animation:grade-pop var(--dur-cham) var(--ease-bounce) both}@keyframes grade-pop{0%{transform:translate(-50%,-30%) rotate(-3deg) scale(.4);opacity:0}60%{opacity:1}to{transform:translate(-50%,-50%) rotate(-3deg) scale(1)}}.grade-tuyet{color:var(--mint-700)}.grade-duoc{color:var(--butter-700)}.grade-hut{color:var(--berry)}.medal{display:grid;justify-items:center;width:fit-content;margin:var(--sp-1) auto var(--sp-4);padding:var(--sp-2) var(--sp-6);border:5px double currentColor;border-radius:var(--r-lg);background:var(--white);transform:rotate(-3deg);animation:stamp var(--dur-nang) var(--ease-bounce) both}@keyframes stamp{0%{transform:rotate(-12deg) scale(1.6);opacity:0}to{transform:rotate(-3deg) scale(1);opacity:1}}.medal-name{font-family:var(--font-display);font-weight:800;font-size:var(--fs-2xl);line-height:1.2}.medal-score{color:var(--text);font-weight:800}.medal-note{color:var(--berry);font-weight:800}.medal-vang{color:var(--butter-700)}.medal-bac{color:var(--sky-text)}.medal-dong{color:var(--peach-700)}.medal-sut{color:var(--berry)}.pause-cover{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:var(--sp-4);background:#3b21408c;animation:screen-fade var(--t-med) both}.pause-cover .card{width:min(360px,100%);text-align:center;animation:pop-in var(--t-slow) var(--ease-bounce) both}.ledger{width:100%;border-collapse:collapse}.ledger th{padding:var(--sp-2) 0;border-bottom:2px dotted var(--line-strong);font-weight:700;text-align:left}.ledger td{border-bottom:2px dotted var(--line-strong);font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.ledger .neg{color:var(--berry)}.ledger .total th,.ledger .total td{padding-top:var(--sp-3);border-bottom:0;font-family:var(--font-display);font-weight:800;font-size:var(--fs-2xl)}.levelup{margin:var(--sp-1) 0;font-family:var(--font-display);font-weight:800;font-size:var(--fs-xl);color:var(--pink-600);animation:pop-in var(--t-slow) var(--ease-bounce) both}.diba{position:fixed;right:var(--sp-3);top:150px;z-index:20;display:flex;gap:var(--sp-2);align-items:flex-start;max-width:min(320px,calc(100vw - 24px));pointer-events:auto;cursor:pointer;animation:pop-in var(--t-med) var(--ease-bounce)}.diba-face{position:relative;order:2;flex:none;width:46px;height:46px;overflow:hidden;border:2.5px solid var(--pink-300);border-radius:50%;background:var(--peach-100);display:flex;align-items:center;justify-content:center}.diba-face svg{width:100%;height:100%;display:block}.diba-bubble{padding:var(--sp-2) var(--sp-3);border:var(--bw) solid var(--pink-300);border-radius:var(--r-md) var(--r-xs) var(--r-md) var(--r-md);background:var(--white);box-shadow:0 4px 0 var(--pink-200),0 10px 14px -8px #a82e6873}.diba-name{display:block;color:var(--pink-600);font-family:var(--font-display);font-weight:800;font-size:var(--fs-sm)}.diba-text{margin:0;font-size:var(--fs-sm);line-height:1.4;font-weight:700;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}@keyframes pop-in{0%{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}.bump{animation:bump var(--dur-vua) var(--ease-bounce);display:inline-block}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.page.narrow .title,.page.narrow .lead{text-align:center}.brew-track{display:flex;gap:5px;margin:var(--sp-2) 0 var(--sp-3);padding:0;list-style:none}.brew-track li{flex:1 1 0;min-width:0;padding:5px 4px;border:2px solid var(--line-strong);border-radius:var(--r-pill);background:var(--white);box-shadow:0 2px #3b214014;color:var(--text-soft);font-size:var(--fs-xs);font-weight:800;text-align:center;white-space:normal;line-height:1.15;transition:transform var(--t-fast) var(--ease-bounce),background-color var(--t-fast),border-color var(--t-fast)}.brew-track li.done{border-color:var(--mint-500);background:linear-gradient(180deg,var(--white),var(--mint-100));box-shadow:0 2px 0 var(--mint-300);color:var(--mint-700)}.brew-track li.done.grade-duoc{border-color:var(--butter-500);background:linear-gradient(180deg,var(--white),var(--butter-100));box-shadow:0 2px 0 var(--butter-300);color:var(--butter-text)}.brew-track li.done.grade-hut{border-color:var(--berry-300);background:linear-gradient(180deg,var(--white),var(--berry-100));box-shadow:0 2px 0 var(--berry-300);color:var(--berry-700)}.brew-track li.now{border-color:var(--pink-600);background:linear-gradient(180deg,var(--pink-300),var(--pink-400));color:var(--text);box-shadow:0 3px 0 var(--pink-600),inset 0 1.5px #ffffffbf;transform:translateY(-1px)}.brew-ticket{display:flex;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-2);padding:7px var(--sp-3);border:2px solid var(--butter-500);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--paper-50) 0%,var(--butter-100) 100%);box-shadow:0 4px 0 var(--butter-300),inset 0 2px 0 var(--white)}.bt-art img{display:block;width:38px;height:48px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(59,33,64,.16))}.bt-body{flex:1;display:grid;gap:4px;min-width:0}.bt-head-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.bt-name{font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);line-height:1.2;color:var(--cocoa-900)}.bt-step-now{display:inline-flex;align-items:center;padding:1px 8px;border-radius:var(--r-pill);background:var(--pink-100);border:1px solid var(--pink-300);color:var(--pink-700);font-size:var(--fs-xs);font-weight:800;white-space:nowrap}.bt-chips{display:flex;flex-wrap:wrap;gap:4px}.bt-chip{padding:1.5px 8px;border:1px solid var(--butter-500);border-radius:var(--r-pill);background:var(--white);font-size:var(--fs-xs);font-weight:800;white-space:nowrap;transition:transform var(--t-fast) var(--ease-bounce),border-color var(--t-fast),background-color var(--t-fast)}.bt-chip.hot{border-color:var(--pink-500);background:linear-gradient(180deg,var(--white),var(--pink-100));color:var(--pink-700);box-shadow:0 2px 0 var(--pink-300);transform:translateY(-1px)}.brew-cancel{flex-shrink:0;min-height:44px;padding-inline:10px}.ico{display:inline-flex;align-items:center;justify-content:center;flex:none;vertical-align:-.28em}.ico>svg{display:block;width:1.25em;height:1.25em}.seasonal-badge,.kind-chip-name{gap:4px}.kind-chip-name{display:inline-flex;align-items:center}.ticket-kind .ico>svg{width:1.35em;height:1.35em}:where(button,[role=button],[role=tab],.chip,.tab,.g-jar,.ticket){transition:transform var(--t-med) var(--ease-bounce),box-shadow var(--t-fast) var(--ease-out)}:where(button,[role=button],[role=tab],.chip,.tab,.g-jar,.ticket):active:not(:disabled){transform:translateY(calc(var(--press-y) / 2)) scale(.96);transition-duration:var(--t-fast)}@media(prefers-reduced-motion:reduce){:where(button,[role=button],[role=tab],.chip,.tab,.g-jar,.ticket):active:not(:disabled){transform:none}}}@layer components{dialog.paper-sheet{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:100vw;max-height:100vh;max-height:100dvh;margin:0;padding:0;border:0;background:transparent;display:flex;justify-content:center;align-items:flex-end;z-index:1000;overscroll-behavior:contain}dialog.paper-sheet::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:sheet-fade-in var(--t-med) var(--ease-out) both}dialog.paper-sheet.closing::backdrop{animation:sheet-fade-out var(--t-fast) ease forwards}.sheet-paper{position:relative;width:100%;max-width:540px;max-height:88vh;max-height:88dvh;display:flex;flex-direction:column;background:var(--paper-50);border-top:1px solid var(--paper-line);border-left:1px solid var(--paper-line);border-right:1px solid var(--paper-line);border-bottom:0;border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:0 -4px 0 var(--paper-line),0 -12px 28px -8px #6b487073;animation:sheet-slide-up var(--dur-nhe) var(--ease-out) both;touch-action:pan-y}dialog.paper-sheet.closing .sheet-paper{animation:sheet-slide-down var(--t-fast) ease forwards}.sheet-handle{display:flex;justify-content:center;align-items:center;padding:var(--sp-2) 0;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.sheet-handle-tape{width:52px;height:8px;border-radius:var(--r-pill);background:var(--butter-300);border:1px solid var(--butter-edge);opacity:.85}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-4) var(--sp-2);gap:var(--sp-3);flex-shrink:0}.sheet-title{margin:0;font-family:var(--font-display);font-size:var(--fs-lg);color:var(--cocoa-900);font-weight:800;display:flex;align-items:center;gap:var(--sp-2);text-wrap:balance}.sheet-close-btn{background:transparent;border:0;color:var(--text-soft);cursor:pointer;padding:var(--sp-1);display:flex;align-items:center;justify-content:center;border-radius:50%;width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}@media(hover:hover){.sheet-close-btn:hover{background:var(--paper-200);color:var(--cocoa-900)}}.sheet-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sheet-actions{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) max(var(--sp-4),var(--safe-right)) max(var(--sp-3),var(--safe-bottom)) max(var(--sp-4),var(--safe-left));background:var(--paper-50);border-top:1px solid var(--paper-line)}@media(min-width:600px){dialog.paper-sheet{align-items:center;padding:var(--sp-4)}.sheet-handle{display:none}.sheet-actions{border-radius:0 0 var(--r-xl) var(--r-xl)}}dialog.paper-sheet.size-card{align-items:center;padding:var(--sp-3)}dialog.paper-sheet.size-card .sheet-handle{display:none}@media(min-width:600px){.sheet-paper{transform:rotate(-.8deg);border-radius:var(--r-xl);border-bottom:1px solid var(--paper-line);box-shadow:0 6px 0 var(--paper-line),0 20px 36px -12px #6b487080;animation:card-pop-in var(--dur-nhe) var(--ease-bounce) both}dialog.paper-sheet.closing .sheet-paper{animation:card-pop-out var(--t-fast) ease forwards}}dialog.paper-sheet.size-card .sheet-paper{border-radius:var(--r-xl);border-bottom:1px solid var(--paper-line);box-shadow:0 6px 0 var(--paper-line),0 20px 36px -12px #6b487080;animation:card-pop-in var(--dur-nhe) var(--ease-bounce) both}dialog.paper-sheet.size-card.closing .sheet-paper{animation:card-pop-out var(--t-fast) ease forwards}@keyframes sheet-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-fade-out{0%{opacity:1}to{opacity:0}}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-slide-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes card-pop-in{0%{transform:scale(.92) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes card-pop-out{0%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.95) translateY(16px);opacity:0}}@media(prefers-reduced-motion:reduce){dialog.paper-sheet::backdrop,dialog.paper-sheet.closing::backdrop,.sheet-paper,dialog.paper-sheet.closing .sheet-paper{animation:none;transition:opacity var(--t-fast) ease}}}@layer kit{.toast-container{position:fixed;top:var(--sp-4);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);z-index:9999;pointer-events:none;max-width:calc(100vw - 32px)}.toast{position:relative;left:auto;top:auto;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;animation:toast-in var(--t-fast) var(--ease-bounce) both;transform:rotate(-1.2deg);padding:var(--sp-3) var(--sp-5) var(--sp-3);border:var(--bw) solid var(--pink-300);border-radius:var(--r-md);background:var(--paper-50);color:var(--text);font-weight:800;line-height:1.35;box-shadow:0 4px 0 var(--pink-edge),0 12px 18px -10px #a82e6873}.toast-container .toast:nth-child(2n){transform:rotate(1deg)}.toast:before{content:"";position:absolute;left:50%;top:-10px;width:54px;height:18px;border-radius:3px;background:var(--butter-300);opacity:.8;transform:translate(-50%) rotate(3deg)}:is(.lv-bar,.readiness-bar,.g-progress,.quest-bar,.seasonal-bar,.shift-bar,.ticket-bar,.meter-track){overflow:hidden;border:2px solid var(--line-strong);background:var(--paper-50);box-shadow:inset 0 2px 3px #6b487024;contain:layout paint}:is(.lv-fill,.readiness-fill,.g-progress-fill,.quest-bar-fill,.seasonal-fill,.shift-fill,.ticket-fill,.meter-fill){position:relative;height:100%;width:100%;transform-origin:left center;box-shadow:inset 0 2px #ffffff8c,inset 0 -2px #6b48701f}.ong-fill{background:linear-gradient(180deg,var(--mint-300),var(--mint-500))}.meter-track.meter-ly{position:relative;width:34px;height:42px;border:2px solid var(--line-strong);border-radius:4px 4px 10px 10px;background:var(--paper-100)}.meter-track.meter-ly .meter-fill.ly-fill{position:absolute;inset:0;background:linear-gradient(180deg,var(--peach-300),var(--peach-500));transform-origin:bottom center}.meter-track.meter-hat{display:inline-flex;align-items:center;gap:5px;padding:4px 6px;border:0;background:transparent;box-shadow:none}.meter-pearl{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--line-strong);background:var(--paper-100);box-shadow:inset 0 1px 2px #6b487033;transition:transform var(--t-fast) var(--ease-bounce),background-color var(--t-fast) ease}.meter-pearl.filled{background:linear-gradient(135deg,var(--mint-100),var(--mint-500));border-color:var(--mint-700);transform:scale(1.15)}@keyframes meter-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.meter-track.is-full{animation:meter-bounce var(--dur-vua) var(--ease-bounce)}.lock-sticker{display:inline-flex;align-items:center;gap:4px;padding:2px 10px 2px 6px;border:2px solid var(--butter-edge);border-radius:var(--r-pill);background:var(--butter-100);color:var(--butter-text);font-size:var(--fs-xs);font-weight:800;transform:rotate(-2deg)}.btn:disabled,.step:disabled,.chip:disabled,.pill:disabled{filter:saturate(.55);opacity:.72}.drink-pick.locked .product-art{filter:saturate(.5);opacity:.8}.staff-card.locked .staff-pic{filter:saturate(.4);opacity:.65}.paper-card{container-type:inline-size;position:relative;padding:var(--sp-4);border:var(--bw) solid var(--paper-line);border-radius:var(--r-md);background:var(--paper-50);box-shadow:0 4px 0 var(--paper-line),0 14px 22px -16px #6b487080}.paper-card.pinned:before{content:"";position:absolute;left:50%;top:-9px;width:16px;height:16px;border:2px solid var(--outline);border-radius:50%;background:var(--pink-400);transform:translate(-50%)}.paper-card.taped:after{content:"";position:absolute;left:50%;top:-9px;width:48px;height:16px;border-radius:2px;background:var(--butter-300);opacity:.8;transform:translate(-50%) rotate(2deg)}.paper-card.tilt{transform:rotate(-.8deg)}.wood-tray{container-type:inline-size;padding:var(--sp-3);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--wood-100),var(--paper-100));box-shadow:inset 0 2px #ffffffb3,inset 0 -3px 0 var(--wood-300)}:is(.paper-card,.card,.wood-tray,.dialogue,.modal,.sheet) :is(.paper-card,.card,.sub-card):not(.btn){border:0;box-shadow:none}.candy-toggle{display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:700;font-size:var(--fs-sm);color:var(--text)}.candy-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.candy-track{position:relative;display:inline-block;width:48px;height:28px;border-radius:var(--r-pill);background:var(--paper-200);border:2px solid var(--paper-line);box-shadow:inset 0 2px 4px #6b487026;transition:background-color var(--t-fast) ease,border-color var(--t-fast) ease}.candy-thumb{position:absolute;left:2px;top:2px;width:20px;height:20px;border-radius:50%;background:var(--white);border:1.5px solid var(--line-strong);box-shadow:0 2px 4px #6b487033;transition:transform var(--t-fast) var(--ease-bounce)}.candy-input:checked+.candy-track{background:var(--mint-300);border-color:var(--mint-500)}.candy-input:checked+.candy-track .candy-thumb{transform:translate(20px);border-color:var(--mint-700)}.candy-input:focus-visible+.candy-track{outline:3px solid var(--mint-500);outline-offset:2px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--sp-2)}.stats-grid .stat{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--paper-100)}.stats-grid .stat-label{font-size:var(--fs-xs);color:var(--text-soft);font-weight:600}.stats-grid .stat-value{font-size:var(--fs-md);color:var(--cocoa-900);font-weight:800}.btn.btn-floral{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:6px 12px;border:1px solid var(--cocoa-900);background:linear-gradient(180deg,var(--pink-200) 0%,var(--pink-300) 48%,var(--pink-400) 100%);box-shadow:0 0 0 1px var(--cocoa-900),0 4.5px 0 var(--pink-600),0 10px 20px -6px #a82e687a,inset 0 2.5px #ffffffeb,inset 0 -3px #a82e682e;overflow:visible}.btn-floral-bg{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0}.btn-floral-lights{position:absolute;inset:0;width:100%;height:100%;display:block}.btn-floral-shimmer{position:absolute;top:0;bottom:0;left:0;width:55%;background:linear-gradient(112deg,transparent 24%,rgba(255,255,255,.42) 44%,rgba(255,250,224,.58) 50%,rgba(255,255,255,.32) 56%,transparent 76%);transform:translate(-122.7%);animation:floral-shimmer 4.4s ease-in-out infinite}@keyframes floral-shimmer{0%,48%{transform:translate(-122.7%)}to{transform:translate(204.5%)}}.btn-floral-cluster{position:relative;z-index:2;flex:none;width:60px;height:48px;display:inline-flex;align-items:center;justify-content:center;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(59,33,64,.18));transition:transform var(--t-fast) var(--ease-bounce)}.btn-floral-cluster.is-left{margin-left:-2px}.btn-floral-cluster.is-right{margin-right:-2px}.btn-floral-svg{width:100%;height:100%;display:block;overflow:visible}.btn-floral .btn-label{position:relative;z-index:2;flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);text-align:center;font-family:var(--font-display);font-weight:800;color:var(--cocoa-900);text-shadow:0 1.5px 0 rgba(255,255,255,.92);line-height:1.15}.btn-floral .floral-leaves{transform-origin:28px 40px;animation:floral-leaf-sway 3s ease-in-out infinite alternate}.btn-floral .floral-bloom-main{transform-origin:30px 29px;animation:floral-bloom-bob 2.5s ease-in-out infinite alternate}.btn-floral .floral-sparkle.s1{transform-origin:48px 21px;animation:floral-sparkle-pulse 2s ease-in-out infinite alternate}.btn-floral .floral-bulb.b1,.btn-floral .floral-bulb.b4{animation:floral-bulb-glow 2.2s ease-in-out infinite alternate}@keyframes floral-leaf-sway{0%{transform:rotate(-2.5deg)}to{transform:rotate(3deg) translateY(-1px)}}@keyframes floral-bloom-bob{0%{transform:translateY(0) scale(1)}to{transform:translateY(-1.5px) scale(1.05)}}@keyframes floral-sparkle-pulse{0%{transform:scale(.85) rotate(-8deg);opacity:.75}to{transform:scale(1.15) rotate(8deg);opacity:1}}@keyframes floral-bulb-glow{0%{opacity:.82}to{opacity:1}}@media(hover:hover){.btn.btn-floral:hover:not(:disabled) .btn-floral-cluster.is-left{transform:translateY(-2px) rotate(-4deg) scale(1.06)}.btn.btn-floral:hover:not(:disabled) .btn-floral-cluster.is-right{transform:translateY(-2px) rotate(4deg) scale(1.06)}}.btn.btn-floral:active:not(:disabled){box-shadow:0 0 0 1px var(--cocoa-900),0 1.5px 0 var(--pink-600),inset 0 2px #ffffffd9}@media(max-width:374px){.btn.btn-floral{padding:5px 8px}.btn-floral-cluster{width:46px;height:38px}}@media(prefers-reduced-motion:reduce){.toast,.meter-track.is-full,.candy-thumb,.btn-floral-shimmer,.btn-floral .floral-leaves,.btn-floral .floral-bloom-main,.btn-floral .floral-sparkle.s1,.btn-floral .floral-bulb{animation:none;transition:none}}}@layer screens{.scene:not(.counter-view) .awning,.counter-view .shop-sign{view-transition-name:mai-hien}.gbar-cash{view-transition-name:ket}.diba-spot{view-transition-name:di-ba}html[data-transition=zoom-in]::view-transition-old(root){animation:vt-zoom-out var(--dur-vua) var(--spring-vua) both}html[data-transition=zoom-in]::view-transition-new(root){animation:vt-zoom-in var(--dur-vua) var(--spring-vua) both}@keyframes vt-zoom-out{to{transform:scale(1.12);opacity:0}}@keyframes vt-zoom-in{0%{transform:scale(.92);opacity:0}}html[data-transition=slide-left]::view-transition-old(root){animation:vt-slide-out-left var(--dur-vua) var(--spring-vua) both}html[data-transition=slide-left]::view-transition-new(root){animation:vt-slide-in-right var(--dur-vua) var(--spring-vua) both}@keyframes vt-slide-out-left{to{transform:translate(-24%);opacity:0}}@keyframes vt-slide-in-right{0%{transform:translate(24%);opacity:0}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.001ms!important}}}@layer screens{.name-signature{margin:var(--sp-2) auto 0;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--pink-600);transform:rotate(-4deg);animation:signature-in var(--dur-cham) var(--ease-out) var(--dur-nhe) both}.name-signature-text{display:inline-flex;align-items:center;gap:2px;font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:800;letter-spacing:.03em;text-shadow:0 2px 0 var(--white),0 3px 0 var(--pink-100)}.name-signature-text .credit-flower{width:1.05em;height:1.05em;margin:0 2px;transform:rotate(8deg) translateY(-2px)}.name-signature-stroke{display:block;width:100%;max-width:100%;height:12px;margin-top:-4px;color:var(--pink-300)}.name-signature-stroke svg{display:block;width:100%;height:100%}.name-signature-stroke path{stroke-dasharray:1;stroke-dashoffset:1;animation:signature-draw var(--dur-cham) var(--ease-out) var(--dur-cham) forwards}@keyframes signature-in{0%{opacity:0;transform:rotate(-4deg) translateY(8px) scale(.96)}to{opacity:1;transform:rotate(-4deg)}}@keyframes signature-draw{to{stroke-dashoffset:0}}.name-credit{margin-top:auto;padding-top:var(--sp-5);text-align:center;text-wrap:balance;font-size:var(--fs-xs);font-weight:700;line-height:1.6;color:var(--text-soft)}.name-credit .credit-flower{width:1.3em;height:1.3em;margin:-.2em 2px 0}.credit-flower{display:inline-block;flex-shrink:0;vertical-align:middle;image-rendering:pixelated}.credit-flower svg{display:block;width:100%;height:100%}@media(prefers-reduced-motion:reduce){.name-signature,.name-credit{animation:none}.name-signature-stroke path{animation:none;stroke-dashoffset:0}}}@layer screens{.install-hint{display:flex;flex-direction:column;gap:var(--sp-2);border:1px dashed var(--pink-300)}.install-hint-title{display:flex;align-items:center;gap:var(--sp-2);font-family:Grandstander,Nunito,sans-serif;font-size:1.05rem;color:var(--pink-700)}.install-hint-steps{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:var(--sp-1);font-weight:700}.install-hint-note{margin:0;font-size:.86rem;color:var(--text-soft)}.install-hint-later{align-self:flex-end}}@layer screens{.g-pad.has-prop{overflow:hidden;background:radial-gradient(circle at 50% 45%,var(--white) 0 55%,var(--pink-50) 100%);border:2.5px solid var(--pink-300);box-shadow:0 6px 0 var(--pink-200),inset 0 2px 0 var(--white),0 10px 18px -8px #b43c6426}.g-pad.has-prop .g-pad-text{position:absolute;left:var(--sp-3);bottom:var(--sp-2);font-size:var(--fs-xs);font-weight:800;background:#ffffffe0;color:var(--pink-700);padding:2px 8px;border-radius:var(--r-pill);border:1px solid var(--pink-200);box-shadow:0 2px #0000000d}.g-prop{position:absolute;inset:8px 8px 24px;pointer-events:none}.g-prop svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}.g-prop svg g{transform-box:fill-box}.g-stir svg g{transform-box:view-box}.g-shaker{transform-origin:50% 50%;transition:transform var(--t-fast) linear}.g-clink{opacity:0}.g-clink.on{animation:g-clink var(--dur-nhe) var(--ease-out)}@keyframes g-clink{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.25)}}.g-chasen{transform-origin:50% 0;transition:transform var(--t-fast) linear}.g-foam{transition:opacity var(--t-med) var(--ease-out)}.g-pad.has-prop .g-beat{z-index:1;top:var(--sp-2);right:var(--sp-3);width:46px;height:46px;border-width:3px;background:#ffffffbf;box-shadow:0 3px #3b21401f;transition:transform var(--t-fast) var(--ease-bounce),background-color var(--t-fast),border-color var(--t-fast)}.g-pad.has-prop .g-beat.on{transform:scale(1.12);box-shadow:0 0 0 6px #ffd66673,0 3px 0 var(--butter-700)}.g-pestle{transform-origin:100% 0}.g-pestle.hit{animation:g-pound var(--dur-nhe) var(--ease-out)}@keyframes g-pound{40%{transform:translate(-6px,12px) rotate(-6deg)}}.g-chunk{transform-origin:50% 100%;transition:transform var(--t-med) var(--ease-bounce)}.g-splat{opacity:0;transform-origin:50% 60%}.g-splat.on{animation:g-splat var(--dur-nhe) var(--ease-out)}@keyframes g-splat{0%{opacity:1;transform:translateY(4px) scale(.6)}to{opacity:0;transform:translateY(-10px) scale(1.3)}}.g-press.down{animation:g-press var(--dur-vua) var(--ease-out)}@keyframes g-press{45%{transform:translateY(24px)}70%{transform:translateY(24px)}}.g-film{transition:opacity var(--t-fast) linear}.g-seal-spark{opacity:0;transform-origin:50% 50%}.g-seal-spark.on{animation:g-clink var(--dur-vua) var(--ease-out)}.g-topping{display:grid;grid-template-columns:122px minmax(0,1fr);gap:var(--sp-3);align-items:stretch}.g-topping .bc{width:108px;height:135px}.g-jars{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px 8px;padding:12px 10px 10px;border:2px solid var(--wood-500);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--paper-50) 0%,var(--wood-100) 100%);box-shadow:0 4px 0 var(--wood-300),inset 0 2px 0 var(--white);align-content:start}.g-jar{position:relative;display:grid;justify-items:center;align-content:space-between;gap:4px;min-height:94px;padding:10px 5px 7px;border:2px solid var(--wood-300);border-radius:16px 16px var(--r-md) var(--r-md);background:linear-gradient(180deg,var(--white) 0%,var(--paper-50) 100%);box-shadow:0 3px 0 var(--wood-300),inset 0 2px 0 var(--white);color:var(--cocoa-900);font:inherit;font-size:var(--fs-xs);font-weight:800;line-height:1.18;text-align:center;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform var(--dur-nhe) var(--ease-bounce),border-color var(--dur-nhe),box-shadow var(--dur-nhe)}.g-jar:before{content:"";position:absolute;left:31%;right:31%;top:-5px;height:6.5px;border:1.5px solid var(--cocoa-900);border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--pink-200),var(--pink-400));box-shadow:inset 0 1px #ffffffd9}.g-jar-pic{display:grid;place-items:center;width:54px;height:52px;border-radius:50%;background:radial-gradient(circle,var(--paper-50) 0%,transparent 72%);filter:drop-shadow(0 3px 3px rgba(59,33,64,.18));transition:transform var(--dur-nhe) var(--ease-bounce)}.g-jar-pic img{width:52px;height:52px;object-fit:contain;pointer-events:none}.g-jar-name{overflow-wrap:anywhere}.g-jar[aria-pressed=true]{border-color:var(--pink-500);background:linear-gradient(180deg,var(--white) 0%,var(--pink-50) 100%);box-shadow:0 4px 0 var(--pink-400),0 0 0 2.5px var(--pink-200);transform:translateY(-2px)}.g-jar[aria-pressed=true] .g-jar-pic{transform:scale(1.06)}.g-jar:disabled{cursor:default}@media(hover:hover){.g-jar:not(:disabled):hover{transform:translateY(-2px);border-color:var(--pink-400)}.g-jar:not(:disabled):hover .g-jar-pic{transform:scale(1.05)}.g-dump:not(:disabled):hover{border-color:var(--pink-400);color:var(--pink-700);background:var(--pink-50)}}.g-ghost{position:fixed;left:0;top:0;z-index:50;width:56px;height:56px;margin:-28px 0 0 -28px;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(59,33,64,.26))}.g-ghost img{width:100%;height:100%}@container (max-width: 330px){.g-topping{grid-template-columns:96px minmax(0,1fr);gap:var(--sp-2)}.g-topping .bc{width:88px;height:110px}.g-jars{grid-template-columns:repeat(2,minmax(0,1fr))}}.g-topping-left{display:grid;justify-items:center;align-content:space-between;gap:6px;padding:8px 6px 10px;border-radius:var(--r-lg);background:linear-gradient(180deg,#ffffffd1,#fff6eceb);box-shadow:inset 0 2px 0 var(--white),0 4px 10px -6px #3b21402e}.g-top-status{margin:0;min-height:2.4em;padding:2px 6px;border-radius:var(--r-sm);background:#ffffffc7;color:var(--cocoa-900);font-size:var(--fs-xs);font-weight:800;line-height:1.25;text-align:center}.g-dump{min-height:44px;min-width:78px;padding:2px 14px;border:2px solid var(--wood-300);border-radius:var(--r-pill);background:var(--white);box-shadow:0 2px 0 var(--wood-300);color:var(--text-soft);font:inherit;font-size:var(--fs-xs);font-weight:800;cursor:pointer;transition:background var(--dur-nhe),border-color var(--dur-nhe),color var(--dur-nhe)}.g-dump:disabled{opacity:.42;cursor:default}.g-jar-count{position:absolute;top:-6px;right:-4px;z-index:2;min-width:24px;padding:1px 6px;border:1.8px solid var(--white);border-radius:var(--r-pill);background:var(--pink-500);box-shadow:0 2px #3b214038;color:var(--white);font-family:var(--font-display);font-size:var(--fs-xs);font-weight:900;line-height:1.3}.g-jar-count:empty{display:none}.g-topping-cup.nudge,.g-jars .g-jar.nudge,.g-dump.nudge{animation:g-nudge var(--dur-nhe) var(--ease-out)}@keyframes g-nudge{25%{transform:translate(-4px) rotate(-2deg)}75%{transform:translate(4px) rotate(2deg)}}.g-box.no-hint>.g-hint{display:none}@media(prefers-reduced-motion:reduce){.g-clink.on,.g-pestle.hit,.g-splat.on,.g-press.down,.g-seal-spark.on{animation:none}.g-shaker,.g-chasen,.g-chunk,.g-foam{transition:none}}.brew-panel{container-type:inline-size}.bc{position:relative;width:120px;height:150px}.bc svg{display:block;width:100%;height:100%;overflow:visible}.bc-body{transform-box:fill-box;transform-origin:50% 100%;transition:transform var(--t-med) var(--ease-bounce)}.bc-body.pop{animation:bc-pop var(--dur-vua) var(--spring-vua)}@keyframes bc-pop{0%{translate:0 -6px}to{translate:0 0}}.bc-ice.in .bc-bit,.bc-top.in .bc-bit.fresh{animation:bc-fall var(--dur-vua) var(--spring-vua) both;animation-delay:var(--d, 0s)}@keyframes bc-fall{0%{transform:translateY(-80px);opacity:0}40%{opacity:1}}.bc-drop.in .bc-drip{animation:bc-drip var(--dur-nang) ease-in both}@keyframes bc-drip{0%{transform:translateY(-14px);opacity:0}20%{opacity:1}to{transform:translateY(118px);opacity:0}}.bc.over{filter:drop-shadow(0 0 8px var(--pink-300))}.g-pour{position:relative;width:240px;height:196px;margin:0 auto;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}.g-pour-mat{position:absolute;left:46px;right:46px;bottom:5px;height:18px;border:2px solid var(--wood-500);border-radius:50%;background:linear-gradient(180deg,var(--wood-100),var(--wood-300));box-shadow:0 3px #8a5f3c40,inset 0 2px #ffffffa6}.g-pour>.bc{position:absolute;left:60px;top:44px}.g-pour-fx{position:absolute;inset:0;pointer-events:none}.g-pour-fx svg{display:block;width:100%;height:100%;overflow:visible}.pp-stream,.pp-stream-hi,.pp-splash{opacity:0;transition:opacity var(--t-fast) linear}.g-pour.on .pp-stream,.g-pour.on .pp-stream-hi,.g-pour.on .pp-splash{opacity:1}.g-pour.on .pp-splash>*{animation:pp-splash var(--t-med) ease-in-out infinite alternate}@keyframes pp-splash{to{transform:translateY(-2px) scale(1.15)}}.pp-steam path{opacity:.85;animation:pp-steam var(--dur-nhau) ease-in-out infinite}.pp-steam path+path{animation-delay:calc(var(--dur-nhau) / -2)}@keyframes pp-steam{0%,to{opacity:0;transform:translateY(4px)}50%{opacity:.85;transform:translateY(-3px)}}.g-pour.on .pp-steam,.pp-eyes-happy,.pp-eyes-oops,.g-pour.on .pp-eyes,.g-pour.happy .pp-eyes,.g-pour.spill .pp-eyes,.g-pour.oops .pp-eyes{display:none}.g-pour.on:not(.spill) .pp-eyes-happy,.g-pour.happy .pp-eyes-happy{display:inline}.g-pour.spill:not(.happy) .pp-eyes-oops,.g-pour.oops .pp-eyes-oops{display:inline}.g-band-tag{position:absolute;left:176px;padding:1px 8px;border:2px solid var(--mint-500);border-radius:var(--r-pill);background:var(--mint-100);box-shadow:0 2px #2f9a7233;color:var(--mint-text);font-size:var(--fs-xs);font-weight:800;line-height:1.4;white-space:nowrap;transition:transform var(--t-fast) var(--ease-bounce),background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.g-pour.near .g-band-tag{animation:band-call var(--dur-nhe) ease-in-out infinite alternate}.g-pour.in-band .g-band-tag{border-color:var(--mint-700);background:var(--mint-300);box-shadow:0 2px 0 var(--mint-700),0 0 10px var(--mint-300);transform:scale(1.14)}.g-pour.spill .g-band-tag{border-color:var(--berry);background:var(--berry-100);color:var(--berry-700)}@keyframes band-call{to{transform:scale(1.12)}}.g-pour-feedback{position:absolute;left:50%;top:0;z-index:2;padding:2px 12px;border:2px solid currentColor;border-radius:var(--r-pill);background:var(--white);box-shadow:0 3px #3b214024;color:var(--mint-700);font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);white-space:nowrap;opacity:0;transform:translate(-50%,6px) rotate(-3deg);pointer-events:none}.g-pour-feedback.show{opacity:1;transform:translate(-50%) rotate(-3deg);transition:opacity var(--t-fast),transform var(--dur-nhe) var(--spring-nhe)}.g-pour-feedback.warn{color:var(--butter-700)}.g-pour-feedback.bad{color:var(--berry)}.g-hold{width:100%;touch-action:none}.g-choose{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--sp-3);align-items:center}.g-choose-left{display:grid;justify-items:center;gap:2px}.g-choose-left .bc{width:104px;height:130px}.g-tools{display:grid;gap:6px;padding:8px;border:1px solid var(--wood-500);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--paper-50),var(--wood-100));box-shadow:0 4px 0 var(--wood-300),inset 0 2px 0 var(--white)}.g-tool-row{display:flex;align-items:center;gap:var(--sp-2);min-height:54px;padding:3px 7px;border:1px solid var(--paper-line);border-radius:var(--r-md);background:var(--paper-50);box-shadow:0 2px #8a5f3c1a,inset 0 1.5px 0 var(--white)}.g-sizes{display:flex;gap:var(--sp-2);align-items:flex-end;margin:0 auto}.g-size{display:grid;place-items:end center;min-width:54px;min-height:52px;padding:2px 6px;border:2px solid transparent;border-radius:var(--r-md);background:transparent;cursor:pointer;transition:transform var(--t-fast) var(--ease-bounce),border-color var(--t-fast),background-color var(--t-fast)}.g-size svg{display:block;width:32px;overflow:visible;filter:drop-shadow(0 2px 1px rgba(59,33,64,.12))}.g-size:last-child svg{width:38px}.g-size[aria-checked=true]{border-color:var(--pink-500);background:linear-gradient(180deg,var(--white),var(--pink-50));transform:translateY(-3px);box-shadow:0 3px 0 var(--pink-300)}.g-tool{flex:none;display:grid;place-items:center;width:52px;height:52px;padding:0;border:2px solid var(--line-strong);border-radius:var(--r-md);background:linear-gradient(180deg,var(--white),var(--pink-50));box-shadow:0 3px 0 var(--line-strong),inset 0 1.5px 0 var(--white);cursor:pointer}.g-tool svg{display:block;width:42px;height:46px;overflow:visible;filter:drop-shadow(0 2px 1px rgba(59,33,64,.12))}.g-tool:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line-strong)}.g-tool.nudge .tool-pump{animation:tool-pump var(--dur-nhe) var(--ease-bounce)}.g-tool .tool-scoop{transform-box:fill-box;transform-origin:20% 90%}.g-tool.nudge .tool-scoop{animation:tool-scoop var(--dur-nhe) var(--ease-bounce)}@keyframes tool-pump{50%{transform:translateY(5px)}}@keyframes tool-scoop{50%{transform:rotate(-18deg)}}.g-tool-info{flex:1;min-width:0;display:grid;gap:4px}.g-tool-info b{font-size:var(--fs-sm);font-weight:800;color:var(--text)}.g-pips{display:flex;gap:5px}.g-pips i{width:13px;height:13px;border:1.5px solid var(--line-strong);border-radius:3.5px;background:var(--white);box-shadow:inset 0 1px 1px #3b21401a;transition:background-color var(--t-fast),transform var(--t-fast) var(--ease-bounce),border-color var(--t-fast)}.g-scoop+.g-tool-info .g-pips i{border-radius:4px}.g-pips i.on{border-color:var(--butter-700);background:linear-gradient(135deg,var(--butter-100),var(--butter-500));box-shadow:0 1.5px #b8862a4d,inset 0 1px 0 var(--white);transform:scale(1.14)}.g-scoop+.g-tool-info .g-pips i.on{border-color:var(--sky-700);background:linear-gradient(135deg,var(--white),var(--sky-300));box-shadow:0 1.5px #3f7fc04d,inset 0 1px 0 var(--white)}.g-less{position:relative;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:2px solid var(--line-strong);border-radius:50%;background:var(--white);color:var(--text-soft);font:inherit;font-size:var(--fs-lg);font-weight:800;line-height:1;cursor:pointer}.g-less:after{content:"";position:absolute;inset:-6px;border-radius:50%}.g-less:disabled{opacity:.35;cursor:default}.btn-confirm-order{width:100%}@container (max-width: 330px){.g-choose{grid-template-columns:84px minmax(0,1fr);gap:var(--sp-2)}.g-choose-left .bc{width:80px;height:100px}.g-tools{padding:4px}.g-tool-row{gap:4px;padding:2px 4px}.g-tool,.g-size{width:44px;min-width:44px;height:44px;min-height:44px}.g-tool svg{width:36px;height:40px}.g-less{width:44px;height:44px;min-width:44px;min-height:44px}.g-less:after{inset:-6px}.g-tool-info b{font-size:var(--fs-xs)}.g-pips i{width:10px;height:10px}}@container (max-width: 260px){.g-pour{transform:scale(.88);transform-origin:50% 0;margin-bottom:-24px}}.g-finish{position:fixed;left:50%;top:56%;z-index:29;width:96px;height:120px;pointer-events:none;transform:translate(-50%,-50%);animation:g-finish var(--dur-cham) var(--spring-cham) both}.g-finish img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(59,33,64,.25))}.g-spark{position:absolute;inset:-18px;width:calc(100% + 36px);height:calc(100% + 36px);animation:g-spark var(--dur-cham) ease-out both}@keyframes g-finish{0%{transform:translate(-50%,-30%) scale(.5);opacity:0}}@keyframes g-spark{0%{transform:scale(.6) rotate(-20deg);opacity:0}60%{opacity:1}}.g-kb-hint{display:none;margin:var(--sp-2) 0 0;text-align:center;font-size:var(--fs-xs);color:var(--text-soft);font-weight:700}body.kb .g-kb-hint{display:block}.btn-confirm-order{width:100%;margin-top:var(--sp-2)}.sealer-meter{display:grid;grid-template-columns:28px 1fr;gap:var(--sp-2);align-items:center}.sealer-light{width:22px;height:22px;border-radius:50%;border:2.2px solid var(--outline);background:var(--paper-100);transition:background-color var(--t-fast),box-shadow var(--t-fast)}.sealer-light.on{background:var(--mint-500);box-shadow:0 0 10px var(--mint-500)}.g-sealer-light.lit{fill:var(--mint-500)}.g-sealer-needle{transform-origin:64px 24px;transform-box:view-box;will-change:transform}.step-sticker{pointer-events:none;font-size:var(--fs-sm);padding:4px 12px}.g-cup-done-wrap{display:grid;place-items:center;position:absolute;inset:0;margin:auto;z-index:30;pointer-events:none;width:100px;height:130px}.g-cup-done-body{position:relative;width:100%;height:100%;transform-origin:50% 100%}.g-cup-done-body svg{display:block;width:100%;height:100%}.g-cup-done-body.shake-wobble{animation:cup-wobble var(--dur-vua) var(--ease-bounce)}@keyframes cup-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.g-cup-done-shadow{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:68px;height:12px;background:#0000001f;border-radius:50%;filter:blur(2px)}.g-cup-done-shadow.deep{background:#00000038;width:74px;height:14px;filter:blur(3px)}.g-cup-done-sticker{position:absolute;right:4px;top:24px;width:44px;height:44px;transform:rotate(-12deg);z-index:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.g-cup-done-sticker svg{display:block;width:100%;height:100%}.g-cup-done-label{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);z-index:3;padding:2px 10px;border-radius:var(--r-pill);border:1px solid var(--butter-500);background:var(--butter-100);color:var(--butter-text);font-family:var(--font-display);font-size:var(--fs-xs);font-weight:800;white-space:nowrap;box-shadow:0 2px 4px #3b21401f}.g-cup-done-label.medal-bac{border-color:var(--mint-500);background:var(--mint-100);color:var(--mint-text)}.g-cup-done-label.medal-dong{border-color:var(--wood-300);background:var(--paper-100);color:var(--cocoa-900)}.g-cup-done-label.medal-sut{border-color:var(--berry-300);background:var(--berry-100);color:var(--berry-700)}.cup-sparkles{position:absolute;inset:0;pointer-events:none;z-index:3}.sparkle-star{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(var(--sx),var(--sy)) scale(var(--sc));animation:sparkle-fade var(--dur-vua) var(--ease-out) forwards}@keyframes sparkle-fade{0%{opacity:0;transform:translate(0) scale(.2)}40%{opacity:1;transform:translate(var(--sx),var(--sy)) scale(var(--sc))}to{opacity:0;transform:translate(calc(var(--sx) * 1.3),calc(var(--sy) * 1.3)) scale(0)}}@media(prefers-reduced-motion:reduce){.g-finish,.g-spark,.g-cup-done-body.shake-wobble,.sparkle-star,.bc-body.pop,.bc-ice.in .bc-bit,.bc-top.in .bc-bit.fresh,.bc-drop.in .bc-drip,.g-topping-cup.nudge,.g-jars .g-jar.nudge,.g-dump.nudge,.pp-steam path,.g-pour.on .pp-splash>*,.g-pour.near .g-band-tag,.g-tool.nudge .tool-pump,.g-tool.nudge .tool-scoop{animation:none}.g-cup-done-body,.bc-body,.g-pour-feedback.show,.g-band-tag,.g-size{transition:none}}}@layer screens{.fun-screen{max-width:1120px}.fun-scroll{display:grid;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) calc(var(--sp-8) + var(--safe-bottom))}.fun-head{display:grid;gap:var(--sp-3)}.fun-head-title{display:flex;align-items:center;gap:var(--sp-3)}.fun-head-ico{flex:none;width:48px;height:48px;padding:3px;border:2px solid var(--ink);border-radius:var(--r-sm);background:var(--pink-100);box-shadow:0 3px 0 var(--ink);transform:rotate(-6deg)}.fun-head-ico svg{width:100%;height:100%;display:block}.fun-head-title h1{margin:0;font-family:var(--font-display);font-size:var(--fs-2xl);line-height:1.05;color:var(--ink)}.fun-head-title p{margin:3px 0 0;font-size:var(--fs-xs);font-weight:700;color:var(--text-soft)}.fun-wallet{display:grid;gap:6px;padding:10px 14px;border:2px solid var(--ink);border-radius:var(--r-md);background:var(--butter-100);box-shadow:0 4px 0 var(--ink)}.fun-wallet-top{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-2)}.fun-wallet-txt{display:grid;line-height:1.1}.fun-wallet-label{font-size:var(--fs-xs);font-weight:800;color:var(--butter-text)}.fun-wallet-val{font-family:var(--font-display);font-size:var(--fs-2xl);color:var(--ink);font-variant-numeric:tabular-nums}.fun-rounds{flex:none;padding:3px 10px;border:1.5px dashed var(--ink);border-radius:var(--r-xs);background:var(--paper-50);font-size:var(--fs-xs);font-weight:800;color:var(--ink);transform:rotate(2deg)}.fun-rounds.is-out{border-color:var(--berry-700);color:var(--berry-700)}.fun-meter{display:flex;height:14px;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--paper-50);overflow:hidden}.fun-meter-play{display:block;flex-basis:0;background:var(--butter-500);transition:flex-grow var(--dur-vua) var(--ease-out)}.fun-meter-keep{display:block;flex-basis:0;border-left:2px solid var(--ink);background:repeating-linear-gradient(-45deg,var(--paper-100) 0 4px,var(--wood-300) 4px 6px);transition:flex-grow var(--dur-vua) var(--ease-out)}.fun-legends{display:flex;justify-content:space-between;gap:var(--sp-2)}.fun-legend{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:800;color:var(--text-soft)}.fun-legend:before{content:"";width:10px;height:10px;border:1.5px solid var(--ink);border-radius:3px}.fun-legend.play{color:var(--butter-text)}.fun-legend.play:before{background:var(--butter-500)}.fun-legend.keep:before{background:repeating-linear-gradient(-45deg,var(--paper-100) 0 2px,var(--wood-300) 2px 3px)}.fun-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.fun-tab{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:4px 8px;border:2px solid var(--paper-line);border-radius:var(--r-md);background:var(--paper-100);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800;color:var(--text-soft);cursor:pointer;touch-action:manipulation;transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast),transform var(--t-fast) var(--ease-out)}.fun-tab-icon{flex:none;width:28px;height:28px;opacity:.6;transition:opacity var(--t-fast)}.fun-tab-icon svg{width:100%;height:100%;display:block}.fun-tab-label{line-height:1.1;text-align:left}.fun-tab[aria-selected=true]{border-color:var(--ink);background:var(--paper-50);color:var(--ink);box-shadow:0 4px 0 var(--ink);transform:translateY(-2px)}.fun-tab[aria-selected=true] .fun-tab-icon{opacity:1}.fun-tab:disabled{opacity:.45;cursor:not-allowed}.fun-tab:focus-visible{outline:3px solid var(--sky-500);outline-offset:2px}.fun-game{display:grid;gap:var(--sp-3)}.fun-board{position:relative;display:grid;gap:var(--sp-2);padding:var(--sp-2);border:2px solid var(--ink);border-radius:var(--r-lg);background:var(--paper-50);box-shadow:0 5px 0 var(--ink)}.fun-result{margin:0 4px 2px;min-height:2.9em;padding:8px 12px;border:1.5px dashed var(--paper-line);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:800;line-height:1.3;text-align:center;color:var(--text);background:var(--paper-100);display:grid;place-items:center}.fun-result.is-win{border-color:var(--mint-700);background:var(--mint-100);color:var(--mint-text);animation:fun-result-in var(--dur-vua) var(--spring-vua)}.fun-result.is-miss{color:var(--text-soft)}@keyframes fun-result-in{0%{transform:scale(.94) rotate(-1deg)}to{transform:scale(1) rotate(0)}}.fun-action{display:grid;gap:6px}.fun-go{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);min-height:64px;padding:6px var(--sp-5);border:2.5px solid var(--ink);border-radius:var(--r-pill);background:var(--pink-400);color:var(--ink);font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:800;letter-spacing:.02em;box-shadow:0 5px 0 var(--ink);cursor:pointer;touch-action:manipulation;transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast),background var(--t-fast)}.fun-go-ico{flex:none;width:40px;height:40px;transform:rotate(-10deg);transition:transform var(--t-med) var(--ease-out)}.fun-go-ico svg{width:100%;height:100%;display:block}.fun-go-text{display:grid;justify-items:start;line-height:1}.fun-go-sub{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:800;letter-spacing:0;opacity:.8}.fun-go-sub:empty{display:none}@media(hover:hover){.fun-go:hover:not(:disabled){background:var(--pink-300)}.fun-go:hover:not(:disabled) .fun-go-ico{transform:rotate(8deg)}}.fun-go:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}.fun-go:disabled{background:var(--pink-100);color:var(--text-soft);border-style:dashed;border-color:var(--pink-600);box-shadow:0 4px 0 var(--pink-300);cursor:not-allowed}.fun-go:disabled .fun-go-ico{opacity:.55}.fun-go:focus-visible{outline:3px solid var(--sky-500);outline-offset:3px}.fun-action-meta{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);min-height:32px}.fun-stake{font-size:var(--fs-sm);font-weight:800;color:var(--text-soft)}.fun-clear{min-height:32px;padding:0 12px;border:1.5px solid var(--paper-line);border-radius:var(--r-pill);background:var(--paper-50);font-family:var(--font-body);font-size:var(--fs-xs);font-weight:800;color:var(--text-soft);cursor:pointer}.fun-picks{display:grid;gap:var(--sp-3)}.fun-picks-head{display:grid;gap:6px}.fun-picks-head h2{margin:0;font-family:var(--font-display);font-size:var(--fs-lg);color:var(--ink)}.fun-rules{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.fun-rule-chip{display:inline-flex;align-items:baseline;gap:5px;padding:3px 10px;border:1.5px solid var(--ink);border-radius:var(--r-pill);background:var(--paper-50);font-size:var(--fs-xs);font-weight:700;color:var(--text-soft)}.fun-rule-chip b{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--ink)}.fun-door{--tint: var(--paper-100)}.fun-door[data-face=bau]{--tint: var(--mint-100)}.fun-door[data-face=cua]{--tint: var(--peach-100)}.fun-door[data-face=ca]{--tint: var(--butter-100)}.fun-door[data-face=ga]{--tint: var(--pink-100)}.fun-door[data-face=nai]{--tint: var(--wood-100)}.fun-door[data-face=tom]{--tint: var(--berry-100)}.fun-door[data-brand=vnm]{--tint: var(--sky-100)}.fun-door[data-brand=th]{--tint: var(--mint-100)}.fun-door[data-brand=ovl]{--tint: var(--peach-100)}.fun-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fun-door{position:relative;display:grid;gap:8px;padding:6px;border:2px solid var(--ink);border-radius:var(--r-md);background:var(--paper-50);box-shadow:0 4px 0 var(--ink);transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast),opacity var(--t-med),border-color var(--t-fast)}.fun-door.has-bet{border-color:var(--pink-600);box-shadow:0 4px 0 var(--pink-600);transform:translateY(-2px)}.fun-door.is-win{border-color:var(--mint-700);box-shadow:0 4px 0 var(--mint-700)}.fun-door.is-win .fun-door-pick{background:var(--mint-300)}.fun-door.is-miss{opacity:.62;transform:none}.fun-door.is-locked.has-bet{border-color:var(--ink);box-shadow:0 4px 0 var(--ink);transform:none}.fun-door-pick{position:relative;display:grid;justify-items:center;gap:2px;padding:10px 4px 6px;border:1.5px dashed color-mix(in srgb,var(--ink) 35%,transparent);border-radius:var(--r-sm);background:var(--tint);cursor:pointer;touch-action:manipulation;font:inherit;color:inherit;transition:background var(--t-fast)}.fun-door-pick:disabled{cursor:default}.fun-door-pick:focus-visible,.fun-step:focus-visible{outline:3px solid var(--sky-500);outline-offset:2px}.fun-door-art{display:block;transition:transform var(--t-fast) var(--ease-out)}.fun-door-pick:active:not(:disabled) .fun-door-art{transform:scale(.9) rotate(-4deg)}@media(hover:hover){.fun-door-pick:hover:not(:disabled) .fun-door-art{transform:rotate(-5deg) translateY(-2px)}}.fun-face,.fun-brand{width:64px;height:64px;display:block}.fun-door-name{font-family:var(--font-display);font-size:var(--fs-md);font-weight:800;color:var(--ink);line-height:1.15;text-align:center}.ck-picks .fun-door-name{font-size:var(--fs-sm)}.fun-door-coins{position:absolute;right:4px;top:6px;width:34px;height:34px;pointer-events:none}.fun-door-coins svg{width:100%;height:100%;display:block}.fun-door-coins.is-drop svg{animation:fun-coin-drop var(--dur-vua) var(--spring-vua)}@keyframes fun-coin-drop{0%{transform:translateY(-10px)}to{transform:translateY(0)}}.fun-stepper{display:grid;grid-template-columns:1fr 1fr;min-height:48px;border:2px solid var(--ink);border-radius:var(--r-pill);background:var(--paper-50);overflow:hidden}.fun-door-amt{margin-top:2px;padding:0 8px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--paper-50) 70%,transparent);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800;color:var(--text-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.fun-door.has-bet .fun-door-amt{background:var(--paper-50);color:var(--pink-700);box-shadow:0 0 0 1.5px var(--pink-600)}.fun-step{align-self:stretch;min-height:44px;border:0;background:transparent;font-size:var(--fs-xl);font-weight:800;line-height:1;color:var(--ink);cursor:pointer;touch-action:manipulation;transition:background var(--t-fast),transform var(--t-fast) var(--ease-out)}.fun-step.minus{border-right:1.5px dashed color-mix(in srgb,var(--ink) 35%,transparent)}.fun-step.plus{border-left:1.5px dashed color-mix(in srgb,var(--ink) 35%,transparent);background:var(--mint-300)}.fun-step:active:not(:disabled){transform:scale(.9)}.fun-step:disabled{color:color-mix(in srgb,var(--ink) 28%,transparent);background:transparent;cursor:not-allowed}.fun-gain{position:absolute;top:-10px;left:50%;z-index:2;padding:1px 9px;border:1.5px solid var(--mint-700);border-radius:var(--r-pill);background:var(--paper-50);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800;color:var(--mint-text);white-space:nowrap;transform:translate(-50%) rotate(-4deg);pointer-events:none}.fun-gain:empty{display:none}.fun-gain:not(:empty){animation:fun-gain-up var(--dur-cham) var(--ease-out)}@keyframes fun-gain-up{0%{transform:translate(-50%) translateY(8px) rotate(-4deg);opacity:0}to{transform:translate(-50%) translateY(0) rotate(-4deg);opacity:1}}}@layer screens{.bc-stage{--bowl-rest: translate(clamp(64px, 24vw, 128px), -98px) scale(.46) rotate(14deg);position:relative;height:236px;border:2px solid var(--wood-500);border-radius:var(--r-md);background:var(--wood-100);overflow:hidden}.bc-grain{position:absolute;inset:0;pointer-events:none}.bc-grain svg{width:100%;height:100%;display:block}.bc-mat{position:absolute;left:50%;top:10px;width:min(380px,94%);transform:translate(-50%) rotate(-1.2deg);pointer-events:none}.bc-mat svg{width:100%;height:auto;display:block}.bc-plate{position:absolute;left:50%;bottom:12px;width:min(290px,84%);transform:translate(-50%)}.bc-plate svg{width:100%;height:auto;display:block}.bc-dice{position:absolute;left:50%;bottom:38px;display:flex;align-items:flex-end;gap:6px;transform:translate(-50%)}.bc-die{width:62px;height:62px;filter:drop-shadow(0 3px 0 var(--wood-500))}.bc-die:nth-child(1){transform:rotate(-7deg)}.bc-die:nth-child(2){transform:translateY(-16px) rotate(4deg)}.bc-die:nth-child(3){transform:rotate(9deg)}.fun-die{width:100%;height:100%;display:block}.bc-bowl{position:absolute;left:50%;bottom:20px;z-index:2;width:min(250px,74%);transform:translate(-50%) var(--bowl-rest);transform-origin:50% 90%;transition:transform var(--dur-vua) var(--ease-out);pointer-events:none;filter:drop-shadow(0 4px 0 var(--wood-500))}.bc-bowl svg{width:100%;height:auto;display:block}.bc-stage.is-covered .bc-bowl{transform:translate(-50%) translate(0) scale(1) rotate(0);transition-timing-function:cubic-bezier(.5,0,.75,0)}.bc-stage.is-covered .bc-dice{visibility:hidden;transition:visibility var(--dur-nhe) linear var(--dur-vua)}.bc-stage.is-shaking .bc-bowl,.bc-stage.is-shaking .bc-plate{animation:bc-shake var(--dur-nhe) ease-in-out infinite}.bc-stage.is-shaking .bc-plate{animation-name:bc-shake-plate}@keyframes bc-shake{0%,to{transform:translate(-50%) translate(0) scale(1) rotate(0)}25%{transform:translate(-50%) translate(-3%,-6px) scale(1) rotate(-4deg)}75%{transform:translate(-50%) translate(3%,-3px) scale(1) rotate(4deg)}}@keyframes bc-shake-plate{0%,to{transform:translate(-50%) rotate(0)}25%{transform:translate(-53%) translateY(-6px) rotate(-4deg)}75%{transform:translate(-47%) translateY(-3px) rotate(4deg)}}.ck-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ck-tab{display:grid;gap:1px;min-height:48px;padding:4px;border:2px solid var(--paper-line);border-radius:var(--r-sm);background:var(--paper-100);font-family:var(--font-body);color:var(--text-soft);cursor:pointer;touch-action:manipulation;transition:border-color var(--t-fast),background var(--t-fast)}.ck-tab[aria-selected=true]{border-color:var(--ink);background:var(--paper-50);color:var(--ink);box-shadow:0 3px 0 var(--ink)}.ck-tab.is-winner{border-color:var(--mint-700);background:var(--mint-100)}.ck-tab:focus-visible{outline:3px solid var(--sky-500);outline-offset:2px}.ck-tab-name{font-size:var(--fs-xs);font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck-tab-pct{font-size:var(--fs-sm);font-weight:800;font-variant-numeric:tabular-nums}.ck-tab-pct.up{color:var(--mint-text)}.ck-tab-pct.down{color:var(--berry-700)}.ck-tab-pct.flat{color:var(--text-soft)}.ck-chart{border-radius:var(--r-sm);background:var(--paper-50)}.ck-chart-svg{width:100%;height:auto;display:block}.ck-grid{stroke:var(--paper-line);stroke-width:1;stroke-dasharray:3 4}.ck-axis{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:700;fill:var(--text-soft)}.ck-session-zone{fill:var(--butter-100)}.ck-open-line{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:4 4;opacity:.45}.ck-area{opacity:.14}.ck-line{stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}.ck-caption{margin:0;font-size:var(--fs-xs);font-weight:700;color:var(--text-soft);text-align:center;font-variant-numeric:tabular-nums}.ck-timer{display:grid;gap:4px}.ck-timer[hidden]{display:none}.ck-timer-track{height:8px;border-radius:var(--r-pill);background:var(--paper-100);border:1.5px solid var(--paper-line);overflow:hidden}.ck-timer-fill{display:block;height:100%;background:var(--butter-500);transform:scaleX(0);transform-origin:left center}.ck-timer-label{font-size:var(--fs-xs);font-weight:800;color:var(--butter-text);text-align:center}.ck-timer-row{display:flex;align-items:center;justify-content:center;gap:var(--sp-2)}.ck-replay{justify-self:center}.ck-replay[hidden],.ck-skip[hidden]{display:none}.fun-result.is-locked{background:var(--butter-100);color:var(--butter-text)}.fun-go.is-confirm{background:var(--butter-500)}.act-fun .act-tile svg{width:26px;height:26px;display:block}@media(min-width:860px){.fun-scroll{padding:var(--sp-4) var(--sp-5) var(--sp-8)}.fun-game{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"board picks" "action picks";align-items:start;column-gap:var(--sp-5)}.fun-board{grid-area:board}.fun-action{grid-area:action}.fun-picks{grid-area:picks}.bc-stage{height:250px}}@media(max-width:359px){.fun-face,.fun-brand{width:48px;height:48px}.bc-die{width:52px;height:52px}}@media(prefers-reduced-motion:reduce){.bc-bowl,.fun-result.is-win,.fun-gain:not(:empty){transition:none;animation:none}.bc-stage.is-shaking .bc-bowl,.bc-stage.is-shaking .bc-plate{animation:none}}}@layer screens{.tray{flex:1;overflow:auto;padding:var(--sp-4) var(--sp-3) calc(var(--sp-5) + env(safe-area-inset-bottom));color:var(--text)}.tray-line{margin:var(--sp-2) 0 var(--sp-2);font-size:var(--fs-sm);color:var(--text-soft);font-weight:700}.tray-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2)}.tray-idle{padding-top:2px}.game .rush{margin:0 0 var(--sp-3);padding:var(--sp-1) var(--sp-4);border:2px solid var(--butter-500);border-radius:var(--r-pill);background:linear-gradient(180deg,var(--butter-100),var(--butter-300));box-shadow:0 4px 0 var(--butter-700);font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);text-align:center;animation:pop-in var(--t-med) var(--ease-bounce)}.brew-panel{position:relative;margin:var(--sp-2) 0;padding:var(--sp-4);border:var(--bw) solid var(--line-strong);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--sh-panel);color:var(--text);animation:panel-in var(--t-med) var(--ease-out);contain:layout style}.tray .g-pad{height:150px}.service-tray{padding:0 0 calc(var(--sp-4) + env(safe-area-inset-bottom));overscroll-behavior:contain}.service-tray .rush{margin:var(--sp-3) var(--sp-3) 0}.service-tray .brew-panel{margin:var(--sp-3)}.rail-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin:var(--sp-3) var(--sp-3) 0;min-width:0}.rail-title{display:inline-flex;align-items:center;gap:6px;margin:0;font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);color:var(--text);white-space:nowrap}.rail-title .ico{width:22px;height:22px}.shift-objects{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;min-width:0}.shift-obj{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:2px 11px;border:2px solid var(--wood-300);border-radius:var(--r-pill);background:linear-gradient(180deg,var(--white),var(--paper-100));box-shadow:0 3px 0 var(--wood-300),inset 0 1.5px 0 var(--white)}.cup-stack{position:relative;padding-left:32px}.cup-stack-art{position:absolute;left:8px;bottom:5px;width:20px;height:24px}.stacked-cup{position:absolute;width:18px;height:12px;border:1.6px solid var(--cocoa-900);border-radius:2px 2px 5px 5px;background:linear-gradient(180deg,var(--white) 0%,var(--peach-100) 100%);box-shadow:0 1px #3b214026}.stacked-cup:before{content:"";position:absolute;left:-2px;right:-2px;top:-2.5px;height:3px;border:1.4px solid var(--cocoa-900);border-radius:var(--r-pill);background:var(--pink-300)}.cup-stack-badge{display:flex;align-items:baseline;gap:2px;color:var(--text);font-size:var(--fs-xs);font-weight:800}.cup-num{font-family:var(--font-display);font-size:var(--fs-md);font-weight:800;line-height:1}.heart-stickers{gap:4px;padding-inline:7px}.heart-sticker{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--r-pill);border:1.5px solid var(--pink-700);transition:transform var(--dur-nhe) var(--ease-bounce),opacity var(--dur-nhe)}.heart-sticker .ico{width:15px;height:15px}.heart-sticker:nth-child(1){transform:rotate(-8deg)}.heart-sticker:nth-child(2){transform:rotate(8deg)}.heart-sticker.active{background:linear-gradient(180deg,var(--pink-300),var(--pink-500));color:var(--white);box-shadow:0 2px 0 var(--pink-700),inset 0 1.5px #ffffffa6}.heart-sticker.used{border-color:var(--paper-line);background:var(--paper-100);opacity:.45;filter:grayscale(1)}.lost-memo{border-color:var(--berry-300);background:var(--berry-100);color:var(--berry-700);font-size:var(--fs-xs);font-weight:800;box-shadow:0 2px 0 var(--berry-300)}.lost-icon{display:flex;align-items:center}.service-tray .tray-idle{margin:0 var(--sp-3)}.idle-prep-mat{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 var(--sp-2);padding:6px 12px;border:1px dashed var(--wood-300);border-radius:var(--r-md);background:#ffffffad;color:var(--text-soft);text-align:center;transition:background var(--t-med),border-color var(--t-med),color var(--t-med)}.idle-prep-mat .tray-line{margin:0;font-size:var(--fs-sm);font-weight:800;color:inherit}.idle-icons{flex:none;display:inline-flex;align-items:center;gap:2px}.idle-cup,.idle-spoon{flex:none;display:inline-flex;align-items:center;justify-content:center}.idle-cup svg{width:18px;height:18px}.idle-spoon svg{width:15px;height:15px}.idle-prep-mat:not([data-state=wait]) .idle-spoon{display:none}.idle-prep-mat[data-state=go]{border-style:solid;border-color:var(--pink-300);background:var(--pink-50);color:var(--pink-700);cursor:pointer}.idle-prep-mat[data-state=end]{border-style:solid;border-color:var(--lilac-300);background:var(--lilac-100);color:var(--lilac-700)}.counter-shelf,.bins-card{contain:layout paint;padding:12px 14px 15px;border:2.5px solid var(--wood-500);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--paper-50) 0%,var(--wood-100) 100%);box-shadow:0 5px 0 var(--wood-500),0 12px 18px -12px #8a5f3c73,inset 0 2px 0 var(--white)}.bins-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin:0 2px 10px;padding-bottom:7px;border-bottom:1.5px dashed var(--wood-300)}.bins-title{display:inline-flex;align-items:center;gap:6px;margin:0;font-family:var(--font-display);font-weight:800;font-size:var(--fs-sm);color:var(--cocoa-900)}.bins-title:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pink-400);box-shadow:0 0 0 2px var(--pink-100)}.bins-hint{padding:2px 8px;border-radius:var(--r-pill);background:#ffffffb8;font-size:var(--fs-xs);font-weight:800;color:var(--wood-700);text-align:right;box-shadow:inset 0 1px 0 var(--white)}.bins-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px 6px;padding:0}.jar-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:8px 3px 5px;border:1px solid transparent;border-radius:14px;background:linear-gradient(180deg,#ffffff75,#fff5e838);box-shadow:inset 0 1px #ffffffbf;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:transform var(--dur-nhe) var(--ease-bounce),background var(--dur-nhe),border-color var(--dur-nhe),box-shadow var(--dur-nhe)}@media(hover:hover){.jar-slot:hover{transform:translateY(-3px);background:#ffffffd1;border-color:var(--wood-300);box-shadow:0 4px 8px -4px #8a5f3c40,inset 0 1px 0 var(--white)}.jar-slot:hover .jar-tooltip{display:block}}.jar-slot:active,.jar-slot.is-held,.jar-slot:focus-visible{background:#ffffffe0;border-color:var(--wood-500)}.jar-slot:active .jar-tooltip,.jar-slot.is-held .jar-tooltip,.jar-slot:focus-visible .jar-tooltip{display:block}.jar-glass{position:relative;width:52px;height:58px;display:flex;flex-direction:column;align-items:center}.jar-glass:after{content:"";position:absolute;left:-6px;right:-6px;bottom:-5px;height:7px;border:1.5px solid var(--wood-700);border-radius:5px;background:linear-gradient(180deg,var(--wood-300),var(--wood-500));box-shadow:0 2px #3b21402e,inset 0 1px #fff9}.jar-lid{position:relative;width:36px;height:8.5px;margin-top:2px;border-radius:5px 5px 2px 2px;border:1.8px solid var(--cocoa-900);background:linear-gradient(180deg,var(--pink-200) 0%,var(--pink-400) 100%);box-shadow:inset 0 1.5px #ffffffd9;z-index:2}.jar-lid:before{content:"";position:absolute;left:50%;top:-4.5px;transform:translate(-50%);width:12px;height:4px;border-radius:4px 4px 1px 1px;border:1.5px solid var(--cocoa-900);border-bottom:0;background:linear-gradient(180deg,var(--pink-100),var(--pink-300))}.jar-body{position:relative;width:48px;height:48px;margin-top:-1.5px;border:1.8px solid var(--cocoa-900);border-radius:8px 8px 13px 13px;background:linear-gradient(180deg,#fffffff0,#fff8eed1);box-shadow:inset 0 2px 4px #fffffff2,inset 0 -3px 5px #8a5f3c26,0 2px #3b214024;overflow:hidden;display:flex;align-items:center;justify-content:center}.jar-body:after{content:"";position:absolute;right:4px;top:9px;bottom:9px;width:4px;background:linear-gradient(180deg,rgba(59,33,64,.22) 0 1.5px,transparent 1.5px 46%,rgba(59,33,64,.22) 46% calc(46% + 1.5px),transparent calc(46% + 1.5px) 92%,rgba(59,33,64,.22) 92% 100%);pointer-events:none;z-index:2}.jar-fill{position:absolute;inset:auto 0 0;height:100%;border-top:1.5px solid rgba(255,255,255,.88);background:linear-gradient(180deg,var(--butter-100),var(--peach-300));opacity:.68;transform-origin:bottom center;transition:transform var(--dur-nang) var(--ease-out)}.jar-shine{position:absolute;top:5px;left:4.5px;width:4.5px;height:27px;border-radius:var(--r-pill);background:#ffffffeb;pointer-events:none;z-index:2}.jar-art{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.72) 0%,transparent 72%)}.jar-art img{display:block;width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 2.5px rgba(59,33,64,.18))}.jar-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;min-height:2.3em;font-size:var(--fs-xs);font-weight:800;line-height:1.15;text-align:center;color:var(--cocoa-900)}.jar-badge{position:absolute;top:1px;right:-1px;padding:1px 6px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:900;line-height:1.2;white-space:nowrap;transform:rotate(6deg);box-shadow:0 0 0 1.5px var(--white),0 2px #3b214033;z-index:3}.jar-badge.low{background:var(--butter-300);color:var(--butter-text);border:1.5px solid var(--butter-700)}.jar-badge.out{background:var(--berry);color:var(--white);border:1.5px solid var(--berry-700)}.jar-tooltip{display:none;position:absolute;top:-10px;left:50%;transform:translate(-50%);padding:2px 8px;border-radius:var(--r-pill);background:var(--cocoa-900);color:var(--white);font-family:var(--font-display);font-weight:800;font-size:var(--fs-xs);line-height:1.3;white-space:nowrap;pointer-events:none;z-index:5}.jar-slot.out .jar-glass,.jar-slot.out .jar-name{opacity:.5;filter:grayscale(.6)}.jar-slot.low .jar-fill{background:linear-gradient(180deg,var(--peach-100),var(--berry-300))}.service-tray.brewing .rail-head,.service-tray.brewing .crew-row,.service-tray.brewing .rail-wrap{display:none}.delivery-section{display:flex;flex-direction:column;gap:var(--sp-2);margin:var(--sp-2) var(--sp-3) 0}.delivery-section[hidden]{display:none}.delivery-card{display:flex;flex-direction:column;gap:6px;padding:var(--sp-2) var(--sp-3);border:2px solid var(--peach-500);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--paper-50),var(--wood-100));box-shadow:0 3px 0 var(--peach-edge),var(--sh-soft);animation:pop-in var(--t-med) var(--ease-bounce)}.delivery-card.urgent{border-color:var(--berry);background:linear-gradient(180deg,var(--pink-50),var(--berry-100));box-shadow:0 3px 0 var(--berry)}.delivery-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:800}.delivery-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-pill);background:var(--peach-300);color:var(--text)}.delivery-timer{display:inline-flex;align-items:center;gap:3px;color:var(--peach-text);font-family:var(--font-display);font-variant-numeric:tabular-nums}.delivery-card.urgent .delivery-timer{color:var(--berry);font-weight:900}.delivery-payout{color:var(--mint-700);font-family:var(--font-display);font-variant-numeric:tabular-nums}.delivery-bar-track{height:5px;width:100%;border-radius:var(--r-pill);background:#3b21401f;overflow:hidden}.delivery-bar-fill{display:block;height:100%;width:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--mint-500),var(--peach-500));transform-origin:left center;transition:transform var(--t-fast) linear}.delivery-card.urgent .delivery-bar-fill{background:var(--berry)}.delivery-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:6px}.delivery-item-btn{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:44px;padding:6px 10px;border:0;border-radius:var(--r-md);background:var(--white);box-shadow:inset 0 1px 0 var(--paper-50),0 1px 2px #3b21401a;color:var(--text);font-size:var(--fs-xs);text-align:left;cursor:pointer;touch-action:manipulation;transition:transform var(--t-fast),background-color var(--t-fast),box-shadow var(--t-fast)}@media(hover:hover){.delivery-item-btn:hover:not(:disabled){transform:translateY(-2px)}}.delivery-item-btn.is-brewing{background:var(--pink-50);box-shadow:0 0 0 2px var(--pink-400)}.delivery-item-btn.done{background:var(--mint-100);color:var(--mint-text);cursor:default}.delivery-item-name{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-size:var(--fs-xs);line-height:1.2}.delivery-item-name .ico{width:13px;height:13px}.delivery-item-sugar{color:var(--text-soft);font-size:var(--fs-xs);line-height:1.2}}@layer screens{.game.selling-game{overflow:hidden;background:var(--cream)}.selling-game .gbar{padding-bottom:var(--sp-2)}.selling-game .gbar-lvl{display:none}.selling-game .gbar-day strong{font-size:var(--fs-xs);line-height:1.1}.gbar-day .day-sub-wrap .clock-wrap{display:inline-flex;align-items:center;gap:5px;padding:0;overflow:visible;border:0;background:none;color:var(--pink-700);flex:none}.clock-ring{--deg: calc(var(--p, 0) * 1turn);flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:conic-gradient(var(--pink-500) var(--deg),var(--pink-100) 0);box-shadow:0 1.5px 0 var(--pink-300)}.clock-ring svg{width:20px;height:20px}.selling-game .gbar-day .clock{padding:0;border:0;background:none;color:var(--cocoa-900);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;transition:color var(--t-med)}.gbar-day .day-sub-wrap .clock-wrap.late{color:var(--berry)}.clock-wrap.late .clock-ring{background:conic-gradient(var(--berry) var(--deg),var(--berry-100) 0);box-shadow:0 1.5px 0 var(--berry-300)}.clock-wrap.late .clock{color:var(--berry);animation:clock-late .9s ease-in-out infinite alternate}@keyframes clock-late{to{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.clock-wrap.late .clock{animation:none}}.service-hud-sub,.day-clock-row{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);max-width:100%;white-space:nowrap}.service-gift-chip{position:relative;display:inline-flex;align-items:center;gap:3px;height:22px;padding:2px 7px;border:1.5px solid var(--pink-300);border-radius:var(--r-pill);background:linear-gradient(180deg,var(--white),var(--pink-50));box-shadow:0 1.5px 0 var(--pink-200),inset 0 1px 0 var(--white);color:var(--pink-700);font-family:var(--font-display);font-size:var(--fs-xs);font-weight:800;line-height:1;white-space:nowrap;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:transform var(--t-fast) var(--ease-bounce),box-shadow var(--t-fast);flex:none}.service-gift-chip:after{content:"";position:absolute;inset:-11px -6px}.service-gift-chip:active{transform:translateY(1px) scale(.96);box-shadow:0 .5px 0 var(--pink-200)}.service-gift-chip[hidden]{display:none}.service-gift-chip .buff-chip-ico,.service-gift-chip .ico{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.service-gift-chip .buff-chip-ico svg,.service-gift-chip .ico svg{width:100%;height:100%}@media(hover:hover){.service-gift-chip:hover{background:var(--white);border-color:var(--pink-400)}}.selling-game .service-tray{min-height:0;overscroll-behavior:contain;background:var(--paper)}.selling-game .brew-panel{container-type:inline-size;box-shadow:var(--sh-soft);border-width:2px;padding:var(--sp-3)}.selling-game .brew-order{font-size:var(--fs-sm)}.selling-game .g-box>.btn-big,.selling-game .brew-panel>.g-row.wrap{position:sticky;bottom:var(--safe-bottom);z-index:8}.selling-game .brew-panel>.g-row.wrap{padding-top:var(--sp-2);padding-bottom:max(var(--sp-2),var(--safe-bottom));background:var(--cream)}@media(max-height:500px)and (orientation:landscape){.game.selling-game{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:var(--sp-3);padding-left:max(var(--sp-3),var(--safe-left));padding-right:max(var(--sp-3),var(--safe-right))}.game.selling-game>.gbar{grid-column:1 / -1}.game.selling-game>.scene{grid-column:1;align-self:start;height:auto;max-height:44vh;aspect-ratio:16 / 9}.game.selling-game>.tray{grid-column:2;grid-row:2;min-height:0}}@media(max-height:740px)and (max-width:959px){.selling-game .tray .g-pad{height:120px}.selling-game .brew-order{margin-block:var(--sp-1);line-height:1.3}.selling-game .g-box{gap:var(--sp-2)}}@media(min-width:960px){.game:not(.prep){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:var(--sp-6);padding-inline:var(--sp-5)}.game:not(.prep)>.gbar{grid-column:1 / -1;max-width:none;padding-inline:0}.game:not(.prep)>.scene{grid-column:1;align-self:start;border-radius:var(--r-xl)}.game:not(.prep)>.tray{grid-column:2;grid-row:2;min-height:0}.game:not(.prep)>.pause-cover{grid-column:1 / -1}.game.selling-game{max-width:1360px;grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);gap:var(--sp-3) var(--sp-5);padding-bottom:var(--sp-5)}.selling-game>.scene.counter-view,.selling-game>.scene.counter-view.brewing{height:auto;min-height:0;aspect-ratio:10 / 7}.selling-game .service-tray{border:1px solid var(--line);border-radius:var(--r-xl)}.selling-game .gbar-lvl{display:flex}}.selling-game .g-box>.btn-big:not(:focus-visible){outline:10px solid var(--cream)}.selling-game .g-box>.btn-big:disabled{opacity:1;filter:grayscale(.5) brightness(1.04)}}@layer components{.rail-wrap{position:relative;margin:0 var(--sp-3);padding:var(--sp-5) 0 var(--sp-3);contain:layout paint}.rail-wrap:before{content:"";position:absolute;left:4px;right:4px;top:13px;height:6px;border:1.5px solid var(--cocoa-900);border-radius:var(--r-pill);background:repeating-linear-gradient(90deg,var(--pink-400) 0 14px,var(--butter-300) 14px 28px,var(--peach-300) 28px 42px,var(--lilac-300) 42px 56px);box-shadow:0 2px #3b21402e,inset 0 1.5px #ffffffa6}.rail-wrap:after{content:"";position:absolute;left:0;right:0;top:10px;height:12px;pointer-events:none;background:radial-gradient(circle at 6px 6px,var(--butter-300) 3px,var(--wood-700) 3.5px 5.5px,transparent 6px),radial-gradient(circle at calc(100% - 6px) 6px,var(--butter-300) 3px,var(--wood-700) 3.5px 5.5px,transparent 6px)}.rail{position:relative;display:flex;gap:var(--sp-3);overflow-x:auto;padding:var(--sp-2) var(--sp-1) var(--sp-3);scroll-snap-type:x proximity;scrollbar-width:thin}.rail-empty{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:204px;min-height:112px;margin:0;padding:var(--sp-3);border:2px dashed var(--wood-500);border-radius:var(--r-md);background:linear-gradient(180deg,#ffffffd1,#fbf3e4bf);box-shadow:0 4px #8a5f3c1f,inset 0 2px 0 var(--white);color:var(--text-soft);font-size:var(--fs-sm);font-weight:800;transform:rotate(-.6deg)}.rail-empty:before{content:"";position:absolute;top:-13px;left:50%;width:16px;height:20px;margin-left:-8px;border:2px solid var(--cocoa-900);border-radius:4px 4px 6px 6px;background:linear-gradient(180deg,var(--butter-100),var(--butter-500));box-shadow:0 2px #3b21402e,inset 0 1.5px 0 var(--white)}.rail-empty .ico{width:30px;height:30px;color:var(--pink-500);opacity:.8;filter:drop-shadow(0 2px 0 var(--pink-100))}.ticket{position:relative;flex:none;width:216px;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-areas:"head head" "art name" "art tags" "spec spec" "foot foot" "bar bar";align-content:start;gap:5px var(--sp-2);padding:var(--sp-3) var(--sp-3) 11px;border:2.5px solid var(--butter-500);border-radius:var(--r-md);background:var(--cream);box-shadow:0 5px #3b21401f,var(--sh-soft),inset 0 2px #ffffffd9;color:var(--text);text-align:left;cursor:pointer;scroll-snap-align:start;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transform-origin:50% 0;transform:rotate(-.6deg);transition:transform var(--t-med) var(--ease-bounce),background var(--t-med),border-color var(--t-med),box-shadow var(--t-med);animation:ticket-drop var(--dur-nang) var(--ease-bounce) both}.ticket:nth-child(2n){transform:rotate(.6deg)}@keyframes ticket-drop{0%{opacity:0;transform:translateY(-20px) rotate(-6deg)}}.ticket:before{content:"";position:absolute;top:-15px;left:50%;width:22px;height:24px;margin-left:-11px;border:2px solid var(--cocoa-900);border-radius:5px 5px 8px 8px;background:linear-gradient(180deg,var(--butter-100) 0%,var(--butter-300) 48%,var(--butter-500) 82%,var(--wood-500) 100%);box-shadow:0 3px 4px #3b214038,inset 0 2px 0 var(--white),inset 0 -2px #8a5f3c73;z-index:3}.ticket:after{content:"";position:absolute;top:-6px;left:50%;width:12px;height:5px;margin-left:-6px;border:1.5px solid var(--cocoa-900);border-radius:var(--r-pill);background:linear-gradient(180deg,var(--white),var(--paper-100));box-shadow:0 1.5px #3b214040;z-index:4}@keyframes ticket-sway{0%{transform:rotate(0)}25%{transform:rotate(-3deg)}50%{transform:rotate(2.5deg)}75%{transform:rotate(-1.5deg)}to{transform:rotate(0)}}@media(hover:hover){.ticket:hover:not(:disabled){animation:ticket-sway var(--dur-cham) ease-in-out;transform:translateY(-4px) scale(1.02);box-shadow:0 8px 16px -6px #b4506440,0 5px 0 var(--pink-400),inset 0 2px 0 var(--white)}}.ticket.first{border-color:var(--pink-500);box-shadow:0 0 0 3px var(--pink-200),0 5px 0 var(--pink-400),0 12px 14px -10px #a82e6880,inset 0 2px 0 var(--white)}.ticket.active{border-color:var(--pink-500);background:linear-gradient(180deg,var(--pink-100),var(--pink-200));transform:translateY(6px) scale(.98);box-shadow:0 2px 0 var(--pink-400),0 0 12px #ec48994d}.ticket:disabled:not(.active){opacity:.55;cursor:default}.ticket-head{grid-area:head;display:flex;align-items:center;gap:6px;min-width:0;padding-bottom:6px;border-bottom:2px dashed rgba(59,33,64,.16)}.ticket-no{flex:none;padding:1px 8px;border-radius:var(--r-pill);background:var(--white);border:2px solid var(--cocoa-900);box-shadow:0 2px #3b214024;color:var(--cocoa-900);font-family:var(--font-display);font-size:var(--fs-xs);font-weight:800;line-height:1.3;font-variant-numeric:tabular-nums}.ticket-first{display:none;flex:0 1 auto;min-width:0;align-items:center;gap:3px;padding:1px 8px 1px 5px;border-radius:var(--r-pill);background:linear-gradient(180deg,var(--pink-400),var(--pink-500));color:var(--white);font-size:var(--fs-xs);font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 0 var(--pink-700)}.ticket-first .ico{flex:none;width:13px;height:13px}.ticket-first .ico svg{width:100%;height:100%}.ticket.first .ticket-first{display:inline-flex}.ticket-art{grid-area:art;align-self:center;display:grid;place-items:center;width:48px;height:60px;border-radius:var(--r-sm);background:radial-gradient(circle at 50% 55%,rgba(255,255,255,.85) 0%,transparent 72%)}.ticket-art img{display:block;width:46px;height:58px;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(59,33,64,.18))}.ticket-name{grid-area:name;align-self:end;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);line-height:1.2;color:var(--cocoa-900)}.ticket-tags{grid-area:tags;align-self:start;display:flex;flex-wrap:wrap;gap:3px;min-width:0}.ticket[data-paper=pink]{background:linear-gradient(180deg,var(--pink-50) 0%,var(--pink-100) 100%);border-color:var(--pink-400)}.ticket[data-paper=mint]{background:linear-gradient(180deg,var(--white) 0%,var(--mint-100) 100%);border-color:var(--mint-500)}.ticket[data-paper=butter]{background:linear-gradient(180deg,var(--paper-50) 0%,var(--butter-100) 100%);border-color:var(--butter-500)}.ticket[data-paper=cream]{background:linear-gradient(180deg,var(--paper-50) 0%,var(--paper-100) 100%);border-color:var(--wood-300)}.ticket-mood{flex:none;margin-left:auto;width:22px;height:22px;color:var(--mint-700);filter:drop-shadow(0 1.5px 0 rgba(59,33,64,.1))}.ticket-mood svg{width:100%;height:100%}.ticket-mood .t-face-ok,.ticket-mood .t-face-mid,.ticket-mood .t-face-low{display:none}.ticket:not([data-patience=mid]):not([data-patience=low]) .ticket-mood .t-face-ok{display:inline}.ticket[data-patience=mid] .ticket-mood{color:var(--peach-text)}.ticket[data-patience=mid] .ticket-mood .t-face-mid{display:inline}.ticket[data-patience=low] .ticket-mood{color:var(--berry)}.ticket[data-patience=low] .ticket-mood .t-face-low{display:inline}.ticket[data-patience=mid]{border-color:var(--peach-500)}.ticket[data-patience=low]{border-style:dashed;border-color:var(--berry);animation:ticket-rumble var(--dur-nhau) ease-in-out infinite}@keyframes ticket-rumble{0%,86%,to{transform:rotate(-.6deg)}89%{transform:rotate(-2.5deg) scale(.99)}93%{transform:rotate(1.8deg) scale(1.01)}96%{transform:rotate(-1deg)}}@media(prefers-reduced-motion:reduce){.ticket[data-patience=low]{animation:none}}.ticket-pictos{grid-area:spec;display:grid;grid-template-columns:auto 1.18fr .82fr auto;align-items:stretch;margin-top:2px;border:2px solid rgba(59,33,64,.16);border-radius:var(--r-sm);background:#ffffffe0;box-shadow:0 2px #3b21400f,inset 0 1px 0 var(--white)}.picto-chip{display:grid;grid-template-rows:24px auto;justify-items:center;align-items:center;gap:2px;min-width:0;padding:5px 5px 4px;color:var(--text)}.picto-chip+.picto-chip{border-left:1.5px dashed rgba(59,33,64,.15)}.picto-val{display:inline-flex;align-items:center;justify-content:center;gap:2.5px}.picto-label{color:var(--text-soft);font-size:var(--fs-xs);font-weight:800;line-height:1.1;white-space:nowrap}.picto-cup-tag{display:grid;place-items:center;width:23px;height:23px;border-radius:5px 5px 8px 8px;border-top:2.5px solid var(--pink-300);background:var(--cocoa-900);box-shadow:0 2px #3b214038;color:var(--white);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:900;line-height:1}.picto-sugar-cube{width:9px;height:9px;border-radius:2.5px;background:linear-gradient(135deg,var(--butter-100),var(--butter-500));border:1.5px solid var(--butter-700);box-shadow:0 1.5px #b8862a47,inset 0 1px #ffffffbf}.picto-ice-cube{width:9.5px;height:9.5px;border-radius:3px;background:linear-gradient(135deg,var(--white) 0%,var(--sky-100) 45%,var(--sky-300) 100%);border:1.5px solid var(--sky-700);box-shadow:0 1.5px #3f7fc040,inset 1px 1px 0 var(--white)}.picto-topping img{display:block;width:23px;height:23px;object-fit:contain;filter:drop-shadow(0 1.5px 1px rgba(59,33,64,.15))}.picto-empty,.picto-no-topping{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:#3b214012;color:var(--text-soft);font-size:var(--fs-xs);font-weight:800;line-height:1}.ticket-preview{display:none;position:absolute;left:50%;bottom:100%;transform:translate(-50%) translateY(-6px);padding:4px 8px;border-radius:var(--r-sm);background:var(--cocoa-900);color:var(--white);font-size:var(--fs-xs);font-weight:800;white-space:nowrap;pointer-events:none;z-index:20;box-shadow:var(--sh-soft)}@media(hover:hover){.ticket:hover:not(:disabled) .ticket-preview{display:block}}.ticket:focus-visible .ticket-preview,.ticket:active .ticket-preview{display:block}.ticket-kind{display:inline-flex;white-space:nowrap;align-items:center;gap:4px;width:fit-content;padding:2px 7px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:800;line-height:1.3;border:2px solid var(--line-strong);box-shadow:0 1.5px #3b21401a}.ticket-kind[data-kind=hoc-sinh]{background:var(--peach-100);color:var(--peach-text);border-color:var(--peach-500)}.ticket-kind[data-kind=van-phong]{background:var(--sky-100);color:var(--sky-700);border-color:var(--sky-500)}.ticket-kind[data-kind=ong-ba]{background:var(--butter-100);color:var(--peach-text);border-color:var(--butter-500)}.ticket-kind[data-kind=sanh-tra]{background:var(--mint-100);color:var(--mint-700);border-color:var(--mint-500)}.ticket.vip{border-color:var(--butter-edge);box-shadow:0 4px 12px #f59e0b40,0 4px 0 var(--star),inset 0 2px 0 var(--white);background:linear-gradient(180deg,var(--paper-100) 0%,var(--white) 100%)}.ticket-vip-badge{display:inline-flex;white-space:nowrap;align-items:center;gap:4px;width:fit-content;padding:2px 7px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--butter-100),var(--butter-300));color:var(--peach-text);border:2px solid var(--butter-edge);font-size:var(--fs-xs);font-weight:900}.ticket.regular{border-color:var(--lilac-edge)}.ticket-regular-badge{display:inline-flex;white-space:nowrap;align-items:center;gap:4px;width:fit-content;padding:1px 6px;border-radius:var(--r-pill);background:var(--lilac-100);color:var(--lilac-700);border:2px solid var(--lilac-300);font-size:var(--fs-xs);font-weight:800}.ticket.staffed{border-color:var(--lilac-500);opacity:.92}.ticket-foot{grid-area:foot;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-1);min-width:0;margin-top:1px}.ticket-price{display:inline-flex;align-items:center;padding:1px 8px;border-radius:var(--r-pill);background:#ffffffc7;border:1px solid rgba(59,33,64,.14);font-family:var(--font-display);font-size:var(--fs-md);font-weight:800;color:var(--cocoa-900);font-variant-numeric:tabular-nums}.ticket-foot .ticket-staff{padding:2px 8px;border-radius:var(--r-pill);background:var(--lilac-100);border:1px solid var(--lilac-300);color:var(--lilac-700);font-size:var(--fs-xs);font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-foot .ticket-staff[hidden]{display:none}.ticket-bar{grid-area:bar;position:relative;height:8px;margin:1px 0 0;overflow:hidden;border:1.5px solid rgba(59,33,64,.2);border-radius:var(--r-pill);background:#ffffffbf;box-shadow:inset 0 1px 2px #3b214024}.ticket-fill{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(180deg,var(--mint-300),var(--mint-700));width:100%;transform-origin:left center;transition:transform var(--dur-nhe) linear}.ticket-fill[data-level=mid]{background:linear-gradient(180deg,var(--butter-300),var(--butter-500))}.ticket-fill[data-level=low]{background:linear-gradient(180deg,var(--pink-400),var(--berry));animation:patience-pulse .8s ease-in-out infinite alternate}@keyframes patience-pulse{to{opacity:.55}}@media(prefers-reduced-motion:reduce){.ticket-fill[data-level=low]{animation:none}}.ticket.dropping{pointer-events:none;animation:ticket-fall var(--dur-vua) ease-in forwards}@keyframes ticket-fall{0%{transform:translateY(0) rotate(-.6deg);opacity:1}to{transform:translateY(70px) rotate(16deg);opacity:0}}.ticket.stamped{pointer-events:none;animation:ticket-slide-away var(--dur-vua) ease-out forwards}@keyframes ticket-slide-away{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05) translateY(-8px);opacity:.9}to{transform:translateY(-30px);opacity:0}}.ticket-stamp{position:absolute;right:12px;bottom:14px;padding:2px 8px;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--butter-100),var(--butter-300));border:1.5px solid var(--star);color:var(--star);font-family:var(--font-display);font-weight:900;font-size:var(--fs-sm);transform:rotate(-12deg);box-shadow:0 2px 6px #b0650c59;animation:stamp-pop var(--dur-nhe) cubic-bezier(.175,.885,.32,1.275) both}@keyframes stamp-pop{0%{transform:scale(2) rotate(-25deg);opacity:0}to{transform:scale(1) rotate(-12deg);opacity:1}}.ticket.staffed{border-color:var(--butter-500);background:linear-gradient(180deg,var(--white),var(--butter-100));box-shadow:0 4px 0 var(--butter-500),var(--sh-soft);cursor:default}.ticket.staffed:disabled{opacity:1}.ticket-staff{grid-column:1 / -1;justify-self:start;display:inline-flex;align-items:center;gap:4px;padding:2px var(--sp-2);border-radius:var(--r-pill);background:var(--butter-300);color:var(--cocoa-900);font-family:var(--font-display);font-size:var(--fs-xs);font-weight:800;line-height:1.2}.ticket-staff[hidden]{display:none}@media(prefers-reduced-motion:reduce){.ticket.dropping,.ticket.stamped,.ticket-stamp{animation:none}}}
