:root{--brand-ink: #044759;--brand-ink-soft: #3f6b78;--teal: #0abca8;--teal-deep: #207693;--aqua: #6bcccc;--blue: #367593;--grad-brand: linear-gradient(90deg, #207693 0%, #0abca8 100%);--bg: #ffffff;--surface: #f1f7f9;--surface-2: #eaf3f5;--card: #ffffff;--line: #dce8eb;--line-strong: #c7dce0;--danger: #dc2626;--warn: #c87a0a;--warn-bg: #fff8ec;--success: #16a34a;--radius: 14px;--radius-lg: 22px;--radius-pill: 999px;--shadow-1: 0 10px 28px rgba(4, 71, 89, .12);--shadow-2: 0 24px 64px rgba(4, 71, 89, .16);--focus-ring: 0 0 0 4px rgba(11, 184, 167, .32);--ease: cubic-bezier(.2, .8, .2, 1);--dur-1: .12s;--dur-2: .22s;--dur-3: .52s;font-family:Onest,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(900px 480px at 15% -8%,#6bcccc73,#6bcccc00 58%),radial-gradient(820px 460px at 92% 6%,#0bb8a752,#0bb8a700 56%),radial-gradient(760px 600px at 50% 116%,#36759338,#36759300 60%),linear-gradient(180deg,#fff,#f3f9fa);background-attachment:fixed;color:var(--brand-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;display:flex;align-items:center;justify-content:center;padding:24px}#app{width:100%;max-width:460px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 26px 26px;text-align:center;box-shadow:var(--shadow-2);animation:rise var(--dur-3) var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.brand-header{display:flex;flex-direction:column;align-items:center;gap:7px;margin-bottom:20px}.brand-logo{height:30px;width:auto}.brand{font-weight:600;letter-spacing:.26em;text-transform:uppercase;font-size:11px;color:var(--blue);display:inline-flex;align-items:center;gap:9px}.brand:before,.brand:after{content:"";width:16px;height:1px;background:var(--line-strong)}h1{font-size:21px;font-weight:600;line-height:1.32;letter-spacing:-.01em;margin:4px 0 18px;color:var(--brand-ink)}p{color:var(--brand-ink-soft);line-height:1.55;margin:8px 0}.msg{font-size:15px}.note{font-size:13px}.svg-icon{width:22px;height:22px;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:0 0 auto}.icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;margin:4px auto 12px}.icon .svg-icon{width:30px;height:30px;stroke-width:2}.icon.ok{color:var(--success);background:#e8f7ee}.icon.error{color:var(--warn);background:var(--warn-bg)}.modes{display:flex;flex-direction:column;gap:10px;margin:4px 0 16px}.mode{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;text-align:left;background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius);padding:14px 15px;color:var(--brand-ink);cursor:pointer;font:inherit;transition:border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),transform var(--dur-1) var(--ease)}.mode-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--surface);color:var(--blue);transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}.mode-text{display:flex;flex-direction:column;gap:3px;min-width:0}.mode-check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}.mode-check .svg-icon{width:13px;height:13px;stroke-width:3;opacity:0;transition:opacity var(--dur-2) var(--ease)}.mode:hover{border-color:var(--aqua);box-shadow:var(--shadow-1)}.mode.selected{border-color:var(--teal);background:linear-gradient(180deg,#f2fbfa,#fff)}.mode.selected .mode-icon{background:var(--grad-brand);color:#fff}.mode.selected .mode-check{background:var(--teal);border-color:var(--teal)}.mode.selected .mode-check .svg-icon{opacity:1}.mode[disabled]{opacity:.45;cursor:not-allowed}.mode[disabled]:hover{border-color:var(--line);box-shadow:none}.mode-title{font-weight:600;font-size:15px}.mode-hint{font-size:12.5px;color:var(--brand-ink-soft);line-height:1.4}.mic-row{text-align:left;margin:4px 0 14px}.mic-label{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--brand-ink-soft);margin-bottom:7px}.mic-label .svg-icon{width:16px;height:16px}.mic-select{width:100%;padding:12px 13px;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--bg);color:var(--brand-ink);font:inherit;font-size:14px;transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.mic-select:hover{border-color:var(--aqua)}.note.warn{display:flex;gap:7px;align-items:flex-start;color:var(--warn);margin-top:8px}.note.warn .svg-icon{width:15px;height:15px;margin-top:1px}.note.info{text-align:left;margin-top:12px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);border-left:3px solid var(--teal);background:var(--surface);color:var(--brand-ink);line-height:1.5;font-size:13.5px}.note.info .note-head{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:6px;color:var(--brand-ink)}.note.info .note-head .svg-icon{width:18px;height:18px;color:var(--blue)}.note.info p{margin:0}.note.info p+p{margin-top:8px;color:var(--brand-ink-soft)}.consent{display:flex;gap:11px;align-items:flex-start;text-align:left;font-size:13.5px;line-height:1.45;color:var(--brand-ink);margin:4px 0 18px;padding:13px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:border-color var(--dur-2) var(--ease)}.consent:hover{border-color:var(--aqua)}.consent input{margin:1px 0 0;width:19px;height:19px;accent-color:var(--teal);flex:0 0 auto;cursor:pointer}button.primary,button.stop{width:100%;border:none;border-radius:var(--radius);padding:16px;font:inherit;font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:filter var(--dur-2) var(--ease),transform var(--dur-1) var(--ease),box-shadow var(--dur-2) var(--ease)}button.primary{background:var(--grad-brand);box-shadow:0 12px 26px #0bb8a752}button.primary:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}button.primary:active:not(:disabled){transform:translateY(0)}button.primary:disabled{background:var(--surface-2);color:var(--brand-ink-soft);box-shadow:none;cursor:not-allowed}button.stop{background:#fff;color:var(--danger);border:1.5px solid #f3c6c2;box-shadow:var(--shadow-1)}button.stop:hover{background:#fef4f3}.recording{display:flex;flex-direction:column;align-items:center}.rec-status{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 11px;border-radius:var(--radius-pill);background:#fdeceb;color:var(--danger);font-weight:600;font-size:13.5px;letter-spacing:.02em;margin:2px 0 18px}.rec-dot{position:relative;width:11px;height:11px;border-radius:50%;background:var(--danger)}.rec-dot:after{content:"";position:absolute;inset:-5px;border-radius:50%;background:var(--danger);opacity:.28;animation:halo 1.8s var(--ease) infinite}@keyframes halo{0%{transform:scale(.7);opacity:.35}70%,to{transform:scale(1.9);opacity:0}}.clock{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:56px;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--brand-ink);margin:2px 0 4px}.meter{height:12px;width:100%;background:var(--surface-2);border-radius:var(--radius-pill);overflow:hidden;margin:16px 0 8px}.meter-fill{height:100%;width:0%;background:var(--grad-brand);border-radius:var(--radius-pill);transition:width .06s linear}.recording .note{color:var(--brand-ink-soft);margin:4px 0}.recording .stop{margin-top:16px}.spinner{width:40px;height:40px;margin:18px auto 14px;border:3.5px solid var(--surface-2);border-top-color:var(--teal);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:420px){body{padding:14px}.card{padding:26px 18px 20px;border-radius:18px}.clock{font-size:48px}}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:10px}.mode:focus-visible,.mic-select:focus-visible,button.primary:focus-visible,button.stop:focus-visible{border-radius:var(--radius)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
