@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(./inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(./inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(./inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(./inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(./inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(./inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(./inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(./inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(./inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(./inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(./inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(./poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(./poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(./poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(./poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(./poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(./poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary: #6B5CE7;--color-primary-light: #9F95EF;--color-primary-deep: #5045AD;--color-primary-soft: #EDEBFC;--color-primary-dim: rgba(107, 92, 231, .16);--color-accent: #FAD051;--color-accent-deep: #D9AE32;--color-accent-dim: rgba(250, 208, 81, .14);--bg-void: #04050A;--bg-page: #080A12;--bg-card: #13151F;--bg-elevated: #1B1E2B;--bg-input: #10121C;--border-weak: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .18);--text-primary: #F4F5FA;--text-secondary: #A9ADC0;--text-tertiary: #71748A;--color-success: #57C99B;--color-warning: #FAD051;--color-danger: #E5636F;--color-danger-dim: rgba(229, 99, 111, .14);--font-display: "Poppins", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-display: 34px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-pill: 100px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--shadow-card: 0 10px 30px rgba(0, 0, 0, .4);--shadow-float: 0 12px 40px rgba(0, 0, 0, .55);--shell-max: 393px;--chart-bar: var(--color-primary);--chart-bar-weak: rgba(107, 92, 231, .28);--chart-grid: rgba(255, 255, 255, .06)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-void);color:var(--text-primary);font-size:var(--text-md);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}button,input,textarea,select{font-family:inherit}.app-shell{position:relative;max-width:var(--shell-max);margin:0 auto;min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse 90% 55% at 75% -5%,rgba(107,92,231,.16),transparent 60%),radial-gradient(ellipse 70% 40% at 15% 30%,rgba(80,69,173,.1),transparent 65%),var(--bg-page);overflow-x:hidden}.app-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(1.4px 1.4px at 12% 8%,rgba(255,255,255,.9) 50%,transparent 51%),radial-gradient(1px 1px at 32% 15%,rgba(255,255,255,.55) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 55% 5%,rgba(255,255,255,.75) 50%,transparent 51%),radial-gradient(1px 1px at 71% 12%,rgba(255,255,255,.5) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 86% 6%,rgba(255,255,255,.85) 50%,transparent 51%),radial-gradient(1px 1px at 8% 26%,rgba(255,255,255,.4) 50%,transparent 51%),radial-gradient(1.3px 1.3px at 44% 22%,rgba(255,255,255,.6) 50%,transparent 51%),radial-gradient(1px 1px at 63% 30%,rgba(255,255,255,.45) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 91% 24%,rgba(255,255,255,.65) 50%,transparent 51%),radial-gradient(1px 1px at 22% 40%,rgba(255,255,255,.35) 50%,transparent 51%),radial-gradient(1.3px 1.3px at 78% 44%,rgba(255,255,255,.5) 50%,transparent 51%)}.page{position:relative;padding:var(--space-5) var(--space-4) calc(96px + env(safe-area-inset-bottom));z-index:0}.page--flush{padding-bottom:var(--space-6)}a{color:inherit;text-decoration:none}::selection{background:var(--color-primary-dim)}:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px;border-radius:4px}:root{--color-page-bg: #e9e4df}html,body,#root{height:auto;min-height:100%}#root{align-items:flex-start}.shell,.app-shell{min-height:100vh;min-height:100dvh}body{background:var(--color-page-bg, #e9e4df)}.toast-region{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:80;display:flex;flex-direction:column;gap:var(--space-2);align-items:center;width:max-content;max-width:min(calc(100vw - 32px),calc(var(--shell-max) - 32px));pointer-events:none}.toast{padding:10px 18px;border-radius:var(--radius-pill);background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary);font-size:var(--text-sm);box-shadow:var(--shadow-float);animation:toast-in .2s ease;overflow-wrap:anywhere}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast--success{border-color:var(--color-success)}.toast--warning{border-color:var(--color-warning)}.toast--error{border-color:var(--color-danger)}.toast--info{border-color:var(--color-primary-light)}.skeleton{background:linear-gradient(100deg,var(--bg-card) 40%,var(--bg-elevated) 50%,var(--bg-card) 60%);background-size:200% 100%;animation:skeleton-shimmer 1.3s ease infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}.skeleton--line{height:14px}.skeleton--block{height:110px;border-radius:var(--radius-md);margin-bottom:var(--space-3)}.skeleton--thumb{width:48px;height:48px;border-radius:var(--radius-md);flex-shrink:0}.skeleton-card{padding:var(--space-4);border:1px solid var(--border-weak);border-radius:var(--radius-lg);background:var(--bg-card)}.skeleton-card .skeleton--line{margin-top:var(--space-2)}.skeleton-list{display:flex;flex-direction:column;gap:var(--space-4)}.skeleton-list__row{display:flex;gap:var(--space-3);align-items:center}.skeleton-list__lines{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:transform .12s ease,background .15s ease,opacity .15s ease,box-shadow .15s ease;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--sm{padding:6px 14px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn--md{padding:10px 20px;font-size:var(--text-md)}.btn--lg{padding:14px 24px;font-size:var(--text-md);border-radius:var(--radius-lg)}.btn--block{width:100%}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-light)}.btn--primary:active:not(:disabled){background:var(--color-primary-deep)}.btn--accent{background:var(--color-accent);color:var(--bg-void)}.btn--accent:hover:not(:disabled){filter:brightness(1.08)}.btn--accent:active:not(:disabled){background:var(--color-accent-deep)}.btn--secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-weak)}.btn--secondary:hover:not(:disabled){border-color:var(--border-strong)}.btn--ghost{background:transparent;color:var(--color-primary-light)}.btn--ghost:hover:not(:disabled){background:var(--color-primary-dim)}.btn--danger{background:var(--color-danger-dim);color:var(--color-danger)}.btn--danger:hover:not(:disabled){filter:brightness(1.2)}.btn--loading{position:relative}.btn__spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn__icon{display:inline-flex}.input-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.input-wrap__label{font-size:var(--text-sm);color:var(--text-secondary)}.input{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-input);border:1px solid var(--border-weak);border-radius:var(--radius-md);transition:border-color .15s ease,box-shadow .15s ease}.input--md{padding:0 var(--space-4);min-height:48px}.input--sm{padding:0 var(--space-3);min-height:38px;border-radius:var(--radius-sm)}.input--focused{border-color:var(--color-primary-light);box-shadow:0 0 0 3px var(--color-primary-dim)}.input--error{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-dim)}.input--disabled{opacity:.5}.input input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--text-md);padding:var(--space-3) 0}.input input::placeholder{color:var(--text-tertiary)}.input__prefix,.input__suffix{display:inline-flex;align-items:center;color:var(--text-tertiary);font-size:var(--text-sm)}.input__error{margin:0;font-size:var(--text-xs);color:var(--color-danger)}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox--disabled{opacity:.5;cursor:not-allowed}.checkbox__input{position:absolute;opacity:0;width:1px;height:1px}.checkbox__box{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:6px;border:1.6px solid var(--border-strong);background:var(--bg-input);color:#fff;transition:background .15s ease,border-color .15s ease;flex-shrink:0}.checkbox__input:focus-visible+.checkbox__box{outline:2px solid var(--color-primary-light);outline-offset:2px}.checkbox__box--checked{background:var(--color-primary);border-color:var(--color-primary)}.checkbox__label{font-size:var(--text-sm);color:var(--text-secondary)}.auth-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:calc(var(--space-8) + env(safe-area-inset-top)) var(--space-5) var(--space-6)}.auth-page__brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin:var(--space-6) 0 var(--space-7)}.auth-page__logo{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,var(--color-primary),var(--color-primary-deep));color:#fff;box-shadow:0 0 42px #6b5ce773;margin-bottom:var(--space-2)}.auth-page__title{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.auth-page__slogan{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.auth-page__form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-page__code-btn{background:var(--color-primary-dim);color:var(--color-primary-light);border:none;border-radius:var(--radius-pill);padding:7px 12px;font-size:var(--text-xs);font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s ease}.auth-page__code-btn:disabled{opacity:.55;cursor:not-allowed}.auth-page__agree{display:flex;flex-direction:column;gap:var(--space-1)}.auth-page__agree-error{margin:0;font-size:var(--text-xs);color:var(--color-danger)}.auth-page__link{color:var(--color-accent)}.auth-page__link--strong{font-weight:600}.auth-page__divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--space-2)}.auth-page__divider:before,.auth-page__divider:after{content:"";flex:1;height:1px;background:var(--border-weak)}.auth-page__hint{margin:calc(var(--space-2) * -1) 0 0;text-align:center;font-size:var(--text-xs);color:var(--text-tertiary)}.auth-page__switch{margin:var(--space-2) 0 0;text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:background .15s ease,color .15s ease,transform .12s ease}.icon-btn:active:not(:disabled){transform:scale(.92)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn--sm{font-size:15px}.icon-btn--md{font-size:17px}.icon-btn--lg{font-size:19px;border-radius:var(--radius-md)}.icon-btn--plain:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.icon-btn--filled{background:var(--bg-elevated);border-color:var(--border-weak);color:var(--text-primary)}.icon-btn--filled:hover:not(:disabled){border-color:var(--border-strong)}.icon-btn--active{background:var(--color-primary-dim);color:var(--color-primary-light)}.page-header{display:flex;align-items:center;gap:var(--space-3);min-height:44px;margin-bottom:var(--space-5)}.page-header--center{flex-direction:column;gap:var(--space-2)}.page-header:not(.page-header--center) .page-header__side{width:40px;flex-shrink:0}.page-header__side--right{display:flex;justify-content:flex-end;gap:var(--space-2)}.page-header:not(.page-header--center) .page-header__main{flex:1;min-width:0}.page-header__title{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em}.page-header__subtitle{margin:2px 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.card{display:block;width:100%;text-align:left;background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg);padding:var(--space-4);color:inherit;font:inherit}.card--raised{background:var(--bg-elevated);box-shadow:var(--shadow-card)}.card--interactive{cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.card--interactive:hover{border-color:var(--border-strong);background:var(--bg-elevated)}.card--interactive:active{transform:scale(.985)}.stat-tile{display:flex;flex-direction:column;gap:3px;background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);min-width:0}.stat-tile__label{font-size:var(--text-xs);color:var(--text-secondary)}.stat-tile__value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.stat-tile__unit{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);margin-left:3px}.stat-tile__trend{font-size:var(--text-xs);color:var(--text-tertiary)}.stat-tile__trend--good{color:var(--color-success)}.stat-tile__trend--bad{color:var(--color-danger)}.bar-chart{width:100%}.bar-chart__plot{display:flex;align-items:flex-end;gap:8px;height:120px;padding-top:26px}.bar-chart__bar-wrap{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;background:transparent;border:none;padding:0;cursor:pointer}.bar-chart__bar{width:100%;border-radius:6px 6px 3px 3px;background:var(--chart-bar-weak);transition:background .15s ease,height .3s ease;min-height:4px}.bar-chart__bar--hl{background:var(--chart-bar)}.bar-chart__bar--empty{background:var(--chart-grid)}.bar-chart__bar-wrap:hover .bar-chart__bar,.bar-chart__bar-wrap--active .bar-chart__bar{background:var(--color-primary-light)}.bar-chart__tip{position:absolute;top:-2px;left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary);font-size:11px;padding:3px 8px;border-radius:var(--radius-pill);white-space:nowrap;z-index:2}.bar-chart__axis{display:flex;gap:8px;margin-top:var(--space-2)}.bar-chart__tick{flex:1;text-align:center;font-size:11px;color:var(--text-tertiary)}.star-rating{display:inline-flex;gap:var(--space-1)}.star-rating__star{background:transparent;border:none;padding:2px;cursor:pointer;color:var(--text-tertiary);transition:color .12s ease,transform .12s ease}.star-rating--readonly .star-rating__star{cursor:default;padding:0}.star-rating__star:not(:disabled):hover{transform:scale(1.12)}.star-rating__star--on{color:var(--color-accent)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-8) var(--space-5)}.empty-state__icon{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-primary-dim);color:var(--color-primary-light);margin-bottom:var(--space-2)}.empty-state__title{margin:0;font-size:var(--text-lg);font-weight:600}.empty-state__desc{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);max-width:280px}.mini-player{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(var(--shell-max) - 24px,calc(100vw - 24px));z-index:39;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#141622f5;border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:mini-up .24s ease}@keyframes mini-up{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.mini-player__main{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;background:transparent;border:none;color:inherit;cursor:pointer;padding:0;text-align:left}.mini-player__art{position:relative;width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-deep),var(--color-primary));flex-shrink:0;overflow:hidden}.mini-player__wave{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(2px 2px at 30% 40%,rgba(255,255,255,.9) 50%,transparent 51%),radial-gradient(2px 2px at 60% 65%,rgba(255,255,255,.6) 50%,transparent 51%),radial-gradient(2px 2px at 75% 30%,rgba(255,255,255,.8) 50%,transparent 51%);animation:mini-pulse 2.2s ease-in-out infinite}@keyframes mini-pulse{0%,to{opacity:.5;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}.mini-player__text{display:flex;flex-direction:column;min-width:0}.mini-player__name{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-player__sub{font-size:11px;color:var(--text-secondary)}.mini-player__timer{color:var(--color-accent);flex-shrink:0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(var(--shell-max),100vw);z-index:40;display:flex;background:#0a0c14eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border-weak);padding:var(--space-2) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom))}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) 0;color:var(--text-tertiary);font-size:11px;border-radius:var(--radius-sm);transition:color .15s ease}.bottom-nav__item--active{color:var(--color-accent)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.home-avatar{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-deep));color:#fff;font-weight:600}.home-hero{display:flex;align-items:center;gap:var(--space-4);background:radial-gradient(circle at 88% -30%,rgba(250,208,81,.16),transparent 55%),var(--bg-elevated);border-color:#fad05133}.home-hero__moon{width:48px;height:48px;border-radius:50%;background:var(--color-accent-dim);color:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.home-hero__text{flex:1;min-width:0}.home-hero__title{margin:0;font-size:var(--text-md);font-weight:600}.home-hero__sub{margin:2px 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.home-hero__link{color:var(--text-tertiary);display:inline-flex}.home-section{margin-top:var(--space-6)}.home-section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-3)}.home-section__title{margin:0;font-size:var(--text-md);font-weight:600}.home-section__more{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-xs);color:var(--text-tertiary)}.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.home-mood{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-md)}.home-mood__label{font-size:var(--text-xs);color:var(--text-tertiary)}.home-mood__value{font-size:var(--text-sm);font-weight:600;flex:1}.home-chart{margin-top:var(--space-6)}.home-trend{font-size:var(--text-xs)}.home-trend--good{color:var(--color-success)}.home-trend--bad{color:var(--color-danger)}.home-recs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.home-rec{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-3)}.home-rec__art{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-deep))}.home-rec__art--rain{background:linear-gradient(135deg,#4a5b8c,#2c3a5e)}.home-rec__art--waves{background:linear-gradient(135deg,#3a7ca5,#23557c)}.home-rec__art--pink,.home-rec__art--white{background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary))}.home-rec__art--brown,.home-rec__art--fire{background:linear-gradient(135deg,var(--color-accent-deep),#8A5A22);color:var(--bg-void)}.home-rec__art--forest,.home-rec__art--stream{background:linear-gradient(135deg,#4e9a6f,#2c6e4f)}.home-rec__art--fan,.home-rec__art--cabin{background:linear-gradient(135deg,#6e7688,#454b5a)}.home-rec__art--heartbeat,.home-rec__art--train{background:linear-gradient(135deg,#a05bc4,#6b3b8f)}.home-rec__name{font-size:var(--text-sm);font-weight:600}.home-rec__cat{font-size:var(--text-xs);color:var(--text-tertiary)}.home-meds{display:flex;flex-direction:column;gap:var(--space-2)}.home-med{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg);transition:border-color .14s ease,background .14s ease}.home-med:hover{border-color:var(--border-strong);background:var(--bg-elevated)}.home-med__icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-primary-dim);color:var(--color-primary-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.home-med__body{flex:1;display:flex;flex-direction:column}.home-med__title{font-size:var(--text-sm);font-weight:600}.home-med__meta{font-size:var(--text-xs);color:var(--text-tertiary)}.home-med__spark{color:var(--color-accent)}.home-week-note{margin:var(--space-3) 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.home-actions{margin-top:var(--space-6)}.home-actions__btn{display:block}.tabs{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs--underline{gap:var(--space-5);border-bottom:1px solid var(--border-weak)}.tabs--pill{background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-pill);padding:4px;width:fit-content;max-width:100%;overflow-x:auto}.tabs__tab{position:relative;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s ease,background .15s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:var(--text-sm)}.tabs--underline .tabs__tab{border-radius:0;padding:10px 2px}.tabs--underline .tabs__tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:transparent;transition:background .15s ease}.tabs__tab--active{color:var(--text-primary);font-weight:600}.tabs--underline .tabs__tab--active:after{background:var(--color-primary-light)}.tabs--pill .tabs__tab--active{background:var(--color-primary);color:#fff;border-radius:var(--radius-pill)}.tabs--sm .tabs__tab{padding:6px 12px;font-size:var(--text-xs)}.tabs__badge{background:var(--color-danger);color:#fff;font-size:10px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center}.tabs--pill .tabs__tab--active .tabs__badge{background:#fff;color:var(--color-primary)}.sounds-head{margin-bottom:var(--space-4)}.sounds-head__title{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.sounds-head__sub{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.sounds-tabs{width:100%;overflow-x:auto}.sounds-fav-filter{display:inline-flex;align-items:center;gap:6px;margin:var(--space-3) 0 var(--space-4);padding:7px 14px;border-radius:var(--radius-pill);border:1px solid var(--border-weak);background:var(--bg-card);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all .15s ease}.sounds-fav-filter--on{background:var(--color-danger-dim);border-color:var(--color-danger);color:var(--color-danger)}.sounds-list{display:flex;flex-direction:column;gap:var(--space-3)}.sound-card{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3)}.sound-card--current{border-color:var(--color-primary-light)}.sound-card__main{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;background:transparent;border:none;color:inherit;cursor:pointer;padding:0;text-align:left}.sound-card__art{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;flex-shrink:0;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-deep))}.sound-card__art--rain{background:linear-gradient(135deg,#4a5b8c,#2c3a5e)}.sound-card__art--waves{background:linear-gradient(135deg,#3a7ca5,#23557c)}.sound-card__art--pink,.sound-card__art--white{background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary))}.sound-card__art--brown,.sound-card__art--fire{background:linear-gradient(135deg,var(--color-accent-deep),#8A5A22);color:var(--bg-void)}.sound-card__art--forest,.sound-card__art--stream{background:linear-gradient(135deg,#4e9a6f,#2c6e4f)}.sound-card__art--fan,.sound-card__art--cabin{background:linear-gradient(135deg,#6e7688,#454b5a)}.sound-card__art--heartbeat,.sound-card__art--train{background:linear-gradient(135deg,#a05bc4,#6b3b8f)}.sound-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sound-card__name{font-size:var(--text-md);font-weight:600;display:flex;align-items:center;gap:var(--space-2)}.sound-card__tag{font-size:10px;font-weight:500;color:var(--color-accent);border:1px solid rgba(250,208,81,.4);border-radius:var(--radius-pill);padding:1px 7px;white-space:nowrap}.sound-card__desc{font-size:var(--text-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sound-card__actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#020308a8;display:flex;animation:drawer-fade .16s ease}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}.drawer--bottom{align-items:flex-end}.drawer--left{justify-content:flex-start}.drawer--right{justify-content:flex-end}.drawer__panel{background:var(--bg-elevated);border:1px solid var(--border-strong);outline:none;display:flex;flex-direction:column;box-shadow:var(--shadow-float)}.drawer__panel--bottom{width:100%;max-width:var(--shell-max);margin:0 auto;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:none;max-height:86vh;animation:drawer-up .22s cubic-bezier(.22,.8,.36,1)}@keyframes drawer-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.drawer__panel--left{height:100%;width:300px;max-width:86vw;border-radius:0 var(--radius-xl) var(--radius-xl) 0;border-left:none;animation:drawer-in-left .22s cubic-bezier(.22,.8,.36,1)}@keyframes drawer-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer__panel--right{height:100%;width:300px;max-width:86vw;border-radius:var(--radius-xl) 0 0 var(--radius-xl);border-right:none;animation:drawer-in-right .22s cubic-bezier(.22,.8,.36,1)}@keyframes drawer-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer__grip{width:40px;height:4px;border-radius:var(--radius-pill);background:var(--border-strong);margin:var(--space-3) auto 0;flex-shrink:0}.drawer__head{padding:var(--space-4) var(--space-5) 0}.drawer__title{margin:0;font-size:var(--text-lg);font-weight:600}.drawer__body{padding:var(--space-4) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom));overflow-y:auto;flex:1}.sd-hero{position:relative;border-radius:var(--radius-xl);min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);overflow:hidden;margin-bottom:var(--space-5);background:radial-gradient(circle at 78% 12%,rgba(255,255,255,.9) 0 1.2px,transparent 2px),radial-gradient(ellipse 120% 90% at 50% 0%,var(--color-primary-deep),transparent 70%),linear-gradient(180deg,#10121f,#0a0c16);border:1px solid var(--border-weak)}.sd-hero--rain{background:radial-gradient(ellipse 120% 90% at 50% 0%,#2C3A5E,transparent 70%),linear-gradient(180deg,#10121f,#0a0c16)}.sd-hero--waves{background:radial-gradient(ellipse 120% 90% at 50% 0%,#23557C,transparent 70%),linear-gradient(180deg,#10121f,#0a0c16)}.sd-hero--fire,.sd-hero--brown{background:radial-gradient(ellipse 120% 90% at 50% 0%,#6B4416,transparent 70%),linear-gradient(180deg,#141018,#0a0c16)}.sd-hero--forest{background:radial-gradient(ellipse 120% 90% at 50% 0%,#1E4A35,transparent 70%),linear-gradient(180deg,#0e1418,#0a0c16)}.sd-hero--heartbeat,.sd-hero--train{background:radial-gradient(ellipse 120% 90% at 50% 0%,#4A2A63,transparent 70%),linear-gradient(180deg,#12101c,#0a0c16)}.sd-hero__play{width:78px;height:78px;border-radius:50%;border:none;cursor:pointer;background:var(--color-accent);color:var(--bg-void);display:flex;align-items:center;justify-content:center;box-shadow:0 0 46px #fad05166;transition:transform .14s ease}.sd-hero__play:active{transform:scale(.94)}.sd-hero__status{margin:0;font-size:var(--text-xs);color:var(--text-secondary)}.sd-hero__bars{display:flex;align-items:flex-end;gap:4px;height:22px}.sd-hero__bars span{width:3px;border-radius:2px;background:var(--color-primary-light);animation:sd-bar 1.1s ease-in-out infinite}@keyframes sd-bar{0%,to{height:6px;opacity:.5}50%{height:22px;opacity:1}}.sd-body{padding:0 var(--space-4) calc(120px + env(safe-area-inset-bottom))}.sd-tags{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.sd-tag{font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-pill);padding:3px 10px}.sd-tag--accent{color:var(--color-accent);border-color:#fad05166}.sd-desc{margin:0 0 var(--space-5);font-size:var(--text-md);color:var(--text-secondary);line-height:1.7}.sd-volume{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-md);color:var(--text-secondary);margin-bottom:var(--space-4)}.sd-volume input[type=range]{flex:1;accent-color:var(--color-primary)}.sd-volume__num{font-size:var(--text-xs);color:var(--text-secondary);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.sd-actions{display:flex;gap:var(--space-3);align-items:center}.sd-timer-note{margin:var(--space-4) 0 0;font-size:var(--text-xs);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-2)}.sd-timer-clear{background:transparent;border:none;color:var(--color-danger);font-size:var(--text-xs);cursor:pointer;padding:0}.sd-similar{margin-top:var(--space-6)}.sd-similar__title{margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:600}.sd-similar__list{display:flex;gap:var(--space-3)}.sd-similar__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-md);transition:border-color .15s ease}.sd-similar__item:hover{border-color:var(--border-strong)}.sd-similar__art{width:40px;height:40px}.sd-similar__name{font-size:var(--text-xs);color:var(--text-secondary)}.sd-timer-sub{margin:4px 0 0;font-size:var(--text-xs);color:var(--text-secondary)}.sd-timer-drawer .drawer__body{padding-top:var(--space-4)}.sd-timer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.sd-timer-opt{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-weak);background:var(--bg-card);color:var(--text-primary);font-size:var(--text-md);font-weight:600;cursor:pointer;transition:all .15s ease}.sd-timer-opt:hover{border-color:var(--border-strong)}.sd-timer-opt--on{background:var(--color-primary-dim);border-color:var(--color-primary-light);color:var(--color-primary-light)}.med-head{margin-bottom:var(--space-4)}.med-head__title{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.med-head__sub{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.med-tabs{margin-bottom:var(--space-4);max-width:100%}.med-list{display:flex;flex-direction:column;gap:var(--space-3)}.med-card-link{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg);transition:transform .14s ease,border-color .14s ease,background .14s ease}.med-card-link:hover{border-color:var(--border-strong);background:var(--bg-elevated)}.med-card-link:active{transform:scale(.985)}.med-card__icon{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.med-card__icon span{width:14px;height:14px;border-radius:50%;background:currentColor}.med-card__icon--breath{background:var(--color-primary-dim);color:var(--color-primary-light)}.med-card__icon--calm{background:var(--color-accent-dim);color:var(--color-accent)}.med-card__icon--nap{background:#57c99b24;color:var(--color-success)}.med-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.med-card__title{font-size:var(--text-md);font-weight:600}.med-card__desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.6}.med-card__meta{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-tertiary);margin-top:2px;flex-wrap:wrap}.med-card__dot{width:3px;height:3px;border-radius:50%;background:var(--text-tertiary)}.med-card__done{color:var(--color-success)}.mf-body{padding:0 var(--space-4) calc(48px + env(safe-area-inset-bottom))}.mf-intro__title{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:700}.mf-intro__desc{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7}.mf-intro__meta{margin:0 0 var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary)}.mf-steps{margin:0;padding-left:var(--space-5);color:var(--text-secondary);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--space-1)}.mf-choose-label{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-md);font-weight:600}.mf-durations{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.mf-duration{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-4) 0;background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:all .15s ease}.mf-duration:hover{border-color:var(--color-primary-light);background:var(--color-primary-dim)}.mf-duration__min{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.mf-duration__unit{font-size:var(--text-xs);color:var(--text-tertiary)}.mf-hint{margin:var(--space-3) 0 0;font-size:var(--text-xs);color:var(--text-tertiary);text-align:center}.mf-timer{display:flex;flex-direction:column;align-items:center;padding-top:var(--space-4)}.mf-ring{position:relative;width:230px;height:230px}.mf-ring__orb{fill:var(--color-primary-dim);transform-origin:100px 100px;animation:mf-orb 8s ease-in-out infinite}.mf-ring--breathing .mf-ring__orb{animation-name:mf-orb}@keyframes mf-orb{0%,to{transform:scale(.82);opacity:.65}30%,50%{transform:scale(1.12);opacity:1}80%{transform:scale(.9);opacity:.8}}.mf-ring__time{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;font-variant-numeric:tabular-nums}.mf-phase-text{margin:var(--space-4) 0;font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:.2em}.mf-timer__actions{display:flex;gap:var(--space-3)}.mf-done{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:var(--space-8)}.mf-done__icon{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#57c99b24;color:var(--color-success);margin-bottom:var(--space-4);animation:mf-pop .4s cubic-bezier(.2,.9,.3,1.4)}@keyframes mf-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.mf-done__title{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:700}.mf-done__desc{margin:0 0 var(--space-6);font-size:var(--text-sm);color:var(--text-secondary);max-width:280px;line-height:1.7}.mf-done__actions{width:100%;display:flex;flex-direction:column;gap:var(--space-3)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#020308a8;padding:var(--space-6) var(--space-4);animation:modal-fade .16s ease}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@supports (width: 1px){@media(min-width:520px){.modal{padding-left:calc((100% - var(--shell-max)) / 2 + var(--space-4));padding-right:calc((100% - var(--shell-max)) / 2 + var(--space-4))}}}.modal__panel{width:100%;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-float);max-height:82vh;display:flex;flex-direction:column;animation:modal-pop .18s ease;outline:none}@keyframes modal-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal__panel--sm{max-width:340px}.modal__panel--md{max-width:420px}.modal__panel--lg{max-width:var(--shell-max)}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) 0}.modal__title{margin:0;font-size:var(--text-lg);font-weight:600}.modal__body{padding:var(--space-4);overflow-y:auto}.modal__footer{display:flex;gap:var(--space-3);padding:0 var(--space-4) var(--space-4)}.sleep-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.sleep-chart{margin-top:var(--space-5)}.sleep-chart__head,.sleep-section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-3)}.sleep-chart__title,.sleep-section__title{margin:0;font-size:var(--text-md);font-weight:600}.sleep-chart__hint,.sleep-section__count{font-size:var(--text-xs);color:var(--text-tertiary)}.sleep-section{margin-top:var(--space-6)}.sleep-list{display:flex;flex-direction:column;gap:var(--space-3)}.sleep-item{display:flex;align-items:flex-start;gap:var(--space-3)}.sleep-item__main{flex:1;min-width:0}.sleep-item__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.sleep-item__date{font-size:var(--text-sm);font-weight:600}.sleep-item__times{margin-top:3px;font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:var(--space-3)}.sleep-item__dur{color:var(--color-primary-light);font-weight:600}.sleep-item__note{margin:4px 0 0;font-size:var(--text-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sleep-item__del{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:color .15s ease,background .15s ease;flex-shrink:0}.sleep-item__del:hover{color:var(--color-danger);background:var(--color-danger-dim)}.sleep-cta{margin-top:var(--space-6)}.sleep-del-text{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.sleep-del-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.textarea{width:100%;resize:vertical;background:var(--bg-input);border:1px solid var(--border-weak);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:var(--text-md);outline:none;transition:border-color .15s ease,box-shadow .15s ease;min-height:84px}.textarea::placeholder{color:var(--text-tertiary)}.textarea--focused{border-color:var(--color-primary-light);box-shadow:0 0 0 3px var(--color-primary-dim)}.textarea--error{border-color:var(--color-danger)}.textarea-wrap__foot{display:flex;justify-content:space-between;align-items:center}.textarea__count{font-size:var(--text-xs);color:var(--text-tertiary)}.textarea__error{margin:0;font-size:var(--text-xs);color:var(--color-danger)}.slf-body{padding:0 var(--space-4) calc(48px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-4)}.slf-grid{display:grid;gap:var(--space-3)}.slf-grid--2{grid-template-columns:1fr 1fr}.slf-duration{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-primary-dim);border:1px solid transparent;border-radius:var(--radius-md)}.slf-duration__label{font-size:var(--text-sm);color:var(--text-secondary)}.slf-duration__value{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-primary-light)}.slf-field{display:flex;flex-direction:column;gap:var(--space-2)}.slf-field__label{font-size:var(--text-sm);color:var(--text-secondary)}.slf-field__hint{font-size:var(--text-xs);color:var(--text-tertiary)}.slf-moods{display:flex;gap:var(--space-2);flex-wrap:wrap}.slf-mood{padding:8px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-weak);background:var(--bg-card);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all .15s ease}.slf-mood--on{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.slf-actions{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600;color:#fff;flex-shrink:0;-webkit-user-select:none;user-select:none}.avatar--sm{width:32px;height:32px;font-size:var(--text-sm)}.avatar--md{width:44px;height:44px;font-size:var(--text-lg)}.avatar--lg{width:64px;height:64px;font-size:var(--text-2xl)}.avatar--primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-deep))}.avatar--accent{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-deep));color:var(--bg-void)}.avatar--fallback{border:1px solid var(--border-strong)}.switch{position:relative;width:46px;height:27px;border-radius:var(--radius-pill);background:var(--bg-elevated);border:1px solid var(--border-strong);cursor:pointer;transition:background .18s ease,border-color .18s ease;flex-shrink:0;padding:0}.switch--on{background:var(--color-primary);border-color:var(--color-primary)}.switch--disabled{opacity:.45;cursor:not-allowed}.switch__thumb{position:absolute;top:2px;left:2px;width:21px;height:21px;border-radius:50%;background:#fff;transition:transform .18s ease;box-shadow:0 1px 3px #00000059}.switch--on .switch__thumb{transform:translate(19px)}.profile-card{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4);background:radial-gradient(circle at 92% -20%,rgba(107,92,231,.25),transparent 60%),var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg);color:inherit;font:inherit;cursor:pointer;text-align:left;transition:border-color .15s ease}.profile-card:hover{border-color:var(--border-strong)}.profile-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.profile-card__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.profile-card__sub{font-size:var(--text-xs);color:var(--text-tertiary)}.profile-card__edit{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-xs);color:var(--color-primary-light);flex-shrink:0}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:var(--space-3)}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-3) 0;background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-md)}.profile-stat__num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-accent)}.profile-stat__label{font-size:11px;color:var(--text-tertiary)}.profile-group{margin-top:var(--space-5);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg);overflow:hidden;padding:0}.profile-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);background:transparent;border:none;border-bottom:1px solid var(--border-weak);color:inherit;font:inherit;font-size:var(--text-md);text-align:left;cursor:pointer;transition:background .13s ease}.profile-group .profile-row:last-child{border-bottom:none}a.profile-row:hover,button.profile-row:hover{background:var(--bg-elevated)}.profile-row--static{cursor:default}.profile-row--static:hover{background:transparent}.profile-row__icon{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.profile-row__icon--danger{color:var(--color-danger);background:var(--color-danger-dim)}.profile-row__title{flex:1;min-width:0}.profile-row__title--danger{color:var(--color-danger)}.profile-row__meta{font-size:var(--text-xs);color:var(--text-tertiary);flex-shrink:0}.profile-row__chev{color:var(--text-tertiary);flex-shrink:0}.profile-foot{margin:var(--space-6) 0 0;text-align:center;font-size:var(--text-xs);color:var(--text-tertiary)}.profile-modal-text{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7}.profile-modal-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.select-wrap{position:relative;display:flex;flex-direction:column;gap:var(--space-2)}.select{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;background:var(--bg-input);border:1px solid var(--border-weak);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:border-color .15s ease;text-align:left}.select--md{padding:0 var(--space-4);min-height:48px;font-size:var(--text-md)}.select--sm{padding:0 var(--space-3);min-height:38px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.select--open{border-color:var(--color-primary-light)}.select--error{border-color:var(--color-danger)}.select:disabled{opacity:.5;cursor:not-allowed}.select__value--placeholder{color:var(--text-tertiary)}.select__chevron{color:var(--text-tertiary);transition:transform .15s ease}.select__chevron--up{transform:rotate(180deg)}.select__list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;margin:0;padding:var(--space-2);list-style:none;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-card);max-height:240px;overflow-y:auto}.select__option{padding:10px var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-md)}.select__option--hover{background:var(--bg-card)}.select__option--selected{color:var(--color-primary-light);font-weight:600}.select__error{margin:0;font-size:var(--text-xs);color:var(--color-danger)}.pe-body{padding:0 var(--space-4) calc(48px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-4)}.pe-avatar-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg)}.pe-avatar-hint{margin:0;font-size:var(--text-sm);font-weight:600}.pe-avatar-sub{margin:2px 0 0;font-size:var(--text-xs);color:var(--text-tertiary)}.pe-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.pe-grid--3{grid-template-columns:repeat(3,1fr)}.pe-section-label{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-2)}.pe-actions{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.cp-body{padding:0 var(--space-4) calc(48px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-4)}.cp-step{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.cp-step__num{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;background:var(--bg-elevated);color:var(--text-tertiary);flex-shrink:0}.cp-step__num--on{background:var(--color-primary);color:#fff}.cp-step__num--done{background:var(--color-success);color:#fff}.cp-step__text{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap}.cp-step__text--dim{color:var(--text-tertiary)}.cp-step__line{flex:1;height:1px;background:var(--border-weak)}.cp-step__line--on{background:var(--color-primary)}.cp-current{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.cp-current strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.cp-code-btn{background:var(--color-primary-dim);color:var(--color-primary-light);border:none;border-radius:var(--radius-pill);padding:7px 12px;font-size:var(--text-xs);font-weight:600;cursor:pointer;white-space:nowrap}.cp-code-btn:disabled{opacity:.55;cursor:not-allowed}.alarm-body{padding:0 var(--space-4) calc(80px + env(safe-area-inset-bottom))}.alarm-list{display:flex;flex-direction:column;gap:var(--space-3)}.alarm-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg);transition:opacity .15s ease}.alarm-item--off{opacity:.55}.alarm-item__main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-4);background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-align:left}.alarm-item__time{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.alarm-item__meta{display:flex;flex-direction:column;gap:1px;min-width:0}.alarm-item__label{font-size:var(--text-sm);font-weight:600}.alarm-item__repeat{font-size:var(--text-xs);color:var(--text-secondary)}.alarm-item__sound{font-size:11px;color:var(--text-tertiary)}.alarm-add-row{margin-top:var(--space-4)}.alarm-next{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-primary-dim);color:var(--color-primary-light);font-size:var(--text-xs)}.alarm-form{display:flex;flex-direction:column;gap:var(--space-4)}.alarm-form__label{font-size:var(--text-sm);color:var(--text-secondary)}.alarm-time-input{background:var(--bg-input);border:1px solid var(--border-weak);border-radius:var(--radius-md);min-height:48px;padding:0 var(--space-4);color:var(--text-primary);font-size:var(--text-2xl);font-family:var(--font-display);font-weight:700;outline:none;color-scheme:dark}.alarm-time-input:focus{border-color:var(--color-primary-light)}.alarm-week{display:flex;gap:var(--space-1)}.alarm-week__day{flex:1;padding:9px 0;border-radius:var(--radius-sm);border:1px solid var(--border-weak);background:var(--bg-card);color:var(--text-tertiary);font-size:var(--text-xs);cursor:pointer;transition:all .14s ease}.alarm-week__day--on{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.alarm-error{margin:0;font-size:var(--text-xs);color:var(--color-danger)}.alarm-form__actions{display:flex;gap:var(--space-3);align-items:center}.alarm-form__actions>:first-child{flex:1}.alarm-del-text{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.alarm-del-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.alarm-back-home{display:block;margin:0 auto var(--space-6);background:transparent;border:none;color:var(--text-tertiary);font-size:var(--text-xs);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.alarm-extras{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.alarm-extra{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-weak);background:var(--bg-card);color:var(--text-secondary);font:inherit;cursor:pointer;text-align:left;transition:border-color .15s ease}.alarm-extra:hover{border-color:var(--border-strong)}.alarm-extra strong{display:block;font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.alarm-extra em{font-style:normal;font-size:11px;color:var(--text-tertiary)}.about-brand{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.about-brand__logo{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,var(--color-primary),var(--color-primary-deep));color:#fff;flex-shrink:0}.about-brand__name{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700}.about-brand__ver{margin:2px 0 0;font-size:var(--text-xs);color:var(--text-tertiary)}.about-text{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.8}.about-sec{margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:600}.about-list{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-2)}.about-copy{margin:var(--space-2) 0 0;text-align:center;font-size:var(--text-xs);color:var(--text-tertiary)}.help-faqs{display:flex;flex-direction:column;gap:var(--space-2)}.help-faq__q{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;background:transparent;border:none;color:inherit;font:inherit;font-size:var(--text-sm);font-weight:600;text-align:left;cursor:pointer;padding:0}.help-faq__chev{color:var(--text-tertiary);transition:transform .18s ease;flex-shrink:0}.help-faq__chev--open{transform:rotate(180deg)}.help-faq__a{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.8}.help-contacts{display:flex;flex-direction:column;gap:var(--space-3)}.help-contact{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-weak);background:var(--bg-input);color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease}.help-contact:hover{border-color:var(--border-strong)}.help-contact span{display:flex;flex-direction:column}.help-contact strong{font-size:var(--text-sm)}.help-contact em{font-style:normal;font-size:11px;color:var(--text-tertiary)}.help-link{color:var(--color-accent)}.goals-body{padding:0 var(--space-4) calc(48px + env(safe-area-inset-bottom))}.goals-lead{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7}.goals-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.goal-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg);color:inherit;font:inherit;cursor:pointer;text-align:left;transition:all .15s ease;position:relative}.goal-item:hover{border-color:var(--border-strong)}.goal-item--on{border-color:var(--color-primary-light);background:var(--color-primary-dim)}.goal-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.goal-item__title{font-size:var(--text-md);font-weight:600}.goal-item__desc{font-size:var(--text-xs);color:var(--text-secondary)}.goal-item__icon{width:42px;height:42px;border-radius:50%;background:var(--color-accent-dim);color:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.goal-item__check{position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center}.rem-body{padding:0 var(--space-4) calc(48px + env(safe-area-inset-bottom))}.rem-list{display:flex;flex-direction:column;gap:var(--space-3)}.rem-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg);transition:opacity .15s ease}.rem-item--off{opacity:.55}.rem-item__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-align:left}.rem-item__type{font-size:var(--text-md);font-weight:600}.rem-item__time{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-primary-light)}.rem-item__repeat{font-size:var(--text-xs);color:var(--text-tertiary)}.rem-note{margin:var(--space-5) 0 0;font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.7}.rem-form{display:flex;flex-direction:column;gap:var(--space-4)}.rem-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.rem-form__label{display:block;font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.rem-time-input{width:100%;background:var(--bg-input);border:1px solid var(--border-weak);border-radius:var(--radius-md);min-height:48px;padding:0 var(--space-4);color:var(--text-primary);font-size:var(--text-lg);font-family:var(--font-display);font-weight:700;outline:none;color-scheme:dark}.rem-time-input:focus{border-color:var(--color-primary-light)}.rem-error{margin:0;font-size:var(--text-xs);color:var(--color-danger)}.rem-del-text{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.rem-del-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.rem-back{display:block;margin:0 auto var(--space-6);background:transparent;border:none;color:var(--text-tertiary);font-size:var(--text-xs);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.ex-body{padding:0 var(--space-4) calc(48px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-4)}.ex-group{background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg);overflow:hidden}.ex-section-label{padding:var(--space-4) var(--space-4) var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary)}.ex-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);background:transparent;border:none;border-bottom:1px solid var(--border-weak);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .13s ease}.ex-group .ex-row:last-child{border-bottom:none}button.ex-row:hover{background:var(--bg-elevated)}.ex-row--static{cursor:default}.ex-row--static:hover{background:transparent}.ex-row__icon{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ex-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ex-row__title{font-size:var(--text-md);font-weight:500}.ex-row__desc{font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.6}.ex-row__stepper{display:inline-flex;align-items:center;gap:var(--space-2)}.ex-row__stepper button{width:30px;height:30px;border-radius:50%;border:1px solid var(--border-weak);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--text-lg);cursor:pointer}.ex-row__stepper button:disabled{opacity:.4;cursor:not-allowed}.ex-row__num{min-width:32px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.ex-note,.ex-empty-note{margin:0;font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.7}.ex-lead{margin:0;font-size:var(--text-md);font-weight:600}.ring-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);text-align:center;background:radial-gradient(ellipse 90% 50% at 50% -10%,rgba(107,92,231,.3),transparent 65%),var(--bg-page)}.ring-page__clock{margin:0;font-family:var(--font-display);font-size:64px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.ring-page__label{margin:0;font-size:var(--text-md);color:var(--text-secondary)}.ring-page__orb{width:96px;height:96px;border-radius:50%;border:none;margin-top:var(--space-5);background:var(--color-accent);color:var(--bg-void);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 #fad05180}.ring-page__orb--on{animation:ring-pulse 1.6s ease-out infinite}@keyframes ring-pulse{0%{box-shadow:0 0 #fad05173}70%{box-shadow:0 0 0 26px #fad05100}to{box-shadow:0 0 #fad05100}}.ring-page__sound{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--text-tertiary)}.ring-page__actions{display:flex;gap:var(--space-3);width:100%;max-width:320px}.ring-page__actions>*{flex:1}.ring-page__hint{margin:var(--space-5) 0 0;font-size:var(--text-xs);color:var(--text-tertiary)}.challenge-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-5);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-xl);text-align:center}.challenge-card__icon{width:64px;height:64px;border-radius:50%;background:var(--color-accent-dim);color:var(--color-accent);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.challenge-card__title{margin:0;font-size:var(--text-xl);font-weight:700}.challenge-card__desc{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7}.challenge-card__demo{display:flex;align-items:center;gap:var(--space-3)}.challenge-card__count{font-size:var(--text-sm);color:var(--text-tertiary)}.dl-list{display:flex;flex-direction:column;gap:var(--space-3)}.dl-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border-weak);border-radius:var(--radius-lg)}.dl-item__main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3);background:transparent;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-align:left}.dl-item__play{width:36px;height:36px;border-radius:50%;background:var(--color-accent);color:var(--bg-void);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dl-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.dl-item__name{font-size:var(--text-md);font-weight:600}.dl-item__date{font-size:11px;color:var(--text-tertiary)}.dl-item__del{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm)}.dl-item__del:hover{color:var(--color-danger);background:var(--color-danger-dim)}.lang-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4);background:transparent;border:none;border-bottom:1px solid var(--border-weak);color:inherit;font:inherit;font-size:var(--text-md);cursor:pointer;text-align:left;transition:background .13s ease}.ex-group .lang-item:last-child{border-bottom:none}.lang-item:hover{background:var(--bg-elevated)}.lang-item--on{color:var(--color-primary-light);font-weight:600}.lang-item__check{color:var(--color-primary-light)}.fb-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.fb-tag{padding:9px 18px;border-radius:var(--radius-pill);border:1px solid var(--border-weak);background:var(--bg-card);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all .15s ease}.fb-tag--on{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.fb-error{margin:calc(var(--space-2) * -1) 0 var(--space-2);font-size:var(--text-xs);color:var(--color-danger)}.invite-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-6) 0 var(--space-4)}.invite-hero__icon{width:68px;height:68px;border-radius:50%;background:var(--color-accent-dim);color:var(--color-accent);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.invite-hero__title{margin:0;font-size:var(--text-xl);font-weight:700}.invite-hero__desc{margin:0;font-size:var(--text-sm);color:var(--text-secondary);max-width:280px;line-height:1.7}.invite-code-card{padding:var(--space-4);background:var(--bg-card);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.invite-code-card__label{display:block;font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-2)}.invite-code-card__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.invite-code-card__code{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:.06em;color:var(--color-accent)}
