:root{--bg:#131626;--surface-gradient:linear-gradient(145deg,rgba(142,196,247,.065),rgba(142,196,247,0) 65%);--action-gradient:linear-gradient(135deg,#A3D7FA,#7DBFF4 48%,#8FAEF0);--ambient-gradient:radial-gradient(ellipse at 10% 0%,rgba(108,180,245,.09),transparent 55%),radial-gradient(ellipse at 100% 90%,rgba(224,107,154,.045),transparent 55%);--page:#0e1120;--bubble:#1c2033;--popover:#232840;--card2:#171a2c;--overlay:rgba(14,17,32,0.82);--stripe:#262b42;--paper:#F3E6C4;--paper-ink:#2A2118;--paper-pinyin:#8A6A2B;--paper-shadow:0 2px 0 rgba(0,0,0,.25);--hero:#6CB4F5;--hero-soft:#8EC4F7;--ink-on-hero:#0F1A26;--heart:#E06B9A;--chip:#262B42;--tab-active:#283447;--tab-active-text:#A6D2F8;--gold:#e8c468;--green:#6fd3a0;--red:#f07878;--text:#eef2fa;--sticker-bg:#f6ebc9;--sticker-text:#4a3a22;--sticker-cap:#a8854c;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;--radius-card:24px;--dock-h:92px;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;height:100%}body{background:var(--page);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.35;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer;text-align:inherit}button:disabled{cursor:default}a{color:var(--hero-soft);text-decoration:none}::selection{background:rgba(108,180,245,.35)}.app{position:relative;width:100%;max-width:480px;min-height:100dvh;margin:0 auto;background:var(--ambient-gradient),var(--bg);display:flex;flex-direction:column}@media (min-width:520px){.app{min-height:100dvh;box-shadow:0 0 0 1px rgba(255,255,255,.05)}}.screen{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--ambient-gradient),var(--bg)}.screen.with-dock{padding-bottom:calc(var(--dock-h) - 14px)}.screen.layer{z-index:20}.screen.layer-2{z-index:30}.screen-scroll{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.screen-scroll::-webkit-scrollbar{display:none}.pad{padding:0 18px}.content{padding:12px 18px calc(var(--dock-h) + 16px)}.content,.content-plain{display:flex;flex-direction:column;gap:12px}.content-plain{padding:12px 18px 24px}.safe-top{padding-top:max(10px,env(safe-area-inset-top))}.tab-header{display:flex;align-items:baseline;justify-content:space-between;padding:max(14px,env(safe-area-inset-top)) 22px 6px}.tab-header h1{margin:0;font-weight:700;letter-spacing:-.01em}.tab-header .note{font-size:13px;color:rgba(238,242,250,.5)}.caps{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.caps,.eyebrow{font-weight:600;color:var(--hero-soft)}.eyebrow{font-size:12px;letter-spacing:.08em}.muted{color:rgba(238,242,250,.55)}.muted-2{color:rgba(238,242,250,.4)}.small{font-size:13px}.tiny{font-size:12px}h2.title{margin:0;font-size:26px;font-weight:700;line-height:1.15}h3.section{margin:0;font-size:13px;font-weight:600;color:rgba(238,242,250,.5)}.card{background:var(--surface-gradient),var(--bubble);border-radius:var(--radius-card);padding:18px 20px}.card-2{background:var(--surface-gradient),var(--card2);border-radius:20px;padding:16px 18px}.card-sm{background:var(--bubble);border-radius:16px;padding:14px 16px}.cta{display:flex;align-items:center;justify-content:center;width:100%;height:54px;border-radius:999px;background:var(--action-gradient);color:var(--ink-on-hero);font-size:16px;font-weight:700;transition:transform .12s ease,opacity .12s ease}.cta:active{transform:scale(.985)}.cta:disabled{opacity:.4}.cta.glow{box-shadow:0 6px 18px rgba(108,180,245,.4)}.cta.secondary{background:transparent;border:1.5px solid rgba(108,180,245,.5);color:var(--hero-soft)}.cta.sm{height:46px;font-size:15px}.link-btn{padding:10px;min-height:44px;justify-content:center}.link-btn,.pill{color:var(--hero-soft);font-size:14px;display:inline-flex;align-items:center}.pill{gap:6px;padding:8px 14px;border-radius:999px;background:var(--bubble)}.pill.on{background:var(--popover);color:var(--text)}.icon-btn{width:36px;height:36px;border-radius:50%;display:inline-flex;justify-content:center;background:rgba(255,255,255,.07);color:rgba(238,242,250,.7);font-size:16px}.icon-btn,.row{align-items:center}.row{display:flex;gap:10px}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.grow{flex:1 1;min-width:0}.avatar{position:relative;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--chip);border:1.5px solid rgba(255,255,255,.08)}.avatar span{color:rgba(238,242,250,.6);font-weight:500}.avatar-halo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;align-self:center;padding:24px;border-radius:50%;background:radial-gradient(circle closest-side,rgba(108,180,245,.28) 55%,rgba(108,180,245,0) 100%)}.her-row{display:flex;align-items:flex-start;gap:10px}.her-aside{max-width:300px;background:var(--bubble);border-radius:4px 16px 16px 16px;padding:9px 13px;font-size:14px;color:rgba(238,242,250,.8);line-height:1.45}.track{height:6px;border-radius:99px;background:rgba(238,242,250,.1);overflow:hidden;flex:1 1}.track .fill{height:100%;border-radius:99px;background:var(--hero);transition:width .3s ease}.track .fill.green{background:var(--green)}.track .fill.purple{background:var(--hero)}.topbar{display:flex;align-items:center;gap:14px;padding:max(10px,env(safe-area-inset-top)) 20px 6px}.topbar .counter{font-size:13px;font-weight:600;color:rgba(238,242,250,.55);min-width:34px;text-align:right}.topbar .close{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:rgba(238,242,250,.55);margin-left:-8px}.chat-header{display:flex;align-items:center;gap:12px;padding:max(10px,env(safe-area-inset-top)) 18px 10px}.chat-header .name{font-size:17px;font-weight:600}.chat-header .hearts{color:var(--heart);font-size:13px;letter-spacing:1px}.chat-header .xp-track{width:120px;height:4px}.chat-toggles{display:flex;gap:6px}.toggle-chip{font-size:11px;font-weight:600;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.06);color:rgba(238,242,250,.5)}.toggle-chip.on{background:rgba(108,180,245,.22);color:var(--hero-soft)}.chat-list{flex:1 1;overflow-y:auto;padding:8px 14px;display:flex;flex-direction:column;gap:12px;scrollbar-width:none}.chat-list::-webkit-scrollbar{display:none}.day-divider{align-self:center;font-size:10.5px;color:rgba(238,242,250,.35);padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.05)}.msg{display:flex;flex-direction:column;max-width:100%}.msg.her{align-items:flex-start}.msg.user{align-items:flex-end}.bubble{max-width:290px;padding:10px 14px;border-radius:18px}.bubble.her{background:var(--bubble);border-bottom-left-radius:4px}.bubble.user{background:var(--hero);color:var(--ink-on-hero);border-bottom-right-radius:4px}.segs{display:flex;flex-wrap:wrap;align-items:flex-end;gap:5px 3px}.seg{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2;border-radius:4px;padding:0 1px}.seg.tappable{cursor:pointer}.seg .p{font-size:9.5px;letter-spacing:.3px;color:rgba(238,242,250,.45);white-space:nowrap}.seg .h{font-size:16px}.compact .seg .h{font-size:15px}.seg.tap .p{color:var(--hero-soft)}.seg.gloss .h,.seg.tap .h{border-bottom:1px dotted rgba(108,180,245,.7)}.seg.new .p{color:var(--hero-soft);font-weight:500}.seg.new .h{background:linear-gradient(to top,var(--hero) 0 2px,rgba(108,180,245,.22) 2px);border-bottom:0;border-radius:3px;padding:0 2px}.seg.selected{background:rgba(108,180,245,.18)}.seg.selected .h{color:var(--hero-soft);font-weight:700;border-bottom:2px solid var(--hero)}.seg.selected .p{color:var(--hero-soft);font-weight:500}.bubble.user .seg .p{color:rgba(255,255,255,.8)}.bubble.user .seg.gloss .h,.bubble.user .seg.tap .h{border-bottom-color:rgba(255,255,255,.65)}.bubble.user .seg.selected{background:rgba(0,0,0,.15)}.bubble.user .seg.selected .h,.bubble.user .seg.selected .p{color:#fff;border-bottom-color:#fff}.word-strip{margin-top:8px;padding-top:8px;border-top:1px solid rgba(238,242,250,.1);display:flex;align-items:center;gap:10px;font-size:13px}.word-strip .w{font-weight:700;font-size:15px}.word-strip .meta{color:rgba(238,242,250,.65)}.bubble.user .word-strip{border-top-color:rgba(255,255,255,.25)}.bubble.user .word-strip .meta{color:rgba(255,255,255,.85)}.word-strip .save{margin-left:auto;font-size:12px;font-weight:700;color:var(--hero-soft);padding:6px 10px;border-radius:999px;background:rgba(108,180,245,.15);white-space:nowrap}.bubble.user .word-strip .save{background:rgba(255,255,255,.2);color:#fff}.word-strip .say{font-size:14px}.translation{margin-top:7px;padding-top:6px;border-top:1px solid rgba(238,242,250,.1);font-size:12px;font-style:italic;color:rgba(238,242,250,.55);line-height:1.4}.bubble.user .translation{border-top-color:rgba(255,255,255,.25);color:rgba(255,255,255,.85)}.sticker{margin-top:6px;max-width:290px;background:var(--sticker-bg);color:var(--sticker-text);border-radius:12px;padding:8px 12px;transform:rotate(-1deg);font-size:13px;box-shadow:0 3px 10px rgba(0,0,0,.25)}.sticker .cap{font-size:9.5px;font-weight:700;letter-spacing:.1em;color:var(--sticker-cap)}.sticker .fix{font-weight:600;font-size:14px;margin:2px 0}.fix-toggle{font-size:11px;color:var(--gold);margin-top:4px;padding:4px 6px}.typing{display:inline-flex;align-self:flex-start;flex-shrink:0;align-items:center;gap:5px;padding:16px 18px;background:var(--bubble);border-radius:18px;border-bottom-left-radius:4px}.typing i{width:7px;height:7px;border-radius:50%;background:rgba(238,242,250,.5);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.chips{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding:4px 14px 8px}.chip{max-width:100%;padding:9px 14px;border-radius:18px;border-bottom-right-radius:4px;background:rgba(108,180,245,.14);border:1px solid rgba(108,180,245,.45);color:var(--text);text-align:left}.chip .label{font-size:15px}.chip .cap{font-size:11px;color:rgba(238,242,250,.55);margin-top:2px}.chip.plain{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}.chip.pro{background:rgba(232,196,104,.15);border-color:rgba(232,196,104,.5)}.input-bar{display:flex;align-items:flex-end;gap:8px;padding:8px 12px max(12px,env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid rgba(255,255,255,.05)}.input-text{flex:1 1;min-height:44px;max-height:120px;padding:11px 14px;border-radius:22px;background:var(--bubble);border:1px solid rgba(255,255,255,.06);color:var(--text);resize:none;outline:none;line-height:1.35}.input-text:focus{border-color:rgba(108,180,245,.5)}.input-text::placeholder{color:rgba(238,242,250,.35)}.round-btn{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto}.round-btn.send{background:var(--hero);color:var(--ink-on-hero)}.round-btn.send:disabled{background:rgba(108,180,245,.35)}.round-btn.mic{background:var(--bubble);color:var(--hero-soft)}.talk-pill{flex:1 1;height:50px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--bubble);border:1.5px solid rgba(108,180,245,.4);color:var(--text);font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.talk-pill.rec{background:rgba(108,180,245,.2);border-color:var(--hero);color:var(--hero-soft)}.send-error{padding:6px 18px;font-size:12px;color:var(--red)}.scenario-banner{margin:0 14px;padding:10px 14px;border-radius:14px;background:rgba(108,180,245,.14);border:1px solid rgba(108,180,245,.35);display:flex;align-items:center;gap:10px;font-size:13px}.scenario-banner b{display:block;font-size:13px}.scenario-banner .end{margin-left:auto;color:var(--hero-soft);font-weight:600;padding:6px 10px}.demo-note{margin:4px 14px 0;font-size:11px;color:rgba(238,242,250,.4);text-align:center}.hero{display:flex;flex-direction:column;gap:14px}.hero h2{margin:0;font-size:26px;font-weight:700;line-height:1.15}.phase,.phase-bar{display:flex;gap:6px}.phase{flex:1 1;flex-direction:column}.phase .label{font-size:11px;font-weight:600;color:rgba(238,242,250,.4)}.phase.done .label{color:var(--green)}.phase.current .label{color:var(--hero-soft)}.phase .track{height:5px}.wchips{display:flex;flex-wrap:wrap;gap:6px}.wchip{display:inline-flex;align-items:baseline;gap:5px;padding:6px 10px;border-radius:10px;background:var(--chip);font-size:16px}.wchip .m,.wchip .r{font-size:10.5px;color:rgba(238,242,250,.5)}.wchip .m{display:block}.wchip.col{flex-direction:column;align-items:flex-start;gap:1px}.path-stage{background:var(--card2);border-radius:20px;overflow:hidden}.path-stage.current{background:var(--bubble)}.path-stage-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;width:100%}.path-stage-head .t{font-size:16px;font-weight:600}.path-stage-head .s{font-size:12px;color:rgba(238,242,250,.45)}.path-row{display:flex;align-items:center;gap:12px;padding:11px 18px;width:100%;border-top:.5px solid rgba(238,242,250,.08)}.path-row.locked{opacity:.55}.path-num{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:rgba(238,242,250,.08);color:rgba(238,242,250,.7);flex:0 0 auto}.path-num.done{background:var(--green);color:var(--bg)}.path-num.current{background:var(--hero);color:var(--ink-on-hero)}.path-row .t{font-size:14px}.path-row.current .t{font-weight:600}.path-row .s{font-size:12px;color:rgba(238,242,250,.45)}.path-row .end{margin-left:auto;font-size:13px;color:rgba(238,242,250,.4);white-space:nowrap}.ref-card{display:flex;align-items:center;gap:14px;background:var(--card2);border-radius:20px;padding:14px 16px;width:100%}.ref-tile{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px;gap:2px;width:52px;height:52px;border-radius:12px;background:var(--popover);padding:4px;flex:0 0 auto}.ref-tile span{justify-content:center;font-size:13px;color:var(--hero-soft)}.ref-tile span,.term-wrap{display:flex;align-items:center}.term-wrap{flex-direction:column;gap:8px;padding-top:20px;text-align:center}.kicker{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--hero-soft);padding:4px 10px;border-radius:999px;background:rgba(108,180,245,.18)}.term-big{font-size:60px;font-weight:700;line-height:1.1}.term-big.long{font-size:40px}.term-reading{font-size:20px;color:var(--hero-soft)}.term-meaning{font-size:17px;color:rgba(238,242,250,.85);text-align:center}.fact-row{display:flex;gap:12px;align-items:baseline}.fact-row .l{width:92px;flex:0 0 auto;font-size:12px;font-weight:600;color:rgba(238,242,250,.5)}.fact-row .v{font-size:15px}.note-box{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:14px;background:rgba(232,196,104,.12);font-size:13px}.note-box b{color:var(--gold);font-size:12px}.example{display:flex;flex-direction:column;gap:3px}.example .r{font-size:12px;color:var(--hero-soft)}.example .t{font-size:18px}.example .m{font-size:13px;color:rgba(238,242,250,.6)}.objectives{display:flex;flex-direction:column;gap:6px}.objectives li{list-style:none;display:flex;gap:8px;font-size:14px;color:rgba(238,242,250,.85)}.objectives li:before{content:"·";color:var(--hero-soft)}.objectives ul{margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.footer-cta{padding:8px 20px max(24px,env(safe-area-inset-bottom))}.quiz{display:flex;flex-direction:column;gap:18px;padding:20px;align-items:center}.quiz .prompt{font-size:15px;color:var(--hero-soft)}.quiz .question{font-size:40px;font-weight:700;text-align:center;line-height:1.15;padding:8px 0}.quiz .question.en{font-size:26px}.quiz .reading{font-size:20px;color:var(--hero-soft)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;width:100%}.choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:108px;padding:14px;border-radius:18px;background:var(--bubble);border:2px solid transparent;text-align:center;transition:border-color .12s ease,background .12s ease,opacity .12s ease}.choice .t{font-size:25px;font-weight:600;line-height:1.15}.choice .t.en{font-size:16px}.choice .r{font-size:14px;color:var(--hero-soft)}.choice .tag{font-size:12px}.choice.correct{border-color:var(--green);background:rgba(111,211,160,.1)}.choice.correct .tag{color:var(--green)}.choice.wrong{border-color:var(--red);background:rgba(240,120,120,.1)}.choice.wrong .tag{color:var(--red)}.choice.dim{opacity:.6}.feedback{font-size:16px;text-align:center}.feedback-card{width:100%;padding:16px 18px;border-radius:20px;background:var(--bubble);font-size:16px}.summary{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px 20px;text-align:center}.summary .score{font-size:44px;font-weight:700}.summary .score.pass{color:var(--green)}.summary .score.fail,.summary .xp{color:var(--gold)}.summary .xp{font-weight:600}.next-card{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:var(--bubble);text-align:left}.next-card .e{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--hero-soft)}.next-card .t{font-size:15px;font-weight:600}.next-card .arrow{margin-left:auto;color:var(--hero-soft);font-size:20px}.goal-ring{width:76px;height:76px;position:relative;flex:0 0 auto}.goal-ring svg{transform:rotate(-90deg)}.goal-ring .lbl{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.goal-ring .lbl b{font-size:15px}.goal-ring .lbl span{font-size:9px;font-weight:600;letter-spacing:.05em}.queue{background:var(--bubble);border-radius:20px;overflow:hidden}.queue-row{display:flex;align-items:center;gap:14px;padding:12px 18px;width:100%;border-top:.5px solid rgba(238,242,250,.08)}.queue-row:first-child{border-top:0}.queue-row .h{font-size:20px;min-width:52px}.queue-row .m{font-size:14px}.queue-row .s{font-size:12px;color:rgba(238,242,250,.45);margin-top:1px}.state-dot{width:8px;height:8px;border-radius:50%;margin-left:auto;flex:0 0 auto}.state-dot.new{background:var(--hero)}.state-dot.learning{background:var(--hero-soft)}.state-dot.known{background:var(--green)}.stacked-bar{display:flex;gap:2px;height:10px;border-radius:99px;overflow:hidden}.stacked-bar i{display:block;height:100%}.legend{display:flex;gap:14px;font-size:13px;color:rgba(238,242,250,.6);flex-wrap:wrap}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.word-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.word-card{position:relative;display:flex;flex-direction:column;padding:12px 12px 10px;border-radius:16px;background:var(--bubble);text-align:left}.word-card .h{font-size:22px}.word-card .r{font-size:12px;font-weight:500;color:var(--hero-soft);margin-top:3px}.word-card .m{font-size:12px;color:rgba(238,242,250,.55);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.word-card .state-dot{position:absolute;top:10px;right:10px;margin:0}.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.filters::-webkit-scrollbar{display:none}.filter{flex:0 0 auto;padding:8px 13px;border-radius:999px;background:var(--bubble);font-size:13px;color:rgba(238,242,250,.65)}.filter.on{background:var(--popover);color:var(--text);font-weight:600}.big-stat{font-size:34px;font-weight:700;letter-spacing:-.02em}.group{background:var(--bubble);border-radius:20px;overflow:hidden}.group-title{padding:18px 20px 6px}.srow{display:flex;align-items:center;gap:12px;padding:13px 20px;width:100%;border-top:.5px solid rgba(238,242,250,.08);min-height:54px}.srow:first-child{border-top:0}.srow .lbl{font-size:15px}.srow .sub{font-size:12px;margin-top:2px}.srow .sub,.srow .val{color:rgba(238,242,250,.5)}.srow .val{margin-left:auto;font-size:14px;white-space:nowrap}.srow.danger .lbl{color:var(--red)}.switch{margin-left:auto;width:46px;height:28px;border-radius:999px;background:rgba(255,255,255,.12);position:relative;flex:0 0 auto;transition:background .15s}.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s}.switch.on{background:var(--hero)}.switch.on i{transform:translateX(18px)}.segmented{margin-left:auto;display:inline-flex;background:rgba(255,255,255,.06);border-radius:999px;padding:3px;gap:2px}.segmented button{padding:6px 11px;border-radius:999px;font-size:12px;font-weight:600;color:rgba(238,242,250,.55)}.segmented button.on{background:var(--hero);color:var(--ink-on-hero)}.text-input{width:100%;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);outline:none}.text-input:focus{border-color:rgba(108,180,245,.5)}.status{font-size:12px;padding:4px 10px;border-radius:999px}.status.ok{background:rgba(111,211,160,.15);color:var(--green)}.status.warn{background:rgba(232,196,104,.15);color:var(--gold)}.status.off{background:rgba(240,120,120,.15);color:var(--red)}.letter-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:7px;gap:7px}.letter-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border-radius:12px;background:var(--bubble);border:1px solid rgba(255,255,255,.06)}.letter-chip .g{font-size:22px}.letter-chip .r{font-size:9.5px;color:rgba(142,196,247,.8)}.letter-chip.on{background:rgba(108,180,245,.16);border-color:rgba(108,180,245,.7)}.letter-chip.on .r{color:var(--hero)}.detail-card{position:absolute;left:14px;right:14px;bottom:calc(var(--dock-h) + 8px);background:var(--popover);border-radius:20px;padding:16px;border:1px solid rgba(108,180,245,.4);box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:5;display:flex;flex-direction:column;gap:10px}.detail-card.nodock{bottom:14px}.sound-row{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:12px;background:rgba(108,180,245,.12);width:100%}.opt-row{display:flex;gap:7px}.opt{flex:1 1;padding:8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(108,180,245,.25);font-size:12.5px;text-align:center;color:rgba(238,242,250,.75)}.opt.picked{background:var(--hero);color:var(--ink-on-hero);border-color:var(--hero)}.opt.picked.right{background:rgba(111,211,160,.75);border-color:var(--green)}.opt.picked.wrong{background:rgba(240,120,120,.75);border-color:var(--red)}.toast{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--dock-h) + 10px);background:var(--popover);color:var(--text);padding:10px 16px;border-radius:999px;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:60;white-space:nowrap;animation:pop .2s ease}@keyframes pop{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.sheet-backdrop{position:absolute;inset:0;background:var(--overlay);z-index:50;display:flex;align-items:flex-end}.sheet{width:100%;max-height:88%;overflow-y:auto;background:var(--surface-gradient),var(--bubble);border-radius:24px 24px 0 0;padding:20px 22px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;animation:rise .22s ease}@keyframes rise{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}.fade{animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;flex:1 1;padding:24px}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(238,242,250,.15);border-top:3px solid var(--hero);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}:root{--dock-h:0px;--radius-card:16px;--border:rgba(238,242,250,.1)}body{overscroll-behavior-y:auto}.app{max-width:none;height:100dvh;min-height:0;overflow:hidden}.workspace{display:grid;grid-template-columns:232px minmax(0,1fr);height:100%}.sidebar{display:flex;flex-direction:column;padding:32px 20px 22px;background:linear-gradient(170deg,rgba(108,180,245,.06),transparent 50%),var(--page);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;color:var(--text);font-size:24px;font-weight:700;letter-spacing:-.8px}.mandarin-flag{width:36px;height:auto;flex:0 0 auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:#262b42;color:var(--hero-soft);border:1px solid #283447;border-radius:12px}.brand small{display:block;font-size:8px;letter-spacing:.35px;white-space:nowrap;color:rgba(238,242,250,.5);margin-top:4px}.nav-caption{font-size:10px;letter-spacing:1.5px;color:rgba(238,242,250,.4);margin:50px 12px 14px}.web-nav{display:flex;flex-direction:column;gap:6px}.web-nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;color:rgba(238,242,250,.65);border-radius:9px;font-size:14px}.web-nav a.active{background:linear-gradient(110deg,rgba(108,180,245,.12),transparent),var(--tab-active);color:var(--tab-active-text)}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}.nav-arrow{margin-left:auto;opacity:0}.active .nav-arrow{opacity:1}.sidebar-progress{margin-top:auto;padding:22px 12px;border-bottom:1px solid var(--border)}.sidebar-progress .eyebrow{font-size:9px;letter-spacing:1px}.sidebar-progress strong{display:block;margin-top:14px;font-size:23px;font-weight:500}.sidebar-progress p{color:rgba(238,242,250,.5);font-size:12px;line-height:1.9}.sidebar-progress a{font-size:12px}.sidebar-footer{font-size:11px;color:rgba(238,242,250,.4);padding:22px 12px 0}.status-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:6px}.main-workspace{position:relative;min-width:0;min-height:0}.main-workspace:focus{outline:none}.screen{min-height:0}.screen.with-dock{padding-bottom:0}.chat-list,.screen-scroll{scrollbar-width:thin;scrollbar-color:#283447 transparent}.chat-list::-webkit-scrollbar,.screen-scroll::-webkit-scrollbar{display:block;width:8px}.chat-list::-webkit-scrollbar-thumb,.screen-scroll::-webkit-scrollbar-thumb{background:#283447;border-radius:8px}.tab-header{padding:30px 40px 24px;border-bottom:1px solid var(--border);align-items:center;min-height:96px}.tab-header h1{font-size:28px;letter-spacing:-.8px}.content{max-width:1200px;padding:30px 40px 40px;gap:20px}.content,.content-plain{width:100%;margin:0 auto}.content-plain{max-width:800px;padding:24px 32px}.card,.card-2,.group,.path-stage{border:1px solid var(--border);border-radius:16px}.cta{border-radius:9px;height:46px;font-size:14px}.cta.glow{box-shadow:0 4px 18px rgba(108,180,245,.14),inset 0 1px 0 rgba(255,255,255,.3)}.cta.secondary{border-width:1px}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--hero-soft);outline-offset:4px}@media (hover:hover){.letter-chip:hover,.path-row:hover,.queue-row:hover,.web-nav a:hover,.word-card:hover{background-color:#283447}.chip:hover,.cta:hover:not(:disabled){filter:brightness(1.12)}.link-btn:hover,.seg.tappable:hover{color:var(--hero-soft);background:rgba(108,180,245,.1)}}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--popover);padding:14px;border-radius:8px}.skip-link:focus{top:16px}.learning-path,.lesson-overview{display:flex;flex-direction:column;gap:18px;min-width:0}.learn-layout .ref-card{grid-column:1/-1}.learn-layout .hero{padding:26px;gap:24px;background:linear-gradient(135deg,#263750,#22283F 55%,var(--bubble))}.learn-layout .hero h2{font-size:32px;letter-spacing:-.7px;line-height:1.2}.learn-layout .her-aside{max-width:none}.path-stage-head{padding:20px}.word-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.chat-screen{max-width:1000px;margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}.chat-header{padding:24px 32px 16px}.chat-header .name{font-size:21px}.chat-screen>.row{padding:0 32px 14px!important;border-bottom:1px solid var(--border)}.toggle-chip{border-radius:6px;padding:7px 10px}.chat-list{padding:24px 32px;gap:20px;min-height:0}.bubble{max-width:min(80%,580px);padding:15px 18px;border-radius:14px}.bubble .seg .h{font-size:18px}.bubble.compact .seg .h{font-size:16px}.translation{font-size:13px;line-height:1.6}.sticker{max-width:480px;transform:none}.chips{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;padding:8px 32px}.chip{border-radius:10px}.input-bar{padding:12px 32px 24px;border-top:0}.input-text,.round-btn{border-radius:10px}.demo-note{margin:12px 24px 0}.topbar{padding:22px 32px;border-bottom:1px solid var(--border)}.screen.layer,.screen.layer-2{max-width:900px;margin:0 auto;border-inline:1px solid var(--border)}.footer-cta{padding:20px 32px 28px}.footer-cta,.quiz,.summary{width:100%;max-width:680px;margin:0 auto}.summary{max-height:800px}.sheet-backdrop{position:fixed;align-items:center;justify-content:center;padding:24px}.sheet{position:relative;max-width:540px;max-height:85dvh;border:1px solid var(--border);border-radius:18px;padding:52px 32px 32px}.sheet-close{position:absolute;right:14px;top:12px}.toast{position:fixed;bottom:24px;max-width:calc(100vw - 32px);white-space:normal;text-align:center}.welcome-workspace{height:100%;display:grid;grid-template-columns:1fr 1fr;overflow-y:auto}.welcome-intro{padding:36px clamp(28px,4vw,64px);display:flex;flex-direction:column;gap:40px;background:radial-gradient(ellipse at 0 10%,rgba(108,180,245,.14),transparent 65%),radial-gradient(ellipse at 95% 90%,rgba(224,107,154,.1),transparent 60%),var(--page)}.welcome-intro .brand span{font-size:15px;letter-spacing:0}.welcome-story{width:100%;max-width:540px;margin-block:auto}.welcome-copy{display:flex;flex-direction:column;gap:16px}.welcome-copy>.eyebrow{font-size:11px;letter-spacing:1.4px;line-height:1.5}.welcome-intro h1{font-size:clamp(34px,3.5vw,54px);line-height:1.16;letter-spacing:-1.5px;margin:0;text-wrap:balance}.welcome-intro p{color:rgba(238,242,250,.65);font-size:15px;line-height:1.75;max-width:450px;margin:0}.welcome-illustration{display:block;width:100%;height:auto;max-height:190px;margin-top:28px}.welcome-testimonials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:28px}.welcome-testimonials>.eyebrow{grid-column:1/-1;font-size:10px;letter-spacing:1.8px}.welcome-testimonials figure{display:flex;flex-direction:column;gap:12px;margin:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.welcome-testimonials blockquote{margin:0;font-size:13px;line-height:1.65;color:var(--text)}.welcome-testimonials figcaption{margin-top:auto;font-size:12px;color:var(--hero-soft)}.welcome-demo{position:relative;min-height:640px}.welcome-demo>.screen{max-width:580px;margin:0 auto;padding:32px}.welcome-demo .center{max-height:750px}.welcome-demo .onboarding-summary{flex:0 0 auto;width:100%;max-height:none;margin-block:auto;gap:16px;padding:24px}.onboarding-screen{overflow-y:auto}.onboarding-actions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:360px;margin-top:16px}.onboarding-screen .cta{min-height:54px;height:auto;padding:14px 20px;font-size:16px;flex-shrink:0}.onboarding-next-action{flex-shrink:0}.onboarding-next-action:empty{display:none}.onboarding-replies{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.onboarding-reply-heading{font-size:17px;font-weight:700}.onboarding-reply{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:6px;padding:16px;border:1px solid var(--hero);border-radius:9px;text-align:left;background:transparent;color:var(--text)}.onboarding-reply-copy{display:flex;flex-direction:column;gap:6px}.onboarding-reply .label{font-size:19px;font-weight:600}.onboarding-reply .cap{font-size:13px;color:var(--text)}.onboarding-send{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 16px;border-radius:7px;background:var(--hero);color:var(--ink-on-hero);font-size:14px;font-weight:700}.onboarding-reply:hover .onboarding-send{filter:brightness(1.12)}.onboarding-reply:focus-visible{outline:3px solid var(--hero-soft);outline-offset:4px}.onboarding-screen .footer-cta{flex-shrink:0;border-top:1px solid var(--border);padding-top:20px}@media (min-width:1100px){.learn-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);align-items:start;grid-gap:28px!important;gap:28px!important}.lesson-overview{position:-webkit-sticky;position:sticky;top:30px}.settings-screen .content{display:grid;grid-template-columns:1.2fr 1fr;align-items:start;grid-gap:24px!important;gap:24px!important}.settings-screen .content>.card{grid-column:1/-1}.settings-screen .content>.group:nth-child(2){grid-row:span 3}.settings-screen .content>.tiny{grid-column:1/-1}.settings-screen .srow{flex-wrap:wrap}}@media (max-width:760px){.workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.sidebar{padding:12px 16px 0;border-right:0;border-bottom:1px solid var(--border);gap:12px}.brand{font-size:19px}.mandarin-flag{width:30px}.brand-mark{width:30px;height:30px;font-size:18px;border-radius:8px}.brand small,.nav-arrow,.nav-caption,.nav-icon,.sidebar-footer,.sidebar-progress{display:none}.web-nav{flex-direction:row;gap:4px}.web-nav a{flex:1 1;justify-content:center;border-radius:6px 6px 0 0;padding:12px 8px;font-size:13px}.tab-header{padding:20px;min-height:76px}.tab-header h1{font-size:25px}.content,.content-plain{padding:20px}.chat-header{padding:16px 20px}.chat-screen>.row{padding:0 20px 12px!important}.chat-list{padding:16px;gap:14px}.chips{padding:8px 16px}.bubble{max-width:92%;padding:12px 14px}.input-bar{padding:10px 16px max(16px,env(safe-area-inset-bottom))}.srow{flex-wrap:wrap}.welcome-workspace{display:block}.welcome-intro{padding:20px}.welcome-intro>:not(.brand){display:none}.welcome-demo{height:calc(100dvh - 66px);min-height:580px}.welcome-demo>.screen{padding:0}.sheet-backdrop{padding:16px}.sheet{padding:48px 22px 24px}}.sheet-dialog{border:0;padding:24px;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;background:transparent;color:var(--text)}.sheet-dialog[open]{display:flex;align-items:center;justify-content:center}.sheet-dialog::-webkit-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sheet-dialog::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}@media (max-width:760px){.sheet-dialog{padding:16px}}.phase .track{flex:none}.account-button{display:block;padding:12px;margin-top:12px;color:var(--hero-soft);border:1px solid var(--border);border-radius:8px;font-size:12px}.chat-allowance{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 32px;font-size:12px;border-bottom:1px solid var(--border)}.chat-allowance button{color:var(--hero-soft);padding:5px}@media (max-width:760px){.sidebar>.account-button{position:absolute;right:16px;top:0;padding:8px;font-size:10px}.chat-allowance{padding:8px 16px}}.bubble.user .seg .p,.bubble.user .translation,.bubble.user .word-strip .meta{color:rgba(15,26,38,.8)}.bubble.user .seg.gloss .h,.bubble.user .seg.tap .h,.bubble.user .translation,.bubble.user .word-strip{border-color:rgba(15,26,38,.3)}.bubble.user .seg.selected .h,.bubble.user .seg.selected .p,.bubble.user .word-strip .save{color:var(--ink-on-hero);border-bottom-color:var(--ink-on-hero)}.word-strip .save{background:var(--hero);color:var(--ink-on-hero)}.talk-pill{background:rgba(108,180,245,.14)}.chip,.talk-pill{border-color:rgba(108,180,245,.6);color:var(--hero-soft)}.chip.pro{background:var(--bubble);border-color:rgba(238,242,250,.18);color:rgba(238,242,250,.6)}.phase.current .track{background:rgba(108,180,245,.25)}.chat-header .xp-track{background:rgba(108,180,245,.2)}.note-box{background:var(--card2)}.note-box b,.summary .xp{color:var(--hero-soft)}.wchip{background:var(--paper);color:var(--paper-ink);border-radius:12px;padding:7px 11px;gap:6px;flex-wrap:wrap;max-width:100%;overflow-wrap:anywhere;box-shadow:var(--paper-shadow)}.wchip .m,.wchip .r{color:var(--paper-pinyin);font-size:11px}.queue-row{padding:11px 16px}.queue-row .h{display:grid;place-items:center;width:46px;min-width:46px;min-height:46px;padding:4px;flex:0 0 46px;border-radius:10px;background:var(--paper);color:var(--paper-ink);font-size:22px;overflow-wrap:anywhere;box-shadow:var(--paper-shadow)}.queue-row .h.pair{font-size:18px}.queue-row .h.long{font-size:15px}.queue-row .h{text-align:center;line-height:1.2}.queue-row .h.extended{width:76px;flex-basis:76px}.queue-row .s{color:var(--hero-soft)}.queue-more{width:100%;border-top:.5px solid rgba(238,242,250,.08);padding:11px}.word-card{background:var(--paper);color:var(--paper-ink);box-shadow:var(--paper-shadow)}.word-card .h{font-size:24px;overflow-wrap:anywhere;padding-right:8px}.word-card .r{color:var(--paper-pinyin);overflow-wrap:anywhere}.word-card .m{color:rgba(42,33,24,.6)}.word-card .state-dot{width:7px;height:7px}.state-dot.due{background:var(--red)}.word-chat{font-size:12px;margin-bottom:4px}.study-face{background:var(--paper);color:var(--paper-ink);border-radius:24px;padding:32px 20px;min-height:280px;justify-content:center;box-shadow:var(--paper-shadow)}.study-face .term-big{font-size:84px;max-width:100%;overflow-wrap:anywhere}.study-face .term-big.long{font-size:48px}.study-face .term-reading{color:var(--paper-pinyin);font-size:26px;font-weight:600;overflow-wrap:anywhere;max-width:100%}.study-face .term-meaning{color:var(--paper-ink);font-size:22px;font-weight:600}.study-actions{justify-content:center;flex-wrap:wrap}.choice,.choice.correct,.choice.wrong{background:var(--paper);color:var(--paper-ink);box-shadow:var(--paper-shadow)}.choice .r{color:var(--paper-pinyin)}.choice .r,.choice .t{max-width:100%;overflow-wrap:anywhere}.choice.correct .tag,.choice.wrong .tag{color:var(--paper-ink)}.choice.dim{opacity:1}.hub-aside{width:100%;text-align:left}.hub-aside .her-row{padding:0 2px;gap:9px}.hub-aside .her-aside{color:rgba(238,242,250,.85);max-width:none}@media (hover:hover){.word-card:hover{background:var(--paper);filter:brightness(1.03)}}.screen.deck-screen{max-width:1280px;outline:none}.deck-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;grid-gap:14px;gap:14px;padding:16px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.deck-header h2{margin:0;font-size:12px;font-weight:600;letter-spacing:.07em;text-align:center;text-transform:uppercase;color:rgba(238,242,250,.65)}.deck-header .icon-btn,.deck-hints{width:44px;height:44px}.deck-hints{text-align:center;border-radius:50%;color:rgba(238,242,250,.5)}.deck-hints[aria-pressed=true]{background:var(--tab-active);color:var(--hero-soft)}.deck-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);min-height:0;flex:1 1;overflow-y:auto}.deck-page{flex-direction:column;align-items:center;min-width:0;padding:28px 0 20px;background:radial-gradient(circle at 50% 30%,rgba(108,180,245,.13),transparent 65%)}.deck-page,.deck-stage{display:flex;justify-content:center}.deck-stage{--deck-width:min(436px,calc(100% - 84px));width:100%;height:clamp(360px,52dvh,480px);position:relative;isolation:isolate;overflow:hidden;padding-bottom:5px;touch-action:pan-y}.deck-paper{width:var(--deck-width);height:100%;padding:22px 24px;border-radius:28px;background:linear-gradient(145deg,#FAEFD3,var(--paper));color:var(--paper-ink);display:flex;align-items:center;flex-direction:column;text-align:center;box-shadow:0 3px 0 rgba(0,0,0,.3);position:relative;z-index:1;overflow-y:auto;animation:fade .16s ease}.deck-paper[role=button]{cursor:pointer}.deck-paper:focus-visible{outline:3px solid var(--hero);outline-offset:-4px}.deck-card-head{display:flex;width:100%;gap:12px;align-items:baseline;justify-content:space-between;font-size:10px;color:rgba(42,33,24,.6)}.deck-card-head>:first-child{flex-shrink:0}.deck-card-head>:last-child{text-align:right;overflow-wrap:anywhere}.deck-term{font-size:clamp(64px,6vw,104px);line-height:1.15;font-weight:600;margin:auto 0 12px;padding-top:20px;max-width:100%;overflow-wrap:anywhere}.deck-term.medium{font-size:clamp(48px,5vw,80px)}.deck-term.long{font-size:clamp(32px,3.8vw,52px)}.deck-reading{color:var(--paper-pinyin);font-size:24px;max-width:100%}.deck-meaning,.deck-reading{font-weight:600;overflow-wrap:anywhere}.deck-meaning{font-size:20px;margin:8px 0 auto}.deck-example{width:100%;margin-top:20px;padding-top:14px;border-top:1px solid rgba(42,33,24,.12)}.deck-example>span{font-family:"Kaiti SC","STKaiti",var(--font);font-size:27px;line-height:1.2;color:#9B3E20}.deck-example small{display:block;color:rgba(42,33,24,.65);font-size:12px;margin-top:6px}.deck-note{font-size:13px;color:rgba(42,33,24,.7);margin-top:20px}.deck-hidden{display:flex;flex-direction:column;align-items:center;gap:12px;margin:8px 0 auto;color:rgba(42,33,24,.6);font-size:13px}.deck-hidden i{width:150px;height:14px;border-radius:7px;background:rgba(42,33,24,.08)}.deck-hidden i:nth-child(2){width:90px;height:12px}.deck-neighbor{position:absolute;top:18px;bottom:23px;width:var(--deck-width);background:var(--paper);color:var(--paper-ink);opacity:.45;border-radius:28px;display:flex;align-items:center;font-size:56px;padding:16px;overflow:hidden;pointer-events:none}.deck-neighbor.previous{right:calc(50% + var(--deck-width) / 2 - 28px);justify-content:flex-end}.deck-neighbor.next{left:calc(50% + var(--deck-width) / 2 - 28px)}.deck-dots{display:flex;align-items:center;justify-content:center;gap:6px;min-height:22px;margin:16px 0 20px;font-size:12px;color:rgba(238,242,250,.55)}.deck-dots i{width:6px;height:6px;background:rgba(238,242,250,.22);border-radius:9px}.deck-dots i.done{background:rgba(238,242,250,.5)}.deck-dots i.active{width:18px;background:var(--hero-soft)}.deck-controls{display:flex;gap:14px;align-items:center;justify-content:center}.deck-control{width:48px;height:48px;display:grid;place-items:center;background:var(--bubble);border:1px solid var(--border);border-radius:50%;font-size:20px}.deck-control:disabled{opacity:.35}.deck-control.say{width:68px;height:68px;background:var(--hero);color:var(--ink-on-hero);font-size:15px;font-weight:700;box-shadow:0 0 0 7px rgba(108,180,245,.1)}.deck-control.say:disabled{background:var(--bubble);color:var(--text);box-shadow:none}.deck-control.recording{animation:blink 1.1s infinite}.deck-caption{max-width:460px;min-height:32px;padding:0 24px;color:rgba(238,242,250,.55);font-size:12px;line-height:1.6;text-align:center;margin:18px 0 0}.deck-session{background:rgba(22,26,44,.8);border-left:1px solid var(--border);padding:28px 24px;min-width:0;display:flex;flex-direction:column;gap:18px}.deck-session h3{font-size:19px;margin:0}.deck-session-list{background:var(--bubble);border-radius:18px;overflow-y:auto;max-height:44dvh}.deck-session-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-bottom:1px solid var(--border)}.deck-session-row.active{background:rgba(108,180,245,.09)}.deck-tile{flex:0 0 64px;text-align:center;min-height:48px;display:grid;place-items:center;background:var(--paper);color:var(--paper-ink);border-radius:10px;padding:6px;font-size:17px;overflow-wrap:anywhere}.deck-session-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.deck-session-row b{display:block;font-size:13px;font-weight:500}.deck-session-row small{display:block;font-size:12px;color:rgba(238,242,250,.6)}.deck-session-row .viewing{margin-left:auto;color:var(--hero-soft);font-size:10px}.deck-notes{font-size:14px;line-height:1.6}.deck-notes summary{cursor:pointer;color:var(--hero-soft);padding:8px 0}.deck-mobile-quiz{display:none}.review-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);grid-gap:40px;gap:40px}.review-overview{display:flex;flex-direction:column;gap:12px;align-items:center;min-width:0;text-align:center}.review-overview h2{font-size:26px;margin:12px 0 0}.review-overview p{margin:0 0 6px}.review-overview>.cta{max-width:360px;margin-top:12px;height:52px;border-radius:999px}.review-fan,.review-overview>.hub-aside{margin-top:12px}.review-fan{position:relative;width:100%;height:200px;isolation:isolate}.fan-card{position:absolute;top:4px;left:calc(50% - 60px);width:120px;height:160px;border-radius:18px;background:linear-gradient(145deg,#FAEFD3,var(--paper));color:var(--paper-ink);display:grid;place-items:center;box-shadow:0 12px 25px rgba(0,0,0,.25);padding:14px}.fan-card span{font-size:30px;text-align:center;overflow-wrap:anywhere;max-width:100%}.fan-0{transform:translate(-70px,16px) rotate(-12deg);opacity:.8}.fan-1{transform:translate(70px,12px) rotate(10deg);opacity:.9}.fan-2{transform:rotate(-2deg)}.review-fan:has(.fan-card:only-child) .fan-card{transform:rotate(-5deg);opacity:1}.review-fan.caught-up .fan-card{opacity:.5}.fan-empty{display:grid;place-items:center;margin:20px auto;width:120px;height:150px;border:1px dashed rgba(142,196,247,.4);border-radius:18px;color:var(--hero-soft);font-size:48px;transform:rotate(-5deg)}.review-today{display:flex;width:100%;align-items:center;gap:12px;font-size:12px;color:rgba(238,242,250,.6);margin-top:12px}.review-today .track{height:4px}.review-upcoming{min-width:0;display:flex;flex-direction:column;gap:20px;padding-top:28px}.review-upcoming .card-2 p{margin:0;line-height:1.6;font-size:14px;color:rgba(238,242,250,.7)}.upcoming-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.upcoming-word{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.upcoming-word>span{display:grid;place-items:center;width:100%;min-height:76px;padding:10px;border-radius:14px;background:var(--card2);font-size:23px;overflow-wrap:anywhere}.upcoming-word small{color:rgba(238,242,250,.5);font-size:11px}@media (max-width:1050px){.deck-layout,.review-layout{grid-template-columns:minmax(0,1fr)}.deck-session{padding:0 24px 24px;border-left:0;background:transparent}.deck-session>:not(.deck-notes){display:none}.deck-mobile-quiz{display:inline-flex;margin-top:10px}.review-layout{max-width:640px;gap:24px}.review-upcoming{padding-top:0}}@media (max-width:520px){.deck-header{padding:8px 12px;gap:8px}.deck-header h2{font-size:10px}.deck-page{padding-top:18px}.deck-stage{--deck-width:calc(100% - 64px);height:370px}.deck-paper{padding:18px}.deck-reading{font-size:21px}.deck-meaning{font-size:18px}.deck-example>span{font-size:24px}.deck-control{width:44px;height:44px}.deck-control.say{width:60px;height:60px}.review-overview h2{font-size:24px}}.word-strip{flex-wrap:wrap}.word-strip .meta{flex:1 1 120px}.word-more{font-size:12px;color:var(--hero-soft);padding:8px}.bubble.user .word-more{color:var(--ink-on-hero)}.seg[role=button]:focus-visible{outline:2px solid var(--hero-soft);outline-offset:3px}.brand-mark{width:44px;height:44px;flex:0 0 44px;border-radius:13px}.deck-example>span{font-family:Kaiti SC,STKaiti,PingFang SC,serif}.brand .brand-native{font-size:16px;font-weight:500;letter-spacing:0;white-space:nowrap}@media (max-width:760px){.brand{gap:8px}.brand-mark{width:30px;height:30px;flex-basis:30px;border-radius:8px}.brand .brand-native{font-size:14px}}