@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);--spring-nhe: linear(0, .1, .35, .65, .9, 1.05, 1.09, 1.07, 1.03, 1.01, 1);--spring-vua: linear(0, .1, .3, .55, .8, .98, 1.05, 1.05, 1.02, 1);--spring-nang: linear(0, .08, .25, .5, .72, .88, .97, 1.01, 1.02, 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{*{box-sizing:border-box;touch-action:manipulation}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,.gbar-btn{--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),.gbar-btn: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),.gbar-btn: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}.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;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}.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:2.5px 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{display:grid;gap:4px;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-chips{display:flex;flex-wrap:wrap;gap:4px}.bt-chip{padding:1.5px 8px;border:1.5px 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)}.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:100dvh;max-width:100vw;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: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}.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;inset:0;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%) -150% 0 / 55% 100% no-repeat;animation:floral-shimmer 4.4s ease-in-out infinite}@keyframes floral-shimmer{0%,48%{background-position:-150% 0}to{background-position:250% 0}}.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{.settings-page,.name-page{max-width:520px;margin:0 auto;min-height:100dvh;padding:var(--sp-4) var(--gutter) calc(var(--sp-6) + var(--safe-bottom));display:flex;flex-direction:column;gap:var(--sp-4)}.settings-card,.settings-card.paper-card{background:linear-gradient(180deg,var(--paper-50) 0%,var(--cream) 100%);border:1px solid var(--pink-300);border-radius:var(--r-xl);padding:clamp(14px,4vw,var(--sp-5));box-shadow:var(--sh-panel);display:flex;flex-direction:column;gap:var(--sp-4)}.settings-page .btn,.settings-page .candy-track,.settings-page .candy-thumb{border-width:1px}.settings-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);border-bottom:1px dashed var(--pink-200);padding-bottom:var(--sp-3)}.settings-title-row{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.settings-title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:800;color:var(--cocoa-900);margin:0;white-space:nowrap}.settings-back-btn,.settings-rename-btn{flex-shrink:0;white-space:nowrap;min-height:44px;min-width:44px;padding:0 var(--sp-3);font-size:var(--fs-sm)}.settings-section{display:flex;flex-direction:column;gap:var(--sp-3)}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 3px 0 var(--line)}.settings-item-left{display:flex;align-items:flex-start;gap:var(--sp-3);min-width:0;flex:1}.settings-row-ico{flex-shrink:0;margin-top:2px;font-size:var(--fs-lg)}.settings-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-item-title{font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);color:var(--cocoa-900)}.settings-item-desc{font-size:var(--fs-xs);color:var(--text-soft);font-weight:600;line-height:1.35}.settings-item .candy-toggle{flex-shrink:0;min-height:44px;min-width:48px;justify-content:center}.settings-item .candy-label{position:absolute;clip-path:inset(50%);opacity:0;pointer-events:none;padding:0;margin:0;border:0}.settings-profile-card{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:linear-gradient(180deg,var(--butter-100),var(--cream));border:1px solid var(--butter-300);border-radius:var(--r-lg);box-shadow:0 3px 0 var(--butter-300)}.settings-profile-info{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-profile-name{font-family:var(--font-display);font-weight:800;font-size:var(--fs-md);color:var(--wood-700)}.settings-profile-meta{font-size:var(--fs-xs);color:var(--butter-text);font-weight:700}.settings-note-box{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:#ffffffb3;border:1px dashed var(--line-strong);border-radius:var(--r-md);font-size:var(--fs-xs);color:var(--text-soft);font-weight:700;line-height:1.4}.name-diba-banner{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-2)}.name-diba-avatar{width:76px;height:76px;border-radius:50%;border:1px solid var(--pink-300);background:radial-gradient(circle at 35% 30%,var(--white),var(--pink-100));box-shadow:0 4px 0 var(--pink-300);overflow:hidden;flex-shrink:0;display:grid;place-items:end center}.name-diba-avatar svg{width:62px;margin-bottom:-6px}.name-diba-bubble{position:relative;background:var(--white);border:1px solid var(--pink-300);border-radius:var(--r-xl) var(--r-xl) var(--r-xl) var(--r-xs);padding:var(--sp-3) var(--sp-4);box-shadow:0 4px 0 var(--pink-200);flex:1}.name-diba-bubble p{margin:0;font-size:var(--fs-sm);font-weight:700;line-height:1.4;color:var(--cocoa-900)}.barista-license-card{position:relative;background:linear-gradient(180deg,var(--paper-50) 0%,var(--cream) 100%);border:1px solid var(--peach-300);border-radius:var(--r-xl);padding:clamp(14px,4vw,var(--sp-5));box-shadow:0 8px 0 var(--peach-500),0 20px 28px -12px #783c282e,inset 0 2px 0 var(--white);display:flex;flex-direction:column;gap:var(--sp-4)}.license-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed var(--peach-300);padding-bottom:var(--sp-2)}.license-title-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:var(--fs-xs);font-weight:900;color:var(--text-soft);background:var(--wood-100);border:1px solid var(--peach-500);padding:3px 10px;border-radius:var(--r-pill);letter-spacing:.05em}.license-number{font-size:var(--fs-xs);font-weight:800;color:var(--text-soft);font-variant-numeric:tabular-nums}.license-form{display:flex;flex-direction:column;gap:var(--sp-3)}.license-field{display:flex;flex-direction:column;gap:6px}.license-label{font-family:var(--font-display);font-size:var(--fs-sm);font-weight:800;color:var(--cocoa-900);display:flex;align-items:center;gap:6px}.license-input{width:100%;padding:var(--sp-3) var(--sp-4);border:1px solid var(--peach-300);border-radius:var(--r-lg);background:var(--white);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:800;color:var(--cocoa-900);box-shadow:inset 0 2px 4px #0000000a;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.license-input:focus{outline:none;border-color:var(--peach-500);box-shadow:0 0 0 3px #f9731633,inset 0 2px 4px #0000000a}.license-actions{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-2)}.license-submit-btn{font-size:var(--fs-lg);min-height:54px;border-width:1px}.license-cancel-btn{min-height:44px;border-width:1px}.license-lanyard-slot{display:flex;justify-content:center;margin-top:-6px;margin-bottom:2px}.license-lanyard-hole{width:46px;height:10px;border-radius:var(--r-pill);background:var(--white);border:1px solid var(--sky-300);box-shadow:inset 0 2px 4px #00000026}.license-footer-seal{display:flex;justify-content:flex-end;margin-top:4px}.seal-stamp{font-family:var(--font-display);font-size:var(--fs-xs);font-weight:800;color:var(--peach-text);background:#fed7aa73;border:1px dashed var(--peach-edge);padding:3px 10px;border-radius:6px;transform:rotate(-2deg);letter-spacing:.02em}.name-shopfront{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:-4px}.name-shopfront-awning{width:100%}.name-shopfront-awning svg{width:100%;height:auto;display:block}.mini-sign-group{transform-box:fill-box;transform-origin:center}.mini-sign-group.bounce{animation:sign-hop var(--dur-vua) var(--spring-vua)}@keyframes sign-hop{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}}@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}}
