/* Scoped to the redesigned long-voice exercise; desktop reference is 1440 × 900. */
.shell.work-shell.voice-shell {width:calc(100% - 48px);max-width:none;min-height:100dvh;height:auto;display:grid;grid-template-rows:52px 1fr;}
.voice-shell .topbar {min-height:52px;}
.voice-shell .brand {gap:10px;}
.voice-shell .brand-mark {width:32.5px;height:32.5px;border-radius:9px;}
.voice-shell .brand-text {font-size:15px;}
.voice-shell .brand-sub {font-size:7px;}
.voice-shell .nav-button {font-size:14px;gap:6px;min-height:44px;}
.voice-home-icon {width:17px;height:17px;}
.voice-exercise {width:min(880px,100%);margin:0 auto;padding:41px 0 40px;}
.voice-exercise .flow-steps {justify-content:center;height:24px;margin:0 0 38px;}
.voice-exercise .flow-step-join {width:34px;}
.voice-panel {height:643px;min-height:0;border:1px solid #dce1d5;border-radius:24px;background:#fffef9;display:flex;align-items:center;justify-content:center;padding:40px;}
.voice-brief-content,.voice-play-content {display:flex;align-items:center;justify-content:center;gap:64px;min-width:0;}
.voice-scene-image {position:relative;width:235.94px;height:494px;border-radius:12px;overflow:hidden;flex:none;}
.voice-scene-image>img {position:absolute;max-width:none;width:112.76%;height:105.9%;left:-6.9%;top:-3.12%;}
.voice-brief-copy {width:393px;display:flex;flex-direction:column;gap:40px;align-items:flex-start;}
.voice-brief-copy h1 {font-size:25px;line-height:35px;color:#163d33;letter-spacing:0;}
.voice-background {display:flex;flex-direction:column;gap:17px;}
.voice-overline {font-size:13px;line-height:20.8px;color:#58695e;}
.voice-role {font-size:13px;line-height:20.8px;color:#32654b;}
.voice-situation {max-width:374px;font-size:17px;line-height:31.4px;color:rgba(0,0,0,.9);}
.voice-primary {display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:44px;border:0;border-radius:12px;background:#163d33;color:#fffef9;padding:10px 20px;font-size:15px;font-weight:500;line-height:22.5px;box-shadow:0 4px 9px rgba(22,61,51,.25);}
.voice-primary:hover:not(:disabled) {background:#225445;}
.voice-brief-copy>.voice-primary {width:232px;}
.voice-phone.phone-preview-slot {flex:none;width:228.27px;height:494px;aspect-ratio:390/844;margin:0;overflow:hidden;border-radius:12px;}
.voice-phone .phone-preview-screen {border-radius:20.5px;box-shadow:none;background:#ededed;}
.voice-chat {height:844px;display:flex;flex-direction:column;background:#ededed;color:#111;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;}
.voice-glyph {display:block;object-fit:contain;flex:none;}
.voice-status {height:47px;flex:none;display:flex;justify-content:space-between;align-items:flex-start;padding:8px 22px 0 26px;}
.voice-status b {font-size:17px;line-height:22px;}
.voice-status>span {display:flex;align-items:center;gap:4px;padding-top:2px;}
.voice-status .voice-glyph {width:18px;height:13px;}
.voice-status .voice-glyph:last-child {width:28px;}
.voice-chat-nav {height:44px;flex:none;display:flex;justify-content:space-between;align-items:center;padding:0 16px;border-bottom:.5px solid #0001;}
.voice-chat-nav strong {font-size:17px;font-weight:500;}
.voice-chat-nav .voice-glyph {width:24px;height:24px;}
.voice-chat-nav .voice-glyph:first-child {width:12px;margin-right:12px;}
.voice-messages {flex:1;min-height:0;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;}
.voice-message {display:flex;align-items:flex-start;gap:10px;flex:none;}
.voice-avatar {width:40px;height:40px;border-radius:4px;object-fit:cover;flex:none;}
.voice-message p {position:relative;margin:0;max-width:calc(100% - 76px);padding:8px 12px;font-size:17px;line-height:1.45;border-radius:4px;background:#fff;white-space:pre-line;overflow-wrap:anywhere;}
.voice-message p:before {content:'';position:absolute;top:14px;left:-5px;width:10px;height:10px;background:inherit;transform:rotate(45deg);}
.voice-message.is-mine {flex-direction:row-reverse;}
.voice-message.is-mine p {background:#95ec69;}
.voice-message.is-mine p:before {left:auto;right:-5px;}
.voice-chat-toolbar {height:91px;flex:none;padding:12px 8px 0;border-top:.5px solid #0002;background:#f6f6f6;position:relative;}
.voice-chat-toolbar>div {display:flex;gap:8px;align-items:center;}
.voice-chat-toolbar .voice-glyph {width:32px;height:32px;}
.voice-chat-toolbar span {height:40px;flex:1;display:grid;place-items:center;background:#fff;border-radius:4px;font-size:15px;font-weight:500;}
.voice-chat-toolbar>i {position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:139px;height:5px;border-radius:100px;background:#111;}
.voice-tools {width:330px;height:494px;flex:none;display:flex;flex-direction:column;justify-content:space-between;}
.voice-reply h1 {font-size:17px;line-height:25.5px;color:#163d33;margin:10px 0 0;}
.voice-reply-hint {font-size:13px;line-height:20.8px;color:#58695e;margin-top:1px;}
.voice-options {display:grid;gap:8px;margin-top:12px;}
.voice-options button {text-align:left;padding:11px;border:1px solid #d7dfcd;border-radius:9px;background:#fbfcf7;color:#3e5639;font-size:14px;line-height:22.4px;min-height:48px;}
.voice-options button:hover {border-color:#92ad71;background:#f0f5e7;}
.voice-options button[aria-pressed=true] {background:#e5f0cb;border-color:#aac980;}
.voice-bottom {padding-top:16px;}
.voice-history {display:flex;gap:6px;padding-top:12px;border-top:1px solid #dde3d5;margin-bottom:9px;}
.voice-history button {flex:1;min-height:40px;border:1px solid #bac6b3;border-radius:9px;background:#fffef9;color:#58695e;font-size:13px;}
.voice-check {width:100%;height:46px;font-size:14px;border-radius:9px;}
.voice-check .voice-glyph {width:19px;height:19px;}
.voice-check:disabled {opacity:1;background:#e5e9df;color:#73816a;box-shadow:none;}
.voice-check:not(:disabled) .voice-glyph {filter:brightness(0) invert(1);}
.voice-announcement {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.dialog.voice-result-dialog {width:min(660px,calc(100% - 32px));min-height:495px;border-radius:24px;box-shadow:0 30px 100px rgba(22,45,28,.35);}
.voice-result-dialog .dialog-header {position:absolute;inset:0 0 auto;padding:14px 18px;justify-content:flex-end;}
.voice-result-dialog .dialog-header h2 {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.voice-result-dialog .dialog-header .btn {width:42px;height:42px;min-height:42px;margin:0;border:1px solid #dce1d5;border-radius:50%;padding:10px;background:transparent;}
.voice-result-dialog .dialog-body {padding:36px 40px 56px;}
.voice-result-content {width:min(498px,100%);margin:auto;display:flex;flex-direction:column;gap:48px;}
.voice-result-hero {display:flex;flex-direction:column;align-items:center;gap:10px;}
.voice-result-mark {width:64px;height:64px;border-radius:50%;background:#edf2e4;display:grid;place-items:center;}
.voice-result-mark .voice-glyph,.voice-result-mark svg {width:30px;height:30px;}
.voice-result-hero h3 {font-size:20px;line-height:32px;color:#163d33;letter-spacing:-.4px;}
.voice-result-checks {display:grid;gap:9px;}
.voice-result-check {display:flex;gap:10px;align-items:flex-start;}
.voice-check-dot {width:20px;height:20px;flex:none;border-radius:50%;margin-top:3px;display:grid;place-items:center;background:#dfebcc;}
.voice-check-dot.no {background:#f1e3d2;}
.voice-check-dot .voice-glyph,.voice-check-dot svg {width:12px;height:12px;}
.voice-result-check h4 {font-size:14px;line-height:25.2px;color:#4b623d;margin:0;}
.voice-result-check p,.voice-tradeoff {font-size:13px;line-height:21.4px;color:#58695e;}
.voice-tradeoff {padding-left:30px;}
.voice-result-actions {display:flex;justify-content:center;}
.voice-result-actions .voice-primary {width:171px;min-height:46px;border-radius:9px;}
.voice-comparison {display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.voice-comparison section {min-width:0;}
.voice-comparison h3 {font-size:17px;margin-bottom:16px;}
.voice-comparison article {padding:16px 0;border-top:1px solid var(--line);}
.voice-comparison h4 {font-size:14px;margin:0 0 10px;}
.voice-comparison p {font-size:14px;margin:10px 0;line-height:1.7;}
.voice-compare-note {font-size:13px;color:var(--muted);}
@media(min-width:961px) and (max-height:820px) {
 .voice-exercise {padding-top:20px;padding-bottom:20px;}
 .voice-exercise .flow-steps {margin-bottom:20px;}
 .voice-panel {height:min(643px,calc(100dvh - 137px));min-height:500px;padding:24px;}
 .voice-scene-image,.voice-tools {height:450px;}
 .voice-scene-image {width:214.92px;}
 .voice-phone.phone-preview-slot {width:208px;height:450px;}
 .voice-brief-copy {gap:28px;}
}
@media(max-width:960px) {
 .voice-panel {height:auto;min-height:600px;padding:36px 24px;}
 .voice-brief-content,.voice-play-content {gap:32px;}
 .voice-brief-copy {width:min(393px,calc(100vw - 348px));}
 .voice-brief-copy h1 {font-size:22px;}
 .voice-situation {font-size:16px;line-height:1.8;}
 .voice-scene-image {width:208px;height:435.5px;}
}
@media(max-width:680px) {
 .shell.work-shell.voice-shell {width:calc(100% - 28px);}
 .voice-exercise {padding:24px 0;}
 .voice-exercise .flow-steps {margin-bottom:24px;}
 .voice-panel {padding:28px 18px;border-radius:20px;}
 .voice-brief-content,.voice-play-content {flex-direction:column;gap:28px;width:100%;}
 .voice-brief-copy {width:100%;gap:24px;}
 .voice-brief-copy h1 {font-size:23px;}
 .voice-brief-copy>.voice-primary {width:100%;}
 .voice-tools {width:100%;height:auto;gap:28px;}
 .voice-phone.phone-preview-slot {width:228.27px;height:494px;}
 .voice-options button {font-size:15px;line-height:1.6;min-height:48px;}
 .voice-history button {min-height:44px;}
 .voice-result-dialog .dialog-body {padding:36px 24px;}
 .voice-result-content {gap:32px;}
 .voice-result-check p,.voice-tradeoff {font-size:14px;}
 .voice-comparison {grid-template-columns:1fr;}
}
