/* 主正文字体：思源宋体 - 字节跳动 CDN（中国极速）*/
@import url('https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/lxgw-wenkai/1.300/style.min.css');
/* 等宽/数字字体：系统字体栈（无需加载，全球通用）*/
:root{
  --font-serif: 'LXGW WenKai', 'Noto Serif SC', 'Source Han Serif SC',
                'PingFang SC', 'Hiragino Mincho ProN', 'STSong',
                'Georgia', 'Times New Roman', serif;
  --font-mono: 'SF Mono', 'Cascadia Code', 'Consolas',
               'Liberation Mono', 'Menlo', 'Monaco', monospace;
}
:root{
  --ink:#1C1C1A;--paper:#F6F2EB;--sage:#3D6142;--sage-light:#EAF0E6;
  --sage-mid:#7A9E7E;--gold:#B08A2E;--gold-light:#F5EDD6;--mist:#8A877E;
  --warm:#FAF7F2;--red:#B03A2E;--red-light:#FAEAE8;--r:4px;--r-lg:8px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--font-serif);font-weight:300;min-height:100vh;line-height:1.7}
.screen{display:none;min-height:100vh;flex-direction:column}
.screen.active{display:flex}
#prog-bar{position:fixed;top:0;left:0;right:0;z-index:100;height:2px;background:var(--sage-light)}
#prog-fill{height:100%;background:var(--sage);transition:width .4s ease;width:0%}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:.5px solid rgba(61,97,66,.12);background:var(--paper);position:sticky;top:2px;z-index:90}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;letter-spacing:.1em;color:var(--sage)}
.logo em{font-style:italic;font-weight:300}
.header-tag{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mist)}
.container{width:100%;max-width:540px;margin:0 auto;padding:0 1.2rem}
.page-body{flex:1;padding:1.8rem 0 3.5rem}
.section-label{font-family:var(--font-mono);font-size:.6rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin-bottom:.6rem}
.display{font-family:'Cormorant Garamond',serif;font-size:2.3rem;font-weight:300;line-height:1.2;color:var(--ink);letter-spacing:-.01em;margin-bottom:.8rem}
.display em{font-style:italic;color:var(--sage)}
.headline{font-size:1.2rem;font-weight:400;line-height:1.4;color:var(--ink);margin-bottom:.7rem}
.body-text{font-size:.88rem;color:var(--ink);line-height:1.8;margin-bottom:.9rem}
.muted{color:var(--mist);font-size:.8rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.82rem 1.6rem;border-radius:var(--r);font-family:var(--font-serif);font-size:.86rem;font-weight:400;letter-spacing:.05em;cursor:pointer;border:none;transition:all .2s;touch-action:manipulation;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--sage);color:#fff}
.btn-primary:hover{background:#2E4A32}
.btn-primary:active{transform:scale(.98)}
.btn-secondary{background:transparent;border:.5px solid rgba(61,97,66,.35);color:var(--sage)}
.btn-secondary:hover{background:var(--sage-light)}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:#8A6A20}
.btn-outline{background:transparent;border:.5px solid var(--mist);color:var(--ink)}
.btn-outline:hover{border-color:var(--sage);color:var(--sage)}
.btn-full{width:100%}
.btn-sm{padding:.55rem 1.1rem;font-size:.78rem}
.btn:disabled{opacity:.35;cursor:not-allowed}
.card{background:var(--warm);border:.5px solid rgba(61,97,66,.1);border-radius:var(--r-lg);padding:1.3rem 1.1rem;margin-bottom:.9rem}
.card-accent{border-color:var(--sage);border-width:1.5px}
.card-gold{border-color:var(--gold);border-width:1.5px;background:var(--gold-light)}
.quote-block{border-left:2px solid var(--sage);padding:.75rem .9rem;margin:.9rem 0;background:var(--sage-light);border-radius:0 var(--r) var(--r) 0;font-family:'Cormorant Garamond',serif;font-size:.98rem;font-style:italic;color:var(--ink);line-height:1.6}
.highlight-box{background:var(--gold-light);border:.5px solid rgba(176,138,46,.25);border-radius:var(--r);padding:.85rem .95rem;margin:.9rem 0;font-size:.84rem;color:var(--ink);line-height:1.7}
.divider{border:none;border-top:.5px solid rgba(61,97,66,.12);margin:1.4rem 0}
.badge{display:inline-block;font-family:var(--font-mono);font-size:.58rem;font-weight:400;letter-spacing:.07em;padding:.18rem .65rem;border-radius:99px;text-transform:uppercase}
.badge-sage{background:var(--sage-light);color:var(--sage)}
.badge-gold{background:var(--gold-light);color:var(--gold)}
.badge-mist{background:rgba(138,135,126,.1);color:var(--mist)}
.form-group{margin-bottom:1.1rem}
.form-label{font-size:.78rem;color:var(--mist);margin-bottom:.4rem;display:block;font-family:var(--font-mono);letter-spacing:.05em}
.form-input{width:100%;padding:.72rem .95rem;background:var(--warm);border:.5px solid rgba(61,97,66,.2);border-radius:var(--r);font-family:var(--font-serif);font-size:.86rem;color:var(--ink);outline:none;transition:border-color .2s}
.form-input:focus{border-color:var(--sage)}
textarea.form-input{resize:vertical;min-height:90px}
.q-block{margin-bottom:1.6rem}
.q-text{font-size:.93rem;font-weight:400;color:var(--ink);margin-bottom:.85rem;line-height:1.6}
.q-num{font-family:var(--font-mono);font-size:.68rem;color:var(--mist);margin-right:.4rem}
.options-grid{display:flex;flex-direction:column;gap:.45rem}
.opt{padding:.82rem 1rem;border:.5px solid rgba(61,97,66,.18);border-radius:var(--r);font-size:.84rem;color:var(--ink);cursor:pointer;background:var(--warm);transition:all .15s;text-align:left;line-height:1.5;font-family:var(--font-serif)}
.opt:hover{background:var(--sage-light);border-color:var(--sage-mid)}
.opt.selected{background:var(--sage-light);border-color:var(--sage);border-width:1px;color:var(--sage)}
.step-bar{display:flex;align-items:center;gap:.35rem;padding:.7rem 1.2rem;background:var(--warm);border-bottom:.5px solid rgba(61,97,66,.08);overflow-x:auto;scrollbar-width:none}
.step-bar::-webkit-scrollbar{display:none}
.step-item{display:flex;align-items:center;gap:.28rem;flex-shrink:0}
.sdot{width:5px;height:5px;border-radius:50%;background:rgba(61,97,66,.18)}
.sdot.done{background:var(--gold)}
.sdot.active{background:var(--sage);transform:scale(1.4)}
.sname{font-family:var(--font-mono);font-size:.58rem;color:var(--mist);letter-spacing:.05em;text-transform:uppercase}
.sname.active{color:var(--sage)}
.sarr{font-size:.5rem;color:var(--mist);opacity:.35;flex-shrink:0}
.math-display{text-align:center;margin-bottom:1.1rem}
.math-eq{font-family:'Cormorant Garamond',serif;font-size:2.7rem;font-weight:300;color:var(--ink);letter-spacing:-.02em;margin-bottom:.25rem}
.math-timer{font-family:var(--font-mono);font-size:.9rem;color:var(--mist)}
.math-timer span{font-size:1.35rem;color:var(--ink);font-weight:300}
.math-score{font-family:var(--font-mono);font-size:.7rem;color:var(--mist);margin-top:.2rem}
.math-opts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.55rem;margin-top:.9rem}
.math-opt{padding:.9rem;border:.5px solid rgba(61,97,66,.18);border-radius:var(--r);font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:300;text-align:center;cursor:pointer;background:var(--warm);transition:all .12s;touch-action:manipulation;color:var(--ink)}
.math-opt:hover{background:var(--sage-light);border-color:var(--sage-mid)}
.math-opt:active{transform:scale(.96)}
.math-opt.correct{background:var(--sage-light);border-color:var(--sage);color:var(--sage)}
.math-opt.wrong{background:var(--red-light);border-color:var(--red);color:var(--red)}
.math-note{font-size:.7rem;font-family:var(--font-mono);color:var(--mist);text-align:center;margin-bottom:.7rem;letter-spacing:.04em}
.rating-group{margin-bottom:1rem}
.rating-label{font-size:.82rem;color:var(--ink);margin-bottom:.45rem;display:block}
.rating-scale{display:flex;gap:.28rem}
.rtn{flex:1;padding:.45rem .1rem;border:.5px solid rgba(61,97,66,.18);border-radius:3px;font-family:var(--font-mono);font-size:.72rem;text-align:center;cursor:pointer;background:var(--warm);transition:all .12s;color:var(--mist)}
.rtn:hover{background:var(--sage-light)}
.rtn.selected{background:var(--sage);color:#fff;border-color:var(--sage)}
.rating-ends{display:flex;justify-content:space-between;margin-top:.28rem}
.rend{font-size:.62rem;font-family:var(--font-mono);color:var(--mist)}
.metric-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.55rem;margin:.7rem 0}
.metric-card{background:var(--warm);border:.5px solid rgba(61,97,66,.1);border-radius:var(--r);padding:.75rem .45rem;text-align:center}
.metric-val{font-family:var(--font-mono);font-size:1.25rem;color:var(--ink)}
.metric-val.pos{color:var(--sage)}
.metric-val.neg{color:var(--red)}
.metric-label{font-size:.58rem;font-family:var(--font-mono);color:var(--mist);margin-top:.15rem;text-transform:uppercase;letter-spacing:.05em}
.type-card{border-radius:var(--r-lg);padding:1.1rem;margin:.9rem 0;border-width:1.5px;border-style:solid}
.type-A{background:#FDF3E8;border-color:#C4842A;color:#7A4F10}
.type-B{background:#F0EDF8;border-color:#6B5DA8;color:#3D3366}
.type-C{background:var(--sage-light);border-color:var(--sage);color:#2A4A2E}
.type-D{background:#E8F4F8;border-color:#2A7A9F;color:#1A4A62}
.type-name{font-size:1rem;font-weight:500;margin-bottom:.35rem}
.type-desc{font-size:.82rem;line-height:1.65}
.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--r-lg);background:var(--ink);margin:.75rem 0}
.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.feature-list{list-style:none;margin:.7rem 0}
.feature-list li{display:flex;gap:.65rem;align-items:flex-start;padding:.45rem 0;border-bottom:.5px solid rgba(61,97,66,.07);font-size:.86rem;color:var(--ink);line-height:1.55}
.feature-list li:last-child{border-bottom:none}
.fi{color:var(--sage);flex-shrink:0}
.next-options{display:flex;flex-direction:column;gap:.75rem;margin-top:.9rem}
.next-opt{padding:1rem 1.1rem;border-radius:var(--r-lg);border:.5px solid rgba(61,97,66,.18);background:var(--warm);cursor:pointer;transition:all .15s;text-decoration:none;display:block}
.next-opt:hover{border-color:var(--sage);background:var(--sage-light)}
.next-opt-title{font-size:.9rem;font-weight:500;color:var(--ink);margin-bottom:.18rem}
.next-opt-desc{font-size:.76rem;color:var(--mist);line-height:1.5}
.day-tracker{display:flex;gap:.4rem;margin:.8rem 0;flex-wrap:wrap}
.day-chip{width:40px;height:40px;border-radius:50%;border:.5px solid rgba(61,97,66,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.6rem;color:var(--mist);background:var(--warm);cursor:pointer;transition:all .2s}
.day-chip.done{background:var(--sage);border-color:var(--sage);color:#fff}
.day-chip.active{background:var(--sage-light);border-color:var(--sage);color:var(--sage);border-width:1.5px}
.day-chip.locked{opacity:.35;cursor:not-allowed}
.day-chip.star{border-color:var(--gold)}
.day-chip.star.done{background:var(--gold);border-color:var(--gold)}
.theme-card{border-radius:var(--r-lg);padding:1.1rem;margin:.8rem 0;border-width:1.5px;border-style:solid}
.th0{background:#F0EDF8;border-color:#6B5DA8;color:#3D3366}
.th1{background:var(--sage-light);border-color:var(--sage);color:#2A4A2E}
.th2{background:#E8F4F8;border-color:#2A7A9F;color:#1A4A62}
.th3{background:#FDF3E8;border-color:#C4842A;color:#7A4F10}
.th4{background:#F5EDF8;border-color:#8B5FA8;color:#4A2A66}
.th5{background:#E8F8F0;border-color:#2A9F6A;color:#1A4A35}
.th6{background:var(--gold-light);border-color:var(--gold);color:#5A3A10}
.theme-name{font-size:1rem;font-weight:500;margin-bottom:.3rem}
.theme-desc{font-size:.82rem;line-height:1.65}
.streak-row{display:flex;align-items:center;gap:.5rem;padding:.65rem .9rem;background:var(--sage-light);border-radius:var(--r);margin:.6rem 0}
.streak-num{font-family:var(--font-mono);font-size:1.35rem;color:var(--sage)}
.streak-label{font-size:.78rem;color:var(--sage)}
.ftab-row{display:flex;gap:.4rem;margin-bottom:1rem}
.ftab{flex:1;padding:.58rem;border:.5px solid rgba(61,97,66,.2);border-radius:var(--r);font-size:.8rem;text-align:center;cursor:pointer;background:var(--warm);color:var(--mist);font-family:var(--font-serif);transition:all .15s}
.ftab.active{background:var(--sage);color:#fff;border-color:var(--sage)}
.chart-bar-wrap{margin:.8rem 0}
.chart-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.45rem}
.chart-day-lbl{font-family:var(--font-mono);font-size:.6rem;color:var(--mist);width:26px;flex-shrink:0;text-align:right}
.chart-bar-bg{flex:1;height:20px;background:rgba(61,97,66,.08);border-radius:2px;overflow:hidden;position:relative}
.chart-bar-fill{height:100%;background:var(--sage);border-radius:2px;transition:width .6s ease;min-width:2px}
.chart-bar-val{font-family:var(--font-mono);font-size:.6rem;color:var(--mist);width:24px;flex-shrink:0}
.hero{padding:2.5rem 0 1.8rem;position:relative}
.hero-deco{font-family:'Cormorant Garamond',serif;font-size:5.5rem;font-weight:300;color:rgba(61,97,66,.05);position:absolute;top:0;right:-1rem;line-height:1;pointer-events:none;user-select:none}
.flow-steps{display:flex;flex-direction:column;gap:.35rem;margin:.8rem 0}
.flow-step{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;background:var(--warm);border-radius:var(--r);border:.5px solid rgba(61,97,66,.1)}
.flow-num{width:22px;height:22px;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.62rem;flex-shrink:0}
.flow-text{font-size:.82rem;color:var(--ink);line-height:1.4}
.flow-time{font-family:var(--font-mono);font-size:.6rem;color:var(--mist);margin-left:auto;flex-shrink:0}
.flow-arr{text-align:center;color:var(--sage-mid);font-size:.65rem;padding:.06rem 0}
.page-footer{padding:1.3rem;text-align:center;font-family:var(--font-mono);font-size:.6rem;color:var(--mist);letter-spacing:.05em;border-top:.5px solid rgba(61,97,66,.08)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.fade-up{animation:fadeUp .35s ease forwards}

.home-nav{display:flex;flex-direction:column;gap:.55rem;margin:1rem 0}
.home-nav-card{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;background:var(--warm);border:.5px solid rgba(61,97,66,.15);border-radius:var(--r-lg);cursor:pointer;transition:all .15s;text-decoration:none}
.home-nav-card:hover{border-color:var(--sage-mid);background:var(--sage-light)}
.home-nav-card.gold{border-color:rgba(176,138,46,.3);background:var(--gold-light)}
.home-nav-card.gold:hover{border-color:var(--gold)}
.home-nav-icon{font-size:1.6rem;flex-shrink:0;width:36px;text-align:center}
.home-nav-body{flex:1;min-width:0}
.home-nav-title{font-size:.88rem;font-weight:400;color:var(--ink);line-height:1.3}
.home-nav-sub{font-family:var(--font-mono);font-size:.62rem;color:var(--mist);margin-top:.2rem;letter-spacing:.03em}
.home-nav-arr{color:var(--sage-mid);font-size:.9rem;flex-shrink:0}
.btn-home{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .85rem;border-radius:var(--r);border:.5px solid rgba(61,97,66,.2);background:var(--warm);color:var(--mist);font-size:.72rem;font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;transition:all .15s;text-transform:uppercase}
.btn-home:hover{border-color:var(--sage-mid);color:var(--sage)}
.practice-prompt{display:flex;align-items:center;gap:.8rem;margin:.9rem 0;padding:1rem 1.1rem;background:var(--ink);border-radius:var(--r-lg);box-shadow:0 2px 16px rgba(30,45,30,.18)}
.practice-prompt-icon{font-size:1.6rem;flex-shrink:0}
.practice-prompt-text{font-size:1.05rem;font-weight:500;color:#fff;line-height:1.5;letter-spacing:.04em;font-family:var(--font-serif)}
.timer-zone{margin:1rem 0;padding:1.1rem 1rem;background:var(--sage-light);border:.5px solid var(--sage-mid);border-radius:var(--r-lg);text-align:center}
.timer-remind{font-size:.88rem;color:var(--sage);font-weight:400;line-height:1.6;margin-bottom:.9rem;font-family:var(--font-serif)}
.timer-remind strong{color:var(--ink)}
.timer-face{font-family:var(--font-mono);font-size:2.8rem;font-weight:300;color:var(--sage);letter-spacing:.08em;line-height:1;margin-bottom:.55rem;transition:color .3s}
.timer-face.done{color:var(--gold)}
.timer-face.urgent{color:var(--red)}
.timer-bar-bg{height:5px;background:rgba(61,97,66,.12);border-radius:3px;overflow:hidden;margin-bottom:.75rem}
.timer-bar-fill{height:100%;background:var(--sage);border-radius:3px;transition:width 1s linear}
.timer-row{display:flex;gap:.5rem;justify-content:center}
.tbtn{padding:.52rem 1.1rem;border-radius:var(--r);border:.5px solid;font-size:.78rem;cursor:pointer;font-family:var(--font-serif);transition:all .15s}
.tbtn-start{border-color:var(--sage-mid);color:var(--sage);background:var(--sage-light)}
.tbtn-pause{border-color:var(--gold);color:var(--gold);background:var(--gold-light)}
.tbtn-reset{border-color:rgba(61,97,66,.2);color:var(--mist);background:var(--warm)}
.tbtn:hover{opacity:.8}
.voice-zone{background:var(--warm);border:.5px solid rgba(61,97,66,.18);border-radius:var(--r-lg);padding:1rem;margin-bottom:.7rem}
.voice-btn{width:60px;height:60px;border-radius:50%;border:.5px solid rgba(61,97,66,.25);background:var(--sage-light);display:flex;align-items:center;justify-content:center;cursor:pointer;margin:0 auto .65rem;transition:all .2s;font-size:1.55rem;user-select:none;-webkit-user-select:none}
.voice-btn.recording{background:var(--red-light);border-color:var(--red);animation:vbPulse 1.1s ease-in-out infinite}
.voice-btn.done{background:var(--sage-light);border-color:var(--sage)}
@keyframes vbPulse{0%,100%{box-shadow:0 0 0 0 rgba(176,58,46,.2)}50%{box-shadow:0 0 0 9px rgba(176,58,46,0)}}
.voice-status-lbl{text-align:center;font-size:.75rem;font-family:var(--font-mono);letter-spacing:.05em;color:var(--mist);margin-bottom:.6rem}
.voice-status-lbl.rec{color:var(--red)}
.voice-status-lbl.ok{color:var(--sage)}
.voice-transcript{min-height:58px;padding:.6rem .75rem;background:var(--paper);border:.5px solid rgba(61,97,66,.12);border-radius:var(--r);font-size:.83rem;color:var(--ink);line-height:1.7;margin-bottom:.55rem}
.voice-hint{font-size:.7rem;color:var(--mist);text-align:center;font-family:var(--font-mono);letter-spacing:.04em}
.voice-actions-row{display:flex;gap:.4rem;justify-content:center;margin-bottom:.5rem}
.vbtn{padding:.42rem .9rem;border-radius:var(--r);border:.5px solid;font-size:.75rem;cursor:pointer;font-family:var(--font-serif);transition:all .15s}
.vbtn-start{border-color:var(--sage-mid);color:var(--sage);background:var(--sage-light)}
.vbtn-stop{border-color:var(--red);color:var(--red);background:var(--red-light)}
.vbtn-reset{border-color:rgba(61,97,66,.2);color:var(--mist);background:var(--warm)}
.vbtn:hover{opacity:.8}
.voice-extra-lbl{font-size:.72rem;color:var(--mist);font-family:var(--font-mono);letter-spacing:.05em;margin-bottom:.3rem;display:block}
.voice-compat{display:none;padding:.55rem .7rem;background:var(--gold-light);border:.5px solid rgba(176,138,46,.3);border-radius:var(--r);font-size:.72rem;color:#7A4F10;margin-bottom:.65rem;line-height:1.5}
.test-pick-row{display:flex;gap:.7rem;margin:1rem 0}
.test-pick{flex:1;padding:1rem .75rem;border:.5px solid rgba(61,97,66,.18);border-radius:var(--r-lg);cursor:pointer;text-align:center;background:var(--warm);transition:all .15s;-webkit-tap-highlight-color:transparent}
.test-pick:hover{border-color:var(--sage-mid);background:var(--sage-light)}
.test-pick.selected{border-color:var(--sage);background:var(--sage-light);box-shadow:0 0 0 1.5px var(--sage)}
.test-pick-icon{font-size:1.7rem;margin-bottom:.4rem}
.test-pick-title{font-size:.85rem;font-weight:500;color:var(--ink);margin-bottom:.25rem}
.test-pick-sub{font-family:var(--font-mono);font-size:.62rem;color:var(--mist);letter-spacing:.03em;line-height:1.5}
.s7-wrap{text-align:center;padding:.5rem 0}
.s7-seed{font-family:var(--font-mono);font-size:3rem;font-weight:300;color:var(--sage);letter-spacing:.08em;margin-bottom:.25rem;line-height:1}
.s7-sub{font-size:.78rem;color:var(--mist);margin-bottom:.8rem;line-height:1.5}
.s7-timer{font-family:var(--font-mono);font-size:1.5rem;color:var(--ink);margin-bottom:.2rem}
.s7-timer.warmup{color:var(--gold)}
.s7-score-row{display:flex;justify-content:center;gap:1.2rem;margin-bottom:.8rem}
.s7-score-item{text-align:center}
.s7-score-val{font-family:var(--font-mono);font-size:1.1rem;font-weight:500;color:var(--ink)}
.s7-score-lbl{font-size:.6rem;color:var(--mist);letter-spacing:.06em;text-transform:uppercase}
.s7-mic{width:68px;height:68px;border-radius:50%;border:.5px solid rgba(61,97,66,.25);background:var(--sage-light);display:flex;align-items:center;justify-content:center;cursor:pointer;margin:0 auto .6rem;font-size:1.7rem;transition:all .2s;user-select:none;-webkit-user-select:none}
.s7-mic.rec{background:var(--red-light);border-color:var(--red);animation:vbPulse 1.1s ease-in-out infinite}
.s7-mic.warmup-rec{background:var(--gold-light);border-color:var(--gold);animation:vbPulse 1.1s ease-in-out infinite}
.s7-mic.done{background:var(--sage-light);border-color:var(--sage)}
.s7-status{font-size:.75rem;font-family:var(--font-mono);color:var(--mist);margin-bottom:.7rem;min-height:1.2em}
.s7-status.rec{color:var(--red)}
.s7-status.warmup{color:var(--gold)}
.s7-stream{background:var(--paper);border:.5px solid rgba(61,97,66,.1);border-radius:var(--r);padding:.6rem .75rem;min-height:52px;font-size:.88rem;color:var(--ink);line-height:2;text-align:left;margin-bottom:.45rem;font-family:var(--font-mono);letter-spacing:.04em;max-height:140px;overflow-y:auto;word-break:break-all}
.s7-num{display:inline-block;padding:0 .15em}
.s7-result-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin:.8rem 0}
.s7-result-card{background:var(--warm);border:.5px solid rgba(61,97,66,.15);border-radius:var(--r);padding:.6rem .4rem;text-align:center}
.s7-result-val{font-family:var(--font-mono);font-size:1.3rem;font-weight:500;color:var(--sage)}
.s7-result-val.red{color:var(--red)}
.s7-result-lbl{font-size:.62rem;color:var(--mist);letter-spacing:.04em;margin-top:.15rem}
.s7-hint{font-size:.68rem;color:var(--mist);text-align:center;font-family:var(--font-mono);line-height:1.6}
.s7-recv{font-family:var(--font-mono);font-size:.72rem;color:var(--sage);letter-spacing:.04em;margin-bottom:.6rem;min-height:1.2em}
.s7-badge{display:inline-block;padding:.15rem .5rem;background:var(--sage-light);border:.5px solid var(--sage-mid);border-radius:20px;font-size:.65rem;color:var(--sage);font-family:var(--font-mono);letter-spacing:.04em;margin-bottom:.6rem}
