.auth-card[data-v-b663c7e7]{border:1px solid var(--line);background:var(--card);border-radius:18px;margin-top:16px;padding:22px 18px}.eyebrow[data-v-b663c7e7]{color:var(--acc);letter-spacing:.08em;font-size:12px;font-weight:650}h2[data-v-b663c7e7]{margin:8px 0;font-size:22px;line-height:1.35}.auth-form[data-v-b663c7e7]{gap:10px;margin-top:22px;display:grid}label[data-v-b663c7e7]{font-size:13px;font-weight:650}input[data-v-b663c7e7]{border:1px solid var(--line);width:100%;height:46px;color:var(--ink);background:var(--page);font:inherit;border-radius:12px;padding:0 14px}input[data-v-b663c7e7]:focus{border-color:var(--acc);outline:2px solid var(--acc-soft)}button[data-v-b663c7e7]:disabled,input[data-v-b663c7e7]:disabled{cursor:wait;opacity:.65}.notice[data-v-b663c7e7]{border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:13px}.success[data-v-b663c7e7]{color:var(--ok);background:var(--ok-soft)}.error[data-v-b663c7e7]{color:var(--bad);background:var(--bad-soft)}.auth-preserve[data-v-b663c7e7]{color:var(--acc-strong);background:var(--acc-soft)}.account-email[data-v-b663c7e7]{margin-bottom:22px}.danger-link[data-v-b663c7e7],.cancel-link[data-v-b663c7e7]{color:var(--bad);cursor:pointer;font:inherit;background:0 0;border:0;margin:14px auto 0;display:block}.cancel-link[data-v-b663c7e7]{color:var(--muted);margin-top:6px}.practice-link[data-v-b663c7e7]{text-align:center;color:var(--acc);margin-top:18px;text-decoration:none;display:block}.plan-overview[data-v-bcf40fc4]{border:1px solid var(--line);background:var(--card);border-radius:18px;margin-top:16px;padding:18px}.plan-overview span[data-v-bcf40fc4],.plan-task-kind[data-v-bcf40fc4]{color:var(--acc);font-size:12px;font-weight:700}.plan-overview b[data-v-bcf40fc4]{margin-top:6px;font-size:21px;display:block}.plan-overview p[data-v-bcf40fc4],.plan-day-empty[data-v-bcf40fc4]{color:var(--muted);margin:8px 0 0;line-height:1.55}.plan-unlock-note[data-v-bcf40fc4]{border-top:1px solid var(--line);color:var(--acc-strong);margin-top:12px;padding-top:10px;font-size:12px;font-weight:700;display:block}.plan-timeline[data-v-bcf40fc4]{gap:12px;margin:16px 0;display:grid}.plan-day[data-v-bcf40fc4]{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:14px}.plan-day--current[data-v-bcf40fc4]{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.plan-day--completed[data-v-bcf40fc4]{background:var(--ok-soft)}.plan-day--locked[data-v-bcf40fc4]{opacity:.7}.plan-day-head[data-v-bcf40fc4]{justify-content:space-between;align-items:center;gap:12px;display:flex}.plan-day-head div[data-v-bcf40fc4]{align-items:baseline;gap:8px;display:flex}.plan-day-head span[data-v-bcf40fc4],.plan-day-head small[data-v-bcf40fc4]{color:var(--muted)}.plan-day-head small[data-v-bcf40fc4]{white-space:nowrap}.plan-day-focus[data-v-bcf40fc4]{background:var(--acc-soft);border-radius:12px;gap:3px;margin-top:10px;padding:10px 12px;display:grid}.plan-day-focus span[data-v-bcf40fc4]{color:var(--acc-strong);font-size:11px;font-weight:800}.plan-day-focus p[data-v-bcf40fc4],.plan-day-lock[data-v-bcf40fc4]{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.plan-day-lock[data-v-bcf40fc4]{color:var(--bad);margin-top:9px}.plan-task-list[data-v-bcf40fc4]{gap:8px;margin-top:12px;display:grid}.plan-task[data-v-bcf40fc4]{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--page);text-align:left;cursor:pointer;border-radius:12px;gap:3px;padding:12px 72px 12px 12px;display:grid;position:relative}.plan-task b[data-v-bcf40fc4]{font-size:15px}.plan-task>span[data-v-bcf40fc4]:not(.plan-task-kind){color:var(--muted);font-size:12px}.plan-task em[data-v-bcf40fc4]{color:var(--acc);font-size:12px;font-style:normal;font-weight:700;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.plan-task[data-v-bcf40fc4]:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.plan-task[data-v-bcf40fc4]:disabled{cursor:not-allowed}.plan-timeline+.btn[data-v-bcf40fc4]{width:100%}:root{--ink:#403653;--muted:#7c7390;--line:#725ba52e;--acc:#876de0;--acc-strong:#6f56c7;--acc-alt:#f184a6;--acc-sky:#6dbbe8;--acc-soft:#876de01f;--theme-surface-start:#fff9fc;--theme-surface-end:#f4f2ff;--theme-glow:#f697be33;--theme-sky-glow:#65bceb33;--ok:#4e8974;--ok-soft:#e1f6eddb;--bad:#be647b;--bad-soft:#ffe9efe0;--page:#f8f6ff;--card:#ffffffc7;--bar:#fffc;--font-body:15px;--font-ui:14px;--font-caption:12px;--font-micro:11px;--ease-out:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%;font:var(--font-body)/1.5 -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif;color:var(--ink);background:radial-gradient(circle at 16% 16%,#ffc5d3e0,#0000 34%),radial-gradient(circle at 86% 82%,#addeffdb,#0000 36%),linear-gradient(135deg,#ffe7df 0%,#eae2ff 52%,#dff2ff 100%);margin:0}button{font:inherit}.stage{justify-content:center;align-items:center;min-height:100%;padding:16px;display:flex}.device{background:radial-gradient(circle at 92% 12%, var(--theme-glow), transparent 24%), radial-gradient(circle at 8% 82%, var(--theme-sky-glow), transparent 27%), linear-gradient(165deg, var(--theme-surface-start), var(--theme-surface-end) 56%, #f9fcff);border:1px solid #ffffffb3;border-radius:28px;flex-direction:column;width:375px;height:812px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #53428438,inset 0 1px #ffffffd1}.device:before,.device:after{content:"";z-index:0;filter:blur(2px);pointer-events:none;border-radius:50%;animation:7s ease-in-out infinite alternate dream-blob;position:absolute}.device:before{background:radial-gradient(circle, var(--theme-glow), transparent 68%);width:170px;height:170px;top:88px;right:-88px}.device:after{background:radial-gradient(circle, var(--theme-sky-glow), transparent 68%);width:190px;height:190px;animation-delay:-2.5s;bottom:95px;left:-98px}.notch{z-index:2;flex-shrink:0;justify-content:space-between;align-items:flex-end;height:44px;padding:0 22px 6px;font-size:12px;font-weight:600;display:flex;position:relative}.page{min-height:0;animation:page-enter .22s var(--ease-out) both;z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.hd{flex-shrink:0;align-items:center;height:44px;padding:0 8px;display:flex}.hd .back{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:22px}.hd .back.hide{visibility:hidden}.hd h1{text-align:center;flex:1;margin:0 44px 0 0;font-size:17px;font-weight:650}.hd .settings-link{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:-44px;font-size:18px}.bd{-webkit-overflow-scrolling:touch;flex:1;padding:4px 16px 20px;position:relative;overflow:auto}.tabbar{border-top:1px solid var(--line);background:var(--bar);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);flex-shrink:0;height:56px;display:flex}.tabbar button{color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10px;transition:color .18s,transform .14s;display:flex}.tabbar button:active{transform:scale(.96)}.intro-card,.section-intro,.focus-card,.engine-badge,.notice,.empty-state{border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(16px)saturate(1.18);backdrop-filter:blur(16px)saturate(1.18);border-radius:16px;margin-bottom:14px;padding:14px;box-shadow:0 9px 26px #5b449114,inset 0 1px #ffffffc7}.bd>:is(.intro-card,.section-intro,.focus-card,.engine-badge,.notice,.empty-state,.method-lead,.example-card,.task-prompt,.listener-replay,.point-results,.settings-list){animation:card-enter .26s var(--ease-out) both}.sheet>.cell,.choice-list>button,.quick-grid>button,.point-results>div{animation:card-enter .24s var(--ease-out) both}:is(.sheet,.choice-list,.quick-grid,.point-results)>:nth-child(2){animation-delay:42ms}:is(.sheet,.choice-list,.quick-grid,.point-results)>:nth-child(3){animation-delay:84ms}:is(.sheet,.choice-list,.quick-grid,.point-results)>:nth-child(4){animation-delay:.126s}:is(.sheet,.choice-list,.quick-grid,.point-results)>:nth-child(n+5){animation-delay:.168s}.intro-card span,.focus-card span{color:var(--acc-strong);font-size:12px;font-weight:650}.intro-card b,.focus-card b,.section-intro b,.empty-state b{margin-top:5px;font-size:18px;display:block}.intro-card p,.focus-card p,.section-intro p,.empty-state p{color:var(--muted);margin:5px 0 0;font-size:13px}.intro-card.compact b{font-size:16px}.choice-list{gap:8px;display:grid}.choice-list button{border:1px solid var(--line);background:var(--card);color:var(--ink);text-align:left;border-radius:14px;padding:12px 14px;transition:transform .14s,border-color .18s,background-color .18s}.choice-list button:active,.quick-grid button:active,.modes button:active,.chips button:active,.cell:active{transform:scale(.985)}.choice-list button.on{border-color:var(--acc);background:var(--acc-soft)}.choice-list b,.choice-list span{display:block}.choice-list span{color:var(--muted);margin-top:2px;font-size:12px}.choice-chips{gap:7px;display:flex}.choice-chips button{flex:1}.companion-gender-chips button{font-size:12px}.difficulty-filter{margin:12px 0 2px}.difficulty-filter button{font-size:12px}.companion-choice-list{gap:8px;display:grid}.companion-choice{border:1px solid var(--line);background:var(--card);width:100%;min-height:68px;color:var(--ink);text-align:left;border-radius:16px;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;padding:7px 10px 7px 7px;transition:transform .14s,border-color .18s,background-color .18s;display:grid}.companion-choice:active{transform:scale(.985)}.companion-choice.on{border-color:var(--acc);background:var(--acc-soft);box-shadow:0 7px 16px #6e52c41a}.companion-choice img{object-fit:contain;object-position:center bottom;background:linear-gradient(145deg,#fff0f5,#ece9ff 60%,#e2f6ff);border-radius:12px;width:52px;height:58px}.companion-choice-copy b,.companion-choice-copy small{display:block}.companion-choice-copy b{font-size:14px}.companion-choice-copy small{color:var(--muted);margin-top:3px;font-size:11px}.companion-choice-check{color:var(--acc-strong);font-size:11px;font-weight:700}.settings-companions{margin-bottom:14px}.notice{color:#5c7568;background:#eef5ef;font-size:12px}.notice.warn{color:#936b34;background:#fff4df;border-color:#efdcb9}.input-meta{color:var(--muted);justify-content:space-between;margin:4px 2px 0;font-size:12px;display:flex}.expression-composer{z-index:auto;border:1px solid var(--line);background:#ffffffd6;border-radius:22px;margin-top:12px;position:relative;overflow:hidden;box-shadow:0 8px 24px #4d3b7614}.expression-composer:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft), 0 8px 24px #4d3b7614}.expression-composer textarea{resize:vertical;min-height:142px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:16px 16px 8px;display:block}.expression-input-text{line-height:1.55;font-size:var(--font-body)!important}.expression-input-text::placeholder{color:var(--muted);opacity:.86}.expression-composer textarea:focus{box-shadow:none;border:0}.expression-composer-toolbar{min-height:52px;color:var(--muted);font-size:var(--font-micro);align-items:center;gap:8px;padding:6px 10px 8px 16px;display:flex}.composer-status{color:var(--bad);font-weight:700}.composer-voice{border:1px solid var(--line);width:40px;height:40px;color:var(--acc-strong);background:var(--acc-soft);cursor:pointer;border-radius:50%;flex:0 0 40px;place-items:center;margin-left:auto;padding:0;display:grid}.expression-composer-toolbar .composer-voice{margin-left:0}.composer-footer{margin-right:auto}.composer-status{margin-left:auto}.composer-voice--priority{z-index:10;background:var(--card);border-color:#876de061;position:relative;box-shadow:0 3px 10px #4d3b7624}.composer-voice svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.composer-voice.listening{color:#fff;background:var(--bad);border-color:#0000;animation:1.2s ease-in-out infinite voice-pulse}.voice-input-field--singleline{flex:1;align-items:center;gap:7px;min-width:0;display:flex}.voice-input-field--singleline input{min-width:0;box-shadow:none;background:#ffffffc7;border:1px solid #0000;border-radius:12px;flex:1;padding:9px 10px}.voice-input-field--singleline input:focus{border-color:#876de052;outline:none;box-shadow:0 0 0 3px #876de01a}.voice-input-field--singleline .composer-voice{flex:0 0 32px;order:-1;width:32px;height:32px;margin-left:0}@keyframes voice-pulse{50%{box-shadow:0 0 0 8px var(--acc-soft)}}.form-error{color:var(--bad);font-size:12px}.engine-badge{border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.engine-badge b{color:var(--acc-strong);font-size:12px}.engine-badge span{color:var(--muted);font-size:11px}.dimension-list{gap:10px;display:grid}.progress-ability{margin:14px 0}.progress-ability-toggle{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--card);text-align:left;cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.progress-ability-toggle span{gap:3px;display:grid}.progress-ability-toggle small{color:var(--muted)}.progress-ability-toggle strong{color:var(--acc-strong);flex-shrink:0;font-size:12px}.progress-ability .dimension-list{margin-top:8px}.settings-growth-empty{border:1px solid var(--line);background:var(--card);border-radius:16px;gap:4px;margin:14px 0 10px;padding:14px 16px;display:grid}.settings-growth-empty span{color:var(--muted);font-size:12px}.dimension-item{background:var(--card);border:1px solid var(--line);animation:card-enter .26s var(--ease-out) both;animation-delay:calc(70ms + var(--motion-index,0) * 42ms);-webkit-backdrop-filter:blur(14px)saturate(1.16);backdrop-filter:blur(14px)saturate(1.16);border-radius:14px;padding:11px 12px;box-shadow:0 8px 22px #5b449112}.dimension-head{justify-content:space-between;font-size:13px;display:flex}.dimension-head span{color:var(--acc-strong);font-weight:700}.dimension-track{background:#6f56c71c;border-radius:6px;height:6px;margin:8px 0;overflow:hidden}.dimension-track i{background:linear-gradient(90deg, var(--acc-alt), var(--acc), var(--acc-sky));border-radius:inherit;transform-origin:0;height:100%;animation:bar-grow .52s var(--ease-out) both;animation-delay:calc(.12s + var(--motion-index,0) * 42ms);display:block}.dimension-item p,.result-note{color:var(--muted);margin:0;font-size:11px}.result-note{margin-top:12px}.static-cell{cursor:default}.mini-kind{color:var(--muted);font-size:10px}.compact-stats{margin-bottom:16px}.cell.done{opacity:.7}.quick-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.quick-grid button{border:1px solid var(--line);background:var(--card);min-height:76px;color:var(--ink);text-align:left;-webkit-backdrop-filter:blur(14px)saturate(1.16);backdrop-filter:blur(14px)saturate(1.16);border-radius:14px;padding:12px;transition:transform .14s,border-color .18s,background-color .18s;box-shadow:0 8px 22px #5b449112}.quick-grid b,.quick-grid span{display:block}.quick-grid span{color:var(--muted);margin-top:4px;font-size:11px}.today-recommendation{border:1px solid var(--acc);background:linear-gradient(145deg, var(--acc-soft), var(--card));border-radius:16px;gap:7px;margin-top:14px;padding:14px;display:grid}.today-recommendation-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.today-recommendation-head span{color:var(--acc-strong);font-size:12px;font-weight:800}.today-recommendation-head small,.today-recommendation p{color:var(--muted);font-size:11px}.today-recommendation b{font-size:16px}.today-recommendation p{margin:0;line-height:1.5}.learning-next-card{border:1px solid var(--acc);background:linear-gradient(145deg, var(--acc-soft), var(--card));border-radius:16px;gap:6px;margin-bottom:14px;padding:14px;display:grid;box-shadow:0 9px 24px #5b449114}.learning-next-card>span,.learning-method-dimension{color:var(--acc-strong);font-size:11px;font-weight:750}.learning-next-card>b{font-size:17px}.learning-next-card p{color:var(--muted);margin:0;font-size:12px}.learning-next-card .btn{justify-self:start;width:auto;min-width:104px;height:38px;margin-top:3px;padding:0 14px;font-size:13px}.learning-method-cell .t{gap:3px}.learning-method-cell .t b{margin-top:1px}.method-progress{grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0 14px;padding:0;list-style:none;display:grid}.method-progress li{color:var(--muted);text-align:center;justify-items:center;gap:4px;font-size:11px;display:grid}.method-progress li span{border:1px solid var(--line);background:var(--card);border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid}.method-progress li.done{color:var(--acc-strong);font-weight:700}.method-progress li.done span{border-color:var(--acc);background:var(--acc-soft)}.training-layer-heading{justify-content:space-between;align-items:end;gap:10px;margin-top:14px;display:flex}.training-layer-heading .sec{margin:0 0 2px}.training-layer-heading>div>span{color:var(--muted);font-size:11px}.training-layer-heading>small{color:var(--acc-strong);text-align:right;flex-shrink:0;font-size:10px;font-weight:700}.training-exercise-cell .t{gap:3px}.training-exercise-cell .t small{color:var(--muted);font-size:10px}.method-context{border:1px solid var(--acc);background:var(--acc-soft);border-radius:14px;gap:3px;margin-bottom:12px;padding:11px 13px;display:grid}.method-context span{color:var(--acc-strong);font-size:11px;font-weight:750}.method-context b{font-size:14px}.method-context p{color:var(--muted);margin:0;font-size:11px}.method-lead,.example-card{border:1px solid var(--line);background:var(--card);border-radius:15px;padding:15px}.method-lead b{font-size:18px}.method-lead p,.example-card p{margin:7px 0 0}.example-card span{font-size:11px;font-weight:700}.bad-example{background:var(--bad-soft);border-color:#eccdca}.bad-example span{color:var(--bad)}.good-example{background:var(--ok-soft);border-color:#cfe3d8}.good-example span{color:var(--ok)}.method-steps{gap:8px;margin:0;padding-left:28px;display:grid}.method-steps li{background:var(--acc-soft);border-radius:10px;padding:8px 10px}.method-mistake,.micro-practice{margin-top:12px}.method-mistake b,.micro-practice span{color:var(--acc-strong);font-size:12px;font-weight:700}.method-mistake p,.micro-practice p{margin:4px 0 0}.micro-practice{border:1px dashed var(--acc);background:var(--card);border-radius:14px;padding:13px 14px}.quick-check{border:1px solid var(--acc);background:linear-gradient(145deg, var(--acc-soft), var(--card));border-radius:16px;gap:10px;margin-top:14px;padding:14px;display:grid}.quick-check-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.quick-check-head span{color:var(--acc-strong);font-size:13px;font-weight:800}.quick-check-head small,.quick-check-feedback span{color:var(--muted);font-size:11px}.quick-check-prompt{margin:0;font-weight:700;line-height:1.5}.quick-check-options,.quick-check-actions{gap:8px;display:grid}.quick-check-option{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);text-align:left;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:10px;padding:11px 12px;line-height:1.45;display:flex}.quick-check-option.selected{border-color:var(--acc)}.quick-check-option.correct{border-color:var(--ok);background:var(--ok-soft)}.quick-check-option.wrong{border-color:var(--bad);background:var(--bad-soft)}.quick-check-feedback{background:var(--bad-soft);border-radius:12px;gap:5px;padding:11px 12px;display:grid}.quick-check-feedback.correct{background:var(--ok-soft)}.quick-check-feedback b{color:var(--acc-strong)}.quick-check-feedback p{margin:0;line-height:1.5}.quick-check-actions{grid-template-columns:1fr 1fr;margin-top:4px}.compact-choices{gap:6px}.compact-choices button{padding:9px 12px}.listener-brief,.listener-context{border:1px solid var(--acc);background:var(--acc-soft);border-radius:14px;gap:4px;margin-top:12px;padding:12px 14px;display:grid}.listener-brief span,.listener-context span{color:var(--acc-strong);font-size:11px;font-weight:800}.listener-brief p,.listener-brief small,.listener-context b{color:var(--muted);margin:0;line-height:1.5}.listener-brief small{font-size:11px}.listener-context{margin-top:0;margin-bottom:12px}.listener-context b{color:var(--ink);font-size:13px}.task-prompt{border-left:3px solid var(--acc);background:var(--acc-soft);border-radius:0 12px 12px 0;margin-bottom:12px;padding:12px 14px}.task-prompt span{color:var(--acc-strong);font-size:11px;font-weight:700}.task-prompt p{margin:4px 0 0}.listener-replay,.point-results>div{border:1px solid var(--line);background:var(--card);border-radius:14px;margin-bottom:9px;padding:12px 14px}.listener-replay span,.point-results span{color:var(--muted);font-size:11px;display:block}.listener-replay p{margin:5px 0 0}.listener-replay small{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.45;display:block}.point-results b{margin-bottom:4px;display:block}.point-results .ok{background:var(--ok-soft)}.point-results .no{background:var(--bad-soft)}.history-button{margin-top:14px}.history-filters{gap:6px;padding-bottom:10px;display:flex;overflow-x:auto}.history-filters button{flex:none}.history-sheet{margin-top:4px}.transcript-card,.legacy-score{border:1px solid var(--line);background:var(--card);white-space:pre-wrap;border-radius:14px;padding:14px}.share-canvas{border:1px solid var(--line);background:var(--page);border-radius:16px;width:100%;height:auto;display:block}.share-privacy{margin:8px 2px}.share-text{background:var(--card);font-size:12px}.settings-list{border:1px solid var(--line);background:var(--card);border-radius:14px;overflow:hidden}.settings-list>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:11px 13px;display:flex}.settings-list>div:last-child{border-bottom:0}.settings-list span{color:var(--muted)}.settings-list b{font-size:13px}.settings-subsection{gap:8px;display:grid}.settings-label{color:var(--muted);margin:12px 0 8px;font-size:12px;display:block}.settings-companion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-companion-card{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--card);text-align:center;cursor:pointer;border-radius:18px;justify-items:center;gap:4px;padding:10px 8px 12px;transition:transform .14s,border-color .18s,background-color .18s;display:grid;position:relative}.settings-companion-card:active{transform:scale(.985)}.settings-companion-card.on{border-color:var(--acc);background:var(--acc-soft);box-shadow:0 7px 16px #6e52c41a}.settings-companion-card img{object-fit:contain;background:linear-gradient(145deg,#fff0f5,#ece9ff 60%,#e2f6ff);border-radius:22px;width:86px;height:86px}.settings-companion-card__name{font-size:15px;font-weight:750}.settings-companion-card small{color:var(--muted);font-size:11px}.settings-companion-card__check{color:var(--acc-strong);font-size:11px;font-weight:750}.settings-archive{gap:8px;display:grid}.settings-archive a{border:1px solid var(--line);color:var(--ink);background:var(--card);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;text-decoration:none;display:flex}.settings-archive span{gap:3px;display:grid}.settings-archive small{color:var(--muted);font-size:11px}.settings-archive strong{color:var(--acc-strong);font-size:12px}.settings-privacy-card{border:1px solid var(--line);background:var(--card);border-radius:16px;gap:6px;padding:14px;display:grid}.settings-privacy-card b{color:var(--acc-strong)}.settings-privacy-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.settings-notice{margin-top:12px}.settings-account{color:var(--acc-strong);text-align:center;margin-top:12px;line-height:46px;text-decoration:none}.settings-action{margin-bottom:8px}.btn.danger{color:var(--bad);background:var(--bad-soft);border-color:#ebc8c5}.settings-message{text-align:center}.detail-focus,.progress-focus{margin-top:14px}.companion-feedback-card{border:1px solid var(--acc);background:var(--acc-soft);border-radius:16px;gap:5px;margin-top:14px;padding:14px;display:grid}.companion-feedback-card span{color:var(--acc-strong);font-size:11px;font-weight:700}.companion-feedback-card b{line-height:1.45}.companion-feedback-card p{color:var(--muted);margin:0;font-size:12px}.legacy-score{text-align:center;margin-top:12px;font-weight:700}.tabbar button svg{width:22px;height:22px}.tabbar button.on{color:var(--acc-strong);font-weight:600}.homebar{background:var(--bar);z-index:2;flex-shrink:0;height:20px;position:relative}.homebar i{background:#40365394;border-radius:2px;width:110px;height:4px;margin:6px auto 0;display:block}.btn{border:1px solid var(--line);background:var(--card);width:100%;height:46px;color:var(--ink);cursor:pointer;font-size:var(--font-body);border-radius:23px;font-weight:600;transition:transform .14s,box-shadow .18s,background-color .18s,border-color .18s;display:block}.btn:active{transform:scale(.985)}.btn.main{background:linear-gradient(135deg, var(--acc-strong), var(--acc));color:#fff;border-color:#ffffff7a;box-shadow:0 9px 24px #6e52c43d}.btn.main:hover{background:linear-gradient(135deg, var(--acc-strong), var(--acc-strong));border-color:#fff9;box-shadow:0 11px 28px #6e52c44d}.dock{background:var(--bar);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 16px 12px;display:flex}.dock.empty{border:0;padding:0;display:none}.dock:not(.empty)+.tabbar{border-top:0}.hero{-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);background:linear-gradient(135deg,#ffe3ecdb,#ece5ffd6 52%,#dcf3ffd6);border:1px solid #ffffffb8;border-radius:16px;margin-bottom:18px;padding:16px;box-shadow:0 12px 30px #5b44911a,inset 0 1px #ffffffdb}.hero .tag{letter-spacing:.08em;color:var(--acc-strong);font-size:11px}.hero b{margin:8px 0 6px;font-size:20px;font-weight:650;display:block}.hero .muted,.muted{color:var(--muted);font-size:13px}.sec{font-size:var(--font-ui);margin:18px 0 8px;font-weight:650}.modes{gap:8px;display:flex}.modes button{border:1px solid var(--line);background:var(--card);cursor:pointer;height:72px;color:var(--ink);border-radius:14px;flex:1;transition:transform .14s,border-color .18s,background-color .18s}.modes button.on{border-color:var(--acc);background:var(--acc-soft)}.modes b{font-size:14px;display:block}.modes span{color:var(--muted);font-size:11px}.sheet{background:var(--card);-webkit-backdrop-filter:blur(16px)saturate(1.18);backdrop-filter:blur(16px)saturate(1.18);border:1px solid #ffffffb3;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px #5b449114}.cell{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;align-items:center;gap:10px;padding:12px 14px;transition:transform .14s,background-color .18s;display:flex}.cell:last-child{border-bottom:0}.cell.on{background:var(--acc-soft)}.av{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:650;display:flex}.av-zhou{color:#8c6547;background:#f3e1d1}.av-chen{color:#64754a;background:#e7eddb}.av-qie{color:#895d65;background:#f2e2e5}.cell .t{flex:1;min-width:0}.cell .t b{font-size:15px;display:block}.cell .t span{color:var(--muted);font-size:12px}.cell .use{color:var(--acc-strong);background:var(--acc-soft);border-radius:10px;padding:2px 8px;font-size:11px}.go{color:var(--acc-strong);flex-shrink:0;justify-items:end;gap:3px;font-size:13px;display:grid}.go small{color:var(--muted);font-size:10px}.badge{color:var(--acc-strong);font-size:13px;font-weight:650}.chips{gap:8px;padding:4px 0 12px;display:flex}.chips button{border:1px solid var(--line);background:var(--card);cursor:pointer;height:32px;color:var(--ink);border-radius:16px;padding:0 14px;font-size:13px;transition:transform .14s,border-color .18s,background-color .18s}.chips button.on{background:var(--acc-strong);color:#fff;border-color:var(--acc-strong)}.stats{gap:8px;display:flex}.stat{background:var(--card);text-align:center;-webkit-backdrop-filter:blur(14px)saturate(1.16);backdrop-filter:blur(14px)saturate(1.16);border:1px solid #ffffffb8;border-radius:14px;flex:1;padding:14px 0;box-shadow:0 8px 22px #5b449112}.stat-button{color:var(--ink);font:inherit;cursor:pointer}.stat-button:hover{border-color:var(--acc);transform:translateY(-1px)}.stat b{font-size:22px;display:block}.stat span{color:var(--muted);font-size:11px}.timer{border:2px solid var(--line);background:var(--card);border-radius:50%;justify-content:center;align-items:center;width:112px;height:112px;margin:16px auto;font-size:32px;font-weight:650;display:flex}textarea,input[type=text]{width:100%;font:inherit;font-size:var(--font-body);border:1px solid var(--line);min-height:44px;color:var(--ink);background:#ffffffeb;border-radius:12px;padding:12px}textarea:focus,input[type=text]:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px #876de01f}label{font-size:var(--font-caption);color:var(--muted);margin:12px 0 6px;display:block}.who{background:var(--card);border-radius:14px;align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.topic-box{background:var(--card);border-radius:14px;padding:12px 14px}.topic-box b{font-size:16px;display:block}.chat{flex-direction:column;gap:10px;margin:8px 0 14px;display:flex}.chat .msg{background:var(--card);border-radius:16px 16px 16px 4px;max-width:82%;padding:10px 12px;font-size:14px}.chat .me{background:linear-gradient(135deg,#ffe2eceb,#e7e6ffeb);border-radius:16px 16px 4px;margin-left:auto}.chat .msg b{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.score{color:var(--muted);align-items:baseline;gap:6px;margin:4px 0 14px;font-size:15px;display:flex}.score em{color:var(--ink);font-size:40px;font-style:normal;font-weight:700;line-height:1}.score i{color:var(--muted);font-size:16px;font-style:normal;font-weight:650}.hit{border-radius:10px;margin:6px 0;padding:6px 10px;font-size:13px}.hit b{font-weight:650;display:block}.feedback{color:inherit;opacity:.82;margin-top:2px;font-size:12px;display:block}.hit.ok{color:var(--ok);background:var(--ok-soft)}.hit.no{color:var(--bad);background:var(--bad-soft)}.fix{background:var(--card);border-radius:14px;margin-top:12px;padding:14px}.fix p{margin:6px 0 0}svg.spark{background:var(--card);border-radius:14px;width:100%;height:80px;margin:4px 0 12px}.export{margin-top:14px}.export:disabled{cursor:not-allowed;color:var(--muted);background:#ffffff8f}.export-hint{text-align:center;margin:6px 0}.splash{z-index:5;animation:page-enter .26s var(--ease-out) both;background:radial-gradient(circle at 12% 18%,#ffbbd394,#0000 32%),radial-gradient(circle at 88% 78%,#8bd3fa85,#0000 34%),linear-gradient(150deg,#fff3f7 0%,#eee8ff 54%,#e7f7ff 100%);flex-direction:column;padding:32px 24px 30px;display:flex;position:absolute;inset:0;overflow:hidden auto}.splash:before,.splash:after{color:#ffffffe0;text-shadow:0 4px 14px #7658be29;animation:4.5s ease-in-out infinite alternate sparkle-drift;position:absolute}.splash:before{content:"✦";font-size:24px;top:88px;right:42px}.splash:after{content:"✧";font-size:18px;animation-delay:-1.8s;top:210px;left:38px}.coach-companion{-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);background:linear-gradient(135deg,#ffeef5b8,#edeaffb8 55%,#e1f7ffb8);border:1px solid #ffffffb8;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 12px 30px #5b44911a,inset 0 1px #ffffffe0}.coach-companion:before,.coach-companion:after{z-index:0;color:#876de06b;pointer-events:none;position:absolute}.coach-companion:before{content:"✦";font-size:17px;bottom:14px;left:16px}.coach-companion:after{content:"○";font-size:20px;top:14px;right:16px}.coach-companion img{z-index:1;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 10px 14px #533e8329);width:auto;animation:4.2s ease-in-out infinite coach-float;display:block;position:absolute}.coach-bubble{z-index:2;max-width:178px;color:var(--ink);animation:bubble-pop .36s var(--ease-out) .16s both;background:#ffffffe6;border:1px solid #ffffffeb;border-radius:15px 15px 4px;padding:9px 12px;font-size:12px;font-weight:650;line-height:1.45;position:absolute;box-shadow:0 7px 20px #5b44911c}.coach-companion--splash{border-radius:28px;flex:1;min-height:300px;margin:10px 0 14px}.coach-companion--splash img{height:300px;bottom:-18px;right:10px}.coach-companion--splash .coach-bubble{max-width:135px;top:38px;left:16px}.growth-hero{min-height:174px;position:relative;overflow:hidden}.growth-hero-copy{z-index:2;width:58%;position:relative}.growth-hero .coach-companion{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border:0;border-radius:0;position:absolute;inset:0 0 0 54%}.growth-hero .coach-companion img{height:154px;bottom:-25px;right:-4px}.growth-hero .coach-bubble{max-width:114px;padding:7px 9px;font-size:10px;top:10px;right:4px}.coach-companion--result{min-height:112px;animation:card-enter .26s var(--ease-out) 80ms both;margin-bottom:14px}.coach-companion--result img{height:126px;bottom:-25px;right:8px}.coach-companion--result .coach-bubble{max-width:180px;top:28px;left:18px}.coach-companion--input{min-height:46px;box-shadow:none;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;margin:8px 0 12px;padding:2px 4px;display:flex;overflow:visible}.coach-companion--input:before,.coach-companion--input:after{display:none}.coach-companion--input img{z-index:1;object-position:bottom center;order:2;width:38px;height:48px;margin-left:-10px;position:relative;bottom:auto;right:auto}.coach-companion--input .coach-bubble{max-width:calc(100% - 48px);color:var(--muted);border-color:var(--line);background:var(--acc-soft);z-index:2;padding:8px 11px;font-size:11px;position:relative;top:auto;left:auto}.coach-companion--input.coach-companion--alert{border:1px solid color-mix(in srgb, var(--bad) 30%, white);background:color-mix(in srgb, var(--bad) 7%, white);min-height:58px;margin:10px 0 14px;padding:7px 8px;box-shadow:0 8px 22px #c45b6c14}.coach-companion--input.coach-companion--alert .coach-bubble{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 28%, white);background:color-mix(in srgb, var(--bad) 7%, white);font-size:12px}.progress-settings-link{border:1px solid var(--line);color:inherit;background:var(--card);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:14px 16px;text-decoration:none;display:flex}.progress-settings-link span{gap:3px;display:grid}.progress-settings-link small{color:var(--muted)}.progress-settings-link strong{color:var(--acc-strong);flex-shrink:0;font-size:12px}.coach-companion--settings{min-height:74px;margin-top:10px}.coach-companion--settings img{height:82px;bottom:-12px;right:10px}.coach-companion--settings .coach-bubble{max-width:calc(100% - 104px);top:12px;left:12px}.companion-notice{z-index:10;border:1px solid color-mix(in srgb, var(--acc-strong) 24%, white);background:color-mix(in srgb, var(--acc-soft) 72%, white);min-height:68px;animation:card-enter .26s var(--ease-out) both;border-radius:19px;align-items:center;gap:0;margin:0 0 14px;padding:6px 10px 6px 0;display:flex;position:relative;overflow:visible;box-shadow:0 10px 24px #5b44911f}.companion-notice img{z-index:2;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 8px 12px #533e8326);flex:none;width:58px;height:64px;margin-right:-7px;animation:4.2s ease-in-out infinite coach-float;position:relative}.companion-notice__bubble{z-index:1;border:1px solid color-mix(in srgb, var(--acc-strong) 20%, white);min-width:0;color:var(--ink);background:#ffffffeb;border-radius:15px 15px 15px 5px;flex:1;padding:9px 30px 9px 25px;position:relative;box-shadow:0 6px 16px #5b449114}.companion-notice__bubble span{color:var(--acc-strong);font-size:11px;font-weight:750;display:block}.companion-notice__bubble p{margin:3px 0 0;font-size:12px;font-weight:650;line-height:1.45}.companion-notice__close{z-index:3;width:22px;height:22px;color:var(--muted);background:#ffffffc7;border:0;border-radius:50%;place-items:center;padding:0;font-size:17px;line-height:1;display:grid;position:absolute;top:5px;right:5px}.companion-notice--warning{border-color:color-mix(in srgb, var(--bad) 28%, white);background:color-mix(in srgb, var(--bad) 8%, white)}.companion-notice--warning .companion-notice__bubble{border-color:color-mix(in srgb, var(--bad) 24%, white)}.companion-notice--warning .companion-notice__bubble span{color:var(--bad)}.companion-notice--success{border-color:color-mix(in srgb, var(--ok) 26%, white);background:color-mix(in srgb, var(--ok) 7%, white)}.companion-notice--success .companion-notice__bubble span{color:var(--ok)}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes dream-blob{0%{transform:translate(-7px,-5px)scale(.96)}to{transform:translate(8px,7px)scale(1.05)}}@keyframes coach-float{0%,to{transform:translateY(0)rotate(-.4deg)}50%{transform:translateY(-5px)rotate(.4deg)}}@keyframes bubble-pop{0%{opacity:0;transform:translateY(5px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sparkle-drift{0%{opacity:.48;transform:translateY(0)rotate(0)scale(.94)}to{opacity:.95;transform:translateY(-8px)rotate(9deg)scale(1.08)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.splash .mark{width:62px;height:62px;margin:0 0 4px}.splash .brand{z-index:2;margin:0;position:relative}.splash h2{letter-spacing:.04em;margin:0 0 7px;font-size:30px;font-weight:700}.splash .lead{margin:0 0 8px;font-size:15px}.splash>.btn{z-index:2;position:relative}.splash-skip{z-index:2;color:var(--acc-strong);cursor:pointer;background:0 0;border:0;margin:10px auto 0;font-size:12px;position:relative}.cold-start-head{z-index:2;color:var(--muted);gap:7px;margin-bottom:26px;font-size:12px;display:grid;position:relative}.cold-start-head b{color:var(--ink);font-size:15px}.cold-start-copy{z-index:2;margin-bottom:20px;position:relative}.cold-start-copy h2{margin:0 0 8px;font-size:26px;line-height:1.3}.cold-start-copy p{color:var(--muted);margin:0;font-size:14px}.cold-start-options,.cold-start-companions{z-index:2;gap:10px;margin-bottom:18px;display:grid;position:relative}.cold-start-options button,.cold-start-companions button{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#ffffffb8;border-radius:16px}.cold-start-options button{gap:3px;padding:14px;display:grid}.cold-start-options span{color:var(--muted);font-size:12px}.cold-start-options button.on,.cold-start-companions button.on{border-color:var(--acc);background:var(--acc-soft);box-shadow:0 0 0 2px #876de014}.cold-start-companions{grid-template-columns:1fr 1fr}.cold-start-companions button{justify-items:center;gap:6px;padding:10px 6px;font-size:12px;display:grid}.cold-start-companions img{object-fit:contain;background:var(--acc-soft);border-radius:18px;width:68px;height:68px}.cold-start-preview{z-index:2;border:1px solid var(--line);background:#ffffffb8;border-radius:16px;align-items:center;gap:10px;min-height:74px;margin-bottom:18px;padding:10px 12px;display:flex;position:relative}.cold-start-preview img{object-fit:contain;width:58px;height:58px}.cold-start-preview p{color:var(--muted);margin:0;font-size:12px}.cold-start-scenarios{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid;position:relative}.cold-start-scenarios button{white-space:nowrap;min-width:0}.custom-scenario-form{z-index:2;border:1px solid var(--acc);background:var(--acc-soft);border-radius:16px;gap:2px;margin:4px 0 10px;padding:12px;display:grid;position:relative}.custom-scenario-form label{margin-top:6px}.custom-scenario-form label:first-child{margin-top:0}.splash--step-3 .input-mode-toggle,.splash--step-3 .voice-input-card{z-index:2;position:relative}.splash--step-3 textarea{z-index:2;min-height:150px;margin-top:4px;position:relative}.splash--step-3 .expression-composer{flex-shrink:0}.splash--step-3 .input-meta,.splash--step-3 .form-error{z-index:2;position:relative}.splash--step-3>.btn{margin-top:14px}@media (width<=430px){.stage{background:var(--page);padding:0}.device{border:0;border-radius:0;width:100%;height:100dvh}.notch,.homebar{display:none}.hd{padding-top:env(safe-area-inset-top);height:calc(44px + env(safe-area-inset-top))}.tabbar{padding-bottom:env(safe-area-inset-bottom);height:calc(56px + env(safe-area-inset-bottom))}.page:not(:has(.tabbar)) .dock:not(.empty){padding-bottom:calc(12px + env(safe-area-inset-bottom))}}.companion-dock{z-index:8;pointer-events:none;position:absolute;bottom:74px;right:14px}.companion-sheet-backdrop{z-index:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;cursor:pointer;background:#2a224257;border:0;position:fixed;inset:0}.companion-launcher,.companion-sheet{pointer-events:auto}.companion-launcher{cursor:pointer;background:linear-gradient(145deg,#fffffff0,#ede4fff0);border:1px solid #ffffffdb;border-radius:50%;width:58px;height:58px;padding:4px;animation:3.6s ease-in-out infinite companion-float;position:relative;box-shadow:0 10px 24px #59408d38}.companion-launcher img{object-fit:contain;border-radius:50%;width:100%;height:100%}.companion-launcher__dot{background:#63bb8f;border:2px solid #fff;border-radius:50%;width:11px;height:11px;position:absolute;bottom:4px;right:1px}.companion-sheet{z-index:1;-webkit-backdrop-filter:blur(20px)saturate(1.2);backdrop-filter:blur(20px)saturate(1.2);background:#fffbfff2;border:1px solid #ffffffe6;border-radius:22px;flex-direction:column;width:min(342px,100vw - 28px);max-height:min(570px,100vh - 112px);display:flex;position:relative;overflow:hidden;box-shadow:0 18px 46px #4b39783d}.companion-sheet__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:12px 13px 10px;display:flex}.companion-sheet__identity{align-items:center;gap:8px;min-width:0;display:flex}.companion-sheet__identity img{object-fit:contain;flex-shrink:0;width:40px;height:40px}.companion-sheet__identity div{min-width:0;display:grid}.companion-sheet__identity strong,.companion-sheet__identity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.companion-sheet__identity span{color:var(--muted);font-size:11px}.companion-sheet__actions{flex-shrink:0;gap:2px;display:flex}.companion-sheet__actions button,.companion-suggestions button{color:var(--muted);cursor:pointer;background:0 0;border:0}.companion-sheet__actions button{padding:6px;font-size:12px}.companion-messages{min-height:130px;max-height:250px;padding:12px;overflow-y:auto}.companion-empty,.companion-typing{color:var(--muted);margin:0;font-size:13px}.companion-source{margin:0 0 8px;font-size:11px}.companion-source--cloud{color:var(--acc-strong)}.companion-source--fallback,.companion-source--pending{color:var(--muted)}.companion-message{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;width:fit-content;max-width:88%;margin:0 0 8px;padding:8px 10px;font-size:13px}.companion-message--companion{background:#efe9ffcc;border:1px solid #876de01f}.companion-message--user{background:#ffe2ebd1;margin-left:auto}.companion-suggestions{scrollbar-width:none;gap:6px;padding:0 12px 10px;display:flex;overflow-x:auto}.companion-suggestions::-webkit-scrollbar{display:none}.companion-suggestions button{border:1px solid var(--line);white-space:nowrap;background:#ffffffb3;border-radius:999px;flex:none;padding:6px 9px;font-size:11px}.companion-suggestions button:disabled,.companion-sheet__actions button:disabled{cursor:default;opacity:.5}.companion-composer{border-top:1px solid var(--line);gap:7px;padding:9px 10px 10px;display:flex}.companion-composer .voice-input-field--singleline input{border:1px solid var(--line);min-width:0;color:var(--ink);background:#ffffffbd;border-radius:12px;outline:none;flex:1;padding:8px 10px;font-size:13px}.companion-composer .voice-input-field--singleline input:focus{border-color:#876de08c;box-shadow:0 0 0 3px #876de01a}.companion-composer>button{color:#fff;background:var(--acc-strong);cursor:pointer;border:0;border-radius:12px;padding:0 11px;font-size:12px}.companion-composer>button:disabled{cursor:default;opacity:.45}.companion-voice-error{color:var(--bad);margin:0;padding:0 10px 8px;font-size:11px}@keyframes companion-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}
