:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;--bg:#111113;--surface:#242426;--elevated:#303034;--ink:#F8F8FA;--muted:#B6B6BD;--line:#3D3D43;--accent:#FF526F;--accent-ink:#171719;--action:#C6002B;--action-ink:#fff;--soft:#3B242B;--error:#ffc2ca;--error-bg:#3d252d}.theme-light{color-scheme:light;--bg:#F5F5F7;--surface:#fff;--elevated:#ECECEF;--ink:#1B1B20;--muted:#5E5E68;--line:#DCDCE1;--accent:#C6002B;--accent-ink:#fff;--action:#C6002B;--action-ink:#fff;--soft:#FBE4E9;--error:#a4233c;--error-bg:#fff0f2}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);min-height:100vh;min-height:100dvh}button,input{font:inherit}button{cursor:pointer;border-radius:8px}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button,input,audio{max-width:100%}[hidden]{display:none!important}.voice-shell{width:100%;max-width:660px;margin:0 auto;padding:20px 28px max(24px,env(safe-area-inset-bottom))}.voice-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.voice-wordmark{font-size:18px;font-weight:850;letter-spacing:.07em;white-space:nowrap}.voice-wordmark span{color:var(--accent);font-size:.72em;letter-spacing:.03em}.voice-close{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);font-size:14px;font-weight:650}.voice-close span{font-size:22px;line-height:1}.voice-heading{margin-bottom:22px}.voice-eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--accent);margin:0 0 8px}h1{font-size:clamp(27px,4.6vw,36px);font-weight:780;line-height:1.12;letter-spacing:-.035em;margin:0 0 12px}h2{font-size:22px;line-height:1.2;letter-spacing:-.025em;margin:0}p{margin:0}.voice-destination{font-size:14px;color:var(--muted);margin-bottom:10px}.voice-destination strong{color:var(--ink);font-weight:700}.voice-intro{font-size:15px;line-height:1.55;max-width:50ch;color:var(--muted)}.voice-steps{list-style:none;display:flex;gap:0;padding:0;margin:0 0 20px;color:var(--muted);font-size:12px;font-weight:650}.voice-steps li{display:flex;align-items:center;gap:7px;flex:1;position:relative}.voice-steps li:not(:last-child):after{content:"";height:1px;background:var(--line);flex:1;margin:0 12px}.voice-steps span{width:24px;height:24px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex:none}.voice-steps [aria-current=step]{color:var(--ink)}.voice-steps [aria-current=step] span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.voice-capture,.voice-review{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--surface)}.voice-capture{text-align:center}.voice-capture-top{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:11px;font-weight:650}.voice-mic{display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;background:var(--elevated);color:var(--accent);margin:22px auto 16px}.voice-mic svg{width:30px;height:30px}.voice-clock{font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.2;margin-bottom:12px}#clock{font-size:38px;font-weight:760}.voice-clock-limit{font-size:17px;color:var(--muted)}progress{display:block;border:0;appearance:none;-webkit-appearance:none;width:100%;height:5px;border-radius:8px;background:var(--elevated);accent-color:var(--accent);overflow:hidden}progress::-webkit-progress-bar{background:var(--elevated);border-radius:8px}progress::-webkit-progress-value{background:var(--accent);border-radius:8px}progress::-moz-progress-bar{background:var(--accent);border-radius:8px}.voice-duration{max-width:260px;margin:0 auto 14px}.voice-hint{color:var(--muted);font-size:12px;line-height:1.55}.voice-button{border:1px solid transparent;border-radius:8px;min-height:48px;padding:12px 20px;font-weight:750;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1.25}.voice-primary{background:var(--action);color:var(--action-ink);border-color:var(--accent)}.voice-secondary{background:transparent;border-color:var(--line);color:var(--ink)}#record{width:100%;max-width:300px;margin:20px auto 0}.record-mark{display:inline-block;width:10px;height:10px;background:currentColor;border-radius:50%;flex:none}[data-state=recording] .record-mark{border-radius:2px}[data-state=recording] .voice-mic{box-shadow:0 0 0 7px var(--soft)}[data-state=recording] #microphone-state{color:var(--accent)}.voice-review-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.voice-review-heading h2{font-size:20px}.voice-length{font-size:12px;font-weight:750;border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-variant-numeric:tabular-nums;flex:none}.voice-review audio{width:100%;display:block;margin:0 0 12px;height:44px}.voice-field{display:block;font-size:13px;font-weight:700;margin:20px 0 8px}.voice-field span{font-weight:500;color:var(--muted)}input[type=text]{display:block;width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:12px 13px;min-height:46px}input::placeholder{color:var(--muted);opacity:.85}.voice-consent{display:flex;gap:11px;align-items:flex-start;font-size:12px;line-height:1.6;color:var(--muted);margin:20px 0}.voice-consent input{width:19px;height:19px;margin:1px 0 0;flex:none;accent-color:var(--accent)}.voice-actions{display:flex;gap:10px}.voice-actions button{flex:1}.voice-upload{margin-top:18px}.voice-upload p{font-size:12px;line-height:1.5;color:var(--muted);margin-top:9px}.voice-upload progress:indeterminate{opacity:.7}.voice-notice{border-radius:10px;background:var(--soft);color:var(--ink);padding:13px 15px;font-size:13px;line-height:1.5;margin:16px 0 0}.voice-notice.error{background:var(--error-bg);color:var(--error)}.voice-privacy{font-size:11px;line-height:1.6;color:var(--muted);margin:14px 3px 0}.voice-success{text-align:center;padding:26px 12px}.voice-success-mark{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--soft);color:var(--accent);font-size:28px;margin:0 auto 20px}.voice-success h2{font-size:27px;margin:0 0 12px}.voice-success>p:not(.voice-eyebrow){max-width:40ch;font-size:14px;line-height:1.6;color:var(--muted);margin:auto}.voice-success button{margin-top:25px}.voice-footer{text-align:center;color:var(--muted);font-size:10px;line-height:1.65;margin:22px 0 0}.voice-footer details{margin-top:8px}.voice-footer summary{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.voice-footer details p{max-width:50ch;margin:12px auto}.voice-footer a{color:inherit;text-underline-offset:3px}@media(max-width:420px){.voice-shell{padding:16px 18px max(20px,env(safe-area-inset-bottom))}.voice-top{margin-bottom:22px}.voice-heading{margin-bottom:20px}.voice-capture,.voice-review{padding:18px}.voice-steps li:not(:last-child):after{margin:0 8px}.voice-actions{flex-direction:column}.voice-actions .voice-primary{order:-1}.voice-mic{margin-top:20px}}@media(max-height:550px) and (min-width:620px){.voice-shell{max-width:760px;padding-top:14px}.voice-top{margin-bottom:14px}.voice-heading{margin-bottom:15px}.voice-mic{margin:14px auto 12px;width:50px;height:50px}.voice-capture{padding:18px}#record{margin-top:14px}.voice-footer{margin-top:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:is([data-state=preview],[data-state=sending],[data-state=sent]) .voice-intro{display:none}[data-state=sent] .voice-steps{display:none}@media(max-height:550px) and (min-width:700px){.voice-shell{max-width:940px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0 24px}.voice-top{grid-column:1/-1}.voice-heading{grid-column:1;grid-row:2;align-self:start}.voice-steps{grid-column:1;grid-row:3;align-self:start}#recorder,#success{grid-column:2;grid-row:2/span 2}.voice-footer{grid-column:1/-1}h1{font-size:30px}.voice-capture{padding:16px}.voice-mic{width:46px;height:46px;margin:12px auto}.voice-capture .voice-hint{font-size:11px}.voice-capture-top{font-size:10px}#clock{font-size:31px}#record{margin-top:12px;min-height:44px}.voice-privacy{font-size:10px}}
