@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:400;src:url(./poppins-devanagari-400-normal-CJDn6rn8.woff2) format("woff2"),url(./poppins-devanagari-400-normal-CqVvlrh5.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:400;src:url(./poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(./poppins-latin-ext-400-normal-DaBSavcJ.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:400;src:url(./poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(./poppins-latin-400-normal-BOb3E3N0.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:500;src:url(./poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(./poppins-devanagari-500-normal-DMPDjHtT.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:500;src:url(./poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(./poppins-latin-ext-500-normal-CgAe2rWW.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:500;src:url(./poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(./poppins-latin-500-normal-DGXqpDMm.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-page-bg: #e9e4df;--color-bg: #f0ede8;--color-surface: #ffffff;--color-surface-dim: #e6e2dc;--color-overlay-dim: rgba(20, 16, 12, .55);--color-ink: #141414;--color-text: #1a1a1a;--color-text-2: #8f8b85;--color-text-3: #b9b5ae;--color-text-invert: #ffffff;--color-accent: #ffe566;--color-accent-soft: #fff3b8;--color-lime: #d4ff3f;--color-mint: #7bf5b0;--color-heart: #f4364c;--color-danger: #e5484d;--color-success: #2f9e6e;--color-border: #dcd7d0;--color-dash: #c9c4bc;--color-dash-strong: #55514c;--radius-shell: 32px}html[data-theme=dark]{--color-page-bg: #17150f;--color-bg: #201d17;--color-surface: #2b2822;--color-surface-dim: #24211b;--color-text: #f2efe9;--color-ink: #f2efe9;--color-text-2: #a5a099;--color-text-3: #6f6a63;--color-border: #3a362f;--color-dash: #4a453d;--color-dash-strong: #b5afa5;--color-overlay-dim: rgba(0, 0, 0, .62)}:root{--shell-max: 375px}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px}:root{--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px}:root{--font-title: "Poppins", "Inter", "PingFang SC", sans-serif;--font-body: "Inter", "PingFang SC", "Noto Sans CJK SC", sans-serif;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-hero: 34px}:root{--shadow-card: 0 10px 30px rgba(30, 25, 18, .08);--shadow-float: 0 12px 32px rgba(30, 25, 18, .16)}html[data-theme=dark]{--shadow-card: 0 10px 30px rgba(0, 0, 0, .4);--shadow-float: 0 12px 32px rgba(0, 0, 0, .55)}:root{--ease-out: cubic-bezier(.22, .8, .3, 1);--dur-fast: .16s;--dur-med: .28s}html,body,#root{height:auto;min-height:100%}body{margin:0;background:var(--color-page-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}img,svg,video{display:block}#root{display:flex;justify-content:center;align-items:flex-start}.app-shell{width:100%;max-width:var(--shell-max);margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--color-bg);position:relative;overflow-x:clip}@media(max-width:374px){.app-shell{max-width:100vw}}.app-shell--dark{background:#0c0b09;color:#f2efe9}.page{padding:16px 16px 120px}.page--flush{padding:0}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.row--between{justify-content:space-between}.row--gap{gap:8px}.grow{flex:1 1 auto;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:20px 0 12px}.section-head__title{font-family:var(--font-title);font-weight:600;font-size:22px}.section-head__more{font-size:13px;color:var(--color-text-3);background:none;border:none;padding:0;cursor:pointer}.tag-chip{display:inline-flex;align-items:center;padding:8px 18px;border:1.5px dashed var(--color-dash);border-radius:var(--radius-pill);font-size:13px;background:transparent;cursor:pointer}.tag-chip--active{border-color:var(--color-dash-strong);color:var(--color-ink)}.scallop{position:relative;background:var(--color-surface)}.scallop>img,.scallop>.scallop__inner{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.tap{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast)}.tap:active{transform:scale(.96)}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.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}a{color:inherit;text-decoration:none}a:visited{color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-pill);font-family:var(--font-title);font-weight:500;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast);position:relative}.btn:active{transform:scale(.97)}.btn--sm{height:34px;padding:0 16px;font-size:13px}.btn--md{height:44px;padding:0 22px;font-size:15px}.btn--lg{height:58px;padding:0 28px;font-size:16px;letter-spacing:.06em}.btn--block{width:100%}.btn--primary{background:var(--color-ink);color:var(--color-bg)}.btn--primary:disabled{opacity:.35;cursor:not-allowed}.btn--secondary{background:var(--color-accent);color:var(--color-ink)}.btn--secondary:disabled{opacity:.4;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--color-text);border:1.5px solid var(--color-border)}.btn--loading{color:transparent;pointer-events:none}.btn__spinner{position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .8s linear infinite;color:var(--color-text-2)}.btn--primary .btn__spinner{color:var(--color-bg)}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;border-radius:50%;transition:transform var(--dur-fast) var(--ease-out)}.icon-btn:active{transform:scale(.92)}.icon-btn--sm{width:36px;height:36px}.icon-btn--md{width:48px;height:48px}.icon-btn--filled{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-card)}.icon-btn--plain{background:transparent;color:var(--color-ink)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.input{width:100%;border:1.5px solid var(--color-border);background:transparent;border-radius:var(--radius-pill);padding:0 20px;height:52px;font-size:16px;color:var(--color-text);outline:none;transition:border-color var(--dur-fast)}.input::placeholder{color:var(--color-text-3)}.input:focus{border-color:var(--color-dash-strong)}.input--error{border-color:var(--color-danger)}.input--sm{height:42px;font-size:14px}.input-wrap{position:relative;display:flex;align-items:center;width:100%}.input-wrap .input{padding-left:48px}.input-wrap__prefix{position:absolute;left:18px;color:var(--color-text-2)}.input-hint{font-size:12px;color:var(--color-text-3);margin-top:8px}.input-error{font-size:12px;color:var(--color-danger);margin-top:8px}.textarea{width:100%;border:1.5px solid var(--color-border);background:transparent;border-radius:var(--radius-md);padding:12px 16px;font-size:15px;color:var(--color-text);outline:none;resize:vertical;min-height:88px}.textarea:focus{border-color:var(--color-dash-strong)}.textarea--error{border-color:var(--color-danger)}.select{position:relative;width:100%}.select__control{width:100%;height:48px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:transparent;padding:0 40px 0 16px;font-size:15px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;color:var(--color-text)}.select__control:focus{border-color:var(--color-dash-strong)}.select:disabled .select__control{opacity:.5;cursor:not-allowed}.select__chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-2)}.checkbox{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox__box{width:22px;height:22px;border:1.5px solid var(--color-dash-strong);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:transparent;transition:background var(--dur-fast)}.checkbox--checked .checkbox__box{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-bg)}.checkbox--disabled{opacity:.45;cursor:not-allowed}.checkbox__label{font-size:14px}.checkbox__label u{text-underline-offset:2px}.switch{position:relative;width:50px;height:30px;border-radius:var(--radius-pill);border:none;cursor:pointer;transition:background var(--dur-fast);background:var(--color-surface-dim)}.switch--on{background:var(--color-ink)}.switch:disabled{opacity:.4;cursor:not-allowed}.switch__thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--color-surface);transition:transform var(--dur-fast) var(--ease-out);box-shadow:0 2px 6px #0003}.switch--on .switch__thumb{transform:translate(20px)}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:16px}.card--raised{box-shadow:var(--shadow-card)}.card--interactive{cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.card--interactive:active{transform:scale(.98)}.list-item{display:flex;align-items:center;gap:14px;padding:12px 4px;width:100%;text-align:left;background:none;border:none;cursor:pointer}.list-item--selected{background:var(--color-surface);border-radius:var(--radius-md)}.list-item__body{flex:1 1 auto;min-width:0}.list-item__title{font-size:16px;font-weight:500}.list-item__sub{font-size:13px;color:var(--color-text-3);margin-top:2px}.list-item__meta{color:var(--color-text-3)}.avatar{border-radius:50%;overflow:hidden;background:var(--color-surface-dim);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--color-text-2);font-weight:600}.avatar--sm{width:32px;height:32px;font-size:12px}.avatar--md{width:44px;height:44px;font-size:15px}.avatar--lg{width:72px;height:72px;font-size:22px}.avatar img{width:100%;height:100%;object-fit:cover}.badge{position:relative;display:inline-flex}.badge__count{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;border-radius:var(--radius-pill);background:var(--color-heart);color:#fff;font-size:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.badge__dot{position:absolute;top:0;right:0;width:8px;height:8px;border-radius:50%;background:var(--color-heart)}.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs__tab{flex:0 0 auto;border:none;background:none;cursor:pointer;padding:10px 20px;font-size:15px;color:var(--color-text-3);font-family:var(--font-title)}.tabs__tab--active{background:var(--color-surface);color:var(--color-ink);border-radius:var(--radius-pill);box-shadow:var(--shadow-card)}.tabs--underline{border-bottom:1px solid var(--color-border);gap:16px}.tabs--underline .tabs__tab{padding:10px 4px;border-radius:0;box-shadow:none}.tabs--underline .tabs__tab--active{color:var(--color-ink);box-shadow:inset 0 -2px 0 var(--color-ink)}.skeleton{background:var(--color-surface-dim);border-radius:var(--radius-md);position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:shimmer 1.4s infinite}html[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton--text{height:14px;border-radius:7px}.skeleton--circle{border-radius:50%}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:40px 24px}.empty-state__title{font-family:var(--font-title);font-size:18px;font-weight:600}.empty-state__desc{font-size:14px;color:var(--color-text-3);line-height:1.6}.page-header{display:flex;align-items:center;justify-content:space-between;padding:16px;gap:12px;min-height:76px}.page-header__title{font-family:var(--font-title);font-size:20px;font-weight:500;flex:1;text-align:center}.page-header__side{min-width:48px;display:flex}.page-header__side--right{justify-content:flex-end}.progress{height:6px;background:var(--color-surface-dim);border-radius:var(--radius-pill);overflow:hidden}.progress__bar{height:100%;background:var(--color-ink);border-radius:var(--radius-pill);transition:width var(--dur-med) var(--ease-out)}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-dim);border:none;padding:0;z-index:200}.bottom-sheet{position:fixed;left:50%;bottom:0;width:100%;max-width:var(--shell-max);max-height:82vh;transform:translate(-50%);background:var(--color-surface);color:var(--color-text);border-radius:28px 28px 0 0;z-index:201;display:flex;flex-direction:column;box-shadow:var(--shadow-float);animation:sheet-up var(--dur-med) var(--ease-out)}.bottom-sheet--closing{animation:sheet-down var(--dur-fast) var(--ease-out) forwards}@keyframes sheet-up{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes sheet-down{0%{transform:translate(-50%)}to{transform:translate(-50%,100%)}}.bottom-sheet__grip{width:36px;height:10px;border-radius:var(--radius-pill);background:var(--color-ink);margin:10px auto 4px;border:none;cursor:pointer;flex:0 0 auto}.bottom-sheet__title{text-align:center;font-family:var(--font-title);font-size:20px;font-weight:500;padding:8px 16px 12px}.bottom-sheet__body{overflow-y:auto;padding:4px 20px 16px;flex:1 1 auto}.modal-box{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:var(--shell-max);max-height:80vh;overflow-y:auto;background:var(--color-surface);color:var(--color-text);border-radius:32px;z-index:201;padding:24px;box-shadow:var(--shadow-float);animation:modal-pop var(--dur-med) var(--ease-out)}.modal-box--closing{animation:modal-fade var(--dur-fast) var(--ease-out) forwards}@keyframes modal-pop{0%{transform:translate(-50%,-46%) scale(.92);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes modal-fade{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(.95);opacity:0}}.modal-scallop{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:78%;max-width:var(--shell-max);aspect-ratio:1;z-index:201;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:modal-pop var(--dur-med) var(--ease-out)}.toast-region{position:fixed;top:18px;left:50%;transform:translate(-50%);width:min(100% - 32px,var(--shell-max));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:300;pointer-events:none}.toast{background:var(--color-ink);color:var(--color-bg);border-radius:var(--radius-pill);padding:10px 20px;font-size:14px;box-shadow:var(--shadow-float);animation:toast-in var(--dur-med) var(--ease-out)}.toast--success{background:var(--color-success);color:#fff}.toast--warning{background:var(--color-accent);color:var(--color-ink)}.toast--error{background:var(--color-danger);color:#fff}.toast--leaving{animation:toast-out var(--dur-fast) var(--ease-out) forwards}@keyframes toast-in{0%{transform:translateY(-16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(-12px);opacity:0}}.hscroll{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.hscroll::-webkit-scrollbar{display:none}.hscroll>*{flex:0 0 auto;white-space:nowrap}.scallop-card{width:100%;height:100%;display:block}.scallop-frame{position:relative}.scallop-frame>.scallop-frame__content{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-mask:var(--scallop-mask);mask:var(--scallop-mask)}.scallop-frame>svg.scallop-frame__shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scallop-frame>.scallop-frame__content>img,.scallop-frame>.scallop-frame__content>video{width:100%;height:100%;object-fit:cover}.scallop-dashed{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.rays{position:relative;display:inline-flex;align-items:center;justify-content:center}.rays:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;background:repeating-conic-gradient(from 0deg,var(--color-dash) 0deg 4deg,transparent 4deg 20deg);-webkit-mask:radial-gradient(circle,transparent 0 58%,#000 58% 100%);mask:radial-gradient(circle,transparent 0 58%,#000 58% 100%);border-radius:50%}.rays--white:before{background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.85) 0deg 4deg,transparent 4deg 20deg);-webkit-mask:radial-gradient(circle,transparent 0 60%,#000 60% 100%);mask:radial-gradient(circle,transparent 0 60%,#000 60% 100%)}.page--with-nav{padding-bottom:130px}.home-top{display:flex;align-items:center;justify-content:space-between;padding:16px}.home-top__logo{width:52px;height:52px}.home-top__pill{background:var(--color-surface);border:none;border-radius:var(--radius-pill);padding:12px 18px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;box-shadow:var(--shadow-card)}.home-top__pill .dot{width:7px;height:7px;border-radius:50%;background:var(--color-text-3)}.home-top__pill .dot--on{background:var(--color-ink)}.home-top__actions{display:flex;gap:10px}.spot{position:relative;width:100%;aspect-ratio:.98;margin:4px 0 8px}.spot__discount{position:absolute;top:13%;left:0;right:0;text-align:center;font-family:var(--font-title);font-size:15px;z-index:2;pointer-events:none}.spot__buy{position:absolute;left:20%;bottom:16%;z-index:3;width:62px;height:62px;border-radius:50%;border:none;background:var(--color-accent);font-family:var(--font-title);font-size:15px;letter-spacing:.04em;cursor:pointer;box-shadow:0 0 0 6px #ffe56640}.spot__open{position:absolute;right:22%;bottom:24%;z-index:3;background:none;border:none;cursor:pointer}.spot__dots{position:absolute;bottom:12%;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:3}.spot__dots i{width:7px;height:7px;border-radius:50%;background:var(--color-text-3)}.spot__dots i.on{background:var(--color-ink)}.friend-row{display:flex;align-items:center;gap:18px;overflow-x:auto;scrollbar-width:none;padding:4px 2px}.friend-row::-webkit-scrollbar{display:none}.friend{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:0;flex:0 0 auto}.friend__handle{font-size:12px;color:var(--color-text-2)}.voice-card{position:relative;width:100%;aspect-ratio:1.1}.voice-card__hearts{position:absolute;top:18%;right:16%;color:var(--color-heart)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}.grid-2>*{min-width:0}.video-hero{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:.92;background:#111}.video-hero img{width:100%;height:100%;object-fit:cover;opacity:.92}.video-hero__badge{position:absolute;top:12px;left:12px;background:#0000008c;color:#fff;border-radius:var(--radius-pill);padding:6px 12px;font-size:12px}.clip-strip{display:flex;flex-wrap:wrap;gap:10px;scrollbar-width:none;padding:4px 2px}.clip-strip::-webkit-scrollbar{display:none}.clip-tile{flex:0 0 auto;width:96px;border:none;background:none;cursor:grab;padding:0;text-align:center}.clip-tile__img{width:96px;height:116px;object-fit:cover;border-radius:18px}.clip-tile__dur{font-size:11px;color:var(--color-text-2);margin-top:4px}.clip-tile--dragging{opacity:.4}.rail{position:absolute;right:12px;bottom:88px;z-index:5}.rail-scallop{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,transparent 0 0),var(--color-surface);border-radius:46% 54% 50% 50%/52% 48%;color:var(--color-ink)}.rail-scallop svg{color:inherit}.story-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#000;display:flex;justify-content:center}.story-shell{position:relative;width:100%;max-width:var(--shell-max);height:100%;overflow:hidden;background:#111}.story-shell>img,.story-shell>video{width:100%;height:100%;object-fit:cover}.story-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;z-index:5;color:#fff}.story-progress{position:absolute;top:8px;left:16px;right:16px;display:flex;gap:4px;z-index:6}.story-progress i{flex:1;height:2.5px;background:#ffffff59;border-radius:2px;overflow:hidden}.story-progress i>b{display:block;height:100%;background:#fff;width:0%}.story-tap{position:absolute;top:0;bottom:0;width:34%;z-index:4;background:none;border:none;cursor:pointer}.create-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#000;color:#fff;display:flex;justify-content:center}.create-shell{position:relative;width:100%;max-width:var(--shell-max);height:100%;display:flex;flex-direction:column}.create-body{flex:1;position:relative;overflow:hidden}.create-body img{width:100%;height:100%;object-fit:cover}.create-foot{background:#000;padding:12px 16px 26px;display:flex;flex-direction:column;gap:14px}.effect-row{display:flex;align-items:center;gap:14px;justify-content:center}.effect-dot{width:52px;height:52px;border-radius:50%;overflow:hidden;border:2px solid transparent;padding:0;background:none;cursor:pointer;flex:0 0 auto}.effect-dot--on{border-color:var(--color-accent);box-shadow:0 0 0 3px #ffe56659}.effect-dot img{width:100%;height:100%;object-fit:cover}.shutter{width:78px;height:78px;border-radius:50%;border:none;background:var(--color-accent);cursor:pointer;box-shadow:0 0 0 8px #ffe5662e}.timeline{display:flex;gap:6px;align-items:center;background:#111;border:2px solid var(--color-accent);border-radius:var(--radius-pill);padding:8px;overflow:hidden}.timeline img{width:64px;height:44px;object-fit:cover;border-radius:8px}.chat-bg{background:var(--color-bg);min-height:100vh}.bubble{max-width:78%;padding:14px 18px;border-radius:22px;font-size:16px;line-height:1.5}.bubble--them{background:var(--color-surface-dim);border-bottom-left-radius:6px}.bubble--me{background:var(--color-surface);border-bottom-right-radius:6px;box-shadow:var(--shadow-card)}.bubble-img{max-width:60%;border-radius:18px;overflow:hidden}.msg-time{font-size:12px;color:var(--color-text-3);margin:6px 4px 14px}.form-card{border:2px solid var(--color-surface);background:var(--color-surface);border-radius:var(--radius-lg);padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:var(--shadow-card);text-align:left;width:100%;cursor:pointer}.form-card__title{font-family:var(--font-title);font-size:17px;font-weight:500}.form-card__sub{color:var(--color-text-3);font-size:14px;margin-top:4px}.form-card__plus{width:46px;height:46px;border-radius:44% 56% 50% 50%/52% 48% 55% 45%;background:var(--color-bg);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-3);flex:0 0 auto}.total-card{border:2px dashed var(--color-dash);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:12px}.total-card__row{display:flex;justify-content:space-between;align-items:baseline}.total-card__big{font-family:var(--font-title);font-size:24px}.pay-row{display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid var(--color-border);width:100%;background:none;border-top:none;border-left:none;border-right:none;cursor:pointer;text-align:left}.pay-row__logo{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px}.qr-page{background:var(--color-accent);min-height:100vh}.qr-scallop{width:78%;max-width:300px;aspect-ratio:1;margin:0 auto;position:relative;display:flex;align-items:center;justify-content:center}.qr-scallop svg.scallop-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.qr-code{width:56%;image-rendering:pixelated}.notif-item{display:flex;align-items:center;gap:14px;padding:12px 0}.notif-item__thumb{width:52px;height:52px;border-radius:14px;object-fit:cover;margin-left:auto}.settings-group{padding:8px 0}.settings-group__title{font-family:var(--font-title);font-size:22px;font-weight:600;margin:18px 0 6px}.notfound{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px}
