.landing-page{--landing-max: 1200px;min-height:100vh;overflow:hidden;background:#f7f8f4;color:#18221d}:root[data-theme=dark] .landing-page{background:#141916;color:#edf2ee}.landing-page button{font:inherit}.landing-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(37,69,57,.1);background:color-mix(in srgb,#f7f8f4 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}:root[data-theme=dark] .landing-header{background:color-mix(in srgb,#141916 88%,transparent);border-color:#ffffff14}.landing-nav-shell{width:min(var(--landing-max),calc(100% - 40px));min-height:72px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px}.landing-brand{display:inline-flex;align-items:center;gap:11px;padding:0;border:0;background:transparent;color:inherit;font-size:14px;font-weight:760;letter-spacing:-.02em;cursor:pointer;white-space:nowrap}.landing-brand-mark{width:36px;height:36px;display:inline-grid;flex:0 0 auto;place-items:center;border-radius:10px;background:#234e40;color:#fff;font-family:Georgia,Times New Roman,serif;font-size:12px;letter-spacing:.08em;box-shadow:0 8px 24px #234e402e}.landing-nav-links{display:flex;align-items:center;justify-content:center;gap:2px}.landing-nav-links button,.landing-login,.landing-footer nav button{border:0;background:transparent;color:#5f6a64;cursor:pointer}.landing-nav-links button{padding:10px 12px;border-radius:10px;font-size:13px}.landing-nav-links button:hover,.landing-login:hover{color:#234e40;background:#234e400f}:root[data-theme=dark] .landing-nav-links button,:root[data-theme=dark] .landing-login,:root[data-theme=dark] .landing-footer nav button{color:#aab5ae}:root[data-theme=dark] .landing-nav-links button:hover,:root[data-theme=dark] .landing-login:hover{color:#d9eee4;background:#8cc0aa1a}.landing-nav-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.landing-login{min-height:40px;flex:0 0 auto;padding:0 12px;border-radius:10px;font-size:13px;white-space:nowrap}.landing-menu-toggle{width:38px;height:38px;display:none;place-content:center;gap:4px;padding:0;border:1px solid #cfd8d2;border-radius:10px;background:#ffffffa8;cursor:pointer}.landing-menu-toggle span{width:15px;height:1.5px;display:block;border-radius:999px;background:currentColor}:root[data-theme=dark] .landing-menu-toggle{border-color:#3c4941;background:#202822}.landing-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:0 22px;border:1px solid transparent;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.landing-button:hover{transform:translateY(-1px)}.landing-button-small{min-height:40px;flex:0 0 auto;padding:0 16px;border-radius:10px;background:#234e40;color:#fff;white-space:nowrap;box-shadow:0 9px 24px #234e4029}.landing-button-primary{background:#234e40;color:#fff;box-shadow:0 12px 28px #234e4033}.landing-button-primary:hover,.landing-button-small:hover{background:#183e33}.landing-button-secondary{border-color:#cfd8d2;background:#ffffffa6;color:#26352e}.landing-button-secondary:hover{border-color:#9fb3a8;background:#fff}.landing-button-light{background:#f4f8f4;color:#173e32}:root[data-theme=dark] .landing-button-secondary{border-color:#3c4941;background:#202822;color:#edf2ee}.landing-main{width:100%;margin:0}.landing-hero{position:relative;width:min(var(--landing-max),calc(100% - 40px));min-height:690px;margin:0 auto;padding:112px 0 104px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(440px,.85fr);align-items:center;gap:84px}.landing-ambient{position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none}.landing-ambient-one{width:420px;height:420px;top:-160px;left:-240px;background:radial-gradient(circle,rgba(117,171,146,.2),transparent 68%)}.landing-ambient-two{width:560px;height:560px;top:40px;right:-310px;background:radial-gradient(circle,rgba(76,136,113,.16),transparent 69%)}.landing-kicker,.landing-section-heading>p,.landing-final-cta>div>p{margin:0 0 22px;color:#527364;font-size:11px;font-weight:800;letter-spacing:.18em}.landing-kicker{display:flex;align-items:center;gap:10px}.landing-kicker span{width:30px;height:1px;background:#527364}.landing-hero h1{margin:0;max-width:620px;color:#17251f;font-size:clamp(48px,5.5vw,76px);line-height:1.08;letter-spacing:-.065em;font-weight:740}.landing-hero h1>span{display:block}:root[data-theme=dark] .landing-hero h1{color:#f1f5f2}.landing-hero-description{max-width:570px;margin:30px 0 0;color:#66726c;font-size:18px;line-height:1.78}:root[data-theme=dark] .landing-hero-description{color:#aab5ae}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.landing-tags{display:flex;flex-wrap:wrap;gap:10px 20px;margin:32px 0 0;padding:0;list-style:none}.landing-tags li{display:inline-flex;align-items:center;gap:7px;color:#5c6862;font-size:12px}.landing-tags li span{color:#2e6d56;font-weight:900}:root[data-theme=dark] .landing-tags li{color:#9eaaa3}.landing-product-stage{position:relative;min-height:500px;display:grid;place-items:center}.landing-product-glow{position:absolute;inset:10% 4%;border-radius:50%;background:#58977b2e;filter:blur(70px)}.landing-product-window{position:relative;width:min(100%,520px);min-height:430px;padding:22px;border:1px solid rgba(37,69,57,.14);border-radius:24px;background:#ffffffe6;box-shadow:0 30px 90px #2a483b29,0 2px 6px #2a483b0f;transform:rotate(1.4deg)}:root[data-theme=dark] .landing-product-window{border-color:#344039;background:#1e2621f0;box-shadow:0 30px 90px #00000052}.landing-window-topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #e9eeea}:root[data-theme=dark] .landing-window-topbar{border-color:#354038}.landing-window-brand{display:flex;align-items:center;gap:9px;font-size:12px}.landing-window-brand>span{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;background:#234e40;color:#fff;font-family:Georgia,serif;font-size:8px}.landing-window-level{padding:6px 9px;border-radius:999px;background:#e5efe9;color:#315f51;font-size:9px;font-weight:800}.landing-window-meta{display:flex;justify-content:space-between;margin:26px 0 12px;color:#829087;font-size:8px;letter-spacing:.12em}.landing-product-window h2{margin:0 0 24px;color:#1c2b24;font-family:Georgia,Times New Roman,serif;font-size:31px;line-height:1.12;letter-spacing:-.035em}:root[data-theme=dark] .landing-product-window h2{color:#edf2ee}.landing-sentence-stack{display:grid;gap:10px}.landing-sentence-stack p{margin:0;padding:10px 12px;color:#7b867f;font-family:Georgia,Times New Roman,serif;font-size:12px;line-height:1.55}.landing-sentence-stack .is-active{position:relative;padding-left:35px;border-radius:10px;background:#e3eee7;color:#294c3e}:root[data-theme=dark] .landing-sentence-stack .is-active{background:#263c32;color:#c6e1d3}.landing-play-dot{position:absolute;left:12px;top:13px;font-family:system-ui,sans-serif;font-size:8px}.landing-player-preview{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;margin-top:20px;padding:12px 14px;border:1px solid #e1e7e2;border-radius:12px;color:#69756e;font-size:9px}:root[data-theme=dark] .landing-player-preview{border-color:#354038}.landing-progress-track{height:3px;overflow:hidden;border-radius:999px;background:#dce3de}.landing-progress-track i{display:block;width:43%;height:100%;background:#315f51}.landing-player-preview button{width:26px;height:26px;border:0;border-radius:50%;background:#234e40;color:#fff}.landing-floating-note{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(50,79,65,.11);border-radius:13px;background:#fffffff0;box-shadow:0 14px 42px #26413424}:root[data-theme=dark] .landing-floating-note{border-color:#39463e;background:#232d27}.landing-floating-note>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#dfece4;color:#315f51;font-size:10px;font-weight:900}.landing-floating-note div{display:grid;gap:3px}.landing-floating-note strong{font-size:10px}.landing-floating-note small{color:#869088;font-size:8px}.landing-floating-note-top{top:44px;right:-22px}.landing-floating-note-bottom{left:-40px;bottom:54px}.landing-section{width:min(var(--landing-max),calc(100% - 40px));margin:0 auto;padding:116px 0}.landing-section-heading{max-width:680px;margin-bottom:54px}.landing-section-heading-wide{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.65fr);max-width:none;align-items:end;gap:30px}.landing-section-heading-wide>p{grid-column:1 / -1;margin-bottom:-6px}.landing-section-heading h2{margin:0;color:#1a2a22;font-size:clamp(34px,4vw,52px);line-height:1.14;letter-spacing:-.048em}:root[data-theme=dark] .landing-section-heading h2{color:#eff4f0}.landing-section-heading>span{color:#717d76;font-size:15px;line-height:1.75}.landing-section-heading-centered{max-width:760px;margin-right:auto;margin-left:auto;text-align:center}.landing-section-heading-centered>span{display:block;margin-top:18px}.landing-pain{border-top:1px solid #dfe5df}:root[data-theme=dark] .landing-pain{border-color:#303a34}.landing-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.landing-comparison-card{padding:28px;border:1px solid #dfe5df;border-radius:18px;background:#ffffff94}:root[data-theme=dark] .landing-comparison-card{border-color:#303b34;background:#1b221e}.landing-card-number{color:#789083;font-family:Georgia,serif;font-size:12px}.landing-comparison-card h3{min-height:54px;margin:28px 0 20px;font-size:19px;line-height:1.45;letter-spacing:-.02em}.landing-contrast-row{display:grid;grid-template-columns:94px 1fr;align-items:center;min-height:52px;padding:10px 0;border-top:1px solid #e3e8e4}:root[data-theme=dark] .landing-contrast-row{border-color:#303a34}.landing-contrast-row span{font-size:9px;font-weight:800;letter-spacing:.05em}.landing-contrast-row p{margin:0;font-size:13px}.landing-contrast-row.is-muted{color:#8b948f}.landing-contrast-row.is-brand span{color:#2f6b55}.landing-contrast-row.is-brand p{color:#244f40;font-weight:700}:root[data-theme=dark] .landing-contrast-row.is-brand p{color:#9ac9b5}.landing-features{width:100%;padding-right:max(20px,calc((100% - var(--landing-max)) / 2));padding-left:max(20px,calc((100% - var(--landing-max)) / 2));background:#edf1ec}:root[data-theme=dark] .landing-features{background:#18201b}.landing-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.landing-feature-card{min-height:420px;padding:24px;border:1px solid #d6ddd7;border-radius:18px;background:#f9faf7}:root[data-theme=dark] .landing-feature-card{border-color:#354038;background:#202823}.landing-feature-top{display:flex;justify-content:space-between;align-items:center;color:#7d8981}.landing-feature-top span{font-family:Georgia,serif;font-size:12px}.landing-feature-top small{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.landing-feature-visual{height:180px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:7px;margin:22px 0 25px;overflow:hidden;border-radius:14px;background:#e5eee8}.landing-feature-visual i{display:block;width:8px;border-radius:999px;background:#44735f}.landing-feature-visual i:nth-child(1){height:34%}.landing-feature-visual i:nth-child(2){height:67%}.landing-feature-visual i:nth-child(3){height:48%}.landing-feature-visual i:nth-child(4){height:76%}.landing-feature-visual-01{padding-bottom:42px}.landing-feature-visual-02 i{width:44px;height:44px!important;margin-bottom:52px;border:12px solid #d4e4da;border-radius:50%;background:#315f51;box-shadow:0 0 0 1px #9bb6a8}.landing-feature-visual-02 i:not(:first-child){display:none}.landing-feature-visual-03{display:grid;align-content:center;gap:10px;padding:28px}.landing-feature-visual-03 i{width:auto;height:12px!important;border-radius:4px;background:#315f5126}.landing-feature-visual-03 i:nth-child(2){width:78%;background:#4d7d69}.landing-feature-visual-03 i:nth-child(4){width:60%}.landing-feature-visual-04{align-items:center;padding:25px}.landing-feature-visual-04 i{width:45px;height:58px!important;margin-left:-18px;border:1px solid #b5cabd;border-radius:8px;background:#ffffffbd;box-shadow:0 8px 24px #2c4e3e14}.landing-feature-card h3{margin:0 0 12px;font-size:22px;letter-spacing:-.03em}.landing-feature-card p{margin:0;white-space:pre-line;color:#6a756f;font-size:14px;line-height:1.75}.landing-process{padding-bottom:130px}.landing-step-list{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}.landing-step-list:before{content:"";position:absolute;top:27px;left:12%;right:12%;height:1px;background:#cad5ce}.landing-step-list li{position:relative;padding:0 22px;text-align:center}.landing-step-index{position:relative;z-index:1;width:54px;height:54px;display:grid;place-items:center;margin:0 auto 22px;border:1px solid #b8c8bf;border-radius:50%;background:#f7f8f4;color:#315f51;font-family:Georgia,serif;font-size:12px}:root[data-theme=dark] .landing-step-index{border-color:#53645a;background:#141916;color:#a7ceb9}.landing-step-list small{color:#7c8881;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.landing-step-list h3{margin:9px 0;font-size:18px}.landing-step-list p{margin:0;color:#727e77;font-size:12px;line-height:1.65}.landing-pricing{width:100%;padding-right:max(20px,calc((100% - 980px)/2));padding-left:max(20px,calc((100% - 980px)/2));background:#eef2ed}:root[data-theme=dark] .landing-pricing{background:#18201b}.landing-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.landing-price-card{position:relative;display:flex;flex-direction:column;min-height:450px;padding:34px;border:1px solid #d5ded7;border-radius:22px;background:#fbfcf9}:root[data-theme=dark] .landing-price-card{border-color:#354038;background:#202823}.landing-price-card-pro{border-color:#315f51;box-shadow:0 22px 70px #2a4f3d1f}.landing-pro-badge{position:absolute;top:0;right:30px;padding:7px 12px;border-radius:0 0 9px 9px;background:#315f51;color:#fff;font-size:8px;font-weight:800;letter-spacing:.1em}.landing-price-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.landing-price-heading small{color:#668073;font-size:10px;font-weight:800;letter-spacing:.16em}.landing-price-heading h3{margin:9px 0 0;font-size:21px;letter-spacing:-.03em}.landing-price-heading>span{color:#315f51;font-size:15px;font-weight:800;white-space:nowrap}:root[data-theme=dark] .landing-price-heading>span{color:#9ac8b4}.landing-price-card>p{margin:28px 0;color:#77817b;font-size:13px}.landing-price-card ul{display:grid;gap:16px;margin:0 0 34px;padding:0;list-style:none}.landing-price-card li{display:flex;gap:10px;align-items:center;color:#4f5c55;font-size:14px}:root[data-theme=dark] .landing-price-card li{color:#b2bbb5}.landing-price-card li span{color:#327057;font-weight:900}.landing-price-card .landing-button{width:100%;margin-top:auto}.landing-price-note{display:block;margin-top:13px;color:#879089;font-size:9px;line-height:1.5;text-align:center}.landing-final-cta{width:min(var(--landing-max),calc(100% - 40px));min-height:230px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;margin:110px auto;padding:46px 50px;border-radius:24px;background:#234e40;color:#fff;overflow:hidden}.landing-final-mark{width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:16px;font-family:Georgia,serif;font-size:16px}.landing-final-cta>div>p{margin-bottom:12px;color:#a9c9bb}.landing-final-cta h2{margin:0;font-size:clamp(26px,3vw,40px);letter-spacing:-.04em}.landing-footer{padding:48px max(20px,calc((100% - var(--landing-max)) / 2)) 24px;border-top:1px solid #dfe5df;background:#f2f4ef}:root[data-theme=dark] .landing-footer{border-color:#303a34;background:#111512}.landing-footer-main{display:flex;justify-content:space-between;gap:50px;padding-bottom:46px}.landing-footer-brand{display:flex;align-items:flex-start;gap:14px}.landing-footer-brand strong{font-size:14px}.landing-footer-brand p{max-width:420px;margin:8px 0 0;color:#7b857f;font-size:12px;line-height:1.6}.landing-footer nav{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:8px}.landing-footer nav button{padding:9px;font-size:12px}.landing-footer nav button:hover{color:#234e40}.landing-footer-bottom{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid #dfe5df;color:#8b948e;font-size:10px}:root[data-theme=dark] .landing-footer-bottom{border-color:#303a34}@media(max-width:1040px){.landing-nav-shell{gap:16px}.landing-nav-links button{padding-right:8px;padding-left:8px;font-size:12px}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(390px,.8fr);gap:42px}.landing-floating-note-top{right:0}.landing-floating-note-bottom{left:-4px}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.landing-nav-shell{grid-template-columns:1fr auto;min-height:auto;padding:12px 0 0}.landing-brand{font-size:13px}.landing-nav-links{grid-column:1 / -1;order:3;justify-content:flex-start;overflow-x:auto;margin:0 -20px;padding:2px 20px 10px;scrollbar-width:none}.landing-nav-links::-webkit-scrollbar{display:none}.landing-nav-links button{flex:0 0 auto}.landing-hero{grid-template-columns:1fr;padding-top:80px;gap:54px}.landing-hero-copy{max-width:680px}.landing-product-stage{width:min(570px,100%);margin:0 auto}.landing-section-heading-wide{grid-template-columns:1fr}.landing-section-heading-wide>p{margin-bottom:-8px}.landing-comparison-grid{grid-template-columns:1fr}.landing-comparison-card h3{min-height:0}.landing-step-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 0}.landing-step-list:before{display:none}}@media(max-width:560px){.landing-nav-shell,.landing-hero,.landing-section,.landing-final-cta{width:min(100% - 28px,var(--landing-max))}.landing-nav-shell{position:relative;grid-template-columns:auto 1fr;gap:8px;padding:10px 0}.landing-nav-actions{justify-content:flex-end;gap:5px}.landing-brand{gap:0}.landing-brand>span:last-child{display:none}.landing-brand-mark{width:32px;height:32px;border-radius:9px}.landing-login{min-height:38px;padding:0 7px;font-size:11px}.landing-button-small{min-height:38px;padding:0 13px;font-size:12px}.landing-menu-toggle{display:grid}.landing-nav-links{position:absolute;top:calc(100% + 1px);right:0;left:0;z-index:5;display:none;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:8px;overflow:visible;border:1px solid #dbe2dc;border-radius:13px;background:#fafbf8fa;box-shadow:0 18px 50px #233e3229}.landing-nav-links.is-open{display:flex}.landing-nav-links button{width:100%;min-height:42px;padding:0 12px;text-align:left}:root[data-theme=dark] .landing-nav-links{border-color:#354038;background:#1b221efa}.landing-hero{min-height:0;padding:66px 0 76px}.landing-kicker{margin-bottom:17px;font-size:9px}.landing-hero h1{max-width:100%;font-size:clamp(34px,9.7vw,38px);line-height:1.13;letter-spacing:-.058em}.landing-hero h1>span{white-space:nowrap}.landing-hero-description{max-width:345px;margin-top:23px;font-size:15px;line-height:1.76}.landing-hero-actions{display:grid;grid-template-columns:1fr}.landing-hero-actions .landing-button{width:100%}.landing-tags{gap:10px 14px;margin-top:25px}.landing-tags li{font-size:11px}.landing-product-stage{min-height:440px}.landing-product-window{min-height:395px;padding:18px;border-radius:19px;transform:none}.landing-product-window h2{font-size:25px}.landing-sentence-stack p{font-size:10px}.landing-floating-note-top{top:3px;right:-4px}.landing-floating-note-bottom{left:-4px;bottom:4px}.landing-section{padding-top:82px;padding-bottom:82px}.landing-section-heading{margin-bottom:38px}.landing-section-heading h2{font-size:34px}.landing-section-heading>span{font-size:13px}.landing-comparison-card{padding:23px}.landing-feature-grid{grid-template-columns:1fr}.landing-feature-card{min-height:auto}.landing-feature-visual{height:158px}.landing-step-list{grid-template-columns:1fr;gap:32px}.landing-step-list li{display:grid;grid-template-columns:55px 1fr;column-gap:18px;padding:0;text-align:left}.landing-step-index{grid-row:1 / 4;margin:0}.landing-step-list small,.landing-step-list h3,.landing-step-list p{grid-column:2}.landing-step-list h3{margin-top:6px}.landing-price-grid{grid-template-columns:1fr}.landing-price-card{min-height:0;padding:28px 23px}.landing-price-heading{display:grid}.landing-price-heading>span{grid-row:2}.landing-final-cta{grid-template-columns:auto 1fr;gap:18px;margin-top:76px;margin-bottom:76px;padding:30px 24px}.landing-final-mark{width:48px;height:48px}.landing-final-cta .landing-button{grid-column:1 / -1;width:100%}.landing-footer-main{flex-direction:column;gap:30px}.landing-footer nav{justify-content:flex-start}.landing-footer-bottom{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){.landing-page *,.landing-page *:before,.landing-page *:after{scroll-behavior:auto!important;transition:none!important}}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#202521;background:#f2f3ee;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f2f3ee;--surface: #fbfcf8;--surface-strong: #ffffff;--surface-soft: #e9ece5;--ink: #202521;--muted: #6e756e;--line: #dfe3dc;--line-strong: #cdd3ca;--brand: #315f51;--brand-strong: #214b3f;--brand-soft: #dfece4;--accent: #d78c45;--accent-soft: #faeadb;--danger: #ad4e47;--shadow: 0 14px 45px rgba(39, 54, 45, .07);--shadow-strong: 0 22px 70px rgba(25, 38, 31, .14)}:root[data-theme=dark]{color:#edf1ec;background:#151a17;--bg: #151a17;--surface: #1b221e;--surface-strong: #222a25;--surface-soft: #28322c;--ink: #edf1ec;--muted: #a7b0a9;--line: #303a34;--line-strong: #414d46;--brand: #8cc0aa;--brand-strong: #b3dac9;--brand-soft: #263c32;--accent: #e0a468;--accent-soft: #463426;--danger: #f09d95;--shadow: 0 18px 48px rgba(0, 0, 0, .18);--shadow-strong: 0 24px 80px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--brand-soft) 65%,transparent) 0,transparent 30rem),var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 38%,transparent);outline-offset:2px}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.48}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;padding-bottom:128px}.app-shell.landing-shell{padding-bottom:0}.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-inner{width:min(1180px,calc(100% - 40px));min-height:74px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:var(--brand-strong);color:var(--surface-strong);font-family:Georgia,serif;font-size:14px;letter-spacing:.08em}:root[data-theme=dark] .brand-mark{color:#17221d}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:15px;letter-spacing:-.01em}.brand-copy small{margin-top:5px;color:var(--muted);font-size:10px;letter-spacing:.06em}.top-nav{display:flex;align-items:center;gap:4px}.top-nav button{min-height:38px;padding:0 13px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.top-nav button:hover{background:var(--surface-soft);color:var(--ink)}.top-nav .nav-primary{margin-left:5px;background:var(--brand-strong);color:var(--surface-strong)}:root[data-theme=dark] .top-nav .nav-primary{color:#17221d}.nav-count,.title-count{display:inline-grid;min-width:20px;height:20px;place-items:center;padding:0 5px;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-size:11px}.nav-plan{margin-left:4px;padding:2px 5px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.06em}main{width:min(1080px,calc(100% - 40px));margin:0 auto}.network-status{max-width:1180px;margin:0 auto 1rem;padding:.7rem 1rem;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:12px;background:var(--accent-soft);color:var(--ink);font-size:.88rem;text-align:center}.hero-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:50px 8px 20px}.hero-note{color:var(--brand-strong);font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,5vw,54px);line-height:1.05;letter-spacing:-.045em}.hero-intro p{margin:0 0 5px;color:var(--muted);font-size:14px;white-space:nowrap}.card{border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--surface-strong) 94%,transparent);box-shadow:var(--shadow)}.article-composer{padding:30px}.section-heading,.compact-heading,.reader-header,.drawer-header,.dictation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.section-heading h1,.compact-heading h2,.reader-header h2,.drawer-header h2,.practice-panel h3{margin:6px 0 0;letter-spacing:-.035em}.section-heading h1{font-size:clamp(24px,3vw,34px)}.section-heading p,.practice-panel p,.dictation-heading p{margin:8px 0 0;color:var(--muted);font-size:13px}.eyebrow,.panel-kicker{color:var(--brand);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.composer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer}.button.ghost{border-color:var(--line);background:var(--surface);color:var(--muted)}.button.ghost:hover{border-color:var(--line-strong);color:var(--ink)}.button.primary{background:var(--brand-strong);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--brand-strong) 20%,transparent)}:root[data-theme=dark] .button.primary{color:#17221d}.button.secondary{border-color:var(--line-strong);background:var(--surface-soft)}.button.danger-text{color:var(--danger)}.button.full-width{width:100%}.field-label{display:block;margin:22px 0 8px;color:var(--muted);font-size:12px;font-weight:600}.text-input,.article-textarea,.dictation-input,.shadow-options select{width:100%;border:1px solid var(--line);border-radius:11px;outline:none;background:var(--surface);color:var(--ink)}.text-input:focus,.article-textarea:focus,.dictation-input:focus,.shadow-options select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.title-input{height:46px;padding:0 14px}.article-textarea{min-height:225px;padding:17px 18px;resize:vertical;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.75}.article-textarea::placeholder,.dictation-input::placeholder{color:color-mix(in srgb,var(--muted) 60%,transparent)}.inline-alert,.browser-warning{border-radius:12px;font-size:13px}.inline-alert{margin-top:12px;padding:10px 12px}.inline-alert.error{background:color-mix(in srgb,var(--danger) 11%,transparent);color:var(--danger)}.browser-warning{display:flex;align-items:center;gap:15px;margin-bottom:16px;padding:13px 18px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}.browser-warning span{color:var(--muted)}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.article-stats{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--muted);font-size:12px}.article-stats strong{color:var(--ink);font-size:14px}.start-button{min-width:132px;min-height:46px}.recent-block{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.recent-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;font-size:12px;font-weight:700}.recent-heading small{color:var(--muted);font-weight:400}.recent-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.recent-item{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left}.recent-item:hover{border-color:var(--brand)}.recent-main{min-width:0;display:flex;flex-direction:column;gap:5px}.recent-main strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.recent-main small,.recent-time{color:var(--muted);font-size:10px}.recent-time{flex:0 0 auto}.learning-area{scroll-margin-top:92px}.app-shell.study-shell{padding-bottom:154px}.study-main{width:min(1000px,calc(100% - 32px));padding-top:18px}.study-header{max-width:900px;margin:0 auto;padding:clamp(20px,4vw,34px)}.study-back{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:700}.study-back:hover{border-color:var(--brand);color:var(--brand-strong)}.study-heading{margin-top:24px}.study-heading h1{max-width:760px;margin:9px 0 22px;overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,5vw,48px);line-height:1.12;letter-spacing:-.035em}.study-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;color:var(--muted);font-size:12px}.study-progress strong{color:var(--ink);font-variant-numeric:tabular-nums}.study-progress progress{width:100%;height:8px;overflow:hidden;border:0;border-radius:999px;accent-color:var(--brand)}.study-progress small{min-width:34px;text-align:right}.study-main .mode-section{max-width:900px;margin-inline:auto;padding-top:30px}.study-main .browser-warning{max-width:900px;margin:14px auto 0}.study-empty{max-width:900px;min-height:220px;display:grid;place-items:center;margin:20px auto 0;color:var(--muted)}.mode-section{padding:52px 4px 18px}.compact-heading h2{font-size:25px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.mode-card{display:flex;min-height:76px;align-items:center;gap:13px;padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface) 78%,transparent);cursor:pointer;text-align:left}.mode-card:hover{border-color:var(--line-strong);background:var(--surface)}.mode-card.active{border-color:color-mix(in srgb,var(--brand) 60%,var(--line));background:var(--brand-soft)}.mode-check{color:var(--brand);font-size:18px}.mode-card>span:last-child{display:flex;flex-direction:column;gap:4px}.mode-card strong{font-size:14px}.mode-card small{color:var(--muted);font-size:11px}.reader-card{max-width:900px;margin:22px auto 0;padding:34px clamp(24px,5vw,60px) 26px}.reader-header{align-items:flex-end;padding-bottom:25px;border-bottom:1px solid var(--line)}.reader-header h2{max-width:620px;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,3.2vw,34px);line-height:1.2}.progress-chip{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:var(--surface-soft);font-size:11px;font-weight:600}.progress-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.muted{color:var(--muted);font-weight:400}.selection-toolbar{position:sticky;top:88px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 -2px;padding:10px 12px 10px 15px;border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line));border-radius:11px;background:var(--brand-soft);box-shadow:var(--shadow);font-size:12px}.selection-toolbar button{padding:6px 10px;border:0;border-radius:8px;background:var(--brand-strong);color:#fff;font-size:11px;cursor:pointer}:root[data-theme=dark] .selection-toolbar button{color:#17221d}.reading-content{margin-top:25px;font-family:Georgia,Times New Roman,serif;font-size:clamp(19px,2.1vw,23px);line-height:2.02;letter-spacing:-.008em}.reading-content p{margin:0 0 1.42em}.sentence{position:relative;display:inline;margin:0;padding:3px 2px;border-radius:6px;cursor:pointer;transition:color .12s ease,background-color .12s ease;box-decoration-break:clone;-webkit-box-decoration-break:clone}.reading-content:not(.intensive) .sentence+.sentence{margin-left:.24em}.sentence:hover{background:var(--surface-soft)}.sentence.played:not(.current){color:color-mix(in srgb,var(--ink) 58%,var(--muted))}.sentence.current{background:color-mix(in srgb,var(--accent-soft) 92%,transparent);color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}.word-token{display:inline;border-radius:4px;cursor:help;outline:none;transition:background-color .1s ease,box-shadow .1s ease,color .1s ease}.word-token:hover{background:color-mix(in srgb,var(--brand-soft) 78%,transparent);color:var(--brand-strong)}.word-token:focus-visible,.word-token.selected{background:color-mix(in srgb,var(--brand-soft) 92%,transparent);color:var(--brand-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 38%,transparent)}.sentence.current .word-token:not(:focus-visible):not(.selected){color:inherit}.phrase-toolbar strong{max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.translation-backdrop{position:fixed;inset:0;z-index:49;pointer-events:none;background:transparent}.translation-card{position:fixed;z-index:70;left:var(--lookup-left);top:var(--lookup-top);width:var(--lookup-width);max-height:min(620px,var(--lookup-max-height, 72vh));overflow:auto;padding:18px;border:1px solid var(--line-strong);border-radius:17px;background:var(--surface-strong);color:var(--ink);box-shadow:var(--shadow-strong);overscroll-behavior:contain}.translation-card.above{transform:translateY(-100%)}.translation-drag-handle{display:none}.translation-card-header,.phonetic-row,.vocabulary-tools,.vocabulary-export{display:flex;align-items:center;gap:10px}.translation-card-header{align-items:flex-start;justify-content:space-between}.translation-card-header h3{margin:2px 0 3px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:27px}.translation-card-header p,.translation-muted{margin:0;color:var(--muted);font-size:11px}.translation-kind{color:var(--brand-strong);font-size:9px;font-weight:700;letter-spacing:.12em}.phonetic-row{margin-top:13px}.phonetic-row button{flex:1;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--brand-strong);font-size:11px;cursor:pointer}.translation-section,.translation-example{display:grid;gap:6px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.translation-section>span,.translation-example>span{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em}.translation-section strong{color:var(--ink);font-size:14px;line-height:1.55}.translation-section em{padding:2px 5px;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-size:8px;font-style:normal}.translation-section small{color:var(--brand-strong);font-size:10px}.translation-loading{display:flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:11px}.translation-loading i{width:10px;height:10px;border:2px solid var(--line-strong);border-top-color:var(--brand);border-radius:50%;animation:lookup-spin .7s linear infinite}@keyframes lookup-spin{to{transform:rotate(360deg)}}.translation-example p{margin:0;font-size:12px;line-height:1.55}.translation-example p[lang=en]{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:14px}.translation-card>.button{margin-top:16px}.sentence-play{position:absolute;left:50%;bottom:calc(100% + 7px);z-index:5;display:none;width:max-content;transform:translate(-50%);padding:6px 9px;border:0;border-radius:7px;background:var(--ink);color:var(--surface-strong);box-shadow:var(--shadow);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:10px;cursor:pointer}.sentence:hover .sentence-play{display:block}.sentence-grammar{position:absolute;left:calc(50% + 58px);bottom:calc(100% + 7px);z-index:5;display:none;width:max-content;padding:6px 9px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface-strong);color:var(--brand-strong);box-shadow:var(--shadow);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:10px;cursor:pointer}.sentence:hover .sentence-grammar,.sentence-grammar:focus-visible{display:block}.sentence-grammar.recommended{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:var(--brand-soft)}.sentence-grammar.analyzed{color:var(--muted)}.sentence.grammar-focus-target{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 28%,transparent)}.difficulty-select{display:flex;align-items:center;gap:12px;width:fit-content;margin:18px 0;color:var(--ink);font-size:12px;font-weight:700}.difficulty-select select,.difficulty-input{min-width:170px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-strong);color:var(--ink)}.difficulty-select.compact{margin:8px 0 16px}.difficulty-input{width:min(100%,280px);margin-bottom:18px}.grammar-analysis-card .translation-card-header h3{max-width:44ch;font-size:16px;line-height:1.5}.grammar-warning,.grammar-source{margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.grammar-translation,.grammar-skeleton,.grammar-card-section{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.grammar-translation>span,.grammar-card-section h4,.grammar-skeleton h4{display:block;margin:0 0 7px;color:var(--brand-strong);font-size:10px;letter-spacing:.06em}.grammar-translation p,.grammar-skeleton p{margin:0;font-size:13px;line-height:1.65}.grammar-skeleton p[lang=en]{font-family:Georgia,Times New Roman,serif;font-size:15px}.grammar-skeleton dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0 0}.grammar-skeleton dl div,.grammar-chunks article,.grammar-point-list article{padding:9px;border-radius:9px;background:var(--surface-soft)}.grammar-skeleton dt{color:var(--muted);font-size:9px}.grammar-skeleton dd{margin:3px 0 0;font-size:12px}.grammar-chunks,.grammar-point-list{display:grid;gap:7px}.grammar-chunks article,.grammar-point-list article{display:grid;gap:4px}.grammar-chunks strong,.grammar-point-list strong{font-family:Georgia,Times New Roman,serif;font-size:13px;line-height:1.5}.grammar-chunks span,.grammar-point-list article>span,.grammar-point-list small{color:var(--brand-strong);font-size:9px}.grammar-point-list p{margin:0;font-size:11px;line-height:1.55}.grammar-practice{max-width:900px;margin:18px auto 0}.grammar-practice-heading{align-items:flex-start}.grammar-practice-heading p{margin:5px 0 0;color:var(--muted);font-size:11px}.grammar-focus{display:grid;gap:12px;margin:18px 0;padding:14px;border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--brand-soft) 60%,var(--surface))}.grammar-focus>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.grammar-focus small,.grammar-focus-chips>span{color:var(--muted);font-size:10px}.grammar-focus-chips{display:flex;flex-wrap:wrap;gap:7px}.grammar-focus-chips button{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);color:var(--ink);font-size:10px;cursor:pointer}.grammar-focus-chips button strong{color:var(--brand-strong)}.grammar-exercise-list{display:grid;gap:13px}.grammar-exercise{display:grid;gap:11px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-strong)}.grammar-exercise.correct{border-color:color-mix(in srgb,#27855e 45%,var(--line))}.grammar-exercise.incorrect{border-color:color-mix(in srgb,#b06a43 45%,var(--line))}.grammar-exercise header{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px}.grammar-exercise header button{border:0;background:transparent;color:var(--brand-strong);cursor:pointer}.grammar-exercise blockquote{margin:0;padding:10px 12px;border-left:3px solid var(--brand);background:var(--surface-soft);font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.65}.grammar-exercise textarea{min-height:76px;padding:10px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);resize:vertical}.grammar-exercise>.button{width:fit-content}.grammar-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.grammar-options label{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:11px}.grammar-result{padding:11px;border-radius:9px;background:var(--surface-soft)}.grammar-result p{margin:5px 0 0;font-size:11px;line-height:1.55}.grammar-empty{padding:20px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--muted);text-align:center;font-size:11px}.reading-content.intensive p{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}.sentence.concealed{display:flex;align-items:center;justify-content:space-between;min-height:52px;margin:0;padding:10px 14px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--surface);color:var(--muted);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:12px;line-height:1.4}.sentence.concealed.current{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.concealed-copy{display:flex;align-items:center;gap:12px}.concealed-number{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--ink);font-size:10px;font-weight:700}.sentence.concealed .sentence-play{position:static;display:block;transform:none;background:transparent;color:var(--brand-strong);box-shadow:none}.reader-tip{margin:5px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;text-align:center}.practice-panel{max-width:900px;margin:14px auto 0;padding:20px 24px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.shadow-panel{display:grid;grid-template-columns:minmax(220px,1fr) 1.8fr;align-items:center;gap:28px}.practice-status{display:flex;align-items:center;gap:14px}.practice-status h3{font-size:18px}.stage-orb{flex:0 0 auto;width:53px;height:53px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--brand-strong);font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:600}.stage-orb.playing{background:var(--brand-soft);box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--brand) 10%,transparent)}.stage-orb.shadowing{background:var(--accent-soft);color:var(--accent)}.shadow-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.shadow-options label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.shadow-options select{width:auto;min-width:74px;height:34px;padding:0 8px;font-size:11px}.toggle-label{position:relative;cursor:pointer}.toggle-label input{position:absolute;opacity:0;pointer-events:none}.switch{position:relative;width:34px;height:20px;border-radius:999px;background:var(--line-strong);transition:background .15s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s ease}.toggle-label input:checked+.switch{background:var(--brand)}.toggle-label input:checked+.switch:after{transform:translate(14px)}.dictation-panel{padding:24px}.dictation-heading{align-items:center}.dictation-heading h3{margin:5px 0 0;font-size:19px}.dictation-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.dictation-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 16px;padding:5px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.dictation-mode-tabs button{min-width:0;min-height:54px;padding:7px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.dictation-mode-tabs button strong,.dictation-mode-tabs button small{display:block}.dictation-mode-tabs button strong{color:var(--ink);font-size:13px}.dictation-mode-tabs button small{margin-top:3px;font-size:10px}.dictation-mode-tabs button.active{border-color:var(--line-strong);background:var(--surface-strong);box-shadow:0 5px 14px color-mix(in srgb,var(--ink) 7%,transparent)}.dictation-cloze{margin:0 0 16px;padding:17px 18px;border-left:3px solid var(--brand);border-radius:0 12px 12px 0;background:var(--surface-soft);font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.85}.dictation-blank{display:inline;padding:2px 4px;border-radius:5px;background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--brand-strong);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78em;font-weight:700;letter-spacing:.02em}.dictation-blank.correct{background:var(--brand-soft);font-family:Georgia,Times New Roman,serif;font-size:inherit;letter-spacing:normal}.dictation-empty{margin:14px 0;padding:18px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--muted);font-size:13px;text-align:center}.dictation-targets{display:grid;gap:10px}.dictation-target{min-width:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.dictation-target.correct{border-color:color-mix(in srgb,var(--brand) 50%,var(--line));background:color-mix(in srgb,var(--brand-soft) 55%,var(--surface))}.dictation-target.incorrect{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.dictation-target-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.dictation-target-heading label{color:var(--muted);font-size:11px;font-weight:700}.dictation-target-heading span{color:var(--brand);font-size:10px;font-weight:700}.dictation-part-input{min-width:0;height:42px;padding:0 12px;font-family:Georgia,Times New Roman,serif;font-size:16px}.dictation-hint{margin:8px 1px 0!important;color:var(--brand-strong)!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.dictation-hint.level-3{font-family:Georgia,Times New Roman,serif;font-size:14px}.dictation-input{min-height:105px;padding:14px 15px;resize:vertical;font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.65}.dictation-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}.dictation-assists{display:flex;min-width:0;align-items:center;gap:10px}.dictation-session-stats{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:13px;color:var(--muted);font-size:11px}.dictation-session-stats span{white-space:nowrap}.keyboard-hint,.field-help,.preview-copy{color:var(--muted);font-size:10px}.dictation-result{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px;margin-top:20px;padding:19px;border-radius:13px;background:var(--surface-soft)}.score-ring{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--brand) var(--score),var(--line) 0);position:relative}.score-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--surface-soft)}.score-ring span{z-index:1;font-size:14px;font-weight:700}.diff-area>strong{font-size:13px}.diff-tokens{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;font-family:Georgia,Times New Roman,serif;font-size:14px}.diff-tokens span{padding:3px 5px;border-radius:5px}.diff-tokens.compact{margin-top:8px}.dictation-result .diff-area p{margin:6px 0 0;font-size:11px}.diff-match{color:var(--brand-strong)}.diff-missing{background:var(--brand-soft);color:var(--brand-strong)}.diff-extra,.diff-wrong{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.diff-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:11px;color:var(--muted);font-size:9px}.legend-dot{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--brand)}.legend-dot.missing{background:var(--accent)}.legend-dot.extra{background:var(--danger)}.drawer-shell{position:fixed;inset:0;z-index:80;pointer-events:none;visibility:hidden}.drawer-shell.open{pointer-events:auto;visibility:visible}.drawer-backdrop{position:absolute;inset:0;border:0;background:#0a0f0c6b;opacity:0;cursor:default;transition:opacity .18s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.drawer-shell.open .drawer-backdrop{opacity:1}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(430px,calc(100% - 24px));padding:28px;overflow-y:auto;background:var(--surface-strong);box-shadow:var(--shadow-strong);transform:translate(102%);transition:transform .22s ease}.drawer-shell.open .drawer{transform:translate(0)}.drawer-header{align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.drawer-header h2{font-size:27px}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);font-size:23px;cursor:pointer}.setting-group{margin-top:24px}.setting-group .field-label{margin-top:0}.settings-drawer .text-input{height:45px;padding:0 12px}.runtime-status-card{display:grid;gap:11px;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.runtime-status-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:start}.runtime-status-row span,.runtime-status-error>span{color:var(--muted);font-size:11px}.runtime-status-row strong{color:var(--ink);font-size:12px;line-height:1.5}.runtime-status-row strong[data-state=connected]{color:var(--brand-strong)}.runtime-status-row strong[data-state=error]{color:var(--danger)}.runtime-status-error{padding-top:10px;border-top:1px solid var(--line)}.runtime-status-error p{margin:5px 0 0;color:var(--ink);font-size:11px;line-height:1.55}.runtime-status-error time{display:block;margin-top:2px;color:var(--muted);font-size:10px}.filter-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border-radius:10px;background:var(--surface-soft)}.filter-tabs button{height:34px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.filter-tabs button.active{background:var(--surface-strong);color:var(--ink);box-shadow:0 2px 8px #19261f14}.range-setting label,.range-labels{display:flex;align-items:center;justify-content:space-between}.range-setting label{margin-bottom:10px;color:var(--muted);font-size:12px}.range-setting label strong{color:var(--ink);font-size:12px}.range-setting input{width:100%;height:4px;appearance:none;border-radius:999px;background:linear-gradient(to right,var(--brand) var(--range-progress),var(--line) var(--range-progress))}.range-setting input::-webkit-slider-thumb{width:17px;height:17px;appearance:none;border:3px solid var(--surface-strong);border-radius:50%;background:var(--brand);box-shadow:0 1px 7px #00000038;cursor:pointer}.range-setting input::-moz-range-thumb{width:13px;height:13px;border:3px solid var(--surface-strong);border-radius:50%;background:var(--brand);cursor:pointer}.range-labels{margin-top:7px;color:var(--muted);font-size:9px}.preview-button{margin-top:30px}.preview-copy{padding:0 18px;line-height:1.55;text-align:center}.vocabulary-list{display:flex;flex-direction:column;gap:10px;margin-top:20px}.vocabulary-tools{align-items:stretch;margin-top:16px}.vocabulary-tools input{min-width:0;flex:1}.vocabulary-tools select{width:125px}.vocabulary-item{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.word-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.word-row strong{color:var(--brand-strong);font-family:Georgia,Times New Roman,serif;font-size:20px}.word-row span{color:var(--muted);font-size:9px}.vocabulary-item p{margin:9px 0 12px;color:var(--muted);font-family:Georgia,Times New Roman,serif;font-size:12px;line-height:1.65}.vocabulary-item .vocabulary-lemma,.vocabulary-item .vocabulary-phonetic{margin-block:6px;font-family:inherit;font-size:10px}.vocabulary-item>select{width:100%;margin:3px 0 10px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--ink);font-size:10px}.vocabulary-item details{margin-bottom:11px;color:var(--muted);font-size:10px}.vocabulary-source{margin-top:8px;padding:9px;border-radius:8px;background:var(--surface-soft)}.vocabulary-source p{margin:3px 0}.vocabulary-export{margin-top:16px}.vocabulary-export .button{flex:1}.word-actions{display:flex;gap:14px}.word-actions button{padding:0;border:0;background:transparent;color:var(--brand-strong);font-size:10px;font-weight:600;cursor:pointer}.word-actions .delete-action{color:var(--danger)}.export-button{margin-top:18px}.empty-state{display:grid;min-height:55vh;place-content:center;padding:30px;text-align:center}.empty-icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 16px;border-radius:18px;background:var(--brand-soft);color:var(--brand-strong);font-family:Georgia,Times New Roman,serif;font-size:21px}.empty-state h3{margin:0;font-size:18px}.empty-state p{max-width:260px;margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.player-dock{position:fixed;right:18px;bottom:16px;left:18px;z-index:50;max-width:1060px;margin:0 auto;overflow:hidden;border:1px solid color-mix(in srgb,var(--line-strong) 85%,transparent);border-radius:17px;background:color-mix(in srgb,var(--surface-strong) 94%,transparent);box-shadow:0 17px 55px #17221c33;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.player-progress-track{height:3px;background:var(--surface-soft)}.player-progress-track span{display:block;height:100%;border-radius:0 999px 999px 0;background:var(--accent);transition:width .22s ease}.player-inner{min-height:76px;display:grid;grid-template-columns:145px 1fr 145px;align-items:center;gap:12px;padding:8px 18px}.player-context{display:flex;align-items:center;gap:9px}.player-context>span:last-child{display:flex;flex-direction:column;gap:2px}.player-context small,.transport-controls small,.player-extras small{color:var(--muted);font-size:9px}.player-context strong{font-size:13px}.status-indicator{width:8px;height:8px;border-radius:50%;background:var(--line-strong)}.status-indicator.playing{background:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 12%,transparent)}.status-indicator.paused,.status-indicator.waiting{background:var(--accent)}.transport-controls,.player-extras{display:flex;align-items:center;justify-content:center;gap:3px}.transport-controls button,.player-extras button{min-width:52px;height:53px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0 6px;border:0;border-radius:11px;background:transparent;cursor:pointer}.transport-controls button:hover,.player-extras button:hover,.player-extras button.active{background:var(--surface-soft)}.transport-controls button>span{font-size:20px;line-height:1}.transport-controls .main-play{width:58px;height:58px;margin:0 5px;border-radius:50%;background:var(--brand-strong);color:#fff}:root[data-theme=dark] .transport-controls .main-play{color:#17221d}.transport-controls .main-play:hover{background:var(--brand)}.transport-controls .main-play small{color:currentColor}.player-extras{justify-content:flex-end}.player-extras button{min-width:62px}.player-extras button>span,.player-extras button>strong{color:var(--brand-strong);font-size:13px}.site-footer{width:min(900px,calc(100% - 40px));display:flex;justify-content:space-between;gap:20px;margin:58px auto 0;padding:24px 0;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.toast{position:fixed;right:24px;bottom:112px;z-index:100;max-width:min(390px,calc(100% - 32px));padding:12px 16px;border-radius:10px;background:var(--ink);color:var(--surface-strong);box-shadow:var(--shadow-strong);font-size:12px}@media(max-width:840px){.hero-intro{align-items:flex-start;flex-direction:column;gap:8px;padding-top:35px}.hero-intro p{white-space:normal}.section-heading{flex-direction:column}.composer-actions{justify-content:flex-start}.recent-list,.shadow-panel{grid-template-columns:1fr}.player-inner{grid-template-columns:95px 1fr 80px;padding-inline:10px}.transport-controls button{min-width:43px}.transport-controls button:first-child,.transport-controls button:last-child,.player-extras button:first-child{display:none}}@media(max-width:640px){.app-shell{padding-bottom:106px}.app-shell.study-shell{padding-bottom:128px}.study-main{width:100%;padding:10px 12px 0}.study-header{padding:17px 16px 20px;border-radius:17px}.study-heading{margin-top:18px}.study-heading h1{margin-bottom:18px;font-size:clamp(26px,8vw,34px)}.study-back{min-height:42px}.study-main .mode-section{padding-top:24px}.header-inner,main{width:min(100% - 24px,1080px)}.header-inner{min-height:62px}.brand-mark{width:35px;height:35px}.brand-copy small{display:none}.brand-copy strong{max-width:150px;font-size:12px}.top-nav{gap:0}.top-nav button{min-height:34px;padding:0 7px;font-size:0}.top-nav button:nth-child(1){display:none}.top-nav button:nth-child(2):before{content:"生词";font-size:11px}.top-nav button:nth-child(3):before{content:"◐";font-size:15px}.top-nav .nav-primary{padding:0 10px;font-size:0}.top-nav .nav-primary:before{content:"设置";font-size:11px}.nav-count{display:none}.hero-intro{padding:28px 2px 16px}.hero-note{font-size:32px}.article-composer{padding:20px 16px;border-radius:17px}.section-heading h1{font-size:24px}.composer-actions{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.composer-actions .button{padding:0 7px;font-size:11px}.article-textarea{min-height:200px;font-size:15px}.composer-footer{align-items:stretch;flex-direction:column}.start-button{width:100%}.mode-section{padding-top:38px}.mode-grid{grid-template-columns:1fr;gap:7px}.mode-card{min-height:62px}.reader-card{margin-top:13px;padding:24px 17px 20px;border-radius:17px}.reader-header{align-items:flex-start;flex-direction:column;gap:14px;padding-bottom:19px}.reader-header h2{font-size:25px}.reading-content{font-size:19px;line-height:1.95}.sentence-play{display:none!important}.sentence.concealed .sentence-play{display:block!important}.selection-toolbar{top:72px}.practice-panel{padding:18px 16px;border-radius:14px}.shadow-options{grid-template-columns:1fr}.dictation-heading{align-items:flex-start;flex-direction:column}.dictation-actions{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.dictation-actions .button{padding:0 5px;font-size:10px}.dictation-mode-tabs{gap:4px;margin-top:16px;padding:4px}.dictation-mode-tabs button{min-height:58px;padding:6px 3px}.dictation-mode-tabs button strong{font-size:12px}.dictation-mode-tabs button small{font-size:9px;line-height:1.25}.dictation-cloze{padding:14px;font-size:16px;overflow-wrap:anywhere}.dictation-target{padding:11px}.dictation-footer{align-items:stretch;flex-direction:column;gap:10px}.dictation-assists{align-items:flex-start;flex-direction:column}.dictation-footer>.button,.dictation-assists .button{width:100%}.dictation-result{grid-template-columns:1fr}.score-ring{width:64px;height:64px}.drawer{width:100%;padding:22px 18px}.player-dock{right:8px;bottom:8px;left:8px;border-radius:15px}.player-inner{min-height:70px;grid-template-columns:52px 1fr 48px;gap:3px;padding:6px 8px}.player-context{justify-content:center}.player-context .status-indicator,.player-context small{display:none}.player-context strong{font-size:11px}.transport-controls{gap:0}.transport-controls button{min-width:40px;height:48px;padding:0 3px}.transport-controls button>span{font-size:19px}.transport-controls .main-play{width:50px;height:50px;margin:0 2px}.transport-controls small,.player-extras small{font-size:8px}.player-extras button:last-child{min-width:45px;padding:0 2px}.player-extras button>strong{font-size:11px}.site-footer{flex-direction:column;margin-top:42px}.toast{right:16px;bottom:96px;left:16px;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:640px){.translation-backdrop{background:#080d0a40}.translation-card,.translation-card.above,.translation-card.below{inset:auto 8px 91px;width:auto;max-height:min(66vh,calc(100vh - 118px));padding:10px 16px 17px;border-radius:18px 18px 14px 14px;transform:translateY(var(--sheet-drag));transition:transform .15s ease}.translation-drag-handle{display:block;width:46px;height:18px;margin:-2px auto 2px;touch-action:none}.translation-drag-handle:after{content:"";display:block;width:38px;height:4px;margin:6px auto;border-radius:999px;background:var(--line-strong)}.word-token{cursor:pointer}.sentence:not(.concealed) .sentence-play{position:static;display:inline-flex!important;align-items:center;margin:0 4px 2px 7px;transform:none;padding:4px 7px;background:var(--surface-soft);color:var(--brand-strong);box-shadow:none;vertical-align:middle}.sentence:not(.concealed) .sentence-grammar{position:static;display:inline-flex!important;align-items:center;margin:0 2px 2px;padding:4px 7px;border-color:var(--line);box-shadow:none;vertical-align:middle}.grammar-analysis-card{bottom:91px;max-height:min(68vh,calc(100vh - 118px))}.grammar-skeleton dl,.grammar-options{grid-template-columns:1fr}.grammar-practice-heading,.grammar-focus>div:first-child,.difficulty-select{align-items:stretch;flex-direction:column}.difficulty-select,.difficulty-select select{width:100%}.vocabulary-tools{flex-direction:column}.vocabulary-tools select{width:100%}}.top-nav button.active{color:var(--brand-strong);background:var(--brand-soft)}.daily-empty,.daily-hero,.history-head,.stats-section{width:min(1080px,100%);margin:42px auto 0;padding:clamp(24px,4vw,44px)}.daily-empty{min-height:420px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;background:radial-gradient(circle at 92% 10%,var(--accent-soft),transparent 16rem),var(--surface-strong)}.daily-empty h1,.daily-hero h1,.history-head h1,.stats-section h1{max-width:720px;margin:12px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,4vw,46px);line-height:1.18;letter-spacing:-.04em}.daily-empty>p,.daily-title-row p,.privacy-note{max-width:760px;color:var(--muted);line-height:1.75}.daily-date-row,.daily-title-row,.history-list-heading,.calendar-heading,.daily-actions,.difficulty-feedback,.active-practice-meta{display:flex;align-items:center;justify-content:space-between;gap:18px}.daily-date-row time{color:var(--muted);font-size:13px}.daily-title-row{align-items:flex-start}.daily-title-row h1{margin-bottom:4px}.daily-plan-grid{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:26px 0}.daily-plan-grid>span{min-height:88px;display:flex;justify-content:center;flex-direction:column;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 74%,transparent)}.daily-plan-grid small{margin-bottom:6px;color:var(--muted);font-size:11px}.daily-plan-grid strong{font-size:18px}.daily-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:24px}.favorite-button{min-width:92px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);cursor:pointer}.favorite-button.active{color:#99601d;border-color:color-mix(in srgb,var(--accent) 60%,var(--line));background:var(--accent-soft)}.review-words{padding:16px 18px;border-radius:14px;background:var(--brand-soft)}.review-words small{display:block;margin-bottom:9px;color:var(--muted)}.review-words div{display:flex;flex-wrap:wrap;gap:7px}.review-words span,.word-cloud span,.history-tags span{padding:5px 9px;border-radius:999px;background:var(--surface-strong);font-size:11px}.difficulty-feedback{align-items:flex-start;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.difficulty-feedback div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.difficulty-feedback button{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer;font-size:11px}.difficulty-feedback button.active{color:var(--brand-strong);border-color:var(--brand);background:var(--brand-soft)}.active-practice-meta{margin:26px 0 8px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--surface);font-size:11px}.active-practice-meta strong{margin-left:5px;color:var(--ink);font-variant-numeric:tabular-nums}.profile-drawer{width:min(760px,100%);overflow-y:auto}.profile-form{display:grid;gap:22px;padding-bottom:30px}.profile-form fieldset{min-width:0;margin:0;padding:0;border:0}.profile-form legend,.stacked-field,.profile-row label,.profile-text-grid label,.article-notes label{display:block;margin-bottom:10px;color:var(--ink);font-size:12px;font-weight:700}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.choice-grid.compact{grid-template-columns:repeat(3,1fr)}.choice-grid label{min-height:42px;display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:11px;cursor:pointer}.choice-grid label:has(input:checked){color:var(--brand-strong);border-color:var(--brand);background:var(--brand-soft)}.profile-row,.profile-text-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profile-row select,.history-filters select,.calendar-heading input,.profile-form textarea,.article-notes textarea{width:100%;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface-strong)}.profile-row select,.history-filters select,.calendar-heading input{min-height:42px;padding:0 10px}.profile-form textarea,.article-notes textarea{min-height:78px;padding:11px;resize:vertical;line-height:1.6}.setting-divider{height:1px;margin:28px 0;background:var(--line)}.settings-toggle{margin:12px 0 16px}.privacy-setting p{color:var(--muted);font-size:11px;line-height:1.65}.privacy-setting .button+.button{margin-top:8px}.history-layout{width:min(1180px,100%);margin:0 auto}.history-head{width:100%}.history-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(120px,1fr));gap:8px}.history-main-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:18px;margin-top:18px}.history-list,.calendar-card{padding:22px}.history-list-heading{padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.history-list-heading strong{color:var(--ink);font-size:14px}.history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:17px 0;border-bottom:1px solid var(--line)}.history-open{min-width:0;display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.history-open time{color:var(--muted);font-size:10px}.history-open>strong{font-family:Georgia,Times New Roman,serif;font-size:18px}.history-tags,.history-metrics{display:flex;flex-wrap:wrap;gap:6px}.history-tags span{border:1px solid var(--line);background:var(--surface)}.history-metrics{color:var(--muted);font-size:10px}.history-metrics span+span:before{content:"·";margin-right:6px}.history-actions{display:flex;align-items:flex-end;flex-direction:column;gap:6px}.history-actions button,.question-list button{border:0;color:var(--muted);background:transparent;cursor:pointer;font-size:11px}.history-actions button:first-child{color:var(--accent);font-size:18px}.calendar-heading h2{margin:4px 0 0;font-size:21px}.calendar-heading input{width:132px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays{margin:20px 0 7px;color:var(--muted);text-align:center;font-size:10px}.calendar-grid button,.calendar-grid>span{aspect-ratio:1}.calendar-grid button{position:relative;display:grid;place-items:center;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:11px}.calendar-grid button.has-article{color:var(--ink);background:var(--surface-soft);cursor:pointer}.calendar-grid button.completed{color:var(--brand-strong);background:var(--brand-soft);font-weight:700}.calendar-grid button i{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--brand)}.streak-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.streak-summary span{padding:12px;border-radius:10px;background:var(--surface-soft);color:var(--muted);font-size:9px}.streak-summary strong{display:block;margin-bottom:3px;color:var(--ink);font-size:19px}.stats-section{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.stats-grid article{min-height:128px;display:flex;justify-content:center;flex-direction:column;padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.stats-grid small,.stats-grid span{color:var(--muted);font-size:10px}.stats-grid strong{margin:8px 0;font-size:23px}.stats-details-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin-top:10px}.trend-card,.word-stat-card{min-height:190px;padding:18px;border:1px solid var(--line);border-radius:13px}.trend-card h3,.word-stat-card h3,.insight-section h3{margin:0 0 14px;font-size:13px}.trend-bars{height:120px;display:flex;align-items:flex-end;gap:7px}.trend-bars>div{height:100%;flex:1;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:6px}.trend-bars span{width:100%;max-width:28px;min-height:8px;border-radius:5px 5px 2px 2px;background:linear-gradient(var(--brand),var(--brand-soft))}.trend-bars small{color:var(--muted);font-size:8px}.word-cloud{display:flex;flex-wrap:wrap;gap:6px}.word-cloud span{border:1px solid var(--line);background:var(--surface-soft)}.insights-card{margin-top:16px;padding:clamp(20px,4vw,34px)}.insights-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.translation-copy{margin:18px 0;padding:18px;border-radius:12px;background:var(--surface-soft);line-height:1.85}.insight-section{margin-top:25px}.vocab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vocab-grid article,.grammar-list article,.question-list article{padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.vocab-grid article>div{display:flex;justify-content:space-between;gap:8px}.vocab-grid article span{color:var(--brand-strong);font-size:9px}.vocab-grid small,.grammar-list small{color:var(--muted)}.vocab-grid p,.grammar-list p,.question-list p{margin:9px 0 0;font-size:11px;line-height:1.65}.grammar-list,.question-list{display:grid;gap:8px}.question-list article{display:grid;grid-template-columns:1fr auto;align-items:start;gap:10px}.question-list p{grid-column:1 / -1}@media(max-width:940px){.daily-plan-grid,.stats-grid,.history-filters{grid-template-columns:repeat(2,1fr)}.history-filters .text-input{grid-column:1 / -1}.history-main-grid{grid-template-columns:1fr}.stats-details-grid{grid-template-columns:1fr 1fr}.trend-card{grid-column:1 / -1}}@media(max-width:640px){.header-inner{width:100%;padding-inline:10px}.brand-copy strong{max-width:105px;line-height:1.1}.top-nav{min-width:0;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.top-nav::-webkit-scrollbar{display:none}.top-nav button,.top-nav .nav-primary{min-width:max-content;display:inline-flex!important;padding:0 8px;font-size:10px!important}.top-nav button:before,.top-nav .nav-primary:before{content:none!important}.daily-empty,.daily-hero,.history-head,.stats-section{margin-top:20px;padding:22px 16px;border-radius:17px}.daily-empty{min-height:360px}.daily-title-row,.daily-date-row,.difficulty-feedback,.active-practice-meta,.insights-heading{align-items:flex-start;flex-direction:column}.daily-plan-grid,.stats-grid,.stats-details-grid,.vocab-grid,.profile-row,.profile-text-grid{grid-template-columns:1fr}.daily-plan-grid>span{min-height:70px}.daily-actions{align-items:stretch;flex-direction:column}.daily-actions .button{width:100%}.difficulty-feedback div{justify-content:flex-start}.choice-grid,.choice-grid.compact{grid-template-columns:repeat(2,1fr)}.history-filters{grid-template-columns:1fr}.history-filters .text-input{grid-column:auto}.history-list,.calendar-card{padding:16px}.history-item{grid-template-columns:minmax(0,1fr) 42px}.stats-details-grid,.trend-card{grid-column:auto}.question-list article{grid-template-columns:1fr}.question-list p{grid-column:auto}}.membership-page{width:min(900px,100%);margin:42px auto 0;display:grid;gap:18px}.membership-page>*{min-width:0}.membership-hero,.membership-usage,.activation-card,.plan-comparison{padding:clamp(22px,4vw,38px)}.membership-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:radial-gradient(circle at 90% 0%,var(--accent-soft),transparent 17rem),var(--surface-strong)}.membership-hero h1,.membership-usage h2,.activation-card h2,.plan-comparison h2{margin:8px 0}.membership-hero p,.activation-card p{color:var(--muted)}.membership-badge{flex:0 0 auto;padding:9px 14px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.12em}.membership-badge.founder{background:var(--accent-soft);color:var(--accent)}.membership-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden}.membership-summary>span{display:grid;gap:8px;padding:22px;background:var(--surface-strong)}.membership-summary small,.membership-usage small{color:var(--muted)}.usage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:22px}.usage-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.usage-item progress{width:100%;height:7px;grid-column:1 / -1;border:0;accent-color:var(--brand)}.activation-form{display:grid;gap:8px;margin-top:22px}.activation-form>div{display:flex;gap:10px}.activation-form input{min-width:0;flex:1;padding:12px 14px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);color:var(--ink);letter-spacing:.08em;text-transform:uppercase}.activation-message{color:var(--brand-strong)!important;font-weight:650}.comparison-table{width:100%;max-width:100%;margin-top:18px;overflow:hidden;border:1px solid var(--line);border-radius:14px}.comparison-row{display:grid;grid-template-columns:minmax(150px,1.4fr) 1fr 1fr}.comparison-row+.comparison-row{border-top:1px solid var(--line)}.comparison-row span{min-width:0;padding:12px 14px}.comparison-row span+span{border-left:1px solid var(--line)}.comparison-row.heading{background:var(--surface-soft);font-weight:750}.membership-device-note{margin:0;padding:0 8px;color:var(--muted);font-size:12px;line-height:1.7}@media(max-width:640px){.membership-page{margin-top:20px;gap:12px}.membership-hero{align-items:flex-start}.membership-summary,.usage-grid{grid-template-columns:1fr}.activation-form>div{align-items:stretch;flex-direction:column}.activation-form .button{width:100%}.comparison-table{overflow-x:auto}.comparison-row{min-width:510px}.nav-plan{display:none}}
