:root{--void: #04060f;--ink: #e9f0ff;--ink-soft: #a8b8d8;--muted: #6b7b9e;--line: rgba(140, 175, 255, .14);--line-bright: rgba(160, 200, 255, .3);--glass-a: rgba(56, 80, 140, .34);--glass-b: rgba(10, 16, 34, .5);--glass-inset: rgba(190, 220, 255, .13);--fill: rgba(14, 21, 42, .66);--fill-hover: rgba(26, 38, 70, .75);--mode-fill: rgba(12, 18, 38, .9);--key: #22d3ee;--key-bright: #67e8f9;--accent-grad: linear-gradient(105deg, #22d3ee 0%, #6366f1 52%, #a855f7 100%);--status-grad: linear-gradient(100deg, #e9f0ff, #a5f3fc 46%, #d8b4fe);--role-user: #22d3ee;--role-assistant: #c084fc;--bar-1: #22d3ee;--bar-2: #38bdf8;--bar-3: #60a5fa;--bar-4: #818cf8;--bar-5: #a78bfa;--bar-6: #c084fc;--bloom-near: rgba(103, 232, 249, .9);--bloom-far: rgba(99, 102, 241, .6);--stage-glow: rgba(99, 102, 241, .28);--aurora-1: rgba(34, 211, 238, .42);--aurora-2: rgba(168, 85, 247, .4);--aurora-3: rgba(99, 102, 241, .38);--aurora-4: rgba(56, 189, 248, .26);--grid-line: rgba(120, 190, 255, .16);--amber: #fbbf24;--amber-deep: #b45309;--danger: #fb7185;--danger-soft: rgba(251, 113, 133, .12);--radius: 18px;--font-ui: "Manrope", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--safe-top: max(12px, env(safe-area-inset-top));--safe-bottom: max(20px, env(safe-area-inset-bottom));color:var(--ink);background:var(--void);font-family:var(--font-ui);font-synthesis:none;font-weight:500;line-height:1.45;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--void)}body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:0}body:before{inset:0;background:radial-gradient(40% 32% at 22% 10%,var(--aurora-1),transparent 70%),radial-gradient(38% 30% at 80% 18%,var(--aurora-2),transparent 70%),radial-gradient(52% 38% at 50% 98%,var(--aurora-3),transparent 70%),radial-gradient(30% 26% at 62% 54%,var(--aurora-4),transparent 70%);filter:blur(46px) saturate(150%);animation:aurora-drift 26s ease-in-out infinite alternate}body:after{inset:auto 0 0;height:46vh;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:62px 62px;transform:perspective(340px) rotateX(66deg);transform-origin:bottom center;mask-image:linear-gradient(to top,#000 4%,transparent 78%);animation:grid-run 7s linear infinite;opacity:.9}#root{position:relative;z-index:1}#root:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E"),radial-gradient(86% 70% at 50% 44%,transparent 52%,rgba(2,3,8,.72) 100%)}@keyframes aurora-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-2.5%,2%,0) scale(1.09)}to{transform:translate3d(2.5%,-2%,0) scale(1.04)}}@keyframes grid-run{to{background-position:0 62px,0 62px}}button,input,select,textarea{font:inherit}button,select,input{min-height:44px}button{cursor:pointer;border:0;background:none;color:inherit;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.4}:focus-visible{outline:2px solid var(--key);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.transcript-panel,.pulse-dock,.silent-composer,.notifications-panel,.attachment-sheet,.login-shell{position:relative;background:linear-gradient(160deg,var(--glass-a),var(--glass-b));border:1px solid var(--line);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);box-shadow:inset 0 1px 0 var(--glass-inset),0 18px 44px #02030a8c}.transcript-panel:before,.pulse-dock:before,.silent-composer:before,.notifications-panel:before,.attachment-sheet:before,.login-shell:before{content:"";position:absolute;top:-1px;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,var(--key-bright),transparent);opacity:.5}.loading,.login-page{position:relative;z-index:2;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.loading{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);animation:fade-in .48s ease both}.login-page{width:100%}.login-shell{width:min(100%,420px);padding:30px 26px;border-radius:24px;text-align:center;background:linear-gradient(160deg,var(--glass-a),var(--glass-b));border:1px solid var(--line);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);box-shadow:inset 0 1px 0 var(--glass-inset),0 24px 60px #02030a99;animation:rise-in .56s cubic-bezier(.22,1,.36,1) both}.login-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 12px}.login-shell .brand{margin:0;padding-right:.12em;font-family:var(--font-mono);font-size:clamp(1.15rem,3.4vw,1.35rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.login-shell .lede{margin:0 0 26px;color:var(--muted);font-size:.84rem}.login-shell form{display:grid;gap:10px;text-align:left}.login-shell label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.login-shell input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--fill);color:var(--ink)}.login-shell input:focus{border-color:var(--line-bright);outline:none}button.primary{width:100%;min-height:52px;margin-top:8px;border-radius:15px;background:var(--accent-grad);color:#fff;font-weight:750;box-shadow:0 10px 30px var(--bloom-far);transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s ease}button.primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}button.primary:active:not(:disabled){transform:translateY(1px)}.pulse-shell{position:relative;z-index:2;width:min(100% - 24px,430px);height:100vh;height:100dvh;min-height:0;max-height:100dvh;margin:0 auto;padding:var(--safe-top) 0 var(--safe-bottom);overflow:hidden;display:grid;grid-template-areas:"header" "stage" "transcript" "modes" "controls";grid-template-rows:auto 112px minmax(0,1fr) auto auto;gap:10px;animation:fade-in .42s ease both}.pulse-header{grid-area:header}.pulse-stage{grid-area:stage}.transcript-panel{grid-area:transcript}.mode-actions{grid-area:modes}.pulse-controls{grid-area:controls}.notice{grid-area:transcript;z-index:2}.transcript-overlays{grid-area:transcript;z-index:4;align-self:start;width:100%;max-height:68%;overflow:auto;display:flex;flex-direction:column;gap:8px;pointer-events:none}.transcript-overlays>*{pointer-events:auto}.transcript-overlays .notice,.transcript-overlays .notifications-panel,.transcript-overlays .confirm-panel,.transcript-overlays .action-chip{grid-area:auto;width:100%;margin:0;height:auto;max-height:none}.transcript-overlays .notice{display:flex;align-items:center;gap:10px}.transcript-overlays .notice span{flex:1}.pulse-header{min-height:52px;padding:10px 4px 4px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.pulse-brand{display:flex;align-items:center;gap:10px;min-width:0}.pulse-brand h1{margin:0;padding-right:.12em;font-family:var(--font-mono);font-size:.74rem;font-weight:700;line-height:1;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.status-dot{position:relative;width:8px;height:8px;margin:2px 2px 2px 0;border-radius:50%;background:#46536e;flex-shrink:0}.status-dot.connected{background:var(--key-bright);box-shadow:0 0 12px var(--key),0 0 26px var(--key)}.status-dot.connected:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--key);opacity:.5;animation:dot-ping 2.4s ease-out infinite}.status-dot.connecting,.status-dot.reconnecting{background:var(--amber);box-shadow:0 0 12px #fbbf24b3;animation:dot-blink 1.1s ease-in-out infinite}.status-dot.error{background:var(--danger);box-shadow:0 0 12px #fb7185b3}@keyframes dot-ping{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.7);opacity:0}}@keyframes dot-blink{0%,to{opacity:1}50%{opacity:.35}}.header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;min-width:0}.provider-compact select,.icon-button{border:1px solid var(--line);border-radius:11px;background:var(--fill);backdrop-filter:blur(12px);color:var(--ink-soft);transition:color .18s ease,border-color .18s ease}.provider-compact{position:relative}.provider-compact select{min-height:36px;max-width:122px;padding:5px 22px 5px 9px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;text-align:left;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23a8b8d8' d='M1.2 1.2 6 6.1l4.8-4.9'/></svg>");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer}.provider-compact select:disabled{cursor:not-allowed;opacity:.45}.icon-button{width:36px;min-height:36px;padding:9px;display:grid;place-items:center}.provider-compact select:hover:not(:disabled),.icon-button:hover:not(:disabled){color:var(--ink);border-color:var(--line-bright)}.icon-button svg,.mic-button svg,.plus-action svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.pulse-stage{min-height:0;padding:0;overflow:visible;display:grid;align-content:center;justify-items:center}.voice-wave-stage{position:relative;width:min(100%,360px);height:92px;display:grid;align-items:start;justify-items:center}.voice-wave-stage:before{content:"";position:absolute;top:-8px;left:8%;width:84%;height:78px;background:radial-gradient(48% 58% at 50% 46%,var(--stage-glow),transparent 74%);filter:blur(16px);pointer-events:none;transition:opacity .4s ease}.mode-idle.voice-wave-stage:before,.mode-ready.voice-wave-stage:before{opacity:.2}.mode-listening.voice-wave-stage:before,.mode-speaking.voice-wave-stage:before{opacity:calc(.26 + var(--wave-energy, 0) * .5)}.voice-wave{display:block;width:100%;height:62px;overflow:visible;filter:drop-shadow(0 0 6px var(--bloom-near)) drop-shadow(0 0 16px var(--bloom-far))}.voice-wave-status{position:absolute;bottom:3px;margin:0;font-size:1rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;background:var(--status-grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px var(--bloom-far))}.status-hint{margin:0;color:var(--muted);font-size:.66rem;text-align:center}.transcript-panel{width:100%;min-height:0;height:100%;padding:0 14px;border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.transcript-header{min-height:38px;padding:10px 0 6px;display:flex;align-items:center;gap:9px}.transcript-header h2{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.transcript-header.is-live h2:after{content:"ŽIVĚ";display:inline-block;margin-left:9px;padding:2px 7px;border:1px solid var(--line-bright);border-radius:999px;color:var(--key-bright);font-size:.52rem;letter-spacing:.14em;vertical-align:1px;animation:live-blink 1.6s ease-in-out infinite}@keyframes live-blink{0%,to{opacity:1}50%{opacity:.45}}.transcript-header .count{margin-left:auto;color:var(--muted);font-family:var(--font-mono);font-size:.58rem}.transcript-copy{min-height:28px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:.62rem;font-weight:650}.transcript{flex:1 1 0;min-height:0;padding:0 0 10px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent}.transcript article{position:relative;padding:8px 0 8px 11px;animation:rise-in .34s cubic-bezier(.22,1,.36,1) both}.transcript article:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px}.transcript article.user:before{background:var(--role-user);box-shadow:0 0 8px var(--role-user)}.transcript article.assistant:before{background:var(--role-assistant);box-shadow:0 0 8px var(--role-assistant)}.transcript article>span{display:block;margin-bottom:3px;font-family:var(--font-mono);font-size:.56rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.transcript article.user>span{color:var(--role-user)}.transcript article.assistant>span{color:var(--role-assistant)}.transcript article p{margin:0;color:var(--ink);font-size:.8rem;font-weight:500;line-height:1.5;white-space:pre-wrap}.transcript article.assistant p{color:var(--ink-soft)}.transcript article strong{color:var(--ink);font-weight:800}.transcript article em{font-style:italic;color:var(--ink)}.transcript article code{padding:1px 5px;border:1px solid var(--line);border-radius:6px;background:#94a3b81f;font-family:var(--font-mono);font-size:.74em;overflow-wrap:anywhere}.typing{color:var(--key-bright);animation:live-blink 1.2s ease-in-out infinite}.empty{color:var(--muted);font-size:.74rem;margin:8px 0 4px}.transcript-link{color:var(--key-bright);font-weight:700;text-decoration:underline;text-decoration-color:#67e8f96b;text-underline-offset:.16em;overflow-wrap:anywhere}.transcript-link:visited{color:#9ec5ff}.transcript-link:hover,.transcript-link:focus-visible{color:#d4f6ff;text-decoration-color:currentColor}.phone-link{white-space:nowrap}.mode-actions{width:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}@media(max-width:560px){.mode-actions{grid-template-columns:repeat(3,1fr)}}.mode-button{position:relative;min-height:44px;padding:7px 4px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(160deg,var(--glass-a),var(--glass-b));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink-soft);font-size:.68rem;font-weight:700;line-height:1.2;overflow:hidden;transition:color .2s ease,border-color .2s ease,transform .2s ease}.mode-button:hover:not(:disabled){color:var(--ink);border-color:var(--line-bright);transform:translateY(-2px)}.mode-button.selected{border:1px solid transparent;background:linear-gradient(var(--mode-fill),var(--mode-fill)) padding-box,var(--accent-grad) border-box;color:#fff;box-shadow:0 10px 30px var(--stage-glow)}.mode-button.selected:after{content:"";position:absolute;inset:0;background:radial-gradient(70% 100% at 50% 116%,var(--stage-glow),transparent 70%);pointer-events:none}.spelling-cancel-link{margin:0 auto;padding:0;border:0;background:none;color:var(--muted);font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.spelling-cancel-link:hover{color:var(--ink-soft)}.pulse-controls{width:100%;display:grid;gap:9px;padding-bottom:max(2px,env(safe-area-inset-bottom))}.pulse-dock{min-height:88px;padding:6px 12px;border-radius:26px;display:grid;grid-template-columns:52px 1fr 58px;align-items:center;justify-content:space-between;gap:4px}.silent-composer{min-height:154px;padding:2px 12px 8px;border-radius:26px;display:grid;grid-template-columns:minmax(0,1fr) 58px;grid-template-rows:18px minmax(0,1fr);align-items:stretch;gap:4px 8px;border-color:var(--line-bright)}.silent-composer-field{grid-column:1;grid-row:2;min-width:0}.silent-composer-resize{grid-column:1;grid-row:1;z-index:2;width:44px;height:18px;justify-self:center;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ink-soft);cursor:n-resize;touch-action:none}.silent-composer-resize:before{content:"";display:block;width:22px;height:2px;margin:5px auto 0;border-radius:1px;background:currentColor;box-shadow:0 4px 0 currentColor}.silent-composer-resize:hover{color:var(--ink)}.silent-composer textarea{width:100%;min-height:120px;max-height:42vh;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:#090e1ecc;color:var(--ink);font-family:var(--font-ui);font-size:.95rem;line-height:1.4;field-sizing:content;resize:none}.silent-composer textarea.is-resized{field-sizing:fixed}.silent-composer textarea:focus{border-color:var(--line-bright);outline:none}.silent-composer-actions{grid-column:2;grid-row:2;width:58px;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:4px}.silent-end{width:58px;min-height:36px;padding:0 4px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--fill);color:var(--ink-soft);font-size:.62rem;font-weight:700;line-height:1.15}.silent-end:not(:disabled){color:var(--danger)}.silent-end:hover:not(:disabled){color:var(--danger);border-color:#fb71856b;background:var(--fill-hover)}.silent-composer-actions .plus-action{width:36px;min-height:36px;padding:8px;justify-self:center}.silent-send{width:44px;min-height:44px;padding:10px;justify-self:center;display:grid;place-items:center;border:1px solid transparent;border-radius:18px;background:var(--accent-grad);color:#fff;box-shadow:0 8px 22px var(--bloom-far);transition:filter .18s ease,transform .18s ease}.silent-send svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.silent-send:hover:not(:disabled){filter:brightness(1.07)}.silent-send:disabled{background:var(--fill);color:var(--ink-soft);box-shadow:none}.icon-button.engaged{color:var(--key-bright);border-color:var(--key);box-shadow:0 0 14px var(--stage-glow)}.dock-action{width:58px;min-height:58px;justify-self:center;display:grid;place-items:center;border:1px solid var(--line);border-radius:18px;background:var(--fill);color:var(--ink-soft);font-size:.7rem;font-weight:700;transition:color .18s ease,border-color .18s ease,background .18s ease}.dock-action:hover:not(:disabled){color:var(--ink);border-color:var(--line-bright);background:var(--fill-hover)}.plus-action{width:52px;min-height:52px;padding:14px;justify-self:start}.end-action:not(:disabled){color:var(--danger);justify-self:end}.end-action:hover:not(:disabled){border-color:#fb71856b}.mic-button{position:relative;width:76px;min-height:76px;margin:0 auto;padding:22px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 34% 26%,rgba(214,245,255,.42),transparent 46%),var(--accent-grad);color:#fff;box-shadow:0 0 0 1px var(--line-bright),0 10px 34px var(--bloom-far),inset 0 -8px 20px #04081666;transition:transform .2s cubic-bezier(.22,1,.36,1),filter .2s ease}.mic-button:hover:not(:disabled){transform:scale(1.05);filter:brightness(1.06)}.mic-button:active:not(:disabled){transform:scale(.97)}.mic-button:before{content:"";position:absolute;inset:-7px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,var(--bar-1) 60deg,transparent 130deg,transparent 200deg,var(--bar-6) 265deg,transparent 330deg);mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 0);animation:halo-spin 4.2s linear infinite}.mic-button.active:after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid var(--key);animation:mic-ping 2.1s ease-out infinite}.mic-button.muted{background:radial-gradient(circle at 34% 26%,rgba(255,245,220,.34),transparent 46%),linear-gradient(105deg,var(--amber-deep),var(--amber));box-shadow:0 0 0 1px var(--amber),0 10px 30px #fbbf244d,inset 0 -8px 20px #3c1e0059}.mic-button.muted:before{animation-duration:9s;opacity:.45}@keyframes halo-spin{to{transform:rotate(360deg)}}@keyframes mic-ping{0%{transform:scale(1);opacity:.75}to{transform:scale(1.55);opacity:0}}.hold-to-talk,.stop-speaking{width:100%;min-height:46px;border:1px solid var(--line);border-radius:15px;background:var(--fill);backdrop-filter:blur(12px);color:var(--ink-soft);font-size:.78rem;font-weight:700;transition:color .18s ease,border-color .18s ease}.hold-to-talk{border-style:dashed;border-color:var(--line-bright);user-select:none}.stop-speaking{font-size:.74rem}.hold-to-talk:hover,.stop-speaking:hover{color:var(--ink);border-color:var(--line-bright)}.attachment-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.attachment-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 8px 6px 11px;border:1px solid var(--line);border-radius:14px;background:var(--fill);color:var(--ink-soft);font-size:.76rem}.attachment-thumb{width:32px;height:32px;object-fit:cover;border-radius:8px}.chip-save{min-height:28px;padding:0 9px;border:1px solid var(--line-bright);border-radius:999px;color:var(--key-bright);font-size:.7rem;font-weight:700}.chip-remove{width:26px;min-height:26px;border-radius:999px;color:var(--muted);font-size:1.05rem;line-height:1}.chip-remove:hover{color:var(--ink)}.send-attachments{min-height:36px;padding:6px 13px;border:1px solid rgba(34,211,238,.45);border-radius:12px;color:var(--key-bright);font-size:.76rem;font-weight:700}.attachment-sheet{margin-top:2px;padding:13px;border-radius:20px;animation:rise-in .26s cubic-bezier(.22,1,.36,1) both}.attachment-menu{display:grid;gap:8px}.attachment-menu button,.compose-actions button{min-height:48px;border:1px solid var(--line);border-radius:14px;background:var(--fill);color:var(--ink);font-weight:700;font-size:.82rem;transition:border-color .18s ease,background .18s ease}.attachment-menu button:hover:not(:disabled),.compose-actions button:hover:not(:disabled){border-color:var(--line-bright);background:var(--fill-hover)}.attachment-compose{display:grid;gap:10px}.attachment-compose textarea{width:100%;min-height:110px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#090e1ecc;color:var(--ink);resize:vertical}.attachment-compose textarea:focus{border-color:var(--line-bright);outline:none}.compose-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.primary-compose{border-color:transparent!important;background:var(--accent-grad)!important;color:#fff!important;box-shadow:0 8px 22px var(--bloom-far)}.sheet-cancel{color:var(--muted)!important}.attach-status{margin:8px 0 0;color:var(--muted);font-size:.78rem}.notice,.global-error{padding:12px 16px;border:1px solid rgba(251,191,36,.32);border-radius:14px;background:#302206d9;backdrop-filter:blur(14px);color:#ffe6ab;font-size:.8rem;font-weight:600}.notice{width:100%;margin:0 auto;align-self:start}.push-notice{display:flex;align-items:center;gap:10px}.push-notice span{flex:1}.notice-action,.notice-close{border:1px solid rgba(251,191,36,.4);border-radius:10px;background:#fbbf241f;color:inherit;font:inherit;padding:4px 10px;cursor:pointer}.notice-close{padding:2px 8px;font-size:1rem;line-height:1}.notice-action:disabled{opacity:.5;cursor:default}.notifications-panel{width:100%;min-height:0;height:auto;padding:0 14px 8px;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line-bright);background:var(--fill)}.notifications-panel.is-expanded{position:fixed;z-index:30;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(100% - 24px,430px);height:min(70dvh,36rem);max-height:calc(100dvh - 20px - env(safe-area-inset-bottom))}.notifications-header{min-height:38px;padding:10px 0 6px;display:flex;align-items:center;gap:9px}.notifications-bar{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:inherit;text-align:left}.notifications-count,.notifications-preview{color:var(--ink-soft);font-size:.74rem}.notifications-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifications-header h2{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.notifications-badge{padding:2px 7px;border:1px solid var(--line-bright);border-radius:999px;color:var(--key-bright);font-family:var(--font-mono);font-size:.52rem;letter-spacing:.14em;text-transform:uppercase}.notifications-hide{margin-left:auto;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--fill);color:var(--ink-soft);font-family:var(--font-mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;transition:color .2s ease,border-color .2s ease}.notifications-hide:hover{border-color:var(--line-bright);color:var(--ink)}.notification-list{flex:1 1 0;min-height:0;margin:0;padding:0 0 12px;list-style:none;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent;display:flex;flex-direction:column;gap:8px}.notification-card{position:relative;padding:10px 12px 12px;border:1px solid var(--line);border-radius:16px;background:var(--fill);animation:rise-in .34s cubic-bezier(.22,1,.36,1) both}.notification-card.unseen{border-color:var(--line-bright);box-shadow:inset 2px 0 0 var(--key)}.notification-meta{display:flex;align-items:center;gap:8px;margin:0 0 6px;color:var(--muted);font-family:var(--font-mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase}.notification-meta time{margin-left:auto}.notification-title{margin:0 0 4px;color:var(--ink);font-size:.84rem;font-weight:700;line-height:1.3}.notification-body{margin:0;color:var(--ink-soft);font-size:.8rem;line-height:1.45;white-space:pre-line}.notification-ack{margin-top:10px;padding:6px 14px;border:1px solid var(--line-bright);border-radius:999px;background:transparent;color:var(--key-bright);font-size:.74rem;font-weight:700;transition:background .2s ease,color .2s ease}.notification-ack:hover{background:var(--fill-hover);color:var(--ink)}.confirm-panel{grid-area:transcript;z-index:3;align-self:start;justify-self:center;width:min(92vw,420px);margin-top:8px;padding:14px 16px 16px;border:1px solid var(--line-bright);border-radius:18px;background:color-mix(in srgb,var(--fill) 92%,var(--key) 8%);box-shadow:0 12px 40px #00000059;animation:rise-in .34s cubic-bezier(.22,1,.36,1) both}.confirm-panel h2{margin:0 0 8px;color:var(--key-bright);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}.confirm-summary{margin:0 0 6px;color:var(--ink);font-size:.9rem;font-weight:700;line-height:1.35}.confirm-message{margin:0;color:var(--ink-soft);font-size:.8rem;line-height:1.4}.confirm-actions{display:flex;gap:10px;margin-top:14px}.confirm-yes,.confirm-no{flex:1;min-height:42px;border-radius:999px;font-size:.9rem;font-weight:700}.confirm-yes{border:1px solid var(--key);background:var(--key);color:#0b1220}.confirm-no{border:1px solid var(--line-bright);background:transparent;color:var(--ink)}.confirm-yes:disabled,.confirm-no:disabled{opacity:.55;cursor:default}.action-chip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:min(100%,430px);margin:0 auto 8px;padding:8px 10px;border:1px solid var(--line-bright);border-radius:14px;background:var(--fill);color:var(--ink-soft);font-size:.78rem}.action-chip .chip-text{flex:1;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.action-chip .chip-text em{display:block;margin-top:2px;color:var(--muted);font-style:normal;font-size:.7rem}.action-chip button{min-height:32px;padding:0 10px;border:1px solid var(--key);border-radius:999px;background:transparent;color:var(--key-bright);font-size:.72rem;font-weight:700}.action-chip .chip-dismiss{border-color:var(--line);color:var(--muted)}.global-error{position:fixed;z-index:5;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(92vw,480px);border-color:#fb718566;background:#340c16e6;color:#ffd9df}.error{margin:4px 0 0!important;color:var(--danger)!important;font-size:.78rem;font-weight:700;text-align:center}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(min-width:720px){.pulse-shell{width:min(100% - 48px,560px)}.provider-compact select{max-width:168px}.silent-composer textarea{min-height:128px;max-height:46vh}}@media(max-width:560px){.pulse-header{gap:8px}.header-actions{gap:4px}.provider-compact select{max-width:96px;padding-right:18px;font-size:.62rem}.pulse-shell{width:min(100% - 20px,430px);grid-template-rows:auto 102px minmax(0,1fr) auto auto;gap:8px}.voice-wave-stage{height:84px}.voice-wave{height:56px}.voice-wave-stage:before{height:70px}}@media(max-height:720px){.pulse-shell{grid-template-rows:auto 82px minmax(0,1fr) auto auto}.voice-wave-stage{height:66px}.voice-wave{height:44px}.voice-wave-stage:before{height:56px}.voice-wave-status{font-size:.88rem}.mode-button{min-height:40px}.pulse-dock{min-height:76px}.silent-composer{min-height:154px}.mic-button{width:66px;min-height:66px;padding:19px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(min-width:1100px)and (hover:hover)and (pointer:fine){.login-shell{width:min(100%,440px);padding:36px 32px 30px}.login-shell .brand{font-size:1.32rem;letter-spacing:.08em}.login-shell .lede{font-size:.9rem}.pulse-shell{width:min(100% - 48px,1360px);height:100dvh;max-height:100dvh;margin:0 auto;padding:var(--safe-top) 8px var(--safe-bottom);overflow:hidden;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;grid-template-columns:minmax(300px,400px) minmax(0,1fr);grid-template-areas:"header header" "stage transcript" "modes transcript" "controls transcript";grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px 28px}.pulse-header{padding:10px 8px 4px 16px}.pulse-brand h1{font-size:.8rem;letter-spacing:.16em}.pulse-brand h1:after{content:"PC";display:inline-block;margin-left:10px;padding:2px 8px;border:1px solid var(--line-bright);border-radius:999px;color:var(--key-bright);font-size:.5rem;letter-spacing:.16em;vertical-align:1px}.provider-compact select{max-width:188px}.pulse-stage{padding-top:8px}.voice-wave-stage{width:min(100%,340px);height:108px}.voice-wave-stage:before{height:108px}.mode-actions{align-self:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mode-button{min-height:48px;border-radius:14px;font-size:.72rem}.pulse-controls{align-self:end;padding-bottom:2px}.pulse-dock{min-height:96px;border-radius:28px}.silent-composer{min-height:154px;border-radius:28px}.transcript-panel{padding:4px 22px 16px;border-radius:26px}.transcript-header h2{font-size:.66rem}.transcript article p{font-size:.98rem;line-height:1.62}.transcript article>span{font-size:.6rem}.silent-composer textarea{max-height:36vh}.transcript-overlays{max-height:72%}}
