.has-dictation .topbar-right{padding-right:58px}
.dictation-widget{position:fixed;left:calc(100vw - 68px);top:12px;width:46px;height:46px;z-index:30}
.dictation-trigger{position:relative;display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;color:var(--mint);background:var(--plum);box-shadow:0 5px 18px oklch(from var(--plum-950) l c h / .18);cursor:grab;touch-action:none;user-select:none;transition:background-color 160ms,transform 200ms var(--ease)}
.dictation-trigger:hover{background:var(--plum-800);transform:translateY(-1px)}
.dictation-trigger:active,.dragging .dictation-trigger{cursor:grabbing;transform:scale(.97)}
.dictation-trigger:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.dictation-signal{position:absolute;right:3px;top:3px;width:8px;height:8px;background:var(--mint);border:2px solid var(--surface);border-radius:50%;display:none}
[data-state=recording] .dictation-signal{display:block;background:var(--danger-600)}
[data-state=recording] .dictation-trigger{background:var(--danger-600);color:var(--white)}
[data-state=processing] .dictation-signal{display:block}
[data-state=copied] .dictation-signal,[data-state=ready] .dictation-signal{display:block}
[data-state=error] .dictation-signal{display:block;background:var(--warning-600)}
.dictation-card{position:fixed;inset:auto;width:360px;margin:0;padding:0;border:0;border-radius:16px;background:var(--assistant-card-glass);color:var(--assistant-text);box-shadow:0 16px 48px oklch(from var(--plum-950) l c h / .25);backdrop-filter:blur(20px);color-scheme:dark;overflow:auto;overscroll-behavior:contain;opacity:0;transform:translateY(-5px);transition:opacity 180ms var(--ease),transform 220ms var(--ease),display 180ms allow-discrete,overlay 180ms allow-discrete}
.dictation-card:popover-open{opacity:1;transform:none}
@starting-style{.dictation-card:popover-open{opacity:0;transform:translateY(-5px)}}
.dictation-body{padding:16px}
.dictation-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.dictation-head h2{font-size:15px;font-weight:500;line-height:1.4;margin:0}
.dictation-head .icon-btn{color:var(--assistant-secondary);min-width:40px;min-height:40px}
.dictation-head .icon-btn:hover{color:var(--white);background:oklch(from var(--white) l c h / .07)}
.dictation-card :is(button,textarea):focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.dictation-card .btn{min-height:42px;white-space:normal}
.dictation-card .btn.ghost{color:var(--assistant-secondary)}
.dictation-card .btn.ghost:hover{background:oklch(from var(--white) l c h / .07)}
.dictation-card .btn:not(.primary):not(.ghost){background:transparent;color:var(--assistant-text);border-color:var(--plum-400)}
.dictation-card textarea{width:100%;min-height:130px;max-height:260px;padding:12px;resize:vertical;background:oklch(from var(--white) l c h / .06);border:1px solid var(--plum-400);border-radius:10px;color:var(--assistant-text);font-size:14px;line-height:1.65;caret-color:var(--mint)}
.dictation-actions{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.dictation-error{color:var(--assistant-error);line-height:1.7;font-size:13px;margin:0 0 16px}
.dictation-copy-error{font-size:12px;line-height:1.6;color:var(--assistant-caution);margin:12px 0 0}
.dictation-copy-error:empty{display:none}
.dictation-recording{display:flex;align-items:center;gap:14px;padding:8px 0}
.dictation-recording time{font-variant-numeric:tabular-nums;font-size:14px}
.dictation-recording .btn{margin-left:auto}
.dictation-recording .audio-level{display:flex;gap:3px;align-items:center;height:28px;flex-shrink:0}
.dictation-recording .audio-level i{display:block;width:3px;height:25px;transform:scaleY(.12);background:var(--mint);border-radius:2px}
.dictation-working{display:flex;align-items:center;gap:12px;padding:16px 0 22px;color:var(--assistant-secondary);font-size:13px}
.dictation-spinner{width:18px;height:18px;border:2px solid var(--plum-500);border-top-color:var(--mint);border-radius:50%;animation:dictation-spin 900ms linear infinite}
@keyframes dictation-spin{to{transform:rotate(360deg)}}
@media(max-width:650px){.has-dictation .topbar-right{padding-right:54px}.dictation-card textarea{font-size:16px}.dictation-widget{top:10px}}
@media(prefers-reduced-motion:reduce){.dictation-trigger,.dictation-card{transition:none;transform:none!important}.dictation-spinner{animation:none}}

.dictation-copied{display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:500;color:var(--mint);padding:2px 0}

.dictation-result{margin:12px 0 0;max-height:180px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:14px;color:var(--assistant-text);user-select:text}
