/* 喜音 · 全站样式（调性来自 design-demos/dir-1.html） */
:root{
  --content-max:1480px;
  --body:#FFFFFF; --panel:#FFFDF9; --panel2:#F0EBE1; --panel3:#E7E0D3;
  --ink:#171513; --ink2:#514A40; --ink3:#70685C; --line:#D9D0C0; --line2:#E8E1D6;
  --signal:#FF5A1F; --signal-d:#E2480F; --signal-soft:#FFFFFF;
  --ok:#1A7F45; --ok-soft:#DDF3E5; --warn:#8D681F; --warn-soft:#F6E9C9;
  --screen:#151617;
  --r-lg:22px; --r-md:14px; --r-sm:10px;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --sans:Inter,'PingFang SC','Microsoft YaHei','Noto Sans SC',sans-serif;
  --shadow:0 1px 0 #fff inset,0 30px 60px -30px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--body);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
button:disabled{cursor:not-allowed}
a{color:inherit;text-decoration:none}
img,svg{display:block}
:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.wrap{max-width:var(--content-max);margin:0 auto;padding:0 32px}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--ink2)}
.muted{color:var(--ink2)}
.small{font-size:14px}
.hide{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- buttons ---------- */
.btn{height:44px;padding:0 20px;border-radius:999px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}
.btn:active:not(:disabled){transform:scale(.96)}
.btn-sm{height:36px;padding:0 14px;font-size:13px}
.btn-lg{height:52px;padding:0 28px;font-size:15px}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000}
.btn-line{box-shadow:inset 0 0 0 1px var(--ink)}.btn-line:hover{background:var(--panel)}
.btn-soft{background:var(--panel2)}.btn-soft:hover{background:var(--panel3)}
.btn-signal{background:var(--signal);color:var(--ink)}.btn-signal:hover{background:var(--signal-d)}
.btn:disabled{background:var(--line);color:var(--ink2);box-shadow:none}
.btn-block{width:100%}
.link{text-decoration:underline;text-underline-offset:3px}
.link:hover{color:var(--signal-d)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:40;background:rgba(228,229,231,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;height:64px;gap:36px;position:relative}
.logo{display:flex;align-items:center;gap:4px;font-weight:700;font-size:18px;flex:none}
.logo img{width:42px;height:42px;flex:none}
.logo:hover,.logo:focus-visible{text-decoration:none}
.nav-links{display:flex;gap:26px;font-size:14px;color:var(--ink2);margin-inline:auto}
@media (min-width:1280px){.nav-links{position:absolute;left:50%;transform:translateX(-50%);margin-inline:0}}
.nav-links a{position:relative;padding:20px 0}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--ink);text-decoration:none}
.nav-links a.on{color:var(--ink);font-weight:600}
.nav-links a.on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink)}
.nav-r{margin-left:auto;display:flex;gap:10px;align-items:center}
.nav .btn{height:38px;padding:0 18px}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:600;font-size:14px}
.burger{display:none;width:44px;height:44px;border-radius:50%;place-items:center}
.burger span{width:18px;height:2px;background:var(--ink);position:relative;display:block}
.burger span:before,.burger span:after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink)}
.burger span:before{top:-6px}.burger span:after{top:6px}
.drawer{position:absolute;top:64px;left:0;right:0;height:calc(100vh - 64px);background:var(--body);z-index:39;padding:20px;display:none;flex-direction:column;gap:4px;overflow:auto}
.drawer.show{display:flex}
.drawer a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:17px}

/* ---------- panel / cards ---------- */
.panel{background:var(--panel);border-radius:var(--r-lg);padding:24px}
.panel-sm{border-radius:var(--r-md);padding:16px}
.panel.raised{box-shadow:var(--shadow)}
.screen{background:var(--screen);border-radius:var(--r-md);padding:12px 16px;color:#9EA1A6}
.screen canvas{width:100%;height:64px;display:block}
.screen .read{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:12px}
.screen .read b{color:#fff;font-weight:500}
.led{width:9px;height:9px;border-radius:50%;background:#C9CACC;transition:background .2s,box-shadow .2s;display:inline-block;flex:none}
.led.on{background:var(--signal);box-shadow:0 0 0 4px rgba(255,90,31,.2)}

/* chips & options */
.chips{display:flex;gap:6px;flex-wrap:wrap}
.vc{min-height:40px;padding:0 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);font-size:14px;display:inline-flex;align-items:center;gap:8px;background:var(--panel);transition:box-shadow .12s,background .12s,color .12s}
.vc em{font-style:normal;color:var(--ink2);font-size:13px}
.vc:hover{box-shadow:inset 0 0 0 1px var(--ink3)}
.vc.on{box-shadow:inset 0 0 0 2px var(--ink)}
.vc.dark.on{background:var(--ink);color:#fff;box-shadow:none}
.vc.dark.on em{color:#C2C4C8}
.tag{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--panel2);color:var(--ink2);white-space:nowrap}
.tag.signal{background:var(--signal-soft);color:#8A2E07}
.tag.ok{background:var(--ok-soft);color:var(--ok)}
.tag.warn{background:var(--warn-soft);color:var(--warn)}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.opt{border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line);padding:14px 16px;text-align:left;min-height:68px;transition:box-shadow .15s,background .15s,color .15s;background:var(--panel)}
.opt b{display:block;font-size:15px}
.opt span{font-size:13px;color:var(--ink2)}
.opt:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.opt.on{background:var(--ink);color:#fff;box-shadow:none}
.opt.on span{color:#C2C4C8}

/* markets keyboard */
.markets{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.mk{background:var(--panel2);border-radius:12px;padding:9px 4px 7px;text-align:center;font-size:14px;font-weight:600;min-height:54px;transition:box-shadow .15s,background .15s,color .15s;box-shadow:inset 0 0 0 1px transparent}
.mk span{display:block;font-family:var(--mono);font-size:12px;font-weight:400;color:var(--ink2)}
.mk:hover{box-shadow:inset 0 0 0 1px var(--line)}
.mk.on{background:var(--ink);color:#fff}.mk.on span{color:#B9BBBF}

/* play buttons */
.play-xl{width:72px;height:72px;border-radius:50%;background:var(--signal);display:grid;place-items:center;transition:transform .1s,background .15s;flex:none}
.play-xl:hover{background:var(--signal-d)}
.play-xl:active{transform:scale(.96)}
.play-xl svg{width:26px;height:26px;fill:var(--ink)}
.pb{width:42px;height:42px;border-radius:50%;background:var(--ink);display:grid;place-items:center;flex:none;transition:background .15s}
.pb svg{width:15px;height:15px;fill:#fff}
.pb:hover{background:var(--signal)}
.pb.on{background:var(--signal)}.pb.on svg{fill:var(--ink)}
.ib{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--ink2);flex:none;transition:background .15s,color .15s}
.ib:hover{background:var(--panel2);color:var(--ink)}
.ib svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.ib.on{color:var(--signal-d)}.ib.on svg{fill:var(--signal);stroke:var(--signal)}

/* icon swap enter (scale .25→1, opacity 0→1, blur 4→0) */
.play-xl svg,.pb svg{animation:icon-in .18s cubic-bezier(.2,0,0,1)}
@keyframes icon-in{from{opacity:0;transform:scale(.25);filter:blur(4px)}}

/* mini waveform */
.wf{display:flex;align-items:center;gap:2px;height:32px}
.wf i{flex:1;background:#C7C8CB;border-radius:1px;transition:background .1s}
.wf i.p{background:var(--signal)}

/* ---------- forms ---------- */
.field{display:flex;flex-direction:column;gap:6px}
.field > label,.label{font-size:13px;color:var(--ink2)}
.input,select.input,textarea.input{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;padding:10px 14px;outline:none;transition:border-color .15s}
textarea.input{resize:vertical;line-height:1.65}
.input:focus{border-color:var(--ink)}
.input.err{border-color:#C62828}
.err-msg{font-size:13px;color:#B3261E}
input[type=range]{width:100%;accent-color:var(--ink)}
.knob label{display:flex;justify-content:space-between;font-size:13px;color:var(--ink2);margin-bottom:4px}
.check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;min-height:36px}
.check input{width:18px;height:18px;accent-color:var(--ink)}
.seg{display:inline-flex;background:var(--panel2);border-radius:999px;padding:4px;gap:2px}
.seg button{height:36px;padding:0 16px;border-radius:999px;font-size:14px;color:var(--ink2)}
.seg button.on{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}

/* ---------- sections ---------- */
.page-head{padding:56px 32px 36px 32px}
.page-head h1{font-size:48px;line-height:1.1;letter-spacing:-.02em}
.page-head p{color:var(--ink2);font-size:17px;margin-top:12px;max-width:620px}
.page-head .ph-row{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.crumb{font-size:13px;color:var(--ink2);margin-bottom:14px;display:flex;gap:8px}
.crumb a:hover{color:var(--ink)}
section.sec{padding:96px 0;border-top:1px solid var(--line)}
.sh{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:24px}
h2{font-size:40px;line-height:1.15;letter-spacing:-.015em}
h3{font-size:22px;line-height:1.3}
.sh p{color:var(--ink2);max-width:440px}

/* stepper (sequence) */
.stepper{display:flex;gap:6px;margin-bottom:24px;flex-wrap:wrap}
.stp{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px 0 8px;border-radius:999px;background:var(--panel);font-size:14px;color:var(--ink2)}
.stp i{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;font-style:normal;font-family:var(--mono);font-size:12px}
.stp.on{color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 2px var(--ink)}
.stp.on i{background:var(--ink);color:#fff;box-shadow:none}
.stp.done{color:var(--ink)}
.stp.done i{background:var(--signal);color:var(--ink);box-shadow:none}

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-weight:700;color:var(--ink);font-size:13px;padding:12px 14px;border-bottom:1px solid var(--line)}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--line2);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl .sku{font-family:var(--mono);font-size:13px}
.prog{width:100%;height:6px;background:var(--panel2);border-radius:3px;overflow:hidden}
.prog i{display:block;height:100%;width:0;background:var(--ink);border-radius:3px;transition:width .4s ease}
.prog.signal i{background:var(--signal)}

/* voice card (home grid) */
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.vcard{background:var(--panel);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,box-shadow .2s}
.vcard:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(23,21,19,.09)}
.vcard-top{display:flex;justify-content:space-between;align-items:center}
.vcard h4{font-size:18px}
.vcard h4 a:hover{text-decoration:underline}
.vcard .meta{font-size:13px;color:var(--ink2)}
.vcard.playing .wf i{background:var(--signal)}

/* plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plan{background:var(--panel);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:6px;transition:transform .2s,box-shadow .2s}
.plan:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(23,21,19,.09)}
.plan.hl:hover{box-shadow:inset 0 0 0 2px var(--ink),0 14px 32px rgba(23,21,19,.09)}
.plan.hl{box-shadow:inset 0 0 0 2px var(--ink)}
.plan .price{font-size:44px;font-weight:700;letter-spacing:-.02em;margin:8px 0}
.plan .price small{font-size:15px;font-weight:400;color:var(--ink2)}
.plan ul{list-style:none;margin:14px 0 24px;display:flex;flex-direction:column;gap:9px;font-size:14px}
.plan li{display:flex;gap:10px;align-items:center}
.plan li:before{content:"";width:14px;height:14px;border-radius:50%;border:4px solid var(--ink);flex:none}
.plan li.no{color:var(--ink3);text-decoration:line-through}
.plan li.no:before{border-color:var(--line)}
.plan .btn{margin-top:auto}

/* accordion */
.acc{background:var(--panel);border-radius:var(--r-md)}
.acc + .acc{margin-top:8px}
.acc summary{list-style:none;cursor:pointer;padding:18px 20px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:16px}
.acc summary::-webkit-details-marker{display:none}
.acc summary:after{content:"";width:10px;height:10px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);transition:transform .2s;flex:none;margin-top:-4px}
.acc[open] summary:after{transform:rotate(-135deg);margin-top:4px}
.acc .acc-b{padding:0 20px 20px;color:var(--ink2)}

/* modal */
.mask{position:fixed;inset:0;background:rgba(20,20,20,.45);z-index:60;display:none;align-items:center;justify-content:center;padding:20px}
.mask.show{display:flex}
.mask .modal{background:var(--panel);border-radius:var(--r-lg);width:620px;max-width:100%;max-height:calc(100vh - 40px);overflow:auto;padding:28px;animation:pop .22s cubic-bezier(.2,.8,.2,1)}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}}
.mask.closing .modal{animation:pop-out .16s ease-out both}
@keyframes pop-out{to{opacity:0;transform:translateY(8px) scale(.98)}}
.modal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}

/* empty */
.empty{padding:48px 20px;text-align:center;color:var(--ink2);border:1.5px dashed var(--line);border-radius:var(--r-md)}
.empty b{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}

/* toast */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;opacity:0;transition:opacity .25s ease-out,transform .25s ease-out;pointer-events:none;z-index:90;max-width:calc(100vw - 40px)}
.toast.show{opacity:1;transform:translate(-50%,0)}
body.has-player .toast{bottom:104px}

/* footer */
.foot{border-top:1px solid var(--line);padding:56px 0 40px;font-size:14px;color:var(--ink2);margin-top:auto}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}
.foot h5{font-size:14px;color:var(--ink);margin-bottom:12px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.foot a:hover{color:var(--ink)}
.foot-b{display:flex;justify-content:space-between;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;gap:16px;flex-wrap:wrap}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav-links{display:none}
  .burger{display:grid}
  .vgrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .nav-r .hide-m{display:none}
  .page-head{padding:36px 32px 24px}.page-head h1{font-size:34px}
  h2{font-size:30px}
  section.sec{padding:64px 0}
  .sh{flex-direction:column;align-items:start}
  .plans,.opts{grid-template-columns:1fr 1fr}
  .markets{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){.input,select.input,textarea.input{font-size:16px}}
@media (max-width:560px){
  .vgrid,.plans,.opts{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}

/* Aham UI bridge: the prototype keeps its original composition while sharing
   Aham's type, surfaces, focus treatment and semantic colors. */
body.aham-workbench.wb-bare{
  --wb-bg:#FFFDF9;
  --wb-canvas:#FFFFFF;
  --wb-fill:#EFE9DE;
  --wb-hover:#EFE9DE;
  --wb-selected:#E3D8C5;
  --wb-line:#D9D0C0;
  --wb-line-strong:#8C7F6B;
  --wb-pop-bg:#FFFDF9;
  --wb-ink:#171513;
  --wb-ink-2:#514A40;
  --wb-muted:#70685C;
  --wb-faint:#8C8375;
  --wb-blue:#171513;
  --wb-blue-bg:#FFFFFF;
  --wb-action:#171513;
  --wb-action-hover:#3D372C;
  --wb-info:#171513;
  --wb-info-bg:#FFFFFF;
  --wb-cat-1:#171513;
  --wb-cat-4:#FF5A1F;
  --wb-cat-5:#FF5A1F;
  display:flex;
  width:100%;
  min-height:100vh;
  overflow-x:hidden;
  background:var(--wb-canvas);
  color:var(--wb-ink);
  font-family:var(--wb-font);
  font-feature-settings:var(--wb-font-features);
}
body.aham-workbench.wb-bare main{min-width:0;width:100%;max-width:100%;flex:1 1 0}
body.aham-workbench.wb-bare main.wrap{width:100%;max-width:var(--content-max);margin-inline:auto}
body.aham-workbench.wb-bare main.member-content{width:100%;max-width:var(--content-max);margin-inline:auto}
body.aham-workbench.wb-bare .vw,
body.aham-workbench.wb-bare .monitor,
body.aham-workbench.wb-bare #stage{min-width:0;max-width:100%}
body.aham-workbench.wb-bare .act{min-width:0;flex-wrap:wrap}
body.aham-workbench.wb-bare .act .btn{max-width:100%;white-space:normal}
body.aham-workbench.wb-bare .nav{background:color-mix(in srgb,var(--wb-canvas) 92%,transparent);border-bottom-color:var(--wb-line)}
body.aham-workbench.wb-bare .panel,
body.aham-workbench.wb-bare .plan,
body.aham-workbench.wb-bare .vcard,
body.aham-workbench.wb-bare .tool,
body.aham-workbench.wb-bare .console{
  border:1px solid var(--wb-line);
  box-shadow:none;
}
body.aham-workbench.wb-bare .input,
body.aham-workbench.wb-bare select.input,
body.aham-workbench.wb-bare textarea.input{border-color:var(--wb-line-strong);border-radius:var(--wb-radius)}
body.aham-workbench.wb-bare .input:focus{border-color:var(--wb-blue);outline:2px solid color-mix(in srgb,var(--wb-blue) 18%,transparent);outline-offset:0}
body.aham-workbench.wb-bare .btn{border-radius:var(--wb-radius-pill);transition:background var(--wb-fast) var(--wb-ease),transform var(--wb-instant) var(--wb-ease)}
body.aham-workbench.wb-bare .btn-dark{background:var(--wb-action);color:var(--wb-on)}
body.aham-workbench.wb-bare .btn-dark:hover{background:var(--wb-action-hover)}
body.aham-workbench.wb-bare .btn-line{box-shadow:inset 0 0 0 1px var(--wb-line-strong)}
body.aham-workbench.wb-bare .btn-soft{background:var(--wb-fill)}
body.aham-workbench.wb-bare .btn-signal{background:var(--wb-cat-5);color:var(--wb-on)}
body.aham-workbench.wb-bare .btn-signal:hover{background:color-mix(in srgb,var(--wb-cat-5) 86%,var(--wb-ink))}
body.aham-workbench.wb-bare .tag{background:var(--wb-fill);color:var(--wb-ink-2)}
body.aham-workbench.wb-bare .notice{border-color:var(--wb-line);background:var(--wb-fill);color:var(--wb-ink-2)}
body.aham-workbench.wb-bare .toast{background:var(--wb-ink);color:var(--wb-bg)}
body.aham-workbench.wb-bare .tool:hover,
body.aham-workbench.wb-bare .vcard:hover,
body.aham-workbench.wb-bare .plan:hover{box-shadow:0 14px 32px rgba(23,21,19,.09)}
body.aham-workbench.wb-bare .plan.hl:hover{box-shadow:inset 0 0 0 2px var(--ink),0 14px 32px rgba(23,21,19,.09)}
body.aham-workbench.wb-bare .payg .panel:hover{box-shadow:inset 0 0 0 2px var(--ink)}

/* ---------- wizard component ---------- */
.wiz{display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:start}
.wiz-steps{background:var(--panel);border-radius:20px;padding:12px;display:flex;flex-direction:column;gap:2px}
.wst{display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;width:100%;text-align:left;min-height:60px}
.wst:hover:not(:disabled){background:var(--panel2)}
.wst i{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;font-style:normal;font-family:var(--mono);font-size:12px;flex:none}
.wst small{display:block;color:var(--ink2);font-size:13px;line-height:1.4}
.wst.on{background:var(--panel2)}
.wst.on i{background:var(--ink);color:#fff;box-shadow:none}
.wst.done i{background:var(--signal);color:var(--ink);box-shadow:none}
.wst:disabled{color:var(--ink3)}
.wiz-body{padding:32px;min-height:420px;display:flex;flex-direction:column}
.opts-4{grid-template-columns:repeat(4,1fr)}
.wiz-foot{margin-top:auto;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.wiz-res{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rc{box-shadow:inset 0 0 0 1px var(--line);border-radius:16px;padding:18px}
.rc .score{font-family:var(--mono);font-size:32px;font-weight:500}
.rc .score small{font-size:13px;color:var(--ink2)}
.rc .bar{height:6px;background:var(--panel2);border-radius:3px;margin:10px 0 14px;overflow:hidden}
.rc .bar i{display:block;height:100%;width:0;background:var(--signal);border-radius:3px;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.rc h4{font-size:18px}.rc h4 a:hover{text-decoration:underline}
.rc p{font-size:13px;color:var(--ink2)}
.rc .why{margin:4px 0 14px}

/* voice picker */
.pick-list{display:flex;flex-direction:column;max-height:56vh;overflow:auto;margin:0 -8px}
.pick-row{display:flex;align-items:center;gap:14px;padding:10px 8px;border-radius:12px}
.pick-row:hover{background:var(--panel2)}
.pick-row.sel{background:var(--signal-soft)}

@media (max-width:900px){
  .wiz{grid-template-columns:1fr}
  .wiz-steps{flex-direction:row;overflow-x:auto}
  .wst{min-width:150px}
  .wiz-body{padding:22px}
  .opts-4{grid-template-columns:1fr 1fr}
  .wiz-res{grid-template-columns:1fr}
  .hide-s{display:none!important}
}

.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:48px}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr;gap:24px}}
