@font-face{font-family:instrument;src:url(../media/instrument_latin-s.p.3h2wr6o8p949u.woff2)format("woff2");font-display:swap}@font-face{font-family:instrument Fallback;src:local(Arial);ascent-override:93.97%;descent-override:24.22%;line-gap-override:0.0%;size-adjust:103.22%}.instrument_b6212374-module__JEopWW__className{font-family:instrument,instrument Fallback}.instrument_b6212374-module__JEopWW__variable{--font-ui:"instrument", "instrument Fallback"}
@font-face{font-family:plexMono;src:url(../media/plexmono_400-s.p.3xdfs0-p_zi4c.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:plexMono;src:url(../media/plexmono_500-s.p.11q3guvgd1r20.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:plexMono Fallback;src:local(Arial);ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.0%;size-adjust:131.49%}.plexmono_d0946b48-module__yjs6AG__className{font-family:plexMono,plexMono Fallback}.plexmono_d0946b48-module__yjs6AG__variable{--font-mono:"plexMono", "plexMono Fallback"}
:root{--paper:#fff;--paper-deep:#faf7f1;--card:#fff;--ink:#0a0a0a;--ink-soft:#3a3a3a;--muted:#6a6a6a;--line:#e8e5de;--sage:#7fa98e;--sage-deep:#5d8a6e;--sage-tint:#eef4ef;--coral:#ef8f7c;--coral-tint:#fbeae6;--mint:#cdeeda;--lavender:#e6dcf5;--sky:#dcecf5;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{font-family:var(--font-ui), -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;background:radial-gradient(1200px 640px at 50% -10%, #fff 0%, #fefcf8 60%), var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;justify-content:center;min-height:100vh;margin:0;display:flex}::selection{background:#7fa98e47}:focus-visible{outline:2px solid var(--sage);outline-offset:2px}a{color:inherit}.wordmark{font-family:var(--font-ui), sans-serif;letter-spacing:-.03em;font-size:26px;font-weight:650;line-height:1}.wordmark-dot{color:var(--sage-deep)}button.primary{background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer;border-radius:999px;padding:14px 26px;font-size:15px;font-weight:650;transition:background .15s,transform 80ms,box-shadow .15s;box-shadow:0 6px 18px #0a0a0a2e}button.primary:hover{background:#1f1f1f;box-shadow:0 8px 22px #0a0a0a38}button.primary:active{transform:scale(.98)}button.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}button.primary.danger{color:var(--coral);box-shadow:none;background:0 0;border-color:#ef8f7c99}button.primary.danger:hover{background:var(--coral-tint);border-color:var(--coral);box-shadow:none}button.ghost{color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-size:14px;transition:color .15s,border-color .15s,background .15s}button.ghost:hover{color:var(--ink);border-color:var(--muted);background:var(--card)}.mono-label{font-family:var(--font-mono), "SFMono-Regular", Consolas, monospace;letter-spacing:.09em;text-transform:uppercase;font-size:10.5px}.home{flex-direction:column;gap:60px;width:min(760px,100%);padding:24px 20px 56px;display:flex}.home-nav{justify-content:space-between;align-items:center;display:flex}.home-nav .wordmark{font-size:24px}.nav-link{color:var(--ink);border:1px solid var(--line);background:var(--card);border-radius:999px;padding:9px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s,box-shadow .15s;box-shadow:0 2px 10px #33302b0d}.nav-link:hover{border-color:var(--sage);box-shadow:0 4px 14px #33302b14}.nav-link-loading{opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none;box-shadow:none}.hero{grid-template-columns:1fr;gap:36px;display:grid}.hero-copy{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.hero-eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep);align-items:center;gap:8px;margin:0;font-size:11px;display:inline-flex}.hero-eyebrow:before{content:"";background:var(--sage);border-radius:2px;width:16px;height:1.5px}.hero h1{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:44px;font-weight:650;line-height:1.14}.hero h1 em{color:var(--ink-soft);font-style:italic;font-weight:500}.hero-sub{color:var(--ink-soft);max-width:38ch;margin:0;font-size:16px;line-height:1.8}.hero-cta{background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:650;text-decoration:none;transition:background .15s,transform 80ms,box-shadow .15s;display:inline-flex;box-shadow:0 8px 22px #0a0a0a33}.hero-cta:hover{background:#1f1f1f;box-shadow:0 10px 26px #0a0a0a3d}.hero-cta:active{transform:scale(.98)}.stage{padding:12px;position:relative}.stage-blob{filter:blur(18px);pointer-events:none;background:linear-gradient(135deg,#7fa98e59,#ef8f7c38);border-radius:44% 56% 52% 48%/46% 48% 52% 54%;animation:9s ease-in-out infinite alternate blobFloat;position:absolute;inset:4px -6px -6px 10px}@keyframes blobFloat{0%{transform:translateY(0)rotate(0)scale(1)}to{transform:translateY(-10px)rotate(4deg)scale(1.04)}}.script-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border:1px solid #e8e1d5e6;border-radius:26px;flex-direction:column;gap:16px;padding:22px;display:flex;position:relative;box-shadow:0 18px 44px #33302b1a}.script-card .rec{font-family:var(--font-mono), monospace;letter-spacing:.16em;color:var(--coral);align-self:flex-end;align-items:center;gap:8px;font-size:10px;display:inline-flex}.script-card .rec:before{content:"";background:var(--coral);border-radius:50%;width:8px;height:8px;animation:2s ease-out infinite recRing;box-shadow:0 0 #ef8f7c80}@keyframes recRing{0%{box-shadow:0 0 #ef8f7c73}70%{box-shadow:0 0 0 9px #ef8f7c00}to{box-shadow:0 0 #ef8f7c00}}.script-line{opacity:0;flex-direction:column;gap:5px;display:flex}.script-line .who{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;font-size:10px}.script-line.coach .who{color:var(--sage-deep)}.script-line.coach .text{color:var(--ink);font-size:17px;font-style:italic;line-height:1.5}.script-line.student{text-align:right;align-self:flex-end}.script-line.student .who{color:var(--muted)}.script-line.student .text{background:var(--sage);color:#fff;border-radius:16px 16px 4px;padding:9px 14px;font-size:15px}.script-line.line-1{animation:12s linear .6s infinite both lineLife1}.script-line.line-2{animation:12s linear .6s infinite both lineLife2}.script-line.line-3{animation:12s linear .6s infinite both lineLife3}@keyframes lineLife1{0%,4%{opacity:0;transform:translateY(8px)}8%,45%{opacity:1;transform:none}53%,to{opacity:0;transform:translateY(-6px)}}@keyframes lineLife2{0%,42%{opacity:0;transform:translateY(8px)}47%,72%{opacity:1;transform:none}79%,to{opacity:0;transform:translateY(-6px)}}@keyframes lineLife3{0%,68%{opacity:0;transform:translateY(8px)}73%,92%{opacity:1;transform:none}97%,to{opacity:0;transform:translateY(-6px)}}.caret{margin-left:2px;animation:1s step-end infinite caret;display:inline-block}@keyframes caret{0%,45%{opacity:1}50%,to{opacity:0}}.wave{align-self:flex-start;align-items:flex-end;gap:3px;height:14px;margin-top:2px;display:inline-flex}.wave b{background:var(--sage);opacity:.45;border-radius:3px;width:3px;height:5px;animation:1.3s ease-in-out infinite waveBounce}.wave b:nth-child(2){animation-delay:.15s}.wave b:nth-child(3){animation-delay:.3s}.wave b:nth-child(4){animation-delay:.45s}.wave b:nth-child(5){animation-delay:.6s}@keyframes waveBounce{0%,to{opacity:.3;height:4px}50%{opacity:.8;height:13px}}.hero-copy>*{opacity:0;animation:.7s cubic-bezier(.2,.7,.3,1) both riseIn}.hero-copy>:first-child{animation-delay:50ms}.hero-copy>:nth-child(2){animation-delay:.12s}.hero-copy>:nth-child(3){animation-delay:.2s}.hero-copy>:nth-child(4){animation-delay:.28s}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.features{grid-template-columns:1fr;gap:16px;display:grid}.feature{border-radius:22px;flex-direction:column;gap:8px;padding:22px;display:flex}.feature-dot{background:#0a0a0a2e;border-radius:50%;width:12px;height:12px;margin-bottom:10px}.tint-sage{background:var(--mint)}.tint-sage .feature-dot{background:var(--sage)}.tint-blue{background:var(--sky)}.tint-blue .feature-dot{background:#7fb0cc}.tint-pink{background:var(--lavender)}.tint-pink .feature-dot{background:#b79fe0}.feature h3{margin:0;font-size:16.5px;font-weight:650}.feature p{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.7}.pricing{flex-direction:column;gap:18px;display:flex}.pricing-head{flex-direction:column;gap:8px;display:flex}.section-tag{font-family:var(--font-mono), monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep);font-size:10.5px}.pricing-head h2{letter-spacing:-.02em;margin:0;font-size:27px;font-weight:650}.pricing-head p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.7}.pricing-table{border:1px solid var(--line);background:var(--card);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px #33302b0f}.pricing-row{grid-template-columns:2fr 1fr 1fr;align-items:center;gap:10px;padding:15px 18px;font-size:13px;display:grid}.pricing-row+.pricing-row{border-top:1px solid var(--line)}.pricing-headrow{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--paper-deep);font-size:10px}.pricing-model{flex-direction:column;gap:3px;min-width:0;display:flex}.pricing-model em{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-style:normal;font-weight:650;overflow:hidden}.pricing-model small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pricing-num{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--sage-deep);font-size:12.5px;font-weight:500}.pricing-foot{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:13px 18px;font-size:11.5px;line-height:1.7}.home-footer{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:8px;padding-top:20px;font-size:12.5px;display:flex}.icp-link{color:var(--muted);align-self:flex-start;font-size:11.5px;text-decoration:none;transition:color .15s}.icp-link:hover{color:var(--ink);text-decoration:underline}.version-hint{font-family:var(--font-mono), monospace;letter-spacing:.06em;color:#9a928673;-webkit-user-select:none;user-select:none;cursor:default;align-self:flex-end;font-size:9.5px}@media (hover:hover){.feature{transition:transform .2s,box-shadow .2s}.feature:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0a0a0a1a}}.practice{flex-direction:column;gap:22px;width:min(560px,100%);min-height:100vh;padding:18px 16px 110px;display:flex}.appbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.appbar .wordmark{font-size:22px}.appbar-right{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;display:flex}.user-chip{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:13px;font-weight:600;overflow:hidden}.wallet-chip{font-family:var(--font-mono), monospace;color:var(--ink);border:1px solid var(--line);background:var(--card);font-variant-numeric:tabular-nums;border-radius:999px;padding:5px 11px;font-size:12px}.back-link{color:var(--muted);font-size:13px;font-family:var(--font-mono), monospace;letter-spacing:.04em;text-decoration:none}.back-link:hover{color:var(--ink)}.setup-title{letter-spacing:-.02em;margin:14px 0 0;font-size:28px;font-weight:650}.setup-note{color:var(--ink-soft);margin:6px 0 0;font-size:14px}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:24px;flex-direction:column;gap:18px;padding:26px 22px;display:flex;box-shadow:0 14px 40px #33302b14}.auth-card-loading{gap:18px;padding:26px 22px}.skeleton-line,.skeleton-btn{background:linear-gradient(90deg, var(--paper-deep) 25%, #f6f1e7 50%, var(--paper-deep) 75%);background-size:200% 100%;border-radius:999px;animation:1.4s infinite shimmer;display:block}.skeleton-line{height:14px}.skeleton-line.w-40{width:40%}.skeleton-btn{height:46px;margin-top:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.appbar-loading{color:var(--muted);-webkit-user-select:none;user-select:none;font-size:13px}.auth-title{margin:0;font-size:22px;font-weight:650}.login-form{flex-direction:column;gap:16px;display:flex}.login-form input{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.login-form input::placeholder{color:var(--muted)}.login-form input:focus{border-color:var(--sage);background:#fff;outline:none;box-shadow:0 0 0 4px #7fa98e26}.auth-error{color:var(--coral);font-size:13px}.register-page{flex-direction:column;gap:22px;width:min(560px,100%);min-height:100vh;padding:18px 16px 48px;display:flex}.register-card{margin-top:8px}.register-note{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.6}.code-row{gap:10px;display:flex}.code-row input{flex:1;min-width:0}.send-code-btn{white-space:nowrap;flex:none;min-width:104px}.send-code-btn:disabled{opacity:.5;cursor:not-allowed}.mock-code-hint{color:var(--sage-deep);background:var(--sage-tint);border-radius:10px;margin:-4px 0 0;padding:8px 12px;font-size:12.5px}.register-login-link{text-align:center;color:var(--muted);margin:0;font-size:13.5px}.register-login-link a{color:var(--sage-deep);font-weight:600;text-decoration:none}.register-login-link a:hover{text-decoration:underline}.coach-list{flex-direction:column;gap:10px;display:flex}.coach-card{text-align:left;background:var(--card);border:1px solid var(--line);cursor:pointer;width:100%;color:var(--ink);border-radius:18px;align-items:center;gap:14px;padding:15px 16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.coach-card:hover{border-color:var(--sage);transform:translateY(-1px);box-shadow:0 6px 18px #33302b12}.coach-card.selected{border-color:var(--sage);box-shadow:0 0 0 3px #7fa98e29}.coach-avatar{background:var(--paper-deep);border-radius:14px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;transition:transform .15s;display:flex;overflow:hidden}.coach-avatar-svg{display:block}.coach-card.selected .coach-avatar{outline:2px solid var(--sage);outline-offset:1px;transform:scale(1.06)}.coach-card .name small{color:var(--muted);margin-left:4px;font-size:12.5px;font-weight:500}.coach-card .traits{color:var(--sage-deep);gap:6px;margin-top:2px;font-size:11px;display:inline-flex}.avatar-wave rect{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite avatarWave}.avatar-wave rect:nth-child(2n){animation-delay:.2s}.avatar-wave rect:nth-child(3n){animation-delay:.4s}@keyframes avatarWave{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.7)}}.coach-card .meta{flex-direction:column;gap:3px;min-width:0;display:flex}.coach-card .name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:650;overflow:hidden}.coach-card .voice{font-family:var(--font-mono), monospace;color:var(--muted);letter-spacing:.03em;font-size:11px}.coach-card:disabled{opacity:.45;cursor:not-allowed;transform:none}.mode-tabs{background:var(--paper-deep);border:1px solid var(--line);border-radius:999px;gap:4px;padding:4px;display:flex}.mode-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:10px 0;font-size:14px;font-weight:600;transition:background .15s,color .15s}.mode-tab.selected{background:var(--card);color:var(--sage-deep);box-shadow:0 3px 10px #0a0a0a14}.scenario-title{margin:4px 0 0;font-size:17px;font-weight:650}.scenario-list{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.scenario-card{background:var(--card);border:1px solid var(--line);text-align:left;cursor:pointer;color:var(--ink);border-radius:16px;flex-direction:column;gap:5px;padding:14px;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.scenario-card:hover{border-color:var(--sage);transform:translateY(-1px)}.scenario-card.selected{border-color:var(--sage);box-shadow:0 0 0 3px #7fa98e29}.scenario-card:disabled{opacity:.45;cursor:not-allowed}.scenario-title-inline{font-size:15px;font-weight:650}.scenario-meta{font-family:var(--font-mono), monospace;letter-spacing:.04em;color:var(--sage-deep);font-size:10.5px}.scenario-story{color:var(--muted);font-size:12px;line-height:1.5}.prep-card{background:var(--sage-tint);border:1px solid #7fa98e66;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.prep-card h3{color:var(--sage-deep);margin:0;font-size:15px;font-weight:650}.prep-tip{color:var(--muted);margin:-6px 0 0;font-size:12px}.prep-item{background:var(--card);border-radius:12px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.prep-en{font-size:14px;font-weight:650}.prep-zh{color:var(--sage-deep);font-size:12.5px}.prep-example{color:var(--muted);font-size:12px;font-style:italic}.wallet-card{background:var(--sage-tint);border:1px solid #7fa98e66;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;display:flex}.wallet-card .label{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-deep);font-size:10.5px}.wallet-card .balance{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--ink);font-size:19px;font-weight:600}.wallet-card .balance.negative{color:var(--coral)}.wallet-note{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.start-cta{width:100%;padding:16px;font-size:16px}.live-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:14px;display:flex}.live-header .model{font-family:var(--font-mono), monospace;letter-spacing:.06em;color:var(--ink-soft);font-size:11.5px}.live-header-right{align-items:center;gap:10px;display:flex}.live-header .timer{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--sage-deep);font-size:15px}.details-chip{background:var(--paper-deep);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.details-chip:hover{border-color:var(--sage);color:var(--ink)}.details-chip.open{background:var(--sage-tint);color:var(--sage-deep);border-color:#7fa98e80}.details-dot{background:var(--muted);border-radius:50%;width:7px;height:7px;transition:background .15s}.details-chip:hover .details-dot,.details-chip.open .details-dot{background:var(--sage)}.tabs{background:var(--paper-deep);border:1px solid var(--line);border-radius:999px;gap:4px;padding:4px;display:flex}.tab{font-family:var(--font-mono), monospace;letter-spacing:.1em;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:10px 0;font-size:12px;transition:background .15s,color .15s}.tab[data-active=true]{background:var(--card);color:var(--sage-deep);font-weight:600;box-shadow:0 3px 10px #33302b14}.status{color:var(--ink-soft);align-items:center;gap:9px;font-size:15px;font-style:italic;display:inline-flex}.status:before{content:"";background:var(--line);border-radius:50%;flex:none;width:9px;height:9px}.status[data-state=connecting]:before{background:var(--muted);animation:1.1s ease-in-out infinite pulse}.status[data-state=connected]:before{background:var(--sage)}.status[data-state=listening]:before{background:var(--coral);animation:1.4s ease-in-out infinite pulse}.status[data-state=speaking]:before{background:var(--sage-deep)}.status[data-state=error]{color:var(--coral)}.status[data-state=error]:before{background:var(--coral)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.transcript-wrap{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.transcript-wrap .transcript{min-height:0}.transcript{flex-direction:column;flex:1;gap:16px;min-height:300px;padding:4px 2px 18px;display:flex;overflow-y:auto}.hint{color:var(--muted);max-width:46ch;margin:0;font-size:14.5px;line-height:1.7}.bubble{white-space:pre-wrap;border-radius:18px;max-width:88%;padding:13px 17px;font-size:15px;line-height:1.6;animation:.28s ease-out rise}.bubble .who{font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:10px;display:block}.bubble.assistant{background:var(--paper-deep);border:1px solid var(--line);border-bottom-left-radius:6px;align-self:flex-start;font-size:16px;font-style:italic}.bubble.assistant .who{color:var(--sage-deep)}.bubble.user{background:var(--sage);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}.bubble.user .who{color:#ffffffbf}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.stats-list{border:1px solid var(--line);background:var(--card);border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 8px 24px #33302b0d}.stat-row{justify-content:space-between;align-items:baseline;gap:12px;padding:14px 18px;display:flex}.stat-row+.stat-row{border-top:1px solid var(--line)}.stat-row .label{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.stat-row .value{font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.immersive{text-align:center;border:1px solid var(--line);background:radial-gradient(420px 260px at 50% 0%, #7fa98e29, transparent 70%), var(--card);border-radius:24px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;min-height:420px;padding:24px;display:flex;box-shadow:0 12px 34px #33302b0f}.immersive .rec-label{font-family:var(--font-mono), monospace;letter-spacing:.18em;color:var(--coral);align-items:center;gap:9px;font-size:11px;display:inline-flex}.immersive .rec-label:before{content:"";background:var(--coral);border-radius:50%;width:9px;height:9px;animation:1.4s ease-in-out infinite pulse}.immersive .big-status{color:var(--ink);max-width:24ch;font-size:25px;font-style:italic;line-height:1.5}.level-meter{background:var(--paper-deep);border-radius:999px;width:min(280px,80%);height:10px;overflow:hidden}.level-meter .fill{background:linear-gradient(90deg, var(--sage), var(--coral));border-radius:999px;width:0%;height:100%;transition:width .1s linear}.immersive .hint-line{color:var(--muted);max-width:30ch;font-size:13.5px;line-height:1.7}.bottom-bar{width:min(560px,100%);padding:12px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);background:#faf7f1f0;align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-bar .mute{color:var(--muted);-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.bottom-bar button.primary.danger{flex:1;padding:13px}.session-details{border:1px solid var(--line);background:var(--card);border-radius:18px;flex-direction:column;animation:.24s ease-out rise;display:flex;overflow:hidden;box-shadow:0 8px 24px #0a0a0a0f}.session-details .stat-row{justify-content:space-between;align-items:baseline;gap:12px;padding:12px 18px;display:flex}.session-details .stat-row+.stat-row{border-top:1px solid var(--line)}.session-details .label{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.session-details .value{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.overlay{z-index:20;background:#33302b59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:24px;width:90%;max-width:360px;padding:28px;box-shadow:0 24px 60px #33302b2e}.dialog h2{margin:0 0 10px;font-size:22px;font-weight:650}.dialog p{color:var(--ink-soft);margin:0 0 20px;font-size:14.5px;line-height:1.6}.account{flex-direction:column;gap:24px;width:min(560px,100%);min-height:100vh;padding:18px 16px 48px;display:flex}.account-title{letter-spacing:-.02em;margin:12px 0 0;font-size:28px;font-weight:650}.account-card{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px #33302b0f}.account-row{justify-content:space-between;align-items:baseline;gap:12px;padding:18px 20px;display:flex}.account-row+.account-row{border-top:1px solid var(--line)}.account-row .label{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.account-row .value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:18px;font-weight:600}.account-row .value.balance{font-family:var(--font-mono), monospace;color:var(--sage-deep)}.account-row .value.negative{color:var(--coral)}.account-cta{color:#fff;background:var(--ink);border-radius:999px;justify-content:center;align-items:center;padding:14px 26px;font-size:15px;font-weight:650;text-decoration:none;transition:background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 8px 22px #0a0a0a33}.account-cta:hover{background:#1f1f1f;box-shadow:0 10px 26px #0a0a0a3d}.account-actions{align-items:stretch;gap:10px;display:flex}.account-cta{flex:1}.account-recharge{justify-content:center;align-items:center;padding:14px 22px;font-weight:600;text-decoration:none;display:inline-flex}.account-logout{align-self:flex-start}.recharge{flex-direction:column;gap:24px;width:min(560px,100%);min-height:100vh;padding:18px 16px 48px;display:flex}.recharge-head{flex-direction:column;gap:6px;display:flex}.recharge-balance{color:var(--ink-soft);margin:0;font-size:14px}.recharge-balance strong{color:var(--sage-deep);font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums}.amount-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.amount-chip{background:var(--card);border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:16px;justify-content:center;align-items:center;padding:16px 8px;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform 80ms;display:flex}.amount-chip:hover{border-color:var(--sage)}.amount-chip:active{transform:scale(.97)}.amount-chip.selected{border-color:var(--sage);background:var(--sage-tint);box-shadow:0 0 0 3px #7fa98e29}.amount-value{font-variant-numeric:tabular-nums;font-size:17px;font-weight:650}.amount-custom{border-style:dashed;padding:12px 8px}.amount-custom input{text-align:center;width:100%;color:var(--ink);background:0 0;border:none;outline:none;font-size:14px;font-weight:600}.amount-custom input::placeholder{color:var(--muted);font-weight:500}.pay-cta{width:100%;padding:16px;font-size:16px}.channel-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.channel-chip{background:var(--card);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;border-radius:14px;padding:12px 6px;font-family:inherit;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s,color .15s;position:relative}.channel-chip:hover{border-color:var(--sage);color:var(--ink)}.channel-chip.selected{border-color:var(--sage);color:var(--ink);background:var(--sage-tint);box-shadow:0 0 0 3px #7fa98e24}.channel-chip em{color:#fff;background:var(--coral);letter-spacing:.02em;border-radius:999px;padding:2px 6px;font-size:9.5px;font-style:normal;font-weight:600;position:absolute;top:-7px;right:6px}.channel-chip.disabled{opacity:.4;cursor:not-allowed}.pay-redirect{flex-direction:column;align-items:center;gap:12px;padding:18px 0 6px;display:flex}.pay-redirect-icon{background:var(--sage-tint);width:58px;height:58px;color:var(--sage-deep);border:1px solid #7fa98e66;border-radius:18px;justify-content:center;align-items:center;font-size:15px;font-weight:650;display:flex}.mock-pay-btn{margin-top:4px}.recharge-note{color:var(--muted);text-align:center;margin:0;font-size:12.5px;line-height:1.7}.recharge-unavailable{color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.7}.pay-card{background:var(--card);border:1px solid var(--line);border-radius:24px;flex-direction:column;align-items:center;gap:14px;margin-top:8px;padding:28px 24px;display:flex;box-shadow:0 14px 40px #0a0a0a14}.pay-amount{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;font-size:32px;font-weight:600}.qr-wrap{border:1px solid var(--line);background:#fff;border-radius:18px;justify-content:center;align-items:center;width:240px;height:240px;display:flex;overflow:hidden}.qr-wrap img{display:block}.qr-loading{color:var(--muted);font-size:13px}.qr-tip{margin:0;font-size:15px;font-weight:600}.qr-waiting{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:13px;display:inline-flex}.qr-dot{background:var(--sage);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse}.pay-success{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:36px 8px;display:flex}.pay-success-icon{background:var(--sage);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:30px;display:flex;box-shadow:0 10px 26px #5d8a6e59}.pay-success h1{margin:4px 0 0;font-size:26px;font-weight:650}.pay-success p{color:var(--ink-soft);margin:0;font-size:15px}.pay-success p strong{color:var(--sage-deep);font-family:var(--font-mono), monospace}.pay-success-actions{gap:10px;margin-top:10px;display:flex}.pay-success-actions a{border-radius:999px;align-items:center;padding:12px 22px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.account-sessions{flex-direction:column;gap:12px;display:flex}.account-sessions-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.account-sessions-head h2{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:650}.account-sessions-count{font-family:var(--font-mono), monospace;color:var(--muted);font-size:11px}.account-sessions-empty{color:var(--muted);background:var(--paper-deep);border-radius:16px;margin:0;padding:18px;font-size:13.5px}.session-list{border:1px solid var(--line);background:var(--card);border-radius:16px;overflow:hidden}.session-item{grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:13px 16px;font-size:13px;display:grid}.session-item+.session-item{border-top:1px solid var(--line)}.session-model{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.session-status{font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-size:10.5px}.session-status.ended{background:var(--paper-deep);color:var(--muted)}.session-status.active{background:var(--sage-tint);color:var(--sage-deep)}.session-cost{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.session-note-link{color:var(--sage-deep);background:var(--sage-tint);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600;text-decoration:none}.session-note-link:hover{background:#7fa98e59}.end-head{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:12px 0 4px;display:flex}.end-done{background:var(--sage);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:4px;font-size:26px;display:flex;box-shadow:0 10px 26px #5d8a6e52}.end-stats{margin-top:4px}.end-actions{flex-direction:column;gap:10px;margin-top:6px;display:flex}.end-actions a{text-align:center;border-radius:999px;padding:14px 22px;font-size:15px;font-weight:650;text-decoration:none}.notes-entry{background:var(--sage-tint);color:var(--sage-deep);border:1px solid #7fa98e66;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;font-size:14.5px;font-weight:650;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.notes-entry:hover{transform:translateY(-1px);box-shadow:0 8px 22px #5d8a6e2e}.notes-entry-arrow{font-size:16px}.review-page,.book-page{flex-direction:column;gap:20px;width:min(560px,100%);min-height:100vh;padding:18px 16px 56px;display:flex}.review-head{flex-direction:column;gap:4px;display:flex}.review-meta{color:var(--muted);margin:0;font-size:13px}.review-tip{color:var(--ink-soft);margin:0;font-size:14px}.review-pending-text{color:var(--muted);text-align:center;margin:4px 0 0;font-size:13px}.review-empty{color:var(--muted);margin:0;font-size:14px}.note-section{flex-direction:column;gap:12px;display:flex}.note-section h2{margin:6px 0 0;font-size:17px;font-weight:650}.note-card{background:var(--card);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:12px;padding:16px 18px;display:flex;box-shadow:0 6px 20px #0a0a0a0d}.note-card.in-book{border-color:#7fa98e80}.note-card-body{flex-direction:column;gap:7px;display:flex}.note-original{color:var(--muted);margin:0;font-size:14px;-webkit-text-decoration:line-through #ef8f7c99;text-decoration:line-through #ef8f7c99;text-decoration-thickness:1.5px}.note-correction{color:var(--sage-deep);margin:0;font-size:15.5px;font-weight:650}.note-phrase{margin:0;font-size:16px;font-weight:650}.note-detail{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.65}.note-detail em{color:var(--muted);margin-right:2px;font-size:12px;font-style:normal}.book-toggle{border:1px solid var(--sage);color:var(--sage-deep);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-end;padding:7px 14px;font-size:12.5px;font-weight:650;transition:background .15s,color .15s}.book-toggle:hover{background:var(--sage-tint)}.book-toggle.added{background:var(--sage);color:#fff;border-color:var(--sage)}.review-book-link{align-self:center;padding:12px 20px;text-decoration:none}.book-tabs{background:var(--paper-deep);border:1px solid var(--line);border-radius:999px;gap:4px;padding:4px;display:flex}.book-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:10px 0;font-size:14px;font-weight:600;transition:background .15s,color .15s}.book-tab.selected{background:var(--card);color:var(--sage-deep);box-shadow:0 3px 10px #0a0a0a14}.book-count{font-family:var(--font-mono), monospace;margin-left:2px;font-size:11px}.book-empty{text-align:center;align-items:center;gap:12px}.note-list{flex-direction:column;gap:12px;display:flex}.book-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;align-self:flex-end;padding:4px 8px;font-size:12px}.book-remove:hover{color:var(--coral)}.account-nav-row{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;box-shadow:0 6px 20px #0a0a0a0d}.account-nav-row:hover{border-color:var(--sage);transform:translateY(-1px)}.account-nav-row strong{font-size:15px;font-weight:650;display:block}.account-nav-row small{color:var(--muted);margin-top:3px;font-size:12.5px;display:block}.account-nav-arrow{color:var(--sage-deep);font-size:17px}@media (prefers-reduced-motion:reduce){.status:before,.bubble,.script-card .rec:before,.immersive .rec-label:before,.script-line,.caret,.wave b,.stage-blob,.avatar-wave rect,.skeleton-line,.skeleton-btn,.hero-copy>*{animation:none!important}.skeleton-line,.skeleton-btn{background:var(--paper-deep)}.script-line,.hero-copy>*{opacity:1!important;transform:none!important}}@media (min-width:720px){.home{padding:32px 24px 64px}.hero{grid-template-columns:5fr 6fr;align-items:center;gap:44px}.hero h1{font-size:56px}.features{grid-template-columns:repeat(4,1fr)}.feature-wide{grid-column:span 2}.practice,.account{padding-top:30px}}.en-home{flex-direction:column;gap:64px;width:min(820px,100%);padding:24px 20px 56px;display:flex}.en-hero{grid-template-columns:1fr;gap:0}.en-phrase,.en-notes{scroll-margin-top:24px}.en-phrase{background:var(--sage-tint);border:1px solid #7fa98e59;border-radius:24px;flex-direction:column;gap:10px;padding:28px;display:flex}.en-phrase h2{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:34px;font-style:italic;font-weight:600}.en-phrase-example{color:var(--ink);margin:0;font-size:16px;line-height:1.7}.en-phrase-note{color:var(--muted);margin:0;font-size:13.5px;line-height:1.7}.en-section-head{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.en-section-head h2{letter-spacing:-.02em;margin:0;font-size:27px;font-weight:650}.en-section-head p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.7}.en-notes-grid{grid-template-columns:1fr;gap:16px;display:grid}.en-note-plain{background:var(--card);border:1px solid var(--line)}.en-habit-list{border:1px solid var(--line);background:var(--card);border-radius:20px;overflow:hidden}.en-habit-list p{color:var(--ink-soft);margin:0;padding:16px 20px;font-size:14px;line-height:1.7}.en-habit-list p+p{border-top:1px solid var(--line)}@media (min-width:720px){.en-home{padding:32px 24px 64px}.en-notes-grid{grid-template-columns:repeat(3,1fr)}.en-notes-grid .en-note-wide{grid-column:span 2}}
