@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-scheme:light;--bg-page: #f1ece7;--bg-shell: #fbf8f5;--surface: #ffffff;--surface-2: #f6f1ec;--surface-3: #efe8e1;--surface-inverse: #24201d;--text: #211d1a;--text-2: #4c433d;--text-muted: #6f635b;--text-faint: #8a7d73;--text-on-dark: #f8f2ec;--text-on-dark-muted: #cbbdb3;--line: #e8e0d8;--line-strong: #d6c9be;--line-on-dark: rgba(248, 242, 236, .14);--primary: #bb8f80;--primary-strong: #8d5f4f;--primary-hover: #9c6b59;--primary-soft: #f3e6e0;--primary-soft-2: #ead8d0;--on-primary: #ffffff;--accent: #3e8c7c;--accent-strong: #2f6e61;--accent-soft: #e2f0eb;--on-accent: #ffffff;--on-danger: #ffffff;--on-media: #fdf8f2;--text-on-light: #221b17;--avatar-ink: #1a1210;--media-scrim: rgba(22, 18, 16, .62);--media-chip: rgba(253, 248, 242, .88);--media-chip-strong: rgba(253, 248, 242, .16);--media-chip-line: rgba(253, 248, 242, .2);--scrim-start: rgba(20, 16, 14, .05);--scrim-end: rgba(20, 16, 14, .72);--hero-bg-1: #2a2421;--hero-bg-2: #1e1a18;--hero-bg-3: #191614;--hero-glow: rgba(187, 143, 128, .4);--hero-glow-dark: rgba(213, 168, 150, .24);--on-hero-accent: #a9d9ca;--line-inverse: rgba(248, 242, 236, .12);--line-inverse-soft: rgba(248, 242, 236, .08);--fill-inverse: rgba(248, 242, 236, .12);--lilac: #cecce5;--lilac-strong: #5f5a8c;--lilac-soft: #efedf8;--danger: #b05047;--danger-soft: #f8e7e4;--warning: #8a5a20;--warning-soft: #f7ebd9;--success: #3e8c7c;--success-soft: #e2f0eb;--shadow-1: 0 1px 2px rgba(33, 29, 26, .05), 0 8px 24px rgba(33, 29, 26, .04);--shadow-2: 0 14px 40px rgba(33, 29, 26, .12);--overlay: rgba(24, 20, 18, .46);--focus-ring: #2f6e61;--skeleton: #ece3da;--skeleton-shine: #f6f1ec;--font-sans: "Inter", "PingFang SC", "Noto Sans SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-display: "Poppins", "Inter", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--font-num: "Poppins", "Inter", system-ui, sans-serif;--fs-11: .6875rem;--fs-12: .75rem;--fs-13: .8125rem;--fs-14: .875rem;--fs-15: .9375rem;--fs-16: 1rem;--fs-18: 1.125rem;--fs-20: 1.25rem;--fs-24: 1.5rem;--fs-28: 1.75rem;--fs-32: 2rem;--fs-40: 2.5rem;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.15;--lh-snug: 1.35;--lh-normal: 1.55;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 999px;--shell-w: 480px;--page-pad: 20px;--nav-h: 68px;--safe-bottom: env(safe-area-inset-bottom, 0px)}[data-theme=dark]{color-scheme:dark;--bg-page: #0d0b0a;--bg-shell: #171311;--surface: #201b18;--surface-2: #26201c;--surface-3: #2d2621;--surface-inverse: #f2eae3;--text: #f6efe9;--text-2: #ded2c9;--text-muted: #a99a90;--text-faint: #7f7067;--text-on-dark: #f8f2ec;--text-on-dark-muted: #cbbdb3;--line: #332b26;--line-strong: #463a33;--line-on-dark: rgba(248, 242, 236, .16);--primary: #d5a896;--primary-strong: #c08d7a;--primary-hover: #d5a896;--primary-soft: #3a2a23;--primary-soft-2: #4a352c;--on-primary: #241511;--accent: #6fb6a4;--accent-strong: #8acbb9;--accent-soft: #1e3732;--on-accent: #0e1f1a;--on-danger: #1c0f0d;--lilac: #8f8bbf;--lilac-strong: #c3c0e8;--lilac-soft: #28263a;--danger: #e08a80;--danger-soft: #3a2320;--warning: #d8a35c;--warning-soft: #3a2e1d;--success: #6fb6a4;--success-soft: #1e3732;--shadow-1: 0 0 0 1px #332b26;--shadow-2: 0 0 0 1px #463a33, 0 20px 44px rgba(0, 0, 0, .5);--overlay: rgba(0, 0, 0, .62);--focus-ring: #8acbb9;--skeleton: #2a231f;--skeleton-shine: #332b26}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-normal);color:var(--text);background-color:var(--bg-page);background-image:radial-gradient(1100px 620px at 12% -8%,rgba(187,143,128,.16),transparent 62%),radial-gradient(900px 520px at 92% 108%,rgba(62,140,124,.1),transparent 60%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}[data-theme=dark] body{background-image:radial-gradient(900px 520px at 10% -10%,rgba(187,143,128,.12),transparent 60%),radial-gradient(800px 460px at 95% 108%,rgba(62,140,124,.08),transparent 60%)}#root{min-height:100%}h1,h2,h3,h4,h5,h6,p,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}button,input,textarea,select{font:inherit;color:inherit}button{border:0;padding:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}img{height:auto}::selection{background:var(--primary-soft-2);color:var(--text)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.app-shell{position:relative;display:flex;flex-direction:column;width:100%;max-width:var(--shell-w);min-height:100dvh;margin:0 auto;background:var(--bg-shell);overflow-x:clip}@media(min-width:560px){.app-shell{margin:0 auto;box-shadow:0 0 0 1px #211d1a0f,0 30px 80px #211d1a24}[data-theme=dark] .app-shell{margin:0 auto;box-shadow:0 0 0 1px #2a231f,0 30px 80px #0000008c}}.app-main{flex:1 0 auto;width:100%;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + var(--sp-4))}.app-main--bare{padding-bottom:0}.page{display:flex;flex-direction:column;gap:var(--sp-6);padding:0 var(--page-pad) var(--sp-8);animation:page-fade-in .3s ease both}.page--flush{padding-inline:0}@keyframes page-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-11);font-weight:var(--fw-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.page-title{font-family:var(--font-display);font-size:var(--fs-28);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:-.03em;color:var(--text)}.page-sub{margin-top:6px;font-size:var(--fs-13);color:var(--text-muted)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4)}.section-title{font-family:var(--font-display);font-size:var(--fs-17, 1.0625rem);font-weight:var(--fw-semibold);letter-spacing:-.01em}.section-link{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text-muted);transition:color .15s ease}.section-link:hover{color:var(--text)}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.stack--lg{gap:var(--sp-5)}.row{display:flex;align-items:center;gap:var(--sp-2)}.between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.chip-row{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip-row--wrap{flex-wrap:wrap;overflow-x:visible;padding-bottom:0}.chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-2);font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease}.chip:hover{border-color:var(--line-strong)}.chip[aria-pressed=true],.chip.is-selected{background:var(--text);border-color:var(--text);color:var(--bg-shell)}[data-theme=dark] .chip[aria-pressed=true],[data-theme=dark] .chip.is-selected{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.chip--soft{background:var(--surface-2);border-color:transparent}.tag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:6px;background:var(--surface-2);color:var(--text-2);font-size:var(--fs-11);font-weight:var(--fw-medium);letter-spacing:.01em;white-space:nowrap}.tag--accent{background:var(--accent-soft);color:var(--accent-strong)}.tag--primary{background:var(--primary-soft);color:var(--primary-strong)}.tag--lilac{background:var(--lilac-soft);color:var(--lilac-strong)}.divider{height:1px;background:var(--line);border:0;margin:0}.hint{font-size:var(--fs-12);color:var(--text-muted);line-height:var(--lh-snug)}.form-error{display:flex;align-items:flex-start;gap:6px;font-size:var(--fs-12);color:var(--danger);line-height:var(--lh-snug)}.link-inline{color:var(--accent-strong);font-weight:var(--fw-medium);text-decoration:underline;text-underline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sticky-bar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;gap:var(--sp-3);margin-top:auto;padding:12px var(--page-pad) calc(12px + var(--safe-bottom));background:color-mix(in srgb,var(--bg-shell) 92%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sticky-bar__price{display:flex;flex-direction:column;line-height:1.2}.sticky-bar__price strong{font-family:var(--font-num);font-size:var(--fs-20);font-weight:var(--fw-bold)}.sticky-bar__price span{font-size:var(--fs-11);color:var(--text-muted)}.scroll-x{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,max-content);gap:var(--sp-3);overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--page-pad) * -1);padding-inline:var(--page-pad);padding-bottom:4px}.scroll-x::-webkit-scrollbar{display:none}.media-fill{width:100%;height:100%;object-fit:cover}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-lg);font-family:var(--font-sans);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;text-decoration:none;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled):not([aria-disabled=true]){transform:scale(.985)}.btn--sm{height:34px;padding:0 12px;font-size:var(--fs-12);border-radius:var(--radius-md)}.btn--md{height:44px;padding:0 18px;font-size:var(--fs-14)}.btn--lg{height:52px;padding:0 22px;font-size:var(--fs-15);border-radius:var(--radius-xl)}.btn--full{width:100%}.btn--primary{background:var(--primary-strong);color:var(--on-primary);box-shadow:0 6px 16px #8d5f4f2e}.btn--primary:hover:not(:disabled){background:var(--primary-hover)}[data-theme=dark] .btn--primary:hover:not(:disabled){background:var(--primary)}.btn--secondary{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.btn--secondary:hover:not(:disabled){border-color:var(--text-muted);background:var(--surface-2)}.btn--ghost{background:transparent;color:var(--text-2)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn--danger{background:var(--danger);color:var(--on-danger);box-shadow:none}[data-theme=dark] .btn--danger{color:var(--on-danger)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn__spinner{animation:btn-spin .85s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn__label{display:inline-flex;align-items:center;gap:6px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-pill);color:var(--text-2);transition:background .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.icon-btn--md{width:40px;height:40px}.icon-btn--sm{width:32px;height:32px}.icon-btn--plain{background:transparent}.icon-btn--plain:hover{background:var(--surface-2);color:var(--text)}.icon-btn--filled{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-1)}.icon-btn--filled:hover{border-color:var(--line-strong)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.is-fav{color:var(--primary-strong)}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field__label{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text-2);letter-spacing:.01em}.field__hint{font-size:var(--fs-11);color:var(--text-muted);line-height:var(--lh-snug)}.field__foot{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.field__count{font-size:var(--fs-11);color:var(--text-faint);white-space:nowrap}.input-wrap{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:0 12px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input-wrap--sm{height:38px}.input-wrap--md{height:46px}.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-wrap.has-error{border-color:var(--danger)}.input-wrap.has-error:focus-within{box-shadow:0 0 0 3px var(--danger-soft)}.input-wrap.is-disabled{background:var(--surface-2);opacity:.7}.input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--text);font-size:var(--fs-14);outline:none}.input::placeholder{color:var(--text-faint)}.input::-webkit-search-cancel-button{display:none}.input[type=date]{min-height:24px}.input__icon{color:var(--text-faint);flex:0 0 auto}.input__suffix{display:inline-flex;align-items:center;color:var(--text-muted);font-size:var(--fs-13);white-space:nowrap}.input__action{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;color:var(--text-muted)}.input__action:hover{background:var(--surface-2);color:var(--text)}.textarea{width:100%;min-height:92px;resize:vertical;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font-size:var(--fs-14);line-height:var(--lh-normal);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.textarea.has-error{border-color:var(--danger)}.textarea::placeholder{color:var(--text-faint)}.select-wrap{position:relative;display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);transition:border-color .16s ease,box-shadow .16s ease}.select-wrap--sm{height:38px}.select-wrap--md{height:46px}.select-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.select-wrap.has-error{border-color:var(--danger)}.select-wrap.is-disabled{background:var(--surface-2);opacity:.65}.select{width:100%;height:100%;padding:0 34px 0 12px;border:0;background:transparent;color:var(--text);font-size:var(--fs-14);-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer}.select:disabled{cursor:not-allowed}.select__chevron{position:absolute;right:12px;pointer-events:none;color:var(--text-muted)}.checkbox{position:relative;display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.checkbox__box{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px;border:1.5px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--on-primary);transition:background .16s ease,border-color .16s ease}.checkbox__input:checked+.checkbox__box,.checkbox__input:indeterminate+.checkbox__box{background:var(--primary-strong);border-color:var(--primary-strong)}.checkbox__input:focus-visible+.checkbox__box{outline:2px solid var(--focus-ring);outline-offset:2px}.checkbox.is-disabled{cursor:not-allowed;opacity:.55}.checkbox__body{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-13);line-height:var(--lh-snug);color:var(--text-2)}.checkbox__label{color:var(--text)}.checkbox__desc{font-size:var(--fs-11);color:var(--text-muted)}.switch-field{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.switch-field__text{display:flex;flex-direction:column;gap:2px;min-width:0}.switch-field__label{font-size:var(--fs-14);color:var(--text)}.switch-field__desc{font-size:var(--fs-11);color:var(--text-muted);line-height:var(--lh-snug)}.switch{position:relative;flex:0 0 auto;width:46px;height:27px;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--line);transition:background .18s ease,border-color .18s ease}[data-theme=dark] .switch{background:var(--surface-3)}.switch__thumb{position:absolute;top:2px;left:2px;width:21px;height:21px;border-radius:50%;background:var(--text-faint);transition:transform .18s ease,background .18s ease}.switch.is-on{background:var(--accent);border-color:var(--accent)}.switch.is-on .switch__thumb{transform:translate(19px);background:var(--on-accent)}.switch.is-disabled{opacity:.45;cursor:not-allowed}.card{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line)}.card--flat{box-shadow:none}.card--raised{border-color:transparent;box-shadow:var(--shadow-1)}[data-theme=dark] .card--raised{border-color:var(--line);box-shadow:none}.card--interactive{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.card--interactive:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-1px)}.list-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:13px 14px;border-radius:var(--radius-lg);text-align:left;color:var(--text);background:transparent;transition:background .15s ease}.list-item--clickable{cursor:pointer}.list-item--clickable:hover{background:var(--surface-2)}.list-item.is-selected{background:var(--primary-soft)}.list-item__leading{flex:0 0 auto;display:inline-flex;align-items:center}.list-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-item__title{font-size:var(--fs-14);font-weight:var(--fw-medium);color:var(--text);line-height:1.35}.list-item__desc{font-size:var(--fs-12);color:var(--text-muted);line-height:var(--lh-snug)}.list-item__meta{font-size:var(--fs-11);color:var(--text-faint)}.list-item__trailing{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-12);color:var(--text-muted)}.list-item__chevron{flex:0 0 auto;color:var(--text-faint)}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;overflow:hidden;color:var(--on-primary);font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:.02em}.avatar--sm{width:28px;height:28px;font-size:var(--fs-11)}.avatar--md{width:40px;height:40px;font-size:var(--fs-13)}.avatar--lg{width:64px;height:64px;font-size:var(--fs-20)}.avatar--taupe{background:var(--primary-strong)}.avatar--teal{background:var(--accent-strong)}.avatar--lilac{background:var(--lilac-strong)}.avatar--sand{background:var(--warning)}.avatar__img{width:100%;height:100%;object-fit:cover}.avatar__initials{line-height:1}[data-theme=dark] .avatar{color:var(--avatar-ink)}.badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-num);font-weight:var(--fw-semibold);line-height:1}.badge--dot{width:7px;height:7px;border-radius:50%;background:var(--primary-strong)}.badge--count{min-width:17px;height:17px;padding:0 5px;border-radius:var(--radius-pill);font-size:10px;background:var(--primary-strong);color:var(--on-primary)}.badge--primary{background:var(--primary-strong);color:var(--on-primary)}.badge--accent{background:var(--accent);color:var(--on-accent)}.badge--danger{background:var(--danger);color:var(--on-danger)}.badge--neutral{background:var(--text-muted);color:var(--bg-shell)}.tabs{display:flex;align-items:center;gap:var(--sp-1);width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs--underline{border-bottom:1px solid var(--line);gap:var(--sp-5)}.tabs--pill{padding:4px;border-radius:var(--radius-pill);background:var(--surface-2);gap:2px}.tabs__tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text-muted);font-weight:var(--fw-medium);transition:color .16s ease,background .16s ease}.tabs--md .tabs__tab{height:40px;font-size:var(--fs-13)}.tabs--sm .tabs__tab{height:32px;font-size:var(--fs-12)}.tabs--underline .tabs__tab{padding:0 2px}.tabs--underline .tabs__tab.is-active{color:var(--text)}.tabs--underline .tabs__tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--text)}.tabs--pill .tabs__tab{flex:1;padding:0 12px;border-radius:var(--radius-pill)}.tabs--pill .tabs__tab.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #211d1a14}.tabs__badge{min-width:16px;padding:0 4px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-2);font-size:10px}.overlay-root{position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--shell-w);z-index:80}.modal-backdrop,.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay);animation:overlay-fade-in .2s ease both}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:calc(100% - 40px);max-height:88dvh;background:var(--surface);border-radius:var(--radius-2xl, 20px);border:1px solid var(--line);box-shadow:var(--shadow-2);overflow:hidden;animation:modal-pop-in .24s cubic-bezier(.2,.9,.3,1) both}.modal--sm{max-width:340px}.modal--md{max-width:400px}.modal--lg{max-width:440px}@keyframes modal-pop-in{0%{opacity:0;transform:translate(-50%,-47%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);padding:20px 20px 0}.modal__heading{display:flex;flex-direction:column;gap:5px;min-width:0}.modal__title{font-family:var(--font-display);font-size:var(--fs-18);font-weight:var(--fw-semibold);letter-spacing:-.02em}.modal__desc{font-size:var(--fs-12);color:var(--text-muted);line-height:var(--lh-snug)}.modal__body{padding:16px 20px;overflow-y:auto;overscroll-behavior:contain}.modal__foot{padding:14px 20px calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface)}.modal__close-float{position:absolute;top:12px;right:12px}.drawer{display:flex;flex-direction:column;background:var(--surface);box-shadow:var(--shadow-2);border:1px solid var(--line)}.drawer-layer{position:fixed;z-index:81}.drawer-layer--bottom{left:50%;bottom:0;width:min(100vw,var(--shell-w));max-height:92dvh;transform:translate(-50%);border-radius:22px 22px 0 0;border-bottom:0;animation:drawer-bottom-up .28s cubic-bezier(.2,.85,.25,1) both}.drawer--full{height:100dvh;max-height:100dvh;border-radius:0;border:0}.drawer-layer--left{top:0;bottom:0;left:0;width:min(86vw,380px);height:100dvh;border-radius:0 20px 20px 0;animation:drawer-left-in .26s cubic-bezier(.2,.85,.25,1) both}.drawer-layer--right{top:0;bottom:0;right:0;width:min(86vw,380px);height:100dvh;border-radius:20px 0 0 20px;animation:drawer-right-in .26s cubic-bezier(.2,.85,.25,1) both}@keyframes drawer-bottom-up{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes drawer-left-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-right-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer__grabber{align-self:center;width:38px;height:4px;margin-top:8px;border-radius:999px;background:var(--line-strong)}.drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);padding:14px 20px 12px;flex:0 0 auto}.drawer__heading{display:flex;flex-direction:column;gap:3px;min-width:0}.drawer__title{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold);letter-spacing:-.02em}.drawer__subtitle{font-size:var(--fs-12);color:var(--text-muted)}.drawer__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px 20px}.drawer__foot{flex:0 0 auto;padding:12px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface)}.toast-stack{position:fixed;left:50%;bottom:calc(var(--nav-h) + 18px + var(--safe-bottom));transform:translate(-50%);z-index:120;display:flex;flex-direction:column;gap:8px;width:min(calc(100vw - 32px),420px);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:9px;padding:11px 14px;border-radius:var(--radius-lg);background:var(--surface-inverse);color:var(--bg-shell);font-size:var(--fs-13);line-height:var(--lh-snug);box-shadow:var(--shadow-2);animation:toast-rise .24s cubic-bezier(.2,.85,.25,1) both}[data-theme=dark] .toast{background:var(--surface-3);color:var(--text);border:1px solid var(--line-strong)}@keyframes toast-rise{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast--success .toast__icon{color:var(--accent)}.toast--error .toast__icon{color:var(--danger)}.toast--warning .toast__icon{color:var(--warning)}[data-theme=dark] .toast--success .toast__icon{color:var(--accent-strong)}.toast__icon{flex:0 0 auto;margin-top:1px;color:var(--text-on-dark-muted)}.toast__text{flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-3);padding:var(--sp-8) var(--sp-5);border-radius:var(--radius-xl)}.empty-state__art{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;background:var(--surface-2);color:var(--text-muted);border:1px dashed var(--line-strong)}.empty-state--search .empty-state__art{background:var(--accent-soft);color:var(--accent-strong);border-style:solid;border-color:transparent}.empty-state--heart .empty-state__art{background:var(--primary-soft);color:var(--primary-strong);border-color:transparent}.empty-state--bell .empty-state__art{background:var(--lilac-soft);color:var(--lilac-strong);border-color:transparent}.empty-state--plan .empty-state__art{background:var(--warning-soft);color:var(--warning);border-color:transparent}.empty-state__copy{display:flex;flex-direction:column;gap:5px;max-width:260px}.empty-state__title{font-family:var(--font-display);font-size:var(--fs-16);font-weight:var(--fw-semibold);color:var(--text)}.empty-state__desc{font-size:var(--fs-12);color:var(--text-muted);line-height:var(--lh-snug)}.empty-state__action{margin-top:4px}.skeleton{display:block;border-radius:6px;background:linear-gradient(90deg,var(--skeleton) 25%,var(--skeleton-shine) 37%,var(--skeleton) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-text{display:flex;flex-direction:column;gap:8px}.skeleton-text__line{height:12px}.skeleton-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line)}.skeleton-card__media{height:150px;border-radius:var(--radius-lg)}.skeleton-card__line{height:12px}.skeleton-card__line--lg{width:70%;height:16px}.skeleton-card__line--sm{width:45%}.skeleton-list{display:flex;flex-direction:column;gap:12px}.skeleton-list__row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line)}.skeleton-list__avatar{width:48px;height:48px;border-radius:var(--radius-md)}.skeleton-list__body{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-list__title{width:55%;height:13px}.skeleton-list__desc{width:80%;height:10px}.page-header{display:flex;flex-direction:column;gap:10px;padding-top:calc(14px + env(safe-area-inset-top,0px))}.page-header__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:40px}.page-header__left{display:flex;align-items:center;gap:var(--sp-2);margin-left:-8px}.page-header__actions{display:flex;align-items:center;gap:6px}.page-header__titles{display:flex;flex-direction:column;gap:5px}.page-header__title{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold);letter-spacing:-.02em}.page-header__title--large{font-size:var(--fs-28);font-weight:var(--fw-bold);letter-spacing:-.035em;line-height:var(--lh-tight)}.page-header__subtitle{font-size:var(--fs-13);color:var(--text-muted)}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(100vw,var(--shell-w));z-index:40;padding:0 10px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg-shell) 92%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}.bottom-nav__inner{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;height:var(--nav-h)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;color:var(--text-muted);font-size:var(--fs-11);font-weight:var(--fw-medium);transition:color .16s ease}.bottom-nav__item:hover{color:var(--text-2)}.bottom-nav__item.is-active{color:var(--text)}.bottom-nav__icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:28px;border-radius:var(--radius-pill);transition:background .16s ease}.bottom-nav__item.is-active .bottom-nav__icon{background:var(--primary-soft);color:var(--primary-strong)}[data-theme=dark] .bottom-nav__item.is-active .bottom-nav__icon{background:var(--primary-soft);color:var(--primary)}.bottom-nav__badge{position:absolute;top:-2px;right:3px}.bottom-nav__label{letter-spacing:.02em}.search-bar{display:flex;align-items:center;gap:8px;height:46px;padding:0 6px 0 14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);transition:border-color .16s ease,box-shadow .16s ease}.search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-bar__icon{flex:0 0 auto;color:var(--text-faint)}.search-bar__input{flex:1;min-width:0;height:100%;border:0;background:transparent;outline:none;font-size:var(--fs-14);color:var(--text)}.search-bar__input::placeholder{color:var(--text-faint)}.search-bar__input::-webkit-search-cancel-button{display:none}.search-bar__clear{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--surface-2);color:var(--text-muted)}.search-bar__submit{flex:0 0 auto;height:34px;padding:0 14px;border-radius:var(--radius-md);background:var(--text);color:var(--bg-shell);font-size:var(--fs-12);font-weight:var(--fw-semibold)}[data-theme=dark] .search-bar__submit{background:var(--primary);color:var(--on-primary)}.search-bar__submit:disabled{opacity:.4}.segmented{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--line)}.segmented--md{height:40px}.segmented--sm{height:34px}.segmented__item{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:100%;padding:0 14px;border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--fs-12);font-weight:var(--fw-medium);transition:background .16s ease,color .16s ease}.segmented__item.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #211d1a17}.segmented__count{font-size:10px;color:var(--text-faint)}.stat-tile{display:flex;flex-direction:column;gap:3px;padding:12px 13px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);min-width:0}.stat-tile__label{font-size:var(--fs-11);color:var(--text-muted);white-space:nowrap}.stat-tile__value{display:flex;align-items:baseline;gap:3px;font-size:var(--fs-24);font-weight:var(--fw-bold);line-height:1.1;letter-spacing:-.03em}.stat-tile__unit{font-family:var(--font-sans);font-size:var(--fs-11);font-weight:var(--fw-medium);color:var(--text-muted)}.stat-tile__hint{font-size:var(--fs-10, .625rem);color:var(--text-faint);line-height:1.3}.stat-tile--primary .stat-tile__value{color:var(--primary-strong)}.stat-tile--accent .stat-tile__value{color:var(--accent-strong)}.progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.progress-ring__track{stroke:var(--line)}.progress-ring__value{stroke:var(--accent);transition:stroke-dashoffset .5s ease}.progress-ring--primary .progress-ring__value{stroke:var(--primary-strong)}.progress-ring--onDark .progress-ring__track{stroke:var(--line-on-dark)}.progress-ring--onDark .progress-ring__value{stroke:var(--primary)}.progress-ring__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-num);font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text)}.region-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}.region-picker>:first-child{grid-column:1 / -1}.confirm-actions{display:flex;gap:10px}.confirm-actions>*{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:360px){.form-grid,.region-picker{grid-template-columns:1fr}.region-picker>:first-child{grid-column:auto}}.photo{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:linear-gradient(135deg,var(--primary-soft),var(--surface-2) 60%,var(--accent-soft))}.photo__img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}.photo--failed .photo__fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.course-card{position:relative;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line);color:var(--text)}.course-card--row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px}.course-card--tile{display:flex;flex-direction:column;gap:9px;width:208px;padding:10px}.course-card__media{position:relative;overflow:hidden;border-radius:var(--radius-lg);aspect-ratio:4 / 3;background:var(--surface-2)}.course-card--row .course-card__media{width:96px;height:72px;aspect-ratio:auto}.course-card__photo-link{display:block;width:100%;height:100%}.course-card:hover .photo__img{transform:scale(1.035)}.course-card__level{position:absolute;left:7px;top:7px;padding:3px 7px;border-radius:6px;background:var(--media-scrim);color:var(--on-media);font-size:10px;font-weight:var(--fw-medium);letter-spacing:.04em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.course-card__fav{position:absolute;right:7px;top:7px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--media-chip);color:var(--text-2);box-shadow:0 2px 6px #16121024;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color .15s ease,transform .15s ease}.course-card__fav:hover{transform:scale(1.05)}.course-card__fav.is-fav{color:var(--primary-strong)}.course-card__body{min-width:0;display:flex;flex-direction:column;gap:4px}.course-card__meta{display:flex;align-items:center;gap:7px;font-size:var(--fs-11);color:var(--text-muted);flex-wrap:wrap}.course-card__meta .tag{height:20px;font-size:10px}.course-card__title{font-size:var(--fs-14);font-weight:var(--fw-semibold);line-height:1.35;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card--tile .course-card__title{font-size:var(--fs-15)}.course-card__coach{font-size:var(--fs-11);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-card__plan{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text-2);transition:background .15s ease,color .15s ease,border-color .15s ease}.course-card__plan:hover{background:var(--primary-soft);border-color:var(--primary-soft-2);color:var(--primary-strong)}.equipment-tile{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:var(--radius-lg);color:var(--text-2);background:var(--surface-2);flex:0 0 auto}.equipment-tile--sm{width:34px;height:34px;border-radius:9px}.equipment-tile--taupe{background:var(--primary-soft);color:var(--primary-strong)}.equipment-tile--teal{background:var(--accent-soft);color:var(--accent-strong)}.equipment-tile--lilac{background:var(--lilac-soft);color:var(--lilac-strong)}.equipment-tile--sand{background:var(--warning-soft);color:var(--warning)}.equipment-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:13px;padding:12px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line)}.equipment-row__body{min-width:0;display:flex;flex-direction:column;gap:3px}.equipment-row__name{font-size:var(--fs-14);font-weight:var(--fw-semibold);line-height:1.35;color:var(--text)}.equipment-row__tagline{font-size:var(--fs-11);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equipment-row__meta{display:flex;align-items:center;gap:8px;font-size:var(--fs-10, .625rem);color:var(--text-faint)}.rating{display:inline-flex;align-items:center;gap:3px;color:var(--warning);font-weight:var(--fw-semibold)}.stock-out{color:var(--danger)}.equipment-row__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:3px}.price{display:flex;align-items:baseline;gap:6px}.price strong{font-family:var(--font-num);font-size:var(--fs-16);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.02em}.price del{font-size:var(--fs-11);color:var(--text-faint)}.equipment-row__actions{display:flex;align-items:center;gap:4px}.equipment-row__add{display:inline-flex;align-items:center;gap:3px;height:30px;padding:0 10px;border-radius:var(--radius-pill);background:var(--text);color:var(--bg-shell);font-size:var(--fs-11);font-weight:var(--fw-semibold);transition:background .15s ease,transform .12s ease}[data-theme=dark] .equipment-row__add{background:var(--primary);color:var(--on-primary)}.equipment-row__add:hover:not(:disabled){transform:translateY(-1px)}.equipment-row__add:disabled{background:var(--surface-3);color:var(--text-faint);cursor:not-allowed}.order-card{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line);overflow:hidden}.order-card__link{display:block;padding:13px 14px 10px}.order-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.order-card__id{font-size:var(--fs-11);color:var(--text-muted);letter-spacing:.01em}.status-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:var(--fs-10, .625rem);font-weight:var(--fw-semibold);white-space:nowrap}.status-pill--warning{background:var(--warning-soft);color:var(--warning)}.status-pill--lilac{background:var(--lilac-soft);color:var(--lilac-strong)}.status-pill--primary{background:var(--primary-soft);color:var(--primary-strong)}.status-pill--accent{background:var(--accent-soft);color:var(--accent-strong)}.status-pill--neutral{background:var(--surface-2);color:var(--text-muted)}.order-card__items{display:flex;align-items:center;gap:7px}.order-card__names{flex:1;min-width:0;margin-left:3px;font-size:var(--fs-12);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-card__chevron{color:var(--text-faint)}.order-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px 12px;border-top:1px solid var(--line);background:var(--surface-2)}.order-card__meta{display:flex;align-items:baseline;gap:8px;font-size:var(--fs-11);color:var(--text-muted);flex-wrap:wrap}.order-card__meta strong{font-size:var(--fs-14);color:var(--text)}.order-card__action{display:flex;gap:6px;flex:0 0 auto}.day-picker__hint{margin-bottom:10px}.day-picker{display:flex;flex-direction:column;gap:6px}.day-picker__row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);text-align:left;transition:border-color .15s ease,background .15s ease}.day-picker__row:hover{border-color:var(--line-strong);background:var(--surface-2)}.day-picker__row.is-today{border-color:var(--primary-soft-2);background:var(--primary-soft)}[data-theme=dark] .day-picker__row.is-today{border-color:var(--primary-soft-2)}.day-picker__day{display:flex;flex-direction:column;gap:1px;width:52px;flex:0 0 auto;font-size:var(--fs-13);font-weight:var(--fw-semibold)}.day-picker__day em{font-style:normal;font-size:var(--fs-10, .625rem);font-weight:var(--fw-medium);color:var(--primary-strong)}.day-picker__course{flex:1;min-width:0;font-size:var(--fs-12);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-picker__plus{color:var(--text-faint)}.address-list{display:flex;flex-direction:column;gap:10px}.address-card{padding:13px 14px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface)}.address-card__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.address-card__name{font-size:var(--fs-14);font-weight:var(--fw-semibold)}.address-card__phone{font-size:var(--fs-12);color:var(--text-muted)}.address-card__text{margin-top:5px;font-size:var(--fs-12);color:var(--text-2);line-height:var(--lh-snug)}.address-card__actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px dashed var(--line)}.address-card__tools{display:flex;align-items:center;gap:2px}.address-card__current{font-size:var(--fs-11);color:var(--accent-strong);font-weight:var(--fw-medium)}.address-form{display:flex;flex-direction:column;gap:14px}.pay-amount{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 18px}.pay-amount__label{font-size:var(--fs-12);color:var(--text-muted)}.pay-amount__value{font-size:var(--fs-32);font-weight:var(--fw-bold);letter-spacing:-.04em;line-height:1.1}.pay-methods{display:flex;flex-direction:column;gap:8px}.pay-method{display:flex;align-items:center;gap:11px;width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:left;transition:border-color .15s ease,background .15s ease}.pay-method:hover{border-color:var(--line-strong)}.pay-method.is-active{border-color:var(--accent);background:var(--accent-soft)}.pay-method__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;flex:0 0 auto}.pay-method__icon--wechat{background:var(--accent-soft);color:var(--accent-strong)}.pay-method__icon--alipay{background:var(--primary-soft);color:var(--primary-strong)}.pay-method__body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.pay-method__name{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.pay-method__desc{font-size:var(--fs-11);color:var(--text-muted)}.pay-method__radio{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;color:var(--on-accent);flex:0 0 auto}.pay-method__radio.is-on{background:var(--accent);border-color:var(--accent)}.pay-qr{display:flex;flex-direction:column;align-items:center;gap:8px;margin:16px 0 10px;padding:18px;border:1px dashed var(--line-strong);border-radius:var(--radius-xl);background:var(--surface-2)}.pay-qr__code{display:flex;align-items:center;justify-content:center;width:104px;height:104px;border-radius:var(--radius-md);background:var(--surface);color:var(--text-2);border:1px solid var(--line)}.pay-qr__text{font-size:var(--fs-11);color:var(--text-muted)}.pay-note{font-size:var(--fs-11);color:var(--text-faint);line-height:var(--lh-snug);text-align:center}.payment-actions{display:flex;flex-direction:column;gap:8px}.payment-actions__row{display:flex;gap:8px}.workout-drawer .drawer__head{padding-bottom:6px}.workout-drawer__body{padding-top:6px}.workout-hero{position:relative;display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:var(--radius-xl);background:radial-gradient(120% 120% at 100% 0%,var(--primary-soft) 0%,transparent 55%),var(--surface-2);border:1px solid var(--line);overflow:hidden}[data-theme=dark] .workout-hero{background:radial-gradient(120% 120% at 100% 0%,var(--primary-soft) 0%,transparent 55%),var(--surface-2)}.workout-hero__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.workout-hero__count{font-size:var(--fs-12);color:var(--text-muted)}.workout-hero__label{font-size:var(--fs-11);letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase}.workout-hero__name{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-semibold);letter-spacing:-.03em;line-height:1.2}.workout-hero__detail{font-size:var(--fs-12);color:var(--text-muted)}.workout-timer{display:flex;align-items:baseline;gap:10px;margin-top:18px}.workout-timer__value{font-size:var(--fs-40);font-weight:var(--fw-bold);letter-spacing:-.05em;line-height:1}.workout-timer__state{font-size:var(--fs-11);color:var(--accent-strong);font-weight:var(--fw-medium)}.workout-progress{height:6px;border-radius:999px;background:var(--surface-3);margin-top:16px;overflow:hidden}.workout-progress>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .3s ease}.workout-hint{margin-top:7px;font-size:var(--fs-11);color:var(--text-faint)}.workout-steps{display:flex;flex-direction:column;gap:6px;margin-top:16px}.workout-step{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid transparent;color:var(--text-2)}.workout-step--done{opacity:.55}.workout-step--current{background:var(--surface-2);border-color:var(--line)}.workout-step__index{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--surface-3);color:var(--text-muted);font-size:var(--fs-11);font-weight:var(--fw-semibold);flex:0 0 auto}.workout-step--done .workout-step__index{background:var(--accent-strong);color:var(--on-accent)}.workout-step--current .workout-step__index{background:var(--text);color:var(--bg-shell)}[data-theme=dark] .workout-step--current .workout-step__index{background:var(--primary);color:var(--on-primary)}.workout-step__body{flex:1;display:flex;flex-direction:column}.workout-step__name{font-size:var(--fs-13);font-weight:var(--fw-medium)}.workout-step__detail{font-size:var(--fs-11);color:var(--text-muted)}.workout-step__now{display:inline-flex;align-items:center;gap:1px;font-size:var(--fs-10, .625rem);color:var(--accent-strong);font-weight:var(--fw-medium)}.workout-actions{display:flex;gap:8px}.workout-summary{display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 12px 20px}.workout-summary__check{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);margin-bottom:16px}.workout-summary__title{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold)}.workout-summary__desc{margin-top:5px;font-size:var(--fs-12);color:var(--text-muted);max-width:280px}.workout-summary__stats{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:8px;margin:22px 0 14px}.workout-summary__stats>div{display:flex;flex-direction:column;gap:2px;padding:14px 8px;border-radius:var(--radius-lg);background:var(--surface-2)}.workout-summary__stats span:first-child{font-size:var(--fs-24);font-weight:var(--fw-bold);letter-spacing:-.03em}.workout-summary__stats span:last-child{font-size:var(--fs-11);color:var(--text-muted)}.workout-summary__note{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-11);color:var(--text-muted)}.section-title svg{display:inline-block;vertical-align:-1px;margin-right:5px;color:var(--text-muted)}.section-head .section-title{display:inline-flex;align-items:center}.chip__count{font-size:10px;color:var(--text-faint)}.chip[aria-pressed=true] .chip__count{color:var(--bg-shell);opacity:.75}[data-theme=dark] .chip[aria-pressed=true] .chip__count{color:var(--on-primary)}.page>.page-header{margin-bottom:-4px}.auth-page{position:relative;display:flex;flex-direction:column;gap:22px;min-height:100dvh;padding:calc(20px + env(safe-area-inset-top,0px)) var(--page-pad) calc(28px + env(safe-area-inset-bottom,0px));overflow:hidden;background:radial-gradient(90% 55% at 110% -5%,var(--primary-soft) 0%,transparent 62%),radial-gradient(80% 50% at -10% 45%,var(--accent-soft) 0%,transparent 55%),var(--bg-shell)}.auth-page:after{content:"";position:absolute;width:280px;height:280px;right:-150px;top:88px;border-radius:50%;border:1px solid var(--line-strong);opacity:.5;pointer-events:none}.auth-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.auth-brand{display:inline-flex;align-items:center;gap:9px;color:var(--text)}.brand-mark{display:inline-flex;color:var(--text)}.auth-brand__word{font-family:var(--font-display);font-size:var(--fs-18);font-weight:var(--fw-bold);letter-spacing:-.03em}.auth-top__note{font-size:var(--fs-10, .625rem);letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase}.auth-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;padding-top:12px}.auth-title{font-family:var(--font-display);font-size:var(--fs-32);font-weight:var(--fw-bold);line-height:1.08;letter-spacing:-.045em}.auth-subtitle{font-size:var(--fs-13);color:var(--text-muted);max-width:310px}.auth-card{position:relative;z-index:1;padding:20px;border-radius:var(--radius-2xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.auth-code-btn{height:46px;white-space:nowrap}.auth-agree{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:var(--fs-11);color:var(--text-muted);line-height:1.5}.auth-agree__links{display:inline-flex;align-items:center;gap:2px}.auth-agree__links .link-inline{font-size:var(--fs-11);color:var(--accent-strong);background:none}.auth-demo{display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--fs-11);color:var(--text-faint);text-align:center;flex-wrap:wrap}.auth-demo__fill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-10, .625rem);font-weight:var(--fw-medium)}.auth-demo__fill:hover{background:var(--primary-soft);color:var(--primary-strong)}.auth-demo strong{color:var(--text-2);font-family:var(--font-num);letter-spacing:.04em}.auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:var(--text-faint);font-size:var(--fs-11)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-footer{position:relative;z-index:1;text-align:center;font-size:var(--fs-12);color:var(--text-muted)}.auth-footer .link-inline{background:none}.legal{display:flex;flex-direction:column;gap:10px;font-size:var(--fs-12);color:var(--text-2);line-height:1.75}.legal__meta{font-size:var(--fs-11);color:var(--text-faint);padding-bottom:4px;border-bottom:1px solid var(--line)}.legal h3{margin-top:8px;font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text)}.page--home{gap:22px;padding-top:calc(16px + env(safe-area-inset-top,0px))}.home-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.home-header__id{display:flex;align-items:center;gap:11px;min-width:0}.home-header__text{display:flex;flex-direction:column;gap:1px;min-width:0}.home-header__date{font-size:var(--fs-10, .625rem);letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}.home-header__greet{font-family:var(--font-display);font-size:var(--fs-18);font-weight:var(--fw-semibold);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-header__actions{display:flex;align-items:center;gap:7px}.home-bag,.home-bell{position:relative}.home-bag__badge,.home-bell__badge{position:absolute;top:1px;right:0;transform:translate(20%,-20%);box-shadow:0 0 0 2px var(--bg-shell)}.home-bell__badge{background:var(--danger);color:var(--on-danger)}.home-section{display:flex;flex-direction:column;gap:12px}.today-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:var(--radius-2xl);background:radial-gradient(120% 120% at 105% -10%,var(--hero-glow),transparent 55%),linear-gradient(150deg,var(--hero-bg-1) 0%,var(--hero-bg-2) 65%,var(--hero-bg-3) 100%);color:var(--text-on-dark);overflow:hidden;box-shadow:0 18px 40px #1c171438}[data-theme=dark] .today-card{background:radial-gradient(120% 120% at 105% -10%,var(--hero-glow-dark),transparent 55%),linear-gradient(150deg,var(--hero-bg-1) 0%,var(--hero-bg-2) 65%,var(--hero-bg-3) 100%);border:1px solid var(--line)}.today-card__glow{position:absolute;right:-40px;bottom:-80px;width:220px;height:220px;border-radius:50%;border:1px solid var(--line-inverse);pointer-events:none}.today-card__glow:before{content:"";position:absolute;top:28px;right:28px;bottom:28px;left:28px;border-radius:50%;border:1px solid var(--line-inverse-soft)}.today-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.today-card__eyebrow{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:6px;background:var(--line-inverse);color:var(--text-on-dark);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.1em}.today-card__ring-label{font-size:var(--fs-11);color:var(--text-on-dark)}.today-card__main{position:relative;z-index:1;display:flex;flex-direction:column;gap:5px;margin-top:-34px;padding-right:70px}.today-card__kicker{font-size:var(--fs-11);color:var(--text-on-dark-muted);letter-spacing:.02em}.today-card__title{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-semibold);line-height:1.18;letter-spacing:-.03em}.today-card__meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:var(--fs-11);color:var(--text-on-dark-muted)}.today-card__meta span{display:inline-flex;align-items:center}.today-card__meta span+span:before{content:"·";margin-right:10px;opacity:.5}.today-card__foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:13px;border-top:1px solid var(--line-inverse)}.today-card__streak{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-11);color:var(--text-on-dark-muted);min-width:0}.today-card.is-done .today-card__streak{color:var(--on-hero-accent)}.btn--on-dark{background:var(--text-on-dark);color:var(--text-on-light);border-color:transparent;box-shadow:none;flex:0 0 auto}.btn--on-dark:hover:not(:disabled){background:var(--on-media)}[data-theme=dark] .btn--on-dark{background:var(--primary);color:var(--on-primary)}.home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pending-banner{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:var(--radius-lg);background:var(--warning-soft);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 22%,transparent)}.pending-banner__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--surface);color:var(--warning);flex:0 0 auto}.pending-banner__body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.pending-banner__title{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--text)}.pending-banner__desc{font-size:var(--fs-10, .625rem);color:var(--warning);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pending-banner__cta{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--text);white-space:nowrap}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.category-tile{position:relative;display:flex;flex-direction:column;gap:2px;padding:13px;min-height:116px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);overflow:hidden}.category-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;margin-bottom:6px;background:var(--surface-2);color:var(--text-2)}.category-tile--taupe .category-tile__icon{background:var(--primary-soft);color:var(--primary-strong)}.category-tile--teal .category-tile__icon{background:var(--accent-soft);color:var(--accent-strong)}.category-tile--lilac .category-tile__icon{background:var(--lilac-soft);color:var(--lilac-strong)}.category-tile--sand .category-tile__icon{background:var(--warning-soft);color:var(--warning)}.category-tile__name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text)}.category-tile__copy{font-size:var(--fs-10, .625rem);color:var(--text-muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-tile__count{position:absolute;right:12px;top:13px;font-size:var(--fs-10, .625rem);color:var(--text-faint)}.home-note{display:flex;gap:13px;padding:16px;border-radius:var(--radius-xl);background:var(--surface-2);border:1px solid var(--line)}.home-note__mark{flex:0 0 auto;font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-bold);letter-spacing:-.05em;color:var(--primary-strong);opacity:.7}.home-note__title{font-size:var(--fs-12);font-weight:var(--fw-semibold);margin-bottom:2px}.home-note__text{font-size:var(--fs-11);color:var(--text-muted);line-height:1.6}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:8px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line)}.week-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 7px;border-radius:var(--radius-md);color:var(--text-muted);border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease}.week-day:hover{background:var(--surface-2)}.week-day__label{font-size:10px;letter-spacing:.02em}.week-day__date{font-size:var(--fs-13);font-weight:var(--fw-semibold);color:var(--text-2)}.week-day__dot{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--on-accent);margin:2px 0}.week-day--done .week-day__dot{background:var(--accent);border-color:var(--accent)}.week-day--today .week-day__dot{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-soft)}.week-day--missed{opacity:.45}.week-day__course{font-size:9px;color:var(--text-faint)}.week-day.is-active{background:var(--text);border-color:var(--text);color:var(--bg-shell)}[data-theme=dark] .week-day.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.week-day.is-active .week-day__date,.week-day.is-active .week-day__course,.week-day.is-active .week-day__label{color:inherit}.week-day.is-active .week-day__dot{border-color:currentColor;box-shadow:none}.week-day.is-active.week-day--done .week-day__dot{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.plan-detail{display:flex;flex-direction:column;gap:13px;padding:16px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line)}.plan-detail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.plan-detail__date{font-size:var(--fs-10, .625rem);letter-spacing:.08em;color:var(--text-muted)}.plan-detail__title{font-family:var(--font-display);font-size:var(--fs-18);font-weight:var(--fw-semibold);letter-spacing:-.02em;margin-top:2px}.plan-course{display:flex;align-items:center;gap:12px}.plan-course__photo{position:relative;width:88px;height:66px;flex:0 0 auto;border-radius:var(--radius-md);overflow:hidden;display:block;background:var(--surface-2)}.plan-course__body{display:flex;flex-direction:column;gap:2px;min-width:0}.plan-course__name{font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text)}.plan-course__meta{font-size:var(--fs-11);color:var(--text-muted)}.plan-course__coach{font-size:var(--fs-10, .625rem);color:var(--text-faint)}.plan-rest{display:flex;gap:11px;padding:13px;border-radius:var(--radius-lg);background:var(--surface-2)}.plan-rest__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--surface);color:var(--accent-strong);flex:0 0 auto}.plan-rest__title{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.plan-rest__desc{font-size:var(--fs-11);color:var(--text-muted);line-height:1.5;margin-top:2px}.plan-detail__actions{display:flex;flex-direction:column;gap:6px}.plan-detail__note{display:flex;align-items:flex-start;gap:5px;font-size:var(--fs-11);color:var(--text-muted);line-height:1.5}.plan-detail__record{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-11);color:var(--accent-strong);font-weight:var(--fw-medium)}.plan-progress{display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line)}.plan-progress__ring{display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--text)}.plan-progress__ring strong{font-size:var(--fs-16);font-weight:var(--fw-bold);letter-spacing:-.03em}.plan-progress__ring span{font-size:9px;color:var(--text-muted)}.plan-progress__copy{display:flex;flex-direction:column;gap:4px}.plan-progress__title{font-size:var(--fs-14);font-weight:var(--fw-semibold)}.plan-progress__desc{font-size:var(--fs-11);color:var(--text-muted);line-height:1.55}.plan-meta{display:flex;flex-direction:column;gap:10px}.plan-meta__grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-radius:var(--radius-lg);overflow:hidden;background:var(--line);border:1px solid var(--line)}.plan-meta__grid>div{display:flex;flex-direction:column;gap:3px;padding:12px 13px;background:var(--surface)}.plan-meta__grid span{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.plan-meta__grid strong{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.plan-footnote,.list-footnote,.favorites-note{display:flex;align-items:flex-start;gap:6px;font-size:var(--fs-11);color:var(--text-faint);line-height:1.5}.plan-footnote{align-items:center;justify-content:center;text-align:center}.explore-search-entry{display:flex;align-items:center;gap:6px;height:42px;padding:0 6px 0 13px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.explore-search-entry__main{flex:1;display:flex;align-items:center;gap:8px;height:100%;min-width:0;color:var(--text-faint);font-size:var(--fs-12);text-align:left}.explore-search-entry__main span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted)}.explore-search-entry__clear{flex:0 0 auto;height:28px;padding:0 10px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-11)}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px}.list-toolbar__count{font-size:var(--fs-11);color:var(--text-muted)}.list-toolbar__actions{display:flex;align-items:center;gap:8px}.filter-btn{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 11px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--text-2);font-size:var(--fs-11);font-weight:var(--fw-medium)}.filter-btn.is-active{border-color:var(--text);background:var(--text);color:var(--bg-shell)}[data-theme=dark] .filter-btn.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.filter-btn__count{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:9px}.filter-btn.is-active .filter-btn__count{background:var(--media-chip-line);color:inherit}.course-list,.equipment-list,.order-list,.record-list{display:flex;flex-direction:column;gap:9px}.filter-group{display:flex;flex-direction:column;gap:9px;margin-bottom:18px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-group__title{font-size:var(--fs-12);font-weight:var(--fw-semibold);color:var(--text)}.sort-select{min-width:132px}.list-toolbar .select-wrap{height:32px;width:auto;min-width:128px;border-radius:var(--radius-pill)}.list-toolbar .select{font-size:var(--fs-11);padding-left:11px}.record-card{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line);overflow:hidden}.record-card__main{display:flex;align-items:flex-start;gap:11px;padding:13px 14px 10px}.record-card__date{display:flex;flex-direction:column;align-items:center;gap:1px;width:52px;flex:0 0 auto;padding-top:1px}.record-card__date .num:first-child{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.record-card__time{font-size:var(--fs-10, .625rem);color:var(--text-faint)}.record-card__body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.record-card__title{font-size:var(--fs-14);font-weight:var(--fw-semibold)}.record-card__meta{font-size:var(--fs-11);color:var(--text-muted)}.record-card__relative{font-size:var(--fs-10, .625rem);color:var(--text-faint)}.record-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 14px;border-top:1px solid var(--line);background:var(--surface-2)}.record-card__id{font-size:var(--fs-10, .625rem);color:var(--text-faint)}.detail-page{gap:16px;padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.detail-page .page-header{padding-top:calc(10px + env(safe-area-inset-top,0px))}.detail-hero{position:relative;aspect-ratio:4 / 3;border-radius:var(--radius-2xl);overflow:hidden;background:var(--surface-2)}.detail-hero__photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.detail-hero__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--scrim-start) 30%,var(--scrim-end) 100%)}.detail-hero__content{position:absolute;left:16px;right:16px;bottom:15px;display:flex;flex-direction:column;gap:7px;color:var(--on-media)}.detail-hero__tags{display:flex;gap:5px}.detail-hero__tags .tag{background:var(--media-chip-strong);color:var(--on-media);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.detail-hero__title{font-family:var(--font-display);font-size:var(--fs-28);font-weight:var(--fw-bold);line-height:1.1;letter-spacing:-.04em}.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;font-size:var(--fs-11);color:var(--text-muted);padding:0 2px}.detail-meta .row{gap:3px}.detail-block{display:flex;flex-direction:column;gap:12px;padding:15px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line)}.detail-block .section-head{align-items:center}.detail-text{font-size:var(--fs-12);color:var(--text-2);line-height:1.7}.coach-row{display:flex;align-items:center;gap:11px}.coach-row__name{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.coach-row__role{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.tag-row{display:flex;flex-wrap:wrap;gap:5px}.equipment-chips{display:flex;flex-direction:column;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.equipment-chip{display:flex;align-items:center;gap:9px;padding:7px;border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid transparent;transition:border-color .15s ease,background .15s ease;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.equipment-chip:hover{border-color:var(--line-strong);background:var(--surface)}.equipment-chip__body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.equipment-chip__name{font-size:var(--fs-12);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equipment-chip__price{font-size:var(--fs-11);color:var(--text-muted)}.session-list{display:flex;flex-direction:column;gap:2px}.session-row{display:flex;gap:11px;padding:9px 0;border-bottom:1px dashed var(--line)}.session-row:last-child{border-bottom:0;padding-bottom:0}.session-row__index{flex:0 0 auto;width:22px;font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--text-faint);padding-top:1px}.session-row__body{display:flex;flex-direction:column;gap:1px}.session-row__name{font-size:var(--fs-13);font-weight:var(--fw-medium)}.session-row__detail{font-size:var(--fs-11);color:var(--text-muted)}.detail-bar{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(100vw,var(--shell-w));z-index:45;padding:10px 20px calc(12px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg-shell) 94%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.detail-bar__inner{display:flex;align-items:center;gap:8px}.detail-bar__inner>.btn{flex:1;min-width:0;white-space:nowrap}.detail-bar__info{display:flex;flex-direction:column;line-height:1.2;min-width:62px;flex:0 0 auto}.detail-bar__info span{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.detail-bar__info strong{font-size:var(--fs-16);font-weight:var(--fw-bold);letter-spacing:-.02em}.equipment-hero{position:relative;display:flex;align-items:center;justify-content:center;height:230px;border-radius:var(--radius-2xl);background:var(--surface-2);overflow:hidden;border:1px solid var(--line)}.equipment-hero--taupe{background:linear-gradient(145deg,var(--primary-soft),var(--surface-2))}.equipment-hero--teal{background:linear-gradient(145deg,var(--accent-soft),var(--surface-2))}.equipment-hero--lilac{background:linear-gradient(145deg,var(--lilac-soft),var(--surface-2))}.equipment-hero--sand{background:linear-gradient(145deg,var(--warning-soft),var(--surface-2))}.equipment-hero__icon{display:inline-flex;align-items:center;justify-content:center;width:134px;height:134px;border-radius:34px;background:color-mix(in srgb,var(--surface) 58%,transparent);color:var(--text-2);border:1px solid color-mix(in srgb,var(--surface) 70%,transparent);box-shadow:0 20px 50px #211d1a14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.equipment-hero__tag{position:absolute;left:15px;top:15px;padding:4px 9px;border-radius:6px;background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--text-2);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.08em}.equipment-hero__mark{position:absolute;right:10px;bottom:-18px;font-family:var(--font-display);font-size:96px;font-weight:var(--fw-bold);letter-spacing:-.08em;color:var(--text);opacity:.05;pointer-events:none}.equipment-head{display:flex;flex-direction:column;gap:6px;padding:2px 2px 0}.equipment-head__tags{display:flex;flex-wrap:wrap;gap:5px}.equipment-head__title{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-bold);letter-spacing:-.035em;line-height:1.2}.equipment-head__tagline{font-size:var(--fs-13);color:var(--text-muted)}.equipment-head__meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;font-size:var(--fs-11);color:var(--text-muted)}.equipment-head__price{display:flex;align-items:baseline;gap:8px;margin-top:4px}.equipment-head__price>strong{font-size:var(--fs-28);font-weight:var(--fw-bold);letter-spacing:-.04em}.equipment-head__price>del{font-size:var(--fs-12);color:var(--text-faint)}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.spec-cell{display:flex;flex-direction:column;gap:2px;padding:10px 11px;background:var(--surface-2)}.spec-cell span{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.spec-cell strong{font-size:var(--fs-12);font-weight:var(--fw-medium)}.buy-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.qty{display:inline-flex;align-items:center;gap:1px;padding:2px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface)}.qty button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:var(--text-2)}.qty button:hover:not(:disabled){background:var(--surface-2)}.qty button:disabled{opacity:.32;cursor:not-allowed}.qty span{min-width:24px;text-align:center;font-size:var(--fs-12);font-weight:var(--fw-semibold)}.qty--lg button{width:34px;height:34px}.qty--lg span{min-width:34px;font-size:var(--fs-14)}.info-list{display:flex;flex-direction:column;gap:11px}.info-row{display:flex;gap:10px;align-items:flex-start}.info-row>svg{flex:0 0 auto;margin-top:2px;color:var(--text-muted)}.info-row p{font-size:var(--fs-12);font-weight:var(--fw-medium)}.info-row span{display:block;margin-top:1px;font-size:var(--fs-11);color:var(--text-muted);line-height:1.55}.checkout-page{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}.checkout-block{display:flex;flex-direction:column;gap:11px;padding:15px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line)}.checkout-address{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface-2);text-align:left}.checkout-address--empty{border-style:dashed;align-items:center}.checkout-address__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--surface);color:var(--primary-strong);flex:0 0 auto}.checkout-address__body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.checkout-address__head{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--fs-12)}.checkout-address__head strong{font-size:var(--fs-13)}.checkout-address__head .num{color:var(--text-muted);font-size:var(--fs-11)}.checkout-address__text{font-size:var(--fs-11);color:var(--text-2);line-height:1.55}.checkout-lines{display:flex;flex-direction:column;gap:12px}.checkout-line{display:flex;align-items:flex-start;gap:10px}.checkout-line__body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;padding-top:1px}.checkout-line__name{font-size:var(--fs-12);font-weight:var(--fw-medium);line-height:1.4}.checkout-line__meta{font-size:var(--fs-10, .625rem);color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkout-line__price{font-size:var(--fs-12);font-weight:var(--fw-semibold);margin-top:2px}.checkout-line__side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.checkout-line__remove{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:var(--text-faint)}.checkout-line__remove:hover{background:var(--danger-soft);color:var(--danger)}.checkout-tip{display:flex;align-items:flex-start;gap:7px;padding:9px 10px;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-11);line-height:1.5}.checkout-pay{display:flex;gap:8px}.checkout-pay__item{flex:1;display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);font-size:var(--fs-12);text-align:left}.checkout-pay__item .pay-method__icon{width:30px;height:30px}.checkout-pay__item span:nth-child(2){flex:1}.checkout-pay__item.is-active{border-color:var(--accent);background:var(--accent-soft)}.checkout-note{display:flex;align-items:flex-start;gap:6px;font-size:var(--fs-10, .625rem);color:var(--text-faint);line-height:1.5}.kv-list{display:flex;flex-direction:column;gap:9px}.kv-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:var(--fs-12);color:var(--text-muted)}.kv-row strong{color:var(--text);font-weight:var(--fw-medium);text-align:right}.kv-row--total{padding-top:8px;border-top:1px dashed var(--line)}.kv-row--total span{color:var(--text);font-weight:var(--fw-semibold)}.kv-row--total strong{font-size:var(--fs-18);font-weight:var(--fw-bold);color:var(--text)}.tracking-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:var(--radius-lg);background:var(--primary-soft);border:1px solid var(--primary-soft-2)}.tracking-card>div{display:flex;flex-direction:column;gap:2px}.tracking-card__label{font-size:var(--fs-10, .625rem);color:var(--primary-strong);font-weight:var(--fw-semibold)}.tracking-card strong{font-size:var(--fs-14);letter-spacing:.03em}.order-hero{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line)}.order-hero__icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--surface-2);color:var(--text-2);flex:0 0 auto}.order-hero--pending .order-hero__icon{background:var(--warning-soft);color:var(--warning)}.order-hero--paid .order-hero__icon{background:var(--lilac-soft);color:var(--lilac-strong)}.order-hero--shipped .order-hero__icon{background:var(--primary-soft);color:var(--primary-strong)}.order-hero--completed .order-hero__icon{background:var(--accent-soft);color:var(--accent-strong)}.order-hero--cancelled .order-hero__icon{background:var(--surface-2);color:var(--text-muted)}.order-hero__body{display:flex;flex-direction:column;gap:2px;padding-top:1px}.order-hero__status{font-family:var(--font-display);font-size:var(--fs-18);font-weight:var(--fw-semibold)}.order-hero__hint{font-size:var(--fs-11);color:var(--text-muted);line-height:1.55}.timeline{position:relative;display:flex;flex-direction:column;gap:14px;padding-left:4px}.timeline__item{position:relative;display:flex;gap:12px}.timeline__item:not(:last-child):before{content:"";position:absolute;left:4px;top:12px;width:1px;height:calc(100% + 6px);background:var(--line)}.timeline__dot{position:relative;z-index:1;flex:0 0 auto;width:9px;height:9px;margin-top:4px;border-radius:50%;background:var(--line-strong);box-shadow:0 0 0 3px var(--surface)}.timeline__item:first-child .timeline__dot{background:var(--accent)}.timeline__label{font-size:var(--fs-12);font-weight:var(--fw-medium)}.timeline__time{font-size:var(--fs-10, .625rem);color:var(--text-faint)}.order-items{display:flex;flex-direction:column;gap:9px}.order-line{display:flex;align-items:center;gap:9px}.order-line__body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.order-line__name{font-size:var(--fs-12);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-line__meta{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.order-line__total{font-size:var(--fs-12);font-weight:var(--fw-semibold)}.address-block{padding:12px;border-radius:var(--radius-md);background:var(--surface-2)}.address-block__head{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--fs-12)}.address-block__head strong{font-size:var(--fs-13)}.address-block p{margin-top:4px;font-size:var(--fs-11);color:var(--text-2);line-height:1.55}.refund-note{display:flex;align-items:flex-start;gap:6px;padding:9px 10px;border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning);font-size:var(--fs-11);line-height:1.5}.result-page{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.result-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:26px 18px 22px;border-radius:var(--radius-2xl);background:var(--surface);border:1px solid var(--line)}.result-hero__icon{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;margin-bottom:8px;background:var(--accent-soft);color:var(--accent-strong)}.result-hero.is-failed .result-hero__icon{background:var(--danger-soft);color:var(--danger)}.result-hero.is-cancelled .result-hero__icon{background:var(--warning-soft);color:var(--warning)}.result-hero__title{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-bold);letter-spacing:-.03em}.result-hero__amount{font-size:var(--fs-32);font-weight:var(--fw-bold);letter-spacing:-.04em}.result-hero__desc{font-size:var(--fs-12);color:var(--text-muted);max-width:280px;line-height:1.55}.result-items{display:flex;flex-direction:column;gap:9px}.result-line{display:flex;align-items:center;gap:8px;font-size:var(--fs-12)}.result-line__name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-line__qty{color:var(--text-muted);font-size:var(--fs-11)}.result-line__price{font-weight:var(--fw-semibold)}.result-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px dashed var(--line)}.result-summary>div{display:flex;flex-direction:column;gap:1px;font-size:var(--fs-11);color:var(--text-muted)}.result-summary strong{font-size:var(--fs-18);font-weight:var(--fw-bold)}.result-meta{display:flex;justify-content:space-between;gap:16px;font-size:var(--fs-11);color:var(--text-muted)}.result-meta strong{color:var(--text-2);font-weight:var(--fw-medium);text-align:right}.result-next{display:flex;align-items:center;gap:10px;padding:13px;border-radius:var(--radius-lg);background:var(--surface-2)}.result-next__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--surface);color:var(--accent-strong);flex:0 0 auto}.result-next>div{flex:1}.result-next__title{font-size:var(--fs-12);font-weight:var(--fw-semibold)}.result-next__desc{font-size:var(--fs-10, .625rem);color:var(--text-muted);line-height:1.45}.result-next__link{display:inline-flex;align-items:center;gap:1px;font-size:var(--fs-11);color:var(--text-muted);flex:0 0 auto}.result-actions{display:flex;flex-direction:column;gap:8px}.result-footnote{display:flex;align-items:center;justify-content:center;gap:5px;font-size:var(--fs-10, .625rem);color:var(--text-faint)}.favorites-note{align-items:center;justify-content:center;padding-top:6px}.notif-banner{display:flex;align-items:flex-start;gap:8px;width:100%;padding:11px 12px;border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning);font-size:var(--fs-11);line-height:1.5;text-align:left}.notif-banner__cta{display:inline-flex;align-items:center;gap:1px;margin-left:auto;flex:0 0 auto;font-weight:var(--fw-semibold);color:var(--text-2)}.notification-list{display:flex;flex-direction:column;gap:6px}.notification-row{display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);text-align:left;transition:border-color .15s ease,background .15s ease}.notification-row:hover{border-color:var(--line-strong)}.notification-row.is-unread{background:var(--surface);border-color:var(--primary-soft-2)}.notification-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--surface-2);color:var(--text-2);flex:0 0 auto}.notification-icon--order{background:var(--primary-soft);color:var(--primary-strong)}.notification-icon--plan{background:var(--lilac-soft);color:var(--lilac-strong)}.notification-icon--streak{background:var(--accent-soft);color:var(--accent-strong)}.notification-icon--system{background:var(--warning-soft);color:var(--warning)}.notification-row__body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.notification-row__head{display:flex;align-items:center;gap:6px}.notification-row__title{font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text-2);line-height:1.4}.notification-row.is-unread .notification-row__title{font-weight:var(--fw-semibold);color:var(--text)}.notification-row__text{font-size:var(--fs-11);color:var(--text-muted);line-height:1.5}.notification-row__meta{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:var(--fs-10, .625rem);color:var(--text-faint)}.notification-row__meta .tag{height:18px;font-size:9px;padding:0 6px}.notification-row__chevron{color:var(--text-faint);margin-top:10px}.notif-settings-row{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--radius-lg);background:var(--surface-2);text-align:left}.notif-settings-row__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--surface);color:var(--text-2)}.notif-settings-row__body{flex:1;display:flex;flex-direction:column;gap:1px}.notif-settings-row__title{font-size:var(--fs-12);font-weight:var(--fw-medium)}.notif-settings-row__desc{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.profile-hero{position:relative;display:flex;align-items:center;gap:14px;padding:18px;border-radius:var(--radius-2xl);background:radial-gradient(120% 140% at 100% 0%,var(--primary-soft) 0%,transparent 60%),var(--surface);border:1px solid var(--line);overflow:hidden}.profile-hero__body{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-hero__name{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold);letter-spacing:-.02em}.profile-hero__phone{font-size:var(--fs-11);color:var(--text-muted)}.profile-hero__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.profile-hero__mark{position:absolute;right:12px;bottom:2px;color:var(--text);opacity:.06;transform:rotate(-12deg)}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:1px;padding:12px 6px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);color:var(--text-muted);text-align:center}.profile-stat svg{color:var(--text-faint)}.profile-stat strong{font-size:var(--fs-20);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.03em}.profile-stat span{font-size:var(--fs-10, .625rem)}.profile-form{display:flex;flex-direction:column;gap:13px}.profile-form__saved{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-10, .625rem);color:var(--accent-strong);font-weight:var(--fw-medium)}.profile-links{display:flex;flex-direction:column;gap:10px}.profile-link-card{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line);overflow:hidden}.profile-link-card .list-item+.list-item{border-top:1px solid var(--line);border-radius:0}.list-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--surface-2);color:var(--text-2)}.list-icon--taupe{background:var(--primary-soft);color:var(--primary-strong)}.list-icon--accent{background:var(--accent-soft);color:var(--accent-strong)}.list-icon--lilac{background:var(--lilac-soft);color:var(--lilac-strong)}.list-icon--sand{background:var(--warning-soft);color:var(--warning)}.list-icon--danger{background:var(--danger-soft);color:var(--danger)}.profile-support{display:inline-flex;align-items:center;justify-content:center;gap:2px;font-size:var(--fs-11);color:var(--text-muted)}.settings-page{gap:20px}.settings-group{display:flex;flex-direction:column;gap:7px}.settings-group__title{font-size:var(--fs-10, .625rem);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding-left:4px}.settings-card{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line);overflow:hidden}.settings-card .list-item{border-radius:0;padding:12px 14px}.settings-card .list-item+.list-item{border-top:1px solid var(--line)}.settings-footnote{font-size:var(--fs-10, .625rem);color:var(--text-faint);text-align:center;line-height:1.5}.settings-switches{display:flex;flex-direction:column;gap:16px;padding:4px 0}.settings-switches__note{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.theme-options{display:flex;flex-direction:column;gap:7px}.theme-option{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);text-align:left}.theme-option.is-active{border-color:var(--accent);background:var(--accent-soft)}.theme-option__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2);color:var(--text-2);flex:0 0 auto}.theme-option__body{flex:1;display:flex;flex-direction:column;gap:1px}.theme-option__label{font-size:var(--fs-13);font-weight:var(--fw-medium)}.theme-option__desc{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.theme-option__check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;color:var(--on-accent)}.theme-option__check.is-on{background:var(--accent);border-color:var(--accent)}.about-block{display:flex;flex-direction:column;gap:10px;font-size:var(--fs-12);color:var(--text-2);line-height:1.65}.about-block__version{font-size:var(--fs-11);color:var(--text-muted)}.about-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.about-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:var(--fs-11)}.about-list li span:first-child{color:var(--text-muted)}.phone-change{display:flex;flex-direction:column;gap:13px}.phone-change__current{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--fs-11);color:var(--text-muted)}.phone-change__current strong{color:var(--text);font-size:var(--fs-13)}.support-hero{display:flex;gap:13px;padding:17px;border-radius:var(--radius-2xl);background:radial-gradient(120% 120% at 100% 0%,var(--accent-soft) 0%,transparent 60%),var(--surface);border:1px solid var(--line)}.support-hero__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);flex:0 0 auto}.support-hero__body{display:flex;flex-direction:column;gap:3px}.support-hero__eyebrow{font-size:var(--fs-10, .625rem);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong);font-weight:var(--fw-semibold)}.support-hero__title{font-family:var(--font-display);font-size:var(--fs-20);font-weight:var(--fw-semibold);letter-spacing:-.02em}.support-hero__desc{font-size:var(--fs-11);color:var(--text-muted);line-height:1.6;margin-top:1px}.support-hero__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.support-contact{border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--line);overflow:hidden}.support-contact__row{display:flex;align-items:center;gap:10px;padding:13px 14px}.support-contact__row+.support-contact__row{border-top:1px solid var(--line)}.support-contact__row>svg{color:var(--text-muted);flex:0 0 auto}.support-contact__row>div{flex:1;display:flex;flex-direction:column;gap:1px}.support-contact__row strong{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.support-contact__row span{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.support-contact__link{display:inline-flex;align-items:center;gap:1px;font-size:var(--fs-11);color:var(--accent-strong);font-weight:var(--fw-medium)}.support-contact__chev{transform:rotate(-90deg)}.faq-list{display:flex;flex-direction:column;gap:1px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line)}.faq-item{background:var(--surface-2)}.faq-item+.faq-item{border-top:1px solid var(--line)}.faq-item__question{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 13px;text-align:left;font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text)}.faq-item__chevron{flex:0 0 auto;color:var(--text-faint);transition:transform .18s ease}.faq-item.is-open .faq-item__chevron{transform:rotate(180deg)}.faq-item__answer{padding:0 13px 13px;font-size:var(--fs-11);color:var(--text-muted);line-height:1.65}.support-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.support-card{display:flex;flex-direction:column;gap:5px;padding:12px 10px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line)}.support-card svg{color:var(--text-muted)}.support-card p{font-size:var(--fs-11);font-weight:var(--fw-semibold)}.support-card span{font-size:9px;color:var(--text-muted);line-height:1.5}.chat-quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chat-quick .chip{height:30px;font-size:var(--fs-11)}.chat-list{display:flex;flex-direction:column;gap:9px;max-height:46dvh;overflow-y:auto;padding:2px 0}.chat-bubble{max-width:82%;padding:9px 12px;border-radius:14px;font-size:var(--fs-12);line-height:1.6}.chat-bubble--agent{align-self:flex-start;background:var(--surface-2);color:var(--text-2);border-bottom-left-radius:4px}.chat-bubble--user{align-self:flex-end;background:var(--accent-strong);color:var(--on-accent);border-bottom-right-radius:4px}.chat-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;border-radius:14px;background:var(--surface-2)}.chat-typing span{width:5px;height:5px;border-radius:50%;background:var(--text-faint);animation:chat-dot 1s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}.chat-note{margin-top:12px;text-align:center}.chat-input{display:flex;align-items:center;gap:7px}.chat-input .field{flex:1}.chat-input .btn{flex:0 0 auto;height:46px}.search-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--fs-12);color:var(--text-muted)}.search-summary strong{color:var(--text);font-weight:var(--fw-semibold)}.search-summary__clear{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-11);color:var(--text-muted)}.search-section{display:flex;flex-direction:column;gap:10px}.search-footnote{font-size:var(--fs-10, .625rem);color:var(--text-faint);text-align:center}.create-page{gap:18px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}.create-section{display:flex;flex-direction:column;gap:12px}.day-select{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.day-chip{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 1px 8px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--text-muted);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.day-chip__week{font-size:10px;font-weight:var(--fw-medium)}.day-chip__state{font-size:8px;color:var(--text-faint)}.day-chip.is-active{background:var(--text);border-color:var(--text);color:var(--bg-shell)}[data-theme=dark] .day-chip.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.day-chip.is-active .day-chip__state{color:inherit;opacity:.7}.day-chip:disabled{opacity:.4;cursor:not-allowed}.day-course-list{display:flex;flex-direction:column;gap:8px}.day-course{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px}.day-course__day{font-size:var(--fs-11);font-weight:var(--fw-semibold);color:var(--text-muted)}.create-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-radius:var(--radius-lg);background:var(--surface-2);font-size:var(--fs-11);color:var(--text-muted)}.create-summary strong{display:block;margin-top:2px;font-size:var(--fs-12);color:var(--text);font-weight:var(--fw-medium)}.create-actions{display:flex;flex-direction:column;gap:8px;text-align:center}.create-success{gap:18px}.create-success__hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:26px 18px;border-radius:var(--radius-2xl);background:radial-gradient(120% 120% at 50% 0%,var(--accent-soft) 0%,transparent 65%),var(--surface);border:1px solid var(--line)}.create-success__check{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--accent-strong);color:var(--on-accent);margin-bottom:8px}.create-success__title{font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-bold);letter-spacing:-.03em}.create-success__desc{font-size:var(--fs-12);color:var(--text-muted)}.create-success__days{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:8px}.create-success__actions{display:flex;flex-direction:column;gap:8px}.cart-list{display:flex;flex-direction:column;gap:12px}.cart-line{display:flex;align-items:center;gap:10px}.cart-line__body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.cart-line__name{font-size:var(--fs-12);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-line__price{font-size:var(--fs-11);color:var(--text-muted)}.cart-line__side{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.cart-line__remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:var(--text-faint)}.cart-line__remove:hover{background:var(--danger-soft);color:var(--danger)}.cart-note{font-size:var(--fs-10, .625rem);color:var(--text-faint);text-align:center;padding-top:4px}.cart-foot{display:flex;flex-direction:column;gap:9px}.cart-foot__summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.cart-foot__summary strong{font-size:var(--fs-20);font-weight:var(--fw-bold);letter-spacing:-.03em}@media(max-width:360px){.home-stats,.profile-stats{gap:6px}.support-cards{grid-template-columns:1fr}.detail-bar__inner>.btn{padding-inline:10px;font-size:var(--fs-12)}.day-chip__state{display:none}}.share-page{gap:18px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}.share-hero{display:flex;align-items:center;gap:12px;padding:16px;border-radius:var(--radius-xl);background:radial-gradient(120% 130% at 100% 0%,var(--primary-soft) 0%,transparent 60%),var(--surface);border:1px solid var(--line)}.share-hero__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--primary-soft);color:var(--primary-strong);flex:0 0 auto}.share-hero__body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.share-hero__eyebrow{font-size:var(--fs-10, .625rem);letter-spacing:.12em;text-transform:uppercase;color:var(--primary-strong);font-weight:var(--fw-semibold)}.share-hero__title{font-family:var(--font-display);font-size:var(--fs-16);font-weight:var(--fw-semibold);letter-spacing:-.02em}.share-hero__desc{font-size:var(--fs-11);color:var(--text-muted)}.share-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.share-metric{display:flex;align-items:center;gap:9px;padding:12px 13px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);color:var(--text-muted)}.share-metric strong{display:flex;align-items:baseline;gap:3px;font-size:var(--fs-20);font-weight:var(--fw-bold);color:var(--text);letter-spacing:-.03em}.share-metric strong span{font-family:var(--font-sans);font-size:var(--fs-10, .625rem);font-weight:var(--fw-medium);color:var(--text-muted)}.share-metric__label{margin-left:auto;font-size:var(--fs-10, .625rem);color:var(--text-faint);text-align:right}.share-section{display:flex;flex-direction:column;gap:11px}.share-card-list{display:flex;flex-direction:column;gap:8px}.share-card{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);text-align:left}.share-card__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);flex:0 0 auto}.share-card__body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.share-card__title{font-size:var(--fs-12);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-card__meta{font-size:var(--fs-10, .625rem);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-card__cta{flex:0 0 auto;height:28px;display:inline-flex;align-items:center;padding:0 11px;border-radius:var(--radius-pill);background:var(--text);color:var(--bg-shell);font-size:var(--fs-11);font-weight:var(--fw-semibold)}[data-theme=dark] .share-card__cta{background:var(--primary);color:var(--on-primary)}.share-options{display:flex;flex-direction:column;gap:8px}.share-option{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);font-size:var(--fs-13);text-align:left}.share-option__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--surface-2);color:var(--text-2)}.share-footnote{display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--fs-10, .625rem);color:var(--text-faint)}.privacy-gate{display:flex;flex-direction:column;gap:10px;font-size:var(--fs-12);color:var(--text-2);line-height:1.7}.privacy-gate__icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong)}.privacy-gate ul{display:flex;flex-direction:column;gap:4px;padding-left:18px;list-style:disc;color:var(--text-muted);font-size:var(--fs-11)}.privacy-gate__links{padding-top:8px;border-top:1px solid var(--line);font-size:var(--fs-11);color:var(--text-muted)}.privacy-gate__links .link-inline{font-size:var(--fs-11);background:none;margin:0 1px}.streak-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.streak-dot{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 2px 7px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);color:var(--text-faint)}.streak-dot__mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-strong);font-size:10px;font-weight:var(--fw-semibold)}.streak-dot.is-done .streak-dot__mark{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.streak-dot.is-today{border-color:var(--primary-soft-2);background:var(--primary-soft);color:var(--primary-strong)}.streak-dot__label{font-size:9px;color:var(--text-muted)}.coupons-page{gap:18px}.coupon-applied{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-strong);font-size:var(--fs-11)}.coupon-applied strong{color:var(--text)}.coupon-list{display:flex;flex-direction:column;gap:9px}.coupon-card{display:flex;align-items:center;gap:12px;padding:13px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line)}.coupon-card.is-dim{opacity:.55}.coupon-card__brand{display:flex;flex-direction:column;align-items:center;gap:4px;width:62px;flex:0 0 auto;padding-right:11px;border-right:1px dashed var(--line-strong)}.coupon-card__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary-strong)}.coupon-card__code{font-size:9px;font-weight:var(--fw-semibold);letter-spacing:.04em;color:var(--text-muted)}.coupon-card__body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.coupon-card__title{font-size:var(--fs-13);font-weight:var(--fw-semibold)}.coupon-card__hint{font-size:var(--fs-11);color:var(--text-2)}.coupon-card__meta{display:flex;flex-wrap:wrap;gap:3px 8px;font-size:10px;color:var(--text-faint)}.coupon-card__soon{color:var(--warning);font-weight:var(--fw-semibold)}.coupon-card__action{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}.coupon-card__state{font-size:var(--fs-11);color:var(--text-muted);font-weight:var(--fw-medium)}.coupon-card__order{font-size:9px;color:var(--text-faint)}.coupon-note{display:flex;align-items:flex-start;gap:6px;font-size:var(--fs-10, .625rem);color:var(--text-faint);line-height:1.5}.coupon-shop-link{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:var(--fs-12);color:var(--accent-strong);font-weight:var(--fw-medium)}.checkout-coupon{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);text-align:left}.checkout-coupon--applied{border-color:var(--accent);background:var(--accent-soft)}.checkout-coupon--empty{border-style:dashed}.checkout-coupon__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary-strong);flex:0 0 auto}.checkout-coupon__body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.checkout-coupon__title{font-size:var(--fs-12);font-weight:var(--fw-semibold)}.checkout-coupon__code{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.checkout-coupon__remove{flex:0 0 auto;height:28px;padding:0 10px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line-strong);color:var(--text-2);font-size:var(--fs-11)}.kv-row--discount span{display:inline-flex;align-items:center;gap:4px;color:var(--accent-strong)}.kv-row--discount strong{color:var(--accent-strong)}.coupon-pick-list{display:flex;flex-direction:column;gap:8px}.coupon-pick{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);text-align:left}.coupon-pick.is-disabled{opacity:.5;cursor:not-allowed}.coupon-pick__body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.coupon-pick__title{font-size:var(--fs-12);font-weight:var(--fw-semibold)}.coupon-pick__meta{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.coupon-pick__scope{font-size:10px;color:var(--warning)}.reviews-page{gap:20px}.review-pending{display:flex;flex-direction:column;gap:11px}.review-pending__row{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line)}.review-pending__body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.review-pending__name{font-size:var(--fs-12);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-pending__meta{font-size:var(--fs-10, .625rem);color:var(--text-muted)}.review-mine{display:flex;flex-direction:column;gap:11px}.review-mine__card{display:flex;flex-direction:column;gap:7px;padding:13px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line)}.review-mine__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-mine__name{font-size:var(--fs-12);font-weight:var(--fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-mine__text{font-size:var(--fs-11);color:var(--text-2);line-height:1.65}.review-mine__date{font-size:10px;color:var(--text-faint)}.star-row{display:inline-flex;gap:3px}.star-row__star{display:inline-flex;color:var(--line-strong)}.star-row__star.is-on{color:var(--warning)}.star-row__star:disabled{cursor:default}.review-editor{display:flex;flex-direction:column;gap:14px}.review-editor__item{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:var(--radius-md);background:var(--surface-2)}.review-editor__name{flex:1;min-width:0;font-size:var(--fs-12);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-editor__price{font-size:var(--fs-12);font-weight:var(--fw-semibold)}.receipt-page{gap:18px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}.receipt-sheet{display:flex;flex-direction:column;gap:14px;padding:18px 15px;border-radius:var(--radius-2xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1)}.barcode{display:flex;align-items:stretch;gap:2px;height:58px;padding:8px 10px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);overflow:hidden}.barcode>span{display:block;height:100%;background:var(--text)}.receipt-items{display:flex;flex-direction:column;gap:9px}.receipt-item{display:flex;align-items:center;gap:9px}.receipt-item__name{flex:1;min-width:0;font-size:var(--fs-12);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receipt-item__price{font-size:var(--fs-12);font-weight:var(--fw-semibold)}.receipt-meta{padding-top:11px;border-top:1px dashed var(--line)}.receipt-amounts{padding-top:11px;border-top:1px solid var(--line)}.receipt-note{font-size:var(--fs-10, .625rem);color:var(--text-faint);text-align:center;line-height:1.5}.receipt-actions{display:flex;flex-direction:column;gap:8px}.kv-row__link{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-11);color:var(--accent-strong);font-weight:var(--fw-medium)}.notification-icon--promo{background:var(--primary-soft);color:var(--primary-strong)}
