:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fafaf7;--surface:#fff;--surface-2:#f2f1ec;--text:#1c1c1b;--text-2:#75746e;--text-3:#a3a29b;--hairline:#1c1c1b17;--accent:#7a6bc9;--accent-soft:#7a6bc91a;--green:#3d8b5f;--green-soft:#3d8b5f1f;--red:#c24a3f;--red-soft:#c24a3f1a;--shadow:0 1px 2px #1c1c1b08, 0 6px 20px #1c1c1b0a;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif:"New York", ui-serif, Georgia, "Iowan Old Style", "Times New Roman", serif;--radius:18px;--tabbar-h:78px;--sheet-ease:cubic-bezier(.32, .72, .28, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111110;--surface:#1c1c1a;--surface-2:#262624;--text:#f2f2ee;--text-2:#a2a19a;--text-3:#6e6d67;--hairline:#f2f2ee1a;--accent:#b3a5f0;--accent-soft:#b3a5f029;--green:#6fbe93;--green-soft:#6fbe9324;--red:#e07b70;--red-soft:#e07b7024;--shadow:0 1px 2px #0000001f, 0 6px 20px #00000029}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{height:100%}body{font-family:var(--sans);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior-y:none;touch-action:manipulation;background:#000;height:100dvh;overflow:hidden}#root{height:100%}.indent-bg{z-index:0;background:#000;position:fixed;inset:0}.indent{z-index:1;background:var(--bg);transform-origin:top;height:100%;transition:transform .5s var(--sheet-ease), border-radius .5s var(--sheet-ease);position:relative}.indent[data-active]{transform:scale(.94) translateY(env(safe-area-inset-top));border-radius:22px;overflow:hidden}@media (prefers-reduced-motion:reduce){.indent,.indent[data-active]{transition:none;transform:none}}.shell{flex-direction:column;height:100%;display:flex}.scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.statusbar-veil{height:env(safe-area-inset-top);z-index:60;pointer-events:none;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);position:fixed;top:0;left:0;right:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input{font:inherit;color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.view{max-width:620px;padding:calc(env(safe-area-inset-top) + 22px) 20px 36px;margin:0 auto}.panel{animation:.22s fadein}.panel:focus-visible{outline:none}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:13px;font-weight:600}h1.title{letter-spacing:-.02em;margin-top:2px;font-size:32px;font-weight:700}.subtitle{color:var(--text-2);margin-top:6px;font-size:15px;line-height:1.45}.subtitle.spaced{margin-top:16px}.section-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin:28px 4px 10px;font-size:13px;font-weight:600}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card+.card{margin-top:12px}.card.tappable{transition:transform .12s}.card.tappable:active{transform:scale(.985)}.wordcard{text-align:center;width:100%;padding:34px 24px 26px;display:block}.wordcard>span{display:block}.wordcard .w-la{font-family:var(--serif);letter-spacing:-.01em;font-size:40px;font-weight:600;line-height:1.1}.wordcard .w-rom{color:var(--text-2);margin-top:6px;font-size:16px}.wordcard .w-g{color:var(--text-2);margin-top:8px;font-size:14px;font-style:italic}.wordcard .w-pos{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:99px;margin-top:14px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.wordcard .w-en{letter-spacing:-.01em;margin-top:18px;font-size:21px;font-weight:600;display:block}.wordcard .w-fr{color:var(--text-2);margin-top:3px;font-size:17px;font-weight:500;display:block}.wordcard .w-ex{border-top:1px solid var(--hairline);margin-top:16px;padding-top:16px;display:block}.wordcard .w-ex>span{display:block}.wordcard .w-ex .la{font-family:var(--serif);font-size:16px;font-style:italic}.wordcard .w-ex .en{color:var(--text-2);margin-top:6px;font-size:14px}.wordcard .w-ex .fr{color:var(--text-3);margin-top:2px;font-size:14px}.wordcard .reveal-hint{color:var(--text-3);margin-top:22px;font-size:14px}.btn{background:var(--text);color:var(--bg);-webkit-user-select:none;user-select:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-size:16px;font-weight:600;transition:transform .12s,opacity .12s;display:inline-flex}.btn:active{opacity:.9;transform:scale(.97)}.btn.full{width:100%}.btn.accent{background:var(--accent);color:#fff}.btn.quiet{background:var(--surface-2);color:var(--text)}.btn.ghost{color:var(--accent);background:0 0;padding:10px 14px}.btn.small{border-radius:11px;padding:9px 16px;font-size:14px}.btn.danger{background:var(--red-soft);color:var(--red)}.btn.success{background:var(--green);color:#fff}.btn:disabled{opacity:.4;pointer-events:none}.btn-row{gap:10px;margin-top:16px;display:flex}.btn-row .btn{flex:1}.btn-row.invisible{visibility:hidden}.done-actions{max-width:340px;margin:28px auto 0}.today-head{justify-content:space-between;align-items:flex-start;display:flex}.streak-pill{background:var(--surface);box-shadow:var(--shadow);border-radius:99px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;display:flex}.streak-pill .dot{color:var(--accent)}.progress-wrap{margin-top:20px}.progress-row{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.progress-row .label{font-size:14px;font-weight:600}.progress-row .value{color:var(--text-2);font-size:13px}.progress{display:block}.progress-track{background:var(--surface-2);border-radius:99px;height:6px;display:block;overflow:hidden}.progress-fill{background:var(--accent);border-radius:99px;height:100%;transition:width .4s;display:block}.stat-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.stat{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 14px}.stat .n{letter-spacing:-.02em;font-size:24px;font-weight:700}.stat .l{color:var(--text-2);margin-top:2px;font-size:12px}.banner{text-align:left;background:var(--accent-soft);border-radius:var(--radius);border:1px solid #0000;align-items:center;gap:14px;width:100%;margin-top:12px;padding:16px 18px;display:flex}.banner .b-icon{color:var(--accent);display:flex}.banner .b-text{flex:1}.banner .b-title{font-size:15px;font-weight:600;display:block}.banner .b-sub{color:var(--text-2);margin-top:1px;font-size:13px;display:block}.searchbar{background:var(--surface-2);border-radius:12px;flex-direction:row;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;display:flex}.searchbar .icon{width:16px;height:16px;color:var(--text-3);flex:none}.searchbar input{background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:16px}.searchbar input::placeholder{color:var(--text-3)}.searchbar input::-webkit-search-cancel-button{-webkit-appearance:none}.chips{scrollbar-width:none;gap:8px;margin-top:12px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{background:var(--surface-2);color:var(--text-2);border-radius:99px;flex:none;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.chip[data-pressed]{background:var(--text);color:var(--bg)}.wordlist{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:16px;overflow:hidden}.wordrow{text-align:left;border-bottom:1px solid var(--hairline);align-items:center;gap:14px;width:100%;padding:14px 18px;display:flex}.wordrow:last-child{border-bottom:none}.wordrow:active{background:var(--surface-2)}.wordrow .wr-main{flex:1;min-width:0}.wordrow .wr-la{font-family:var(--serif);font-size:18px;font-weight:600;display:block}.wordrow .wr-en{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:13px;display:block;overflow:hidden}.wr-rom{font-family:var(--sans);color:var(--text-3);font-size:13px;font-weight:400}.status-dot{border-radius:99px;flex:none;width:8px;height:8px}.status-dot.new{background:var(--accent)}.status-dot.learning{background:var(--text-3)}.status-dot.mastered{background:var(--green)}.status-dot.locked{box-shadow:inset 0 0 0 1.5px var(--text-3);background:0 0}.empty{text-align:center;color:var(--text-2);padding:56px 24px}.empty.spaced{margin-top:16px}.empty .e-title{color:var(--text);font-size:16px;font-weight:600}.empty .e-sub{margin-top:4px;font-size:14px;line-height:1.5}.mode-card{text-align:left;align-items:center;gap:16px;width:100%;display:flex}.mode-card .m-icon{background:var(--accent-soft);border-radius:13px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.mode-card .m-text{flex:1}.mode-card .m-title{font-size:16px;font-weight:600;display:block}.mode-card .m-sub{color:var(--text-2);margin-top:2px;font-size:13px;display:block}.mode-card .m-chev{color:var(--text-3);flex:none;display:flex}.session-top{align-items:center;gap:14px;margin-bottom:18px;display:flex}.session-top .close{color:var(--text-2);font-size:15px;font-weight:600}.session-progress{flex:1}.session-progress .progress-track{height:5px}.session-count{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:13px}.quiz-q{text-align:center;margin:26px 0 8px}.quiz-q .q-label{color:var(--text-3);letter-spacing:.05em;text-transform:uppercase;font-size:13px;font-weight:600}.quiz-q .q-word{font-family:var(--serif);margin-top:10px;font-size:36px;font-weight:600;line-height:1.15}.quiz-q .q-word.en-mode{font-family:var(--sans);letter-spacing:-.01em;font-size:26px}.quiz-q .q-hint{color:var(--text-2);margin-top:6px;font-size:14px;font-style:italic}.options{flex-direction:column;gap:10px;margin-top:24px;display:flex}.option{background:var(--surface);text-align:left;box-shadow:var(--shadow);border:1.5px solid #0000;border-radius:14px;padding:16px 18px;font-size:16px;font-weight:500;transition:transform .1s}.option:active{transform:scale(.98)}.option:disabled{opacity:1}.option.correct{border-color:var(--green);background:var(--green-soft)}.option.wrong{border-color:var(--red);background:var(--red-soft)}.option.dim{opacity:.45}.type-input{background:var(--surface);text-align:center;width:100%;font-size:18px;font-family:var(--serif);box-shadow:var(--shadow);border:1.5px solid #0000;border-radius:14px;outline:none;margin-top:24px;padding:16px 18px}.type-input:focus{border-color:var(--accent)}.type-input.correct{border-color:var(--green);background:var(--green-soft)}.type-input.wrong{border-color:var(--red);background:var(--red-soft)}.type-answer{text-align:center;color:var(--text-2);min-height:22px;margin-top:14px;font-size:15px}.type-answer .la{font-family:var(--serif);color:var(--text);font-weight:600}.type-answer .rom{color:var(--text-3)}.flash-card{background:var(--surface);width:100%;box-shadow:var(--shadow);text-align:center;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:260px;margin-top:22px;padding:48px 28px;display:flex}.flash-card:disabled{opacity:1}.flash-card .f-la{font-family:var(--serif);font-size:38px;font-weight:600;line-height:1.1}.flash-card .f-rom{color:var(--text-2);margin-top:6px;font-size:15px}.flash-card .f-g{color:var(--text-2);margin-top:8px;font-size:14px;font-style:italic}.flash-card .f-en{margin-top:18px;font-size:20px;font-weight:600;display:block}.flash-card .f-fr{color:var(--text-2);margin-top:2px;font-size:16px;font-weight:500;display:block}.flash-card .f-ex{font-family:var(--serif);color:var(--text-2);margin-top:14px;font-size:15px;font-style:italic;line-height:1.5;display:block}.flash-card .f-ex-en{font-style:normal;font-family:var(--sans);font-size:13px}.flash-card .f-tap{color:var(--text-3);margin-top:20px;font-size:14px}.session-done{text-align:center;padding:48px 20px}.session-done .d-title{letter-spacing:-.02em;margin-top:16px;font-size:26px;font-weight:700}.session-done .d-sub{color:var(--text-2);margin-top:8px;font-size:15px;line-height:1.5}.setting-group{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.setting-row{border-bottom:1px solid var(--hairline);text-align:left;align-items:center;gap:14px;width:100%;padding:15px 18px;display:flex}.setting-row:last-child{border-bottom:none}.setting-row .s-main{flex:1;min-width:0}.setting-row .s-title{font-size:16px;font-weight:500;display:block}.setting-row .s-sub{color:var(--text-2);margin-top:2px;font-size:13px;line-height:1.4;display:block}.setting-row .s-value{color:var(--text-2);flex:none;align-items:center;font-size:15px;display:flex}button.setting-row:active{background:var(--surface-2)}button.setting-row:disabled{opacity:.45}.setting-row.danger-row .s-title{color:var(--red)}.setting-row.danger-row{background:radial-gradient(80% 170% at 4% 38%, var(--red-soft) 0%, transparent 72%)}button.setting-row.danger-row:active{background:var(--red-soft)}.back-link{color:var(--text-2);align-items:center;gap:2px;margin-bottom:14px;padding:4px 0;font-size:15px;font-weight:600;display:flex}.back-link .icon{width:18px;height:18px}.icon.flip{transform:rotate(180deg)}.lang-chips{margin-top:18px}.lang-chips+.setting-group{margin-top:14px}.chip-dot{background:var(--green);vertical-align:1px;border-radius:99px;width:6px;height:6px;margin-left:7px;display:inline-block}.chip[data-pressed] .chip-dot{background:var(--bg)}.reminder-row .rm-time{font-variant-numeric:tabular-nums;letter-spacing:-.01em;flex:none;width:78px;font-size:15px;font-weight:600}.reminder-row.is-off{opacity:.5}.add-row .s-title,.add-row .s-value .icon{color:var(--accent)}.pause-row{flex-wrap:wrap;gap:8px;padding-left:14px;padding-right:14px}.pause-row .btn{flex:none}.pause-row .btn.small{padding:9px 13px}.days-row{padding-top:12px;padding-bottom:12px}.chips.days{justify-content:space-between;gap:6px;width:100%;margin-top:0}.day-chip{border-radius:99px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:14px;display:flex}.time-input{background:var(--surface-2);font-variant-numeric:tabular-nums;text-align:center;border:none;border-radius:10px;flex:none;min-width:104px;padding:7px 10px;font-size:15px;font-weight:600}.time-input::-webkit-calendar-picker-indicator{display:none}.time-input::-webkit-date-and-time-value{text-align:center}.pick-row{background:0 0}.pick-row:active{background:var(--surface-2)}.pick-check{color:var(--accent);flex:none;display:flex}.pick-check .icon{width:20px;height:20px}.field{margin-top:22px}.field-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin:0 4px 10px;font-size:13px;font-weight:600;display:block}.field-input{background:var(--surface);width:100%;box-shadow:var(--shadow);border:none;border-radius:14px;outline:none;padding:15px 18px;font-size:16px}.field-input::placeholder{color:var(--text-3)}.field-hint{color:var(--text-2);margin:8px 4px 0;font-size:13px;line-height:1.45}.sheet-links{justify-content:center;gap:12px;margin-top:10px;display:flex}.btn.ghost.danger-text{color:var(--red)}.checkin-scale{flex-direction:column;gap:8px;margin-top:16px;display:flex}.rating-row{text-align:left;background:var(--surface);width:100%;box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:14px;padding:14px 18px;transition:transform .1s;display:flex}.rating-row:active{transform:scale(.985)}.rating-row[data-checked]{background:var(--accent-soft)}.rating-row .r-face{background:var(--surface-2);font-variant-numeric:tabular-nums;width:34px;height:34px;color:var(--text-2);border-radius:99px;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.rating-row[data-checked] .r-face{background:var(--accent);color:#fff}.rating-row .r-text{flex:1;min-width:0}.rating-row .r-title{font-size:16px;font-weight:600;display:block}.rating-row .r-sub{color:var(--text-2);margin-top:1px;font-size:13px;display:block}.trend{margin-top:16px}.trend-svg{width:100%;height:56px;display:block;overflow:visible}.trend-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:var(--accent)}.trend-caption{color:var(--text-2);margin-top:8px;font-size:13px}.checkin-note{color:var(--text-2);margin-top:14px;font-size:14px;font-style:italic;line-height:1.5}.toggle{background:var(--surface-2);border-radius:99px;flex:none;width:51px;height:31px;padding:0;transition:background .2s;position:relative}.toggle[data-checked]{background:var(--green)}.toggle:disabled{opacity:.5}.toggle-thumb{background:#fff;border-radius:99px;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #00000040}.toggle-thumb[data-checked]{transform:translate(20px)}.stepper{flex:none}.stepper-group{background:var(--surface-2);border-radius:10px;align-items:center;display:flex;overflow:hidden}.stepper-btn{width:36px;height:32px;color:var(--text-2);justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex}.stepper-btn:disabled{opacity:.35}.stepper-input{text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;background:0 0;border:none;outline:none;width:30px;height:32px;font-size:15px;font-weight:600}.swatches{flex-wrap:wrap;flex:none;gap:10px;display:flex}.swatch{border:none;border-radius:99px;flex:none;width:26px;height:26px;padding:0}.swatch[data-checked]{outline:2px solid var(--text);outline-offset:2px}.swatch[data-accent-choice=lilac]{background:var(--lightningcss-light,#7a6bc9)var(--lightningcss-dark,#b3a5f0)}.swatch[data-accent-choice=blue]{background:var(--lightningcss-light,#3b6fd4)var(--lightningcss-dark,#8fb4f5)}.swatch[data-accent-choice=green]{background:var(--lightningcss-light,#2f8a62)var(--lightningcss-dark,#82cba6)}.swatch[data-accent-choice=rose]{background:var(--lightningcss-light,#c0526f)var(--lightningcss-dark,#ee9ab5)}.swatch[data-accent-choice=amber]{background:var(--lightningcss-light,#a87a2a)var(--lightningcss-dark,#e2b267)}.swatch[data-accent-choice=slate]{background:var(--lightningcss-light,#5a6572)var(--lightningcss-dark,#a2b0bf)}.tabbar{padding:10px 8px calc(env(safe-area-inset-bottom) + 8px);background:var(--bg);border-top:1px solid var(--hairline);flex:none;justify-content:space-around;align-items:flex-start;display:flex}.tab{color:var(--text-3);flex-direction:column;align-items:center;gap:3px;width:74px;padding:4px 0;transition:color .15s;display:flex}.tab svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:24px;height:24px}.tab span{letter-spacing:.01em;font-size:10.5px;font-weight:600}.tab[data-active]{color:var(--text)}.sheet-backdrop{z-index:100;transition:opacity .5s var(--sheet-ease);background:#00000059;position:fixed;inset:0}.sheet-backdrop[data-starting-style],.sheet-backdrop[data-ending-style]{opacity:0}.sheet-backdrop[data-ending-style]{pointer-events:none}.sheet-viewport{z-index:101;pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{pointer-events:auto;width:100%;max-width:620px;max-height:min(86dvh, calc(100dvh - env(safe-area-inset-top) - 24px));background:var(--bg);transition:transform .5s var(--sheet-ease);border-radius:22px 22px 0 0;flex-direction:column;display:flex;box-shadow:0 -8px 40px #0000002e}.sheet[data-swipe-direction=down]{transform:translateY(calc(var(--drawer-snap-point-offset,0px) + var(--drawer-swipe-movement-y,0px)))}.sheet[data-swiping]{transition:none}.sheet[data-swipe-direction=down][data-starting-style],.sheet[data-swipe-direction=down][data-ending-style]{transform:translateY(100%)}.sheet .grabber{background:var(--hairline);border-radius:99px;flex:none;width:38px;height:5px;margin:14px auto 8px}.sheet-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:6px 22px calc(env(safe-area-inset-bottom) + 26px);flex:1;overflow-y:auto}.sheet-title{letter-spacing:-.02em;font-size:24px;font-weight:700}.sheet-desc{color:var(--text-2);margin-top:6px;font-size:15px;line-height:1.45}.sheet .setting-group,.sheet .card,.sheet .stat-grid,.sheet .wordcard{margin-top:16px}.lang-row .lang-check,.lang-row .s-value{align-items:center;display:flex}.lang-row[aria-current=true] .s-title{color:var(--accent)}.install-steps ol{padding-left:20px;font-size:15px;line-height:2}.install-done{margin-top:16px}.toast-viewport{left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px);z-index:200;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:86vw;display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);text-align:center;border-radius:99px;padding:11px 20px;font-size:14px;font-weight:600;transition:opacity .3s,transform .3s;box-shadow:0 8px 24px #0000002e}.toast[data-starting-style],.toast[data-ending-style]{opacity:0;transform:translateY(8px)}.toast-title,.toast-desc{display:block}.icon{flex:none;width:24px;height:24px}.m-icon .icon{width:22px;height:22px;color:var(--accent)}.e-icon{color:var(--text-3);justify-content:center;margin-bottom:12px;display:flex}.e-icon .icon{width:40px;height:40px}.d-icon{color:var(--accent);justify-content:center;display:flex}.d-icon .icon{width:52px;height:52px}.s-value .icon,.m-chev .icon{width:18px;height:18px;color:var(--text-3)}.lang-check .icon{width:20px;height:20px;color:var(--accent)}.spinner{width:20px;height:20px;color:var(--accent);animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.head-pills{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.lang-pill{cursor:pointer;gap:6px}.lang-pill .icon{width:16px;height:16px;color:var(--accent)}@media (width>=700px){.view{padding-top:48px}.tabbar{border:1px solid var(--hairline);border-bottom:none;border-radius:22px 22px 0 0;align-self:center;width:100%;max-width:620px}}:root[data-accent=lilac]{--accent:var(--lightningcss-light,#7a6bc9)var(--lightningcss-dark,#b3a5f0);--accent-soft:var(--lightningcss-light,#7a6bc91a)var(--lightningcss-dark,#b3a5f029)}:root[data-accent=blue]{--accent:var(--lightningcss-light,#3b6fd4)var(--lightningcss-dark,#8fb4f5);--accent-soft:var(--lightningcss-light,#3b6fd41a)var(--lightningcss-dark,#8fb4f529)}:root[data-accent=green]{--accent:var(--lightningcss-light,#2f8a62)var(--lightningcss-dark,#82cba6);--accent-soft:var(--lightningcss-light,#2f8a621a)var(--lightningcss-dark,#82cba629)}:root[data-accent=rose]{--accent:var(--lightningcss-light,#c0526f)var(--lightningcss-dark,#ee9ab5);--accent-soft:var(--lightningcss-light,#c0526f1a)var(--lightningcss-dark,#ee9ab529)}:root[data-accent=amber]{--accent:var(--lightningcss-light,#a87a2a)var(--lightningcss-dark,#e2b267);--accent-soft:var(--lightningcss-light,#a87a2a1a)var(--lightningcss-dark,#e2b26729)}:root[data-accent=slate]{--accent:var(--lightningcss-light,#5a6572)var(--lightningcss-dark,#a2b0bf);--accent-soft:var(--lightningcss-light,#5a65721a)var(--lightningcss-dark,#a2b0bf29)}.auth-screen{max-width:460px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 48px) 24px calc(env(safe-area-inset-bottom) + 28px);background:var(--bg);flex-direction:column;justify-content:center;margin:0 auto;display:flex;overflow-y:auto}.auth-screen.onboarding{padding-top:calc(env(safe-area-inset-top) + 40px);justify-content:flex-start;display:block}.auth-hero{text-align:center;margin-bottom:28px}.auth-hero.compact{text-align:left;margin-bottom:4px}.auth-brand{font-family:var(--serif);letter-spacing:-.015em;font-size:42px;font-weight:600}.auth-tagline{color:var(--text-2);margin-top:8px;font-size:15px}.auth-card{padding:22px}.auth-card-title{letter-spacing:-.01em;text-align:center;font-size:20px;font-weight:700}.auth-card-sub{color:var(--text-2);text-align:center;overflow-wrap:anywhere;margin:10px 0 16px;font-size:14px;line-height:1.5}.auth-sent-icon{justify-content:center;margin-bottom:12px;display:flex}.auth-sent-icon .icon{width:34px;height:34px;color:var(--accent)}.auth-label{color:var(--text-2);margin:2px 2px 6px;font-size:13px;font-weight:600;display:block}.auth-input{background:var(--surface-2);border:none;border-radius:12px;outline:none;width:100%;margin-bottom:12px;padding:13px 14px;font-size:16px}.auth-input:focus-visible{box-shadow:0 0 0 2px var(--accent)}.auth-input.bare{background:0 0;border-radius:0;margin:0;padding:2px 0}.auth-divider{color:var(--text-3);align-items:center;gap:12px;margin:16px 0;font-size:13px;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--hairline);flex:1;height:1px}.google-g{width:18px;height:18px}.auth-note{color:var(--text-3);text-align:center;margin-top:14px;font-size:12.5px;line-height:1.5}.auth-legal{color:var(--text-3);text-align:center;margin-top:18px;font-size:12.5px;line-height:1.5}.auth-legal a,.auth-note a,.s-sub a{color:var(--accent);font-weight:500;text-decoration:none}.seg{background:var(--surface-2);border-radius:11px;gap:2px;padding:3px;display:flex}.seg-btn{color:var(--text-2);border-radius:9px;padding:7px 14px;font-size:14px;font-weight:600}.seg-btn.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.checkbox{background:var(--surface-2);border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s;display:flex}.checkbox.on{background:var(--accent);color:#fff}.checkbox svg{width:15px;height:15px}.onboarding-cta{margin-top:28px;padding-bottom:24px}.sync-badge{color:var(--text-3);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.sync-badge.ok{color:var(--green)}.sync-badge .spinner{width:14px;height:14px;color:var(--text-3)}.legal-page{z-index:80;background:var(--bg);flex-direction:column;animation:.18s fadein;display:flex;position:fixed;inset:0}.legal-bar{padding:calc(env(safe-area-inset-top) + 10px) 12px 8px;flex:none}.legal-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.legal-body{max-width:620px;padding:4px 24px calc(env(safe-area-inset-bottom) + 48px);margin:0 auto}.legal-body h1.title{font-size:28px}.legal-date{color:var(--text-3);margin-top:4px;font-size:13px}.legal-body h2{letter-spacing:-.01em;margin:26px 0 8px;font-size:16px;font-weight:700}.legal-body p,.legal-body li{color:var(--text-2);font-size:15px;line-height:1.65}.legal-body p+p{margin-top:10px}.legal-body ul{margin:8px 0;padding-left:20px}.legal-body li{margin:6px 0}.legal-body li strong,.legal-body p strong{color:var(--text);font-weight:600}.legal-body a{color:var(--accent);font-weight:500;text-decoration:none}
