@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(./inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(./inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(./inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(./inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(./inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(./inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(./inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(./inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(./inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(./inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(./inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff) format("woff");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:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(./poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(./poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");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:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(./poppins-latin-600-normal-BJdTmd5m.woff) format("woff");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:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(./poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(./poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");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:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(./poppins-latin-700-normal-BVuQR_eA.woff) format("woff");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}:root{--color-primary: #a27b5c;--color-primary-deep: #87674d;--color-primary-dark: #513e2e;--color-primary-tint: #ece5de;--color-primary-tint-2: #e0d3c9;--color-accent: #178f6f;--color-accent-tint: #d3f7ed;--color-accent-deep: #0b4837;--color-highlight: #ffa90b;--color-highlight-tint: #ffe2ae;--color-highlight-deep: #553804;--color-danger: #f14c35;--color-danger-tint: #fcdbd7;--color-white: #ffffff;--color-ink: #202728;--color-ink-2: #354142;--color-ink-3: #3f4e4f;--color-muted: #8a9091;--color-surface: #ffffff;--color-surface-alt: #f6f6f6;--color-line: #e6e2dd;--font-body: "Inter", system-ui, -apple-system, "PingFang SC", "Noto Sans CJK SC", sans-serif;--font-display: "Poppins", "Inter", system-ui, "PingFang SC", sans-serif;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 20px;--radius-pill: 100px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--fs-xs: 11px;--fs-sm: 13px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 30px;--shadow-card: 0 2px 10px rgba(32, 39, 40, .06);--shadow-float: 0 8px 24px rgba(32, 39, 40, .16);--shell-max: 390px;--color-success: var(--color-accent);--color-warning: var(--color-highlight)}[data-theme=dark]{--color-primary: #b98f6e;--color-primary-deep: #a27b5c;--color-primary-dark: #e0d3c9;--color-primary-tint: #354142;--color-primary-tint-2: #3f4e4f;--color-ink: #f1efec;--color-ink-2: #d9dcda;--color-ink-3: #bfc4c4;--color-muted: #8a9091;--color-surface: #202728;--color-surface-alt: #2a3233;--color-line: #3a4243;--shadow-card: 0 2px 10px rgba(0, 0, 0, .4);--shadow-float: 0 8px 24px rgba(0, 0, 0, .55)}img,svg{display:block;max-width:100%}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);color:var(--color-ink);background:var(--color-surface-alt);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}.shell{max-width:var(--shell-max);margin:0 auto;min-height:100dvh;background:var(--color-surface);display:flex;flex-direction:column;position:relative}.shell__scroll{flex:1;padding-bottom:76px}.shell__scroll--flush{padding-bottom:0}.section{padding:0 var(--space-4)}.section__title{font-size:var(--fs-lg);font-weight:700;color:var(--color-ink);margin:var(--space-5) 0 var(--space-3)}a{color:inherit}:root{--color-page-bg: #e9e4df}html,body,#root{height:auto;min-height:100%}#root{align-items:flex-start}.shell,.app-shell{min-height:100vh;min-height:100dvh}body{background:var(--color-page-bg, #e9e4df)}.toast-region{position:fixed;left:50%;top:18px;transform:translate(-50%);z-index:80;display:flex;flex-direction:column;gap:var(--space-2);width:min(calc(100vw - 32px),400px);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-surface);font-size:var(--fs-sm);font-weight:500;box-shadow:var(--shadow-float);animation:toast-in .22s cubic-bezier(.2,.9,.3,1.1)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}}.toast__icon{display:inline-flex;flex-shrink:0}.toast--success .toast__icon{color:var(--color-highlight)}.toast--info .toast__icon{color:var(--color-accent-tint)}.toast--warning .toast__icon{color:var(--color-highlight-tint)}.toast--error .toast__icon{color:var(--color-danger-tint)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:var(--shell-max);display:flex;background:var(--color-surface);border-top:1px solid var(--color-line);padding-bottom:env(safe-area-inset-bottom,0);z-index:40}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) 0 var(--space-3);text-decoration:none;color:var(--color-muted);font-size:10px;font-weight:500}.bottom-nav__item--active{color:var(--color-primary-deep)}.bottom-nav__icon{position:relative;display:inline-flex}.bottom-nav__badge{position:absolute;top:-5px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-highlight);color:var(--color-highlight-deep);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.bottom-nav__dot{position:absolute;top:-2px;right:-4px;width:8px;height:8px;border-radius:50%;background:var(--color-danger)}.input{display:flex;flex-direction:column;gap:var(--space-2)}.input__label{font-size:var(--fs-sm);font-weight:600;color:var(--color-ink-2)}.input__shell{display:flex;align-items:center;gap:var(--space-2);height:46px;padding:0 var(--space-4);background:var(--color-surface-alt);border:1px solid transparent;border-radius:var(--radius-md);transition:border-color .15s ease,background .15s ease}.input__shell:focus-within{border-color:var(--color-primary);background:var(--color-surface)}.input__shell--error{border-color:var(--color-danger)}.input__shell--disabled{opacity:.6}.input__affix{display:inline-flex;align-items:center;color:var(--color-muted);font-size:var(--fs-md);flex-shrink:0}.input__field{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--color-ink);font-size:var(--fs-md)}.input__field::placeholder{color:var(--color-muted)}.input__error{color:var(--color-danger);font-size:var(--fs-sm)}.input__hint{color:var(--color-muted);font-size:var(--fs-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-pill);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:filter .15s ease,transform .05s ease,background .15s ease;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--block{width:100%}.btn__icon{display:inline-flex}.btn__spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn--sm{height:32px;padding:0 var(--space-4);font-size:var(--fs-sm)}.btn--md{height:42px;padding:0 var(--space-5);font-size:var(--fs-md)}.btn--lg{height:50px;padding:0 var(--space-6);font-size:var(--fs-lg)}.btn--primary{background:var(--color-primary);color:var(--color-white)}.btn--primary:hover:not(:disabled){filter:brightness(1.06)}.btn--secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-line)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-alt)}.btn--ghost{background:transparent;color:var(--color-primary-deep)}.btn--ghost:hover:not(:disabled){background:var(--color-primary-tint)}.btn--highlight{background:var(--color-highlight);color:var(--color-highlight-deep)}.btn--highlight:hover:not(:disabled){filter:brightness(1.05)}.btn--danger{background:var(--color-danger);color:var(--color-white)}.btn--danger:hover:not(:disabled){filter:brightness(1.05)}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox--disabled{opacity:.5;cursor:not-allowed}.checkbox__native{position:absolute;opacity:0;width:1px;height:1px}.checkbox__box{width:19px;height:19px;border-radius:var(--radius-xs);border:1.5px solid var(--color-line);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;color:var(--color-white);transition:background .15s ease,border-color .15s ease;flex-shrink:0}.checkbox__native:focus-visible+.checkbox__box{outline:2px solid var(--color-primary);outline-offset:1px}.checkbox__box--on{background:var(--color-primary);border-color:var(--color-primary)}.checkbox__label{font-size:var(--fs-sm);color:var(--color-ink-2)}.login{min-height:100dvh;display:flex;flex-direction:column;background:var(--color-primary-deep)}.login__hero{padding:var(--space-8) var(--space-6) var(--space-6);color:#fff}.login__logo{width:52px;height:52px;border-radius:var(--radius-lg);background:var(--color-highlight);color:var(--color-highlight-deep);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.login__brand{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:700}.login__slogan{margin-top:var(--space-2);color:var(--color-primary-tint-2);font-size:var(--fs-md)}.login__card{flex:1;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-5) var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.login__tabs{display:flex;gap:var(--space-5);border-bottom:1px solid var(--color-line);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.login__tab{background:none;border:none;padding:var(--space-2) 0;font-size:var(--fs-lg);font-weight:600;color:var(--color-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.login__tab--active{color:var(--color-primary-deep);border-bottom-color:var(--color-primary)}.login__form{display:flex;flex-direction:column;gap:var(--space-4)}.login__send{border:none;background:transparent;color:var(--color-primary);font-weight:600;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;padding:0}.login__send:disabled{color:var(--color-muted);cursor:not-allowed}.login__agree-error{color:var(--color-danger);font-size:var(--fs-sm);margin-top:-6px}.login__link{color:var(--color-primary);text-decoration:underline}.login__divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:var(--fs-xs)}.login__divider:before,.login__divider:after{content:"";flex:1;height:1px;background:var(--color-line)}.login__wechat{display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:46px;border-radius:var(--radius-pill);border:1px solid var(--color-line);background:var(--color-surface);font-weight:600;color:var(--color-ink-2);cursor:pointer}.login__wechat:hover{background:var(--color-surface-alt)}.login__demo-hint{text-align:center;font-size:var(--fs-xs);color:var(--color-muted)}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-pill);cursor:pointer;color:var(--color-ink);background:transparent;transition:background .15s ease,transform .05s ease}.icon-btn:active:not(:disabled){transform:scale(.95)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn--sm{width:34px;height:34px}.icon-btn--md{width:42px;height:42px}.icon-btn--plain:hover:not(:disabled){background:var(--color-primary-tint)}.icon-btn--filled{background:var(--color-surface);box-shadow:var(--shadow-card)}.icon-btn--filled:hover:not(:disabled){background:var(--color-surface-alt)}.icon-btn__badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-highlight);color:var(--color-highlight-deep);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none}.badge{display:inline-flex;align-items:center;justify-content:center}.badge--count{min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);font-size:11px;font-weight:700}.badge--dot{width:8px;height:8px;border-radius:50%}.badge--tag{height:22px;padding:0 var(--space-2);border-radius:var(--radius-xs);font-size:var(--fs-xs);font-weight:600}.badge--highlight{background:var(--color-highlight);color:var(--color-highlight-deep)}.badge--accent{background:var(--color-accent-tint);color:var(--color-accent-deep)}.badge--danger{background:var(--color-danger-tint);color:var(--color-danger)}.badge--neutral{background:var(--color-surface-alt);color:var(--color-ink-3)}.card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden}.card--flat{border:1px solid var(--color-line)}.card--raised{box-shadow:var(--shadow-card)}.card--interactive{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.card--interactive:hover{transform:translateY(-1px);box-shadow:var(--shadow-float)}.card--interactive:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tabs{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs--underline{gap:var(--space-5);border-bottom:1px solid var(--color-line)}.tabs--pill{gap:var(--space-2)}.tabs__tab{border:none;background:transparent;cursor:pointer;color:var(--color-muted);font-weight:600;font-family:var(--font-body);transition:color .15s ease;white-space:nowrap}.tabs--md .tabs__tab{font-size:var(--fs-md);padding:var(--space-2) 0}.tabs--sm .tabs__tab{font-size:var(--fs-sm)}.tabs__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.tabs--underline .tabs__tab{border-bottom:2px solid transparent;margin-bottom:-1px}.tabs--underline .tabs__tab--active{color:var(--color-primary-deep);border-bottom-color:var(--color-primary)}.tabs--pill .tabs__tab{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4)}.tabs--pill .tabs__tab:hover{background:var(--color-primary-tint)}.tabs--pill .tabs__tab--active{background:var(--color-primary);color:var(--color-white)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8) var(--space-6);gap:var(--space-3)}.empty-state__icon{width:72px;height:72px;border-radius:50%;background:var(--color-primary-tint);color:var(--color-primary-deep);display:flex;align-items:center;justify-content:center}.empty-state__title{font-size:var(--fs-lg);font-weight:700;color:var(--color-ink)}.empty-state__desc{font-size:var(--fs-sm);color:var(--color-muted);max-width:280px}.empty-state__action{margin-top:var(--space-2)}.home__hero{background:var(--color-primary-deep);padding:var(--space-5) var(--space-4) var(--space-5);color:#fff}.home__topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.home__user{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;border:1.5px solid rgba(255,255,255,.5);border-radius:var(--radius-pill);color:#fff;padding:5px var(--space-4) 5px 6px;font-weight:600;cursor:pointer}.home__avatar{width:30px;height:30px;border-radius:50%;background:var(--color-primary-tint-2);color:var(--color-primary-dark);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:700}.home__topbar-actions{display:flex;gap:var(--space-2)}.home__topbar-actions .icon-btn--filled{background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff;box-shadow:none}.home__headline{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:700;line-height:1.25}.home__headline--accent{color:var(--color-highlight-tint)}.home__store-card{margin-top:var(--space-5);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer}.home__store-icon{width:40px;height:40px;border-radius:50%;background:var(--color-ink-3);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.home__store-info{flex:1;min-width:0}.home__store-name{font-weight:700;color:var(--color-ink);font-size:var(--fs-md)}.home__store-meta{font-size:var(--fs-sm);color:var(--color-primary);margin-top:2px}.home__store-chevron{color:var(--color-muted)}.home__status-wrap{margin-top:calc(var(--space-4) * -1);position:relative;z-index:2}.home__status{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;border-left:4px solid var(--color-accent);text-decoration:none;color:inherit}.home__status--ready{border-left-color:var(--color-highlight)}.home__status--pending{border-left-color:var(--color-danger)}.home__status-icon{width:38px;height:38px;border-radius:50%;background:var(--color-accent-tint);color:var(--color-accent-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0}.home__status--ready .home__status-icon{background:var(--color-highlight-tint);color:var(--color-highlight-deep)}.home__status-body{flex:1;min-width:0}.home__status-title{font-weight:700;font-size:var(--fs-md);color:var(--color-ink)}.home__status-meta{font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px}.home__coupon{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;text-decoration:none;color:inherit}.home__coupon-icon{width:38px;height:38px;border-radius:50%;background:var(--color-highlight-tint);color:var(--color-highlight-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0}.home__coupon-title{font-weight:700;color:var(--color-ink)}.home__coupon-meta{font-size:var(--fs-sm);color:var(--color-muted)}.home__cat-row{overflow-x:auto;margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4);scrollbar-width:none}.home__cat-row::-webkit-scrollbar{display:none}.home__section-head{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2)}.home__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-3)}.home__item{cursor:pointer;text-decoration:none;color:inherit;display:block}.home__item-photo{aspect-ratio:4 / 3;background:var(--color-primary-tint)}.home__item-photo img{width:100%;height:100%;object-fit:cover}.home__item-photo-fallback{width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary-tint-2),var(--color-primary-tint))}.home__item-body{padding:var(--space-3)}.home__item-name{font-weight:700;font-size:var(--fs-md);color:var(--color-ink)}.home__item-desc{font-size:var(--fs-xs);color:var(--color-muted);margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.home__item-foot{display:flex;align-items:baseline;justify-content:space-between;margin-top:var(--space-2)}.home__item-price{font-weight:700;color:var(--color-primary-deep);font-size:var(--fs-lg)}.home__item-sold{font-size:var(--fs-xs);color:var(--color-muted)}.home__feed{display:flex;flex-direction:column;gap:var(--space-3)}.home__feed-item{display:flex;gap:var(--space-3);align-items:flex-start}.home__feed-dot-wrap{width:8px;padding-top:6px;flex-shrink:0;display:flex;justify-content:center}.home__feed-body{flex:1;min-width:0}.home__feed-title{font-weight:600;font-size:var(--fs-md);color:var(--color-ink)}.home__feed-meta{font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px}.home__hours{display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--fs-sm);padding-bottom:var(--space-6)}.home__hours-icon{color:var(--color-primary);display:inline-flex}.menu__header{padding:var(--space-5) var(--space-4) 0;display:flex;flex-direction:column;gap:var(--space-3)}.menu__title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;color:var(--color-ink)}.menu__tabs{overflow-x:auto;margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4) var(--space-1);scrollbar-width:none}.menu__tabs::-webkit-scrollbar{display:none}.menu__list{list-style:none;margin:var(--space-3) 0 0;padding-bottom:96px;display:flex;flex-direction:column;gap:var(--space-3)}.menu__item{display:flex;gap:var(--space-3);padding:var(--space-3);text-decoration:none;color:inherit}.menu__item--off{opacity:.7}.menu__thumb{width:96px;height:96px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;position:relative;background:var(--color-primary-tint)}.menu__thumb img{width:100%;height:100%;object-fit:cover}.menu__thumb-fallback{width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary-tint-2),var(--color-primary-tint))}.menu__soldout{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#2027288c;color:#fff;font-size:var(--fs-sm);font-weight:700;letter-spacing:2px}.menu__body{flex:1;min-width:0;display:flex;flex-direction:column}.menu__name-row{display:flex;align-items:center;gap:var(--space-2);justify-content:space-between}.menu__name{font-weight:700;font-size:var(--fs-md);color:var(--color-ink)}.menu__desc{font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.menu__meta{font-size:var(--fs-xs);color:var(--color-muted);margin-top:2px}.menu__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-2)}.menu__price{font-weight:700;color:var(--color-primary-deep);font-size:var(--fs-lg)}.menu__cart-fab{position:fixed;bottom:86px;left:50%;transform:translate(calc(min(var(--shell-max, 390px),100vw)/2 - 100% - 20px));width:52px;height:52px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-float);z-index:30}.menu__cart-fab:hover{filter:brightness(1.06)}.menu__cart-count{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-highlight);color:var(--color-highlight-deep);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.page-header{padding:var(--space-4) var(--space-4) var(--space-2)}.page-header__row{display:flex;align-items:center;gap:var(--space-3)}.page-header__back{width:40px;height:40px;border-radius:50%;border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease}.page-header__back:hover{background:var(--color-surface-alt)}.page-header__title{flex:1;min-width:0;font-size:var(--fs-2xl);font-weight:700;font-family:var(--font-display);color:var(--color-ink);line-height:1.2}.page-header__actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.page-header__subtitle{margin-top:var(--space-1);padding-left:calc(40px + var(--space-3));font-size:var(--fs-sm);color:var(--color-muted)}.textarea{display:flex;flex-direction:column;gap:var(--space-2)}.textarea__label{font-size:var(--fs-sm);font-weight:600;color:var(--color-ink-2)}.textarea__field{padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);border:1px solid transparent;border-radius:var(--radius-md);outline:none;color:var(--color-ink);font-size:var(--fs-md);font-family:var(--font-body);resize:vertical;min-height:80px;transition:border-color .15s ease}.textarea__field:focus{border-color:var(--color-primary);background:var(--color-surface)}.textarea__field--error{border-color:var(--color-danger)}.textarea__error{color:var(--color-danger);font-size:var(--fs-sm)}.qty{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:2px;background:var(--color-surface)}.qty__btn{width:26px;height:26px;border-radius:50%;border:none;background:transparent;color:var(--color-primary-deep);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease}.qty__btn:hover:not(:disabled){background:var(--color-primary-tint)}.qty__btn:disabled{opacity:.35;cursor:not-allowed}.qty__value{min-width:22px;text-align:center;font-size:var(--fs-sm);font-weight:700;color:var(--color-ink)}.qty--small .qty__btn{width:22px;height:22px}.customize__hero{position:relative;min-height:240px;background:var(--color-primary-dark)}.customize__photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.85}.customize__hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#2027288c,#2027280d 40%,#513e2ed9)}.customize__hero-header{position:relative;z-index:2}.customize__hero-header .page-header__title{color:#fff}.customize__hero-header .page-header__back{background:#ffffffd9}.customize__hero-text{position:relative;z-index:2;padding:var(--space-6) var(--space-4) var(--space-4);color:#fff}.customize__name{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;text-shadow:0 1px 6px rgba(32,39,40,.5)}.customize__desc{margin-top:var(--space-2);font-size:var(--fs-md);color:var(--color-primary-tint);text-shadow:0 1px 4px rgba(32,39,40,.5)}.customize__tags{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.customize__tag{background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-xs);padding:2px var(--space-2);font-size:var(--fs-xs)}.customize__content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5);padding-bottom:180px}.customize__store{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);cursor:pointer;font-size:var(--fs-sm);color:var(--color-ink-2)}.customize__store-icon{color:var(--color-primary)}.customize__store-name{font-weight:700;color:var(--color-ink)}.customize__store-meta{color:var(--color-muted);margin-left:auto}.customize__group-title{font-size:var(--fs-md);font-weight:700;color:var(--color-ink);margin-bottom:var(--space-3)}.customize__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.customize__chip{border:1.5px solid var(--color-line);background:var(--color-surface);color:var(--color-ink-2);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:border-color .12s ease,background .12s ease}.customize__chip:hover{border-color:var(--color-primary)}.customize__chip--on{border-color:var(--color-primary);background:var(--color-primary-tint);color:var(--color-primary-dark)}.customize__chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.customize__chip-delta{margin-left:4px;font-size:var(--fs-xs);color:var(--color-primary)}.customize__fav-row{display:flex;justify-content:center}.customize__bar{position:fixed;left:0;right:0;bottom:64px;margin:0 auto;max-width:var(--shell-max);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-line);z-index:40}.customize__add{flex:1}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#20272873;padding:var(--space-4);animation:modal-fade .18s ease}.modal__panel{width:100%;max-height:min(84vh,640px);max-width:420px;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);animation:modal-pop .2s cubic-bezier(.2,.9,.3,1.2)}.modal__panel--sm{max-width:320px}.modal__panel--lg{max-width:520px}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:scale(.94) translateY(8px)}}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5) 0}.modal__title{font-size:var(--fs-lg);font-weight:700;color:var(--color-ink)}.modal__close{border:none;background:transparent;color:var(--color-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.modal__close:hover{background:var(--color-surface-alt)}.modal__body{padding:var(--space-4) var(--space-5);overflow-y:auto}.modal__footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-line);display:flex;gap:var(--space-3);justify-content:flex-end}.cart__list{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);padding-bottom:130px}.cart__item{padding:var(--space-3) var(--space-4)}.cart__item-main{display:flex;gap:var(--space-3)}.cart__thumb{width:64px;height:64px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background:var(--color-primary-tint)}.cart__thumb img{width:100%;height:100%;object-fit:cover}.cart__thumb-fallback{width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary-tint-2),var(--color-primary-tint))}.cart__info{flex:1;min-width:0}.cart__name{font-weight:700;color:var(--color-ink)}.cart__opts{font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px}.cart__note{font-size:var(--fs-xs);color:var(--color-ink-3);background:var(--color-surface-alt);border-radius:var(--radius-xs);padding:3px var(--space-2);margin-top:var(--space-1);display:inline-block}.cart__unit{font-size:var(--fs-xs);color:var(--color-muted);margin-top:var(--space-1)}.cart__actions{display:flex;flex-direction:column;gap:var(--space-1)}.cart__item-foot{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-line)}.cart__line-total{font-weight:700;color:var(--color-primary-deep);font-size:var(--fs-lg)}.cart__bar{position:fixed;left:0;right:0;bottom:64px;margin:0 auto;max-width:var(--shell-max);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-line);box-shadow:0 -4px 16px #2027280f;z-index:35}.cart__total{display:flex;flex-direction:column}.cart__total-label{font-size:var(--fs-xs);color:var(--color-muted)}.cart__total-value{font-weight:700;font-size:var(--fs-xl);color:var(--color-primary-deep)}.qr-code{border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.checkout__group{margin-bottom:var(--space-4)}.checkout__group-title{font-size:var(--fs-md);font-weight:700;color:var(--color-ink);margin-bottom:var(--space-3)}.checkout__card{padding:var(--space-4)}.checkout__mode-tabs{margin-bottom:var(--space-3)}.checkout__stores{display:flex;flex-direction:column;gap:var(--space-2)}.checkout__store{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1.5px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-sm);color:var(--color-ink-2)}.checkout__store--on{border-color:var(--color-primary);background:var(--color-primary-tint)}.checkout__store-name{font-weight:700;color:var(--color-ink)}.checkout__store-meta{margin-left:auto;color:var(--color-muted);font-size:var(--fs-xs)}.checkout__radio{accent-color:var(--color-primary);margin:0}.checkout__addr{display:flex;gap:var(--space-2);align-items:flex-start}.checkout__addr-icon{color:var(--color-primary);margin-top:3px}.checkout__addr-title{font-weight:700;color:var(--color-ink);font-size:var(--fs-md)}.checkout__addr-detail{font-size:var(--fs-sm);color:var(--color-ink-3);margin-top:2px}.checkout__addr-hint{font-size:var(--fs-xs);color:var(--color-muted);margin-top:var(--space-1)}.checkout__lines{padding:var(--space-2) var(--space-4)}.checkout__line{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--fs-sm);color:var(--color-ink-2)}.checkout__line-qty{color:var(--color-muted);margin-left:4px}.checkout__line-price{font-weight:600;color:var(--color-ink);white-space:nowrap}.checkout__line--sub{border-top:1px dashed var(--color-line);color:var(--color-muted)}.checkout__line--discount{color:var(--color-accent-deep)}.checkout__line--total{border-top:1px solid var(--color-line);font-weight:700;color:var(--color-ink);font-size:var(--fs-md)}.checkout__hint{font-size:var(--fs-sm);color:var(--color-muted)}.checkout__coupons{display:flex;flex-direction:column;gap:var(--space-2)}.checkout__coupon{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1.5px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;flex-wrap:wrap}.checkout__coupon--on{border-color:var(--color-accent);background:var(--color-accent-tint)}.checkout__coupon-title{font-weight:700;color:var(--color-ink);font-size:var(--fs-sm)}.checkout__coupon-desc{font-size:var(--fs-xs);color:var(--color-muted);width:100%;padding-left:24px}.checkout__pays{padding:var(--space-2) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.checkout__pay{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;cursor:pointer;border-bottom:1px solid var(--color-line)}.checkout__pay:last-child{border-bottom:none}.checkout__pay--on .checkout__pay-name{font-weight:700}.checkout__pay-logo{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:var(--fs-md)}.checkout__pay-logo--wechat{background:var(--color-accent)}.checkout__pay-logo--alipay{background:var(--color-primary)}.checkout__pay-name{font-size:var(--fs-md);color:var(--color-ink)}.checkout__pay-tag{margin-left:auto;font-size:var(--fs-xs);color:var(--color-muted);border:1px solid var(--color-line);border-radius:var(--radius-xs);padding:1px 6px}.checkout__bar{position:fixed;left:0;right:0;bottom:64px;margin:0 auto;max-width:var(--shell-max);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-line);box-shadow:0 -4px 16px #2027280f;z-index:35}.checkout__bar-total{display:flex;flex-direction:column}.checkout__bar-label{font-size:var(--fs-xs);color:var(--color-muted)}.checkout__bar-value{font-weight:700;font-size:var(--fs-xl);color:var(--color-primary-deep)}.checkout__pay-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.checkout__pay-amount{font-size:var(--fs-3xl);font-weight:700;color:var(--color-ink)}.checkout__pay-hint{font-size:var(--fs-sm);color:var(--color-muted);text-align:center}.checkout__pay-actions{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.checkout__pay-result{font-size:var(--fs-lg);font-weight:700}.checkout__pay-result--ok{color:var(--color-accent-deep)}.checkout__success-icon{color:var(--color-accent);animation:checkout-pop .35s cubic-bezier(.2,.9,.3,1.3)}@keyframes checkout-pop{0%{transform:scale(.5);opacity:0}}.checkout__pay-result--fail{color:var(--color-danger)}.checkout__paying{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-muted)}.checkout__paying-spin{animation:checkout-spin .9s linear infinite}@keyframes checkout-spin{to{transform:rotate(360deg)}}.orders__tabs{margin-top:var(--space-2);overflow-x:auto;scrollbar-width:none}.orders__tabs::-webkit-scrollbar{display:none}.orders__list{list-style:none;margin:var(--space-3) 0 0;display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-6)}.orders__card{padding:var(--space-4);text-decoration:none;color:inherit;display:block}.orders__card-head{display:flex;align-items:center;justify-content:space-between}.orders__store{font-weight:700;color:var(--color-ink)}.orders__card-lines{margin-top:var(--space-2);display:flex;flex-direction:column;gap:2px}.orders__line{font-size:var(--fs-sm);color:var(--color-ink-2)}.orders__more{color:var(--color-muted);margin-left:var(--space-2);font-size:var(--fs-xs)}.orders__card-foot{display:flex;align-items:baseline;justify-content:space-between;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-line)}.orders__time{font-size:var(--fs-xs);color:var(--color-muted)}.orders__total{font-weight:700;color:var(--color-primary-deep);font-size:var(--fs-lg)}.orders__ready-cta{margin-top:var(--space-3);display:flex;align-items:center;gap:var(--space-2);background:var(--color-highlight-tint);color:var(--color-highlight-deep);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:600}.stepper{display:flex;margin:0;padding:0;list-style:none}.stepper__step{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);position:relative}.stepper__step:not(:last-child):after{content:"";position:absolute;top:9px;left:calc(50% + 12px);right:calc(-50% + 12px);height:2px;background:var(--color-line)}.stepper__step--done:not(:last-child):after{background:var(--color-accent)}.stepper__dot{width:18px;height:18px;border-radius:50%;background:var(--color-line);color:var(--color-surface);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1}.stepper__step--done .stepper__dot{background:var(--color-accent)}.stepper__step--active .stepper__dot{background:var(--color-highlight);color:var(--color-highlight-deep)}.stepper__label{font-size:var(--fs-xs);color:var(--color-muted)}.stepper__step--active .stepper__label,.stepper__step--done .stepper__label{color:var(--color-ink);font-weight:600}.order-detail{padding-bottom:var(--space-6)}.od__status-card{padding:var(--space-4)}.od__status-head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.od__status-line{font-size:var(--fs-xl);font-weight:700;color:var(--color-ink);display:flex;align-items:center;gap:var(--space-2)}.od__id{font-size:var(--fs-xs);color:var(--color-muted);margin-top:2px}.od__date{font-size:var(--fs-xs);color:var(--color-muted);white-space:nowrap}.od__stepper{margin-top:var(--space-5)}.od__qr-wrap{margin-top:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-lg);padding:var(--space-4)}.od__qr-hint{font-size:var(--fs-sm);color:var(--color-muted)}.od__pickup-code{font-size:var(--fs-2xl);font-weight:700;letter-spacing:4px;color:var(--color-ink)}.od__pending{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.od__pending-text{font-size:var(--fs-sm);color:var(--color-danger)}.od__eta{margin-top:var(--space-4);font-size:var(--fs-sm);color:var(--color-ink-3);background:var(--color-surface-alt);border-radius:var(--radius-md);padding:var(--space-3)}.od__refund{margin-top:var(--space-4);background:var(--color-danger-tint);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.od__refund-title{font-weight:700;color:var(--color-danger);font-size:var(--fs-sm)}.od__refund-body{margin-top:4px;font-size:var(--fs-sm);color:var(--color-ink-2)}.od__store-card{margin-top:var(--space-2);display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4)}.od__store-icon{color:var(--color-primary);margin-top:2px}.od__store-name{font-weight:700;color:var(--color-ink)}.od__store-addr{font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px}.od__store-map{margin-left:auto;color:var(--color-primary)}.od__lines-card{padding:var(--space-4)}.od__lines-title{font-size:var(--fs-md);font-weight:700;color:var(--color-ink);margin-bottom:var(--space-3)}.od__line{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0}.od__line-name{font-weight:600;color:var(--color-ink);font-size:var(--fs-md)}.od__line-qty{color:var(--color-muted);font-weight:400;font-size:var(--fs-sm)}.od__line-opts{font-size:var(--fs-xs);color:var(--color-muted);margin-top:2px}.od__line-note{font-size:var(--fs-xs);color:var(--color-ink-3);margin-top:2px}.od__line-price{font-weight:600;color:var(--color-ink);white-space:nowrap}.od__summary{margin-top:var(--space-3);border-top:1px solid var(--color-line);padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.od__summary-row{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--color-muted)}.od__summary-row--total{font-size:var(--fs-md);font-weight:700;color:var(--color-ink)}.od__actions{display:flex;gap:var(--space-3)}.od__done-tip{margin-top:var(--space-4);font-size:var(--fs-sm);color:var(--color-accent-deep);text-align:center}.od__voucher{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.od__voucher-meta{font-size:var(--fs-sm);color:var(--color-muted)}.od__track-link{text-decoration:none}.avatar{border-radius:50%;object-fit:cover;flex-shrink:0}.avatar--initials{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-tint-2);color:var(--color-primary-dark);font-weight:700}.switch{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.switch--disabled{opacity:.5;cursor:not-allowed}.switch__native{position:absolute;opacity:0;width:1px;height:1px}.switch__track{width:42px;height:25px;border-radius:var(--radius-pill);background:var(--color-line);padding:2px;transition:background .2s ease;display:inline-flex;flex-shrink:0}.switch__track--on{background:var(--color-accent)}.switch__thumb{width:21px;height:21px;border-radius:50%;background:var(--color-surface);box-shadow:0 1px 3px #0003;transition:transform .2s ease}.switch__track--on .switch__thumb{transform:translate(17px)}.switch__native:focus-visible+.switch__track{outline:2px solid var(--color-primary);outline-offset:1px}.switch__label{font-size:var(--fs-sm);color:var(--color-ink-2)}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#20272873;animation:drawer-fade .18s ease}.drawer-layer{background:var(--color-surface);display:flex;flex-direction:column;box-shadow:var(--shadow-float)}.drawer-layer--bottom{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:var(--shell-max);max-height:86vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:drawer-up .24s cubic-bezier(.2,.8,.3,1)}.drawer-layer--left{position:fixed;left:0;top:0;bottom:0;width:min(78vw,340px);animation:drawer-from-left .24s cubic-bezier(.2,.8,.3,1)}.drawer-layer--right{position:fixed;right:0;top:0;bottom:0;width:min(78vw,340px);animation:drawer-from-right .24s cubic-bezier(.2,.8,.3,1)}@keyframes drawer-fade{0%{opacity:0}}@keyframes drawer-up{0%{transform:translateY(100%)}}@keyframes drawer-from-left{0%{transform:translate(-100%)}}@keyframes drawer-from-right{0%{transform:translate(100%)}}.drawer__grip{display:flex;justify-content:center;padding-top:var(--space-2)}.drawer-layer--left .drawer__grip,.drawer-layer--right .drawer__grip{display:none}.drawer__grip span{width:36px;height:4px;border-radius:var(--radius-pill);background:var(--color-line)}.drawer__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5) 0}.drawer__title{font-size:var(--fs-lg);font-weight:700;color:var(--color-ink)}.drawer__close{border:none;background:transparent;color:var(--color-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.drawer__close:hover{background:var(--color-surface-alt)}.drawer__body{padding:var(--space-4) var(--space-5);overflow-y:auto;flex:1;min-height:0}.drawer__footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-line)}.select{position:relative;display:flex;flex-direction:column;gap:var(--space-2)}.select__label{font-size:var(--fs-sm);font-weight:600;color:var(--color-ink-2)}.select__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-4);background:var(--color-surface-alt);border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-ink);cursor:pointer;transition:border-color .15s ease;font-size:var(--fs-md)}.select--md .select__trigger{height:46px}.select--sm .select__trigger{height:36px;font-size:var(--fs-sm)}.select__trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.select__trigger--open{border-color:var(--color-primary)}.select__trigger:disabled{opacity:.6;cursor:not-allowed}.select__placeholder{color:var(--color-muted)}.select__chevron{color:var(--color-muted);flex-shrink:0}.select__list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;margin:0;padding:var(--space-1);list-style:none;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-float);max-height:240px;overflow-y:auto}.select__option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--fs-md);cursor:pointer;color:var(--color-ink)}.select__option--hl{background:var(--color-primary-tint)}.select__option[aria-selected=true]{color:var(--color-primary-deep);font-weight:600}.region-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.region-picker .select{min-width:0}.profile__hero{background:var(--color-primary-deep);padding:var(--space-6) var(--space-4) var(--space-5)}.profile__user-row{display:flex;align-items:center;gap:var(--space-3);color:#fff}.profile__user-info{flex:1;min-width:0}.profile__nickname{font-size:var(--fs-xl);font-weight:700}.profile__phone{font-size:var(--fs-sm);color:var(--color-primary-tint-2);margin-top:2px}.profile__tier{display:inline-flex;align-items:center;gap:4px;margin-top:var(--space-2);background:#fff3;border-radius:var(--radius-pill);padding:2px var(--space-2);font-size:var(--fs-xs)}.profile__edit{color:#fff}.profile__member-card{margin-top:var(--space-4);padding:var(--space-4)}.profile__member-top{display:flex;align-items:center;gap:var(--space-4)}.profile__member-label{font-size:var(--fs-xs);color:var(--color-muted)}.profile__member-value{font-size:var(--fs-2xl);font-weight:700;color:var(--color-ink)}.profile__member-divider{width:1px;height:34px;background:var(--color-line)}.profile__member-brief{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-line);display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--color-primary-deep)}.profile__quick{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.profile__quick-item{flex:1;display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--fs-sm);font-weight:600;color:var(--color-ink);cursor:pointer}.profile__quick-item svg:first-child{color:var(--color-primary)}.profile__quick-item svg:last-child{margin-left:auto;color:var(--color-muted)}.profile__group-title{font-size:var(--fs-md);font-weight:700;color:var(--color-ink);margin:var(--space-4) 0 var(--space-2)}.profile__group{padding:0 var(--space-4)}.profile__row{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border:none;background:transparent;border-bottom:1px solid var(--color-line);cursor:pointer;text-align:left;font-size:var(--fs-md);color:var(--color-ink)}.profile__group>.profile__row:last-child{border-bottom:none}.profile__row--static{cursor:default}.profile__row-icon{color:var(--color-primary);flex-shrink:0}.profile__row-title{font-weight:600}.profile__row-meta{margin-left:auto;color:var(--color-muted);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile__row-chevron{color:var(--color-muted);flex-shrink:0}.profile__bottom{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-6)}.profile__form{display:flex;flex-direction:column;gap:var(--space-4)}.profile__send{border:none;background:transparent;color:var(--color-primary);font-weight:600;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap}.profile__send:disabled{color:var(--color-muted)}.profile__label-row{display:flex;gap:var(--space-2)}.profile__label-chip{border:1.5px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-pill);padding:4px var(--space-4);font-size:var(--fs-sm);cursor:pointer;color:var(--color-ink-2)}.profile__label-chip--on{border-color:var(--color-primary);background:var(--color-primary-tint);color:var(--color-primary-dark);font-weight:600}.profile__addr-list{display:flex;flex-direction:column;gap:var(--space-3)}.profile__addr{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3)}.profile__addr-body{flex:1;min-width:0}.profile__addr-line1{font-weight:600;color:var(--color-ink);font-size:var(--fs-sm)}.profile__addr-label{display:inline-block;background:var(--color-primary-tint);color:var(--color-primary-dark);border-radius:var(--radius-xs);padding:0 6px;margin-right:var(--space-2);font-size:var(--fs-xs)}.profile__addr-detail{font-size:var(--fs-sm);color:var(--color-ink-3);margin-top:2px}.profile__addr-actions{display:flex;align-items:center;gap:var(--space-1)}.profile__store-list{display:flex;flex-direction:column;gap:var(--space-2)}.profile__store{display:flex;gap:var(--space-3);align-items:flex-start;border:1.5px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:pointer}.profile__store--on{border-color:var(--color-primary);background:var(--color-primary-tint)}.profile__radio{accent-color:var(--color-primary);margin-top:4px}.profile__store-name{font-weight:700;color:var(--color-ink);font-size:var(--fs-md)}.profile__store-addr{font-size:var(--fs-sm);color:var(--color-ink-3);margin-top:2px}.profile__store-meta{font-size:var(--fs-xs);color:var(--color-muted);margin-top:2px}.profile__notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.profile__notif{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-line)}.profile__notif--unread{background:var(--color-primary-tint);border-color:transparent}.profile__notif-body{flex:1;min-width:0}.profile__notif-title{font-weight:700;color:var(--color-ink);font-size:var(--fs-md);display:flex;align-items:center;gap:var(--space-2)}.profile__notif-desc{font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px}.profile__notif-time{font-size:var(--fs-xs);color:var(--color-muted);white-space:nowrap}.profile__fav-list{display:flex;flex-direction:column}.profile__fav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-line);background:transparent;border-left:none;border-right:none;border-top:none;cursor:pointer;font-size:var(--fs-md);color:var(--color-ink);text-align:left}.profile__fav-name{font-weight:600}.profile__fav-price{color:var(--color-primary-deep);font-weight:700;margin-left:auto}.profile__about{display:flex;flex-direction:column;gap:var(--space-3)}.profile__about-brand{font-family:var(--font-display);font-weight:700;color:var(--color-ink);font-size:var(--fs-lg)}.profile__about-text{font-size:var(--fs-sm);color:var(--color-ink-2);line-height:1.7}.profile__about-list{margin:0;padding-left:var(--space-5);color:var(--color-ink-2);font-size:var(--fs-sm);display:flex;flex-direction:column;gap:var(--space-2)}.profile__about-foot{font-size:var(--fs-xs);color:var(--color-muted)}.profile__support{display:flex;flex-direction:column;gap:var(--space-3)}.profile__support-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.profile__support-title{font-weight:700;color:var(--color-ink);font-size:var(--fs-md)}.profile__support-meta{font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px}.stores__list{list-style:none;margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-6)}.stores__card--current{border:1.5px solid var(--color-primary)}.stores__map{position:relative;height:96px}.stores__map-svg{width:100%;height:100%;display:block}.stores__map .badge{position:absolute;top:var(--space-2);right:var(--space-2)}.stores__body{padding:var(--space-3) var(--space-4) var(--space-4)}.stores__name-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.stores__name{font-weight:700;color:var(--color-ink);font-size:var(--fs-md)}.stores__distance{display:inline-flex;align-items:center;gap:3px;color:var(--color-primary-deep);font-size:var(--fs-sm);font-weight:600}.stores__addr{margin-top:4px;font-size:var(--fs-sm);color:var(--color-muted)}.stores__meta-row{margin-top:var(--space-2);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.stores__hours{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--color-ink-3)}.stores__pickup{font-size:var(--fs-xs);color:var(--color-accent-deep)}.stores__actions{margin-top:var(--space-3);display:flex;gap:var(--space-2)}.scan__hero{background:var(--color-primary-deep);padding-bottom:var(--space-5)}.scan__hero .page-header__title{color:#fff}.scan__hero .page-header__back{background:#ffffffd9}.scan__sheet{background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-top:calc(-1 * var(--space-4));padding:var(--space-5) var(--space-4) var(--space-6);min-height:60vh}.scan__body{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-top:var(--space-5)}.scan__frame{position:relative;padding:var(--space-5);width:100%;display:flex;justify-content:center}.scan__frame-inner{position:relative;display:flex;align-items:center;justify-content:center}.scan__line{position:absolute;left:0;right:0;top:50%;height:3px;border-radius:var(--radius-pill);background:var(--color-accent);opacity:.85;animation:scan-sweep 2.2s ease-in-out infinite}@keyframes scan-sweep{0%,to{transform:translateY(-52px)}50%{transform:translateY(52px)}}.scan__frame-icon{position:absolute;right:-34px;top:-34px;color:var(--color-primary)}.scan__corners{list-style:none;margin:0;padding:0;position:absolute;inset:var(--space-3)}.scan__corner{position:absolute;width:26px;height:26px;border:3px solid var(--color-primary)}.scan__corner--tl{left:0;top:0;border-right:none;border-bottom:none;border-radius:var(--radius-sm) 0 0 0}.scan__corner--tr{right:0;top:0;border-left:none;border-bottom:none;border-radius:0 var(--radius-sm) 0 0}.scan__corner--bl{left:0;bottom:0;border-right:none;border-top:none;border-radius:0 0 0 var(--radius-sm)}.scan__corner--br{right:0;bottom:0;border-left:none;border-top:none;border-radius:0 0 var(--radius-sm) 0}.scan__hint{font-size:var(--fs-sm);color:var(--color-muted);text-align:center;max-width:280px;line-height:1.7}.scan__cta{display:inline-flex;align-items:center;gap:var(--space-2);height:46px;padding:0 var(--space-6);border:none;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font-weight:600;cursor:pointer}.scan__cta:hover{filter:brightness(1.06)}.scan__member{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);width:100%}.scan__member-code{font-size:var(--fs-xl);font-weight:700;letter-spacing:2px;color:var(--color-ink)}.scan__member-meta{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--color-primary-deep)}.scan__result{width:100%;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.scan__result-title{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--color-accent-deep)}.scan__result-row{font-size:var(--fs-sm);color:var(--color-ink-2)}.scan__result-actions{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.search-page__bar{margin-top:var(--space-2)}.search-page__go{border:none;background:transparent;color:var(--color-primary);font-weight:600;font-size:var(--fs-sm);cursor:pointer;padding:0;white-space:nowrap}.search-page__head-row{display:flex;align-items:center;justify-content:space-between}.search-page__sec-title{display:flex;align-items:center;gap:5px;font-size:var(--fs-md);font-weight:700;color:var(--color-ink);margin:var(--space-4) 0 var(--space-3)}.search-page__trend{color:var(--color-highlight-deep)}.search-page__clear{border:none;background:transparent;color:var(--color-muted);font-size:var(--fs-sm);cursor:pointer}.search-page__empty-hint{font-size:var(--fs-sm);color:var(--color-muted)}.search-page__recent{list-style:none;margin:0;padding:0}.search-page__recent-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0}.search-page__recent-btn{display:inline-flex;align-items:center;gap:var(--space-2);border:none;background:transparent;color:var(--color-ink-2);font-size:var(--fs-md);cursor:pointer;padding:var(--space-1) 0}.search-page__recent-btn svg{color:var(--color-muted)}.search-page__tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.search-page__tag,.search-page__tag-btn{border:none;background:var(--color-ink-3);color:#fff;border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-size:var(--fs-sm);cursor:pointer}.search-page__tag-btn{background:var(--color-primary)}.search-page__cats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.search-page__cat{border:none;background:var(--color-highlight-tint);border-radius:var(--radius-md);padding:var(--space-4) var(--space-2);display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.search-page__cat:nth-child(2){background:var(--color-primary-tint)}.search-page__cat:nth-child(3){background:var(--color-accent-tint)}.search-page__cat-label{font-weight:700;color:var(--color-ink);font-size:var(--fs-sm)}.search-page__cat-count{font-size:var(--fs-xs);color:var(--color-muted)}.search-page__count{font-size:var(--fs-sm);color:var(--color-muted);margin-top:var(--space-2)}.search-page__results{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column}.search-page__result{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border:none;border-bottom:1px solid var(--color-line);background:transparent;cursor:pointer;text-align:left}.search-page__thumb{width:56px;height:56px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;background:var(--color-primary-tint)}.search-page__thumb img{width:100%;height:100%;object-fit:cover}.search-page__thumb-fb{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary-tint-2),var(--color-primary-tint))}.search-page__result-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.search-page__result-name{font-weight:600;color:var(--color-ink);font-size:var(--fs-md)}.search-page__result-desc{font-size:var(--fs-sm);color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-page__result-price{font-weight:700;color:var(--color-primary-deep);white-space:nowrap}.track{padding-bottom:var(--space-6)}.track__map{position:relative;overflow:hidden}.track__map-svg{display:block;width:100%;height:auto}.track__eta{position:absolute;left:var(--space-3);bottom:var(--space-3);display:inline-flex;align-items:center;gap:6px;background:var(--color-accent);color:#fff;border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:700}.track__rider{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.track__rider-info{flex:1;min-width:0}.track__rider-name{font-weight:700;color:var(--color-ink)}.track__rider-role{font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px}.track__call{width:42px;height:42px;border-radius:50%;border:none;background:var(--color-highlight);color:var(--color-highlight-deep);display:flex;align-items:center;justify-content:center;cursor:pointer}.track__call:hover{filter:brightness(1.05)}.track__stages{padding:var(--space-4)}.track__stage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.track__stage{display:flex;align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:var(--fs-md)}.track__stage--done{color:var(--color-ink)}.track__stage-icon{color:var(--color-line)}.track__stage--done .track__stage-icon{color:var(--color-accent)}.track__route{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.track__route-row{display:flex;gap:var(--space-3);align-items:flex-start}.track__route-icon{color:var(--color-primary);margin-top:2px}.track__route-icon--dest{color:var(--color-danger)}.track__route-title{font-weight:600;color:var(--color-ink);font-size:var(--fs-md)}.track__route-sub{font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px}.track__route-time{border-top:1px dashed var(--color-line);padding-top:var(--space-3);font-size:var(--fs-xs);color:var(--color-muted)}.track__chat{display:flex;flex-direction:column;gap:var(--space-3)}.track__chat-body{display:flex;flex-direction:column;gap:var(--space-2);max-height:240px;overflow-y:auto}.track__chat-msg{max-width:80%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--fs-sm);line-height:1.6}.track__chat-msg--rider{align-self:flex-start;background:var(--color-surface-alt);color:var(--color-ink-2)}.track__chat-msg--user{align-self:flex-end;background:var(--color-primary);color:#fff}.track__chat-form{display:flex;gap:var(--space-2)}.track__chat-form input{flex:1;height:38px;border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:0 var(--space-3);font-size:var(--fs-sm);background:var(--color-surface);color:var(--color-ink);outline:none}.track__chat-form input:focus{border-color:var(--color-primary)}.community{padding-bottom:var(--space-6)}.community__hero{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(135deg,var(--color-primary-tint),var(--color-surface))}.community__hero-icon{color:var(--color-primary);flex-shrink:0}.community__hero-body{flex:1;min-width:0}.community__hero-title{font-weight:700;color:var(--color-ink)}.community__hero-desc{font-size:var(--fs-xs);color:var(--color-muted);margin-top:2px}.community__head-row{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2)}.community__sec-title{font-size:var(--fs-md);font-weight:700;color:var(--color-ink)}.community__feed{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.community__post{padding:var(--space-4)}.community__post-head{display:flex;align-items:center;gap:var(--space-2)}.community__post-meta{flex:1;min-width:0}.community__post-author{font-weight:700;color:var(--color-ink);font-size:var(--fs-sm)}.community__post-time{font-size:var(--fs-xs);color:var(--color-muted)}.community__post-tag{font-size:var(--fs-xs);color:var(--color-primary-deep);background:var(--color-primary-tint);border-radius:var(--radius-xs);padding:2px var(--space-2);flex-shrink:0}.community__post-text{margin-top:var(--space-3);font-size:var(--fs-md);color:var(--color-ink-2);line-height:1.7}.community__post-actions{margin-top:var(--space-3);display:flex;gap:var(--space-5)}.community__act{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--color-muted);font-size:var(--fs-sm);cursor:pointer;padding:0}.community__act--on{color:var(--color-danger)}.community__foot{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--fs-xs);margin-top:var(--space-5)}.community__comments{margin-top:var(--space-3);border-top:1px solid var(--color-line);padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.community__comment{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.community__comment-author{font-size:var(--fs-xs);font-weight:700;color:var(--color-primary-deep)}.community__comment-text{font-size:var(--fs-sm);color:var(--color-ink-2);margin-top:2px}.community__comment-empty{font-size:var(--fs-sm);color:var(--color-muted)}.community__comment-form{display:flex;gap:var(--space-2)}.community__comment-form input{flex:1;height:36px;border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:0 var(--space-3);font-size:var(--fs-sm);background:var(--color-surface);color:var(--color-ink);outline:none}.community__comment-form input:focus{border-color:var(--color-primary)}.onboard{min-height:100dvh;display:flex;flex-direction:column;background:var(--color-primary-deep)}.onboard__hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:#fff}.onboard__logo{width:76px;height:76px;border-radius:var(--radius-xl);background:var(--color-highlight);color:var(--color-highlight-deep);display:flex;align-items:center;justify-content:center}.onboard__brand{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700}.onboard__card{background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-6) var(--space-5) var(--space-8)}.onboard__dots{display:flex;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-5)}.onboard__dot{width:8px;height:8px;border-radius:var(--radius-pill);border:none;background:var(--color-line);cursor:pointer;padding:0;transition:width .2s ease,background .2s ease}.onboard__dot--on{width:22px;background:var(--color-primary)}.onboard__title{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;color:var(--color-ink);text-align:center}.onboard__desc{margin-top:var(--space-3);text-align:center;color:var(--color-muted);font-size:var(--fs-md);line-height:1.7}.onboard__actions{margin-top:var(--space-6);display:flex;gap:var(--space-3)}.onboard__actions .btn{flex:1}
