/* Approved language feature; styles scoped to its section. */
.speech-feature .number{margin-bottom:32px}
.speech-feature .old-note{margin:28px 0 0;padding-top:20px;border-top:1px solid var(--line);max-width:320px}
.speech-feature .old-note-label{display:flex;align-items:center;gap:8px;color:var(--soft);font-size:12px;font-weight:500;line-height:1.5}
.speech-feature .old-note-label>span[aria-hidden]{font-size:18px;line-height:1;color:var(--muted)}
.speech-feature .old-note-image{position:relative;height:64px;max-width:280px;overflow:hidden;margin-top:8px}
.speech-feature .old-note-image img{position:absolute;top:50%;left:0;width:100%;height:auto;transform:translateY(-50%)}
.speech-feature .flow-window{width:100%;text-align:left}
.speech-feature .flow-canvas{height:500px;position:relative}
.speech-feature .connections{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke-linecap:round;stroke-linejoin:round}
.speech-feature .tracks{stroke:#d2d7cc;stroke-width:1}
.speech-feature .signals{stroke:var(--apple);stroke-width:2;stroke-dasharray:7 260;stroke-dashoffset:280}
.speech-feature .signals path{opacity:0}
.speech-feature .inputs{position:absolute;inset:8px 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.speech-feature .input-card{min-width:0;height:72px;padding:12px 8px;background:var(--white);border:1px solid var(--line);border-radius:14px;opacity:.7;transition:opacity .5s,border-color .5s,transform .5s}
.speech-feature .input-card.active{opacity:1;border-color:var(--ink);transform:translateY(-3px)}
.speech-feature .input-label{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12px;font-weight:500;line-height:1.3}
.speech-feature .mini-wave{display:flex;align-items:center;height:20px;gap:3px}
.speech-feature .mini-wave i{width:3px;height:8px;background:var(--ink);border-radius:2px}
.speech-feature .mini-wave i:nth-child(2){height:14px}
.speech-feature .mini-wave i:nth-child(3){height:20px}
.speech-feature .mini-wave i:nth-child(4){height:12px}
.speech-feature .active .mini-wave i{animation:speech-wave .5s ease-in-out infinite alternate}
.speech-feature .active .mini-wave i:nth-child(2n){animation-delay:-.3s}
.speech-feature .hub{position:absolute;left:50%;top:150px;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:16px;background:var(--ink);display:grid;place-items:center;z-index:2}
.speech-feature .hub svg{width:38px;height:27px;filter:brightness(0) invert(1)}
.speech-feature .result-group{position:absolute;left:3%;top:220px;width:94%;z-index:2}
.speech-feature .office-dashboard{grid-template-columns:34px minmax(0,1fr);min-height:0;border-radius:20px;box-shadow:10px 10px 0 var(--paper-2)}
.speech-feature .dash-sidebar{padding:24px 10px}
.speech-feature .dash-nav{gap:20px}
.speech-feature .dash-main{padding:20px 16px}
.speech-feature .dash-top{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:22px}
.speech-feature .dash-top b{font-size:18px}
.speech-feature .dash-top span{font-size:10px}
.speech-feature .dash-top strong{font-weight:500;color:var(--ink)}
.speech-feature .dash-table-head{padding-left:30px;font-size:8px}
.speech-feature .queue-row{gap:8px;padding:14px 0}
.speech-feature .queue-row>b{font-size:11px;margin:0;white-space:normal;line-height:1.4}
.speech-feature .queue-row:last-child{border-bottom:0;padding-bottom:0}
.speech-feature .queue-row:first-child .queue-icon i{opacity:1}
.speech-feature .status{min-width:58px;font-size:7px;letter-spacing:.02em;padding:4px}
.speech-feature .status.is-done{background:var(--apple-soft);border-color:transparent;color:var(--apple-ink)}
.speech-feature .paused *{animation-play-state:paused!important}
@keyframes speech-wave{to{transform:scaleY(.3)}}
@media(max-width:980px){.speech-feature .flow-window{max-width:580px}}
@media(max-width:660px){.speech-feature .number{margin-bottom:24px}
.speech-feature .inputs{gap:8px}
.speech-feature .input-label{font-size:10px}
.speech-feature .input-card{padding-inline:4px}
.speech-feature .dash-main{padding:16px 12px}
.speech-feature .office-dashboard{grid-template-columns:30px minmax(0,1fr);box-shadow:8px 8px 0 var(--paper-2)}
.speech-feature .dash-sidebar{padding-inline:8px}
.speech-feature .queue-row{grid-template-columns:18px minmax(0,1fr) auto;gap:6px}
.speech-feature .queue-icon{width:18px;height:18px}
.speech-feature .queue-row>b{font-size:10px}
.speech-feature .status{font-size:7px;min-width:54px}
.speech-feature .flow-canvas{height:492px}
.speech-feature .result-group{left:0;width:calc(100% - 8px)}
.speech-feature .old-note{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.speech-feature *{animation:none!important;transition:none!important}
.speech-feature .input-card{opacity:1}
.speech-feature .signals{display:none}}
.core-features{background:var(--paper);padding-top:64px}
.core-features .feature-group-label .number{margin:0;display:block}
.core-features .feature-section{background:transparent;padding-block:96px}
.core-features .feature-section+.feature-section{padding-top:64px}
.core-features .image-layout{border:0;align-items:center}
.speech-feature .speech-workflow{min-width:0;width:100%;max-width:560px;justify-self:center}
.speech-feature .flow-canvas{height:580px}
.speech-feature .inputs{top:94px}
.speech-feature .hub{top:236px}
.speech-feature .result-group{top:306px}
.speech-feature .old-note{position:absolute;top:0;left:0;width:100%;max-width:none;display:flex;align-items:center;gap:16px;margin:0;padding:0;border:0}
.speech-feature .old-note-label{flex:0 0 160px;font-size:11px}
.speech-feature .old-note-image{flex:1;min-width:0;height:64px;margin:0;max-width:none}
.core-features .principle{margin-top:32px}
@media(max-width:980px){.core-features{padding-top:48px}
.core-features .feature-section{padding-block:72px}
.core-features .feature-section+.feature-section{padding-top:32px}
.speech-feature .speech-workflow{justify-self:start}
.speech-feature .flow-window{max-width:none}}
@media(max-width:660px){.core-features .feature-section{padding-block:56px}
.speech-feature .old-note{gap:8px}
.speech-feature .old-note-label{flex-basis:135px;font-size:10px}
.speech-feature .old-note-image{height:52px}
.speech-feature .flow-canvas{height:578px}
.core-features .principle{margin-top:0}}
@media(min-width:981px){.speech-feature .image-copy{grid-column:8/-1;grid-row:1}
.speech-feature .speech-workflow{grid-column:1/7;grid-row:1}}
.speech-feature .flow-canvas{height:580px}
.speech-feature .inputs{top:94px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.speech-feature .input-card{height:72px;padding:12px 4px}
.speech-feature .hub{top:236px}
.speech-feature .result-group{top:306px}
@media(max-width:660px){.speech-feature .input-label{font-size:10px}
.speech-feature .flow-canvas{height:578px}}
.speech-feature .language-name{display:block;white-space:nowrap;line-height:1.3}
.speech-feature .language-name{opacity:1}

/* One shared timeline captures and prepares work, then holds the result. */
.speech-feature .task-dashboard .queue-row{transition:background-color 450ms ease}
.speech-feature .task-dashboard .queue-row>b{transition:opacity 450ms ease,transform 450ms ease}
.speech-feature .task-dashboard .status{width:76px;min-width:76px;transition:background-color 450ms ease,color 450ms ease,opacity 450ms ease,border-color 450ms ease}
.speech-feature .task-dashboard .queue-icon{transition:background-color 450ms ease,border-color 450ms ease}
.speech-feature .task-dashboard .queue-icon i{transition:opacity 450ms ease,transform 450ms ease}
.speech-feature .task-dashboard .queue-row[data-state="pending"]>b{opacity:.4;transform:translateX(3px)}
.speech-feature .task-dashboard .queue-row[data-state="pending"] .status{opacity:.45}
.speech-feature .task-dashboard .queue-row[data-state="working"]{background-color:var(--apple-soft)}
.speech-feature .task-dashboard .queue-row[data-state="working"] .queue-icon{border-color:var(--apple);background-color:var(--apple-soft)}
.speech-feature .task-dashboard .queue-row[data-state="working"]::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--apple);transform-origin:left;transform:scaleX(var(--row-progress,0))}
.speech-feature .task-dashboard .queue-row:not([data-state="ready"]) .queue-icon i{opacity:0;transform:scale(.8)}
.speech-feature .task-dashboard .queue-row[data-state="ready"] .queue-icon{background-color:var(--apple-soft);border-color:var(--apple)}
@media(prefers-reduced-motion:reduce){.speech-feature .task-dashboard .queue-row::after{display:none}}

/* Unit-length paths keep moving signals consistent across screen widths. */
.speech-feature .signals path{stroke-dasharray:.12 1;stroke-dashoffset:1;animation:none}
.speech-feature .signals .outgoing{stroke-dasharray:.24 1}
.speech-feature .task-dashboard .queue-row{min-height:48px;padding:12px 0}
.speech-feature .task-dashboard .queue-row:last-child{padding:12px 0;border-bottom:1px solid transparent}
.speech-feature .task-dashboard .status{white-space:nowrap;line-height:1.4}
.speech-feature .task-dashboard .queue-row[data-state="pending"]>b{transform:none;opacity:.65}
.speech-feature .task-dashboard .queue-row[data-state="pending"] .status{opacity:.65}
.speech-feature .task-dashboard .queue-row[data-state="pending"] .queue-icon{background:transparent;border-color:var(--line)}
.speech-feature .system-language{display:flex;align-items:baseline;gap:3px}
