:root{--bg: #f4f7f7;--surface: #ffffff;--surface-2: #eef3f3;--text: #0f1f22;--muted: #5b6b6e;--border: #dbe3e4;--brand: #0f766e;--brand-strong: #0b5e57;--brand-soft: #d7f0ec;--on-brand: #ffffff;--danger: #b42318;--danger-soft: #fdecea;--easy: #15803d;--easy-soft: #dcfce7;--medium: #a16207;--medium-soft: #fef3c7;--hard: #b91c1c;--hard-soft: #fee2e2;--great: #15803d;--good: #0f766e;--ok: #b45309;--low: #b91c1c;--call: #16a34a;--end: #dc2626;--bubble-me: #0f766e;--on-bubble-me: #ffffff;--shadow: 0 1px 2px rgba(15, 31, 34, .06), 0 4px 16px rgba(15, 31, 34, .06);--radius: 16px;--tap: 48px;color-scheme:light}:root[data-theme=dark]{--bg: #0b1416;--surface: #132124;--surface-2: #1a2b2e;--text: #e6eeef;--muted: #94a7aa;--border: #253a3d;--brand: #2dd4bf;--brand-strong: #5eead4;--brand-soft: #123a36;--on-brand: #04201d;--danger: #f97066;--danger-soft: #3a1714;--easy: #4ade80;--easy-soft: #12301d;--medium: #fbbf24;--medium-soft: #33280c;--hard: #f87171;--hard-soft: #3a1515;--great: #4ade80;--good: #2dd4bf;--ok: #fbbf24;--low: #f87171;--call: #22c55e;--end: #ef4444;--bubble-me: #134e48;--on-bubble-me: #e6eeef;--shadow: none;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}h1,h2,h3{margin:0;line-height:1.2}a{color:var(--brand)}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center;padding:2rem 0}.error{background:var(--danger-soft);color:var(--danger);padding:.7rem .9rem;border-radius:12px;font-size:.95rem}.splash{min-height:100dvh}.page{max-width:640px;margin:0 auto;padding:16px 16px calc(96px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:88px 1fr 88px;align-items:center;min-height:56px;padding:env(safe-area-inset-top) 8px 0;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--border)}.topbar-title{text-align:center;font-size:1.05rem;font-weight:650}.topbar-side{display:flex;align-items:center}.topbar-right{justify-content:flex-end}.hello{margin:8px 0 16px}.hello h2{font-size:1.5rem;letter-spacing:-.01em}.hello p{margin:6px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn-ghost{background:transparent;border-color:transparent;color:var(--brand)}.btn-block{width:100%;min-height:var(--tap)}.text-btn,.icon-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 8px;border:0;background:none;color:var(--brand);font:inherit;font-weight:600;cursor:pointer}.fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:var(--on-brand);box-shadow:0 6px 20px #0f766e59}.login{min-height:100dvh;display:grid;place-items:center;padding:24px 16px calc(24px + env(safe-area-inset-bottom))}.login-card{width:100%;max-width:400px;text-align:center}.login-logo{width:72px;height:72px;border-radius:18px}.login-card h1{margin-top:16px;font-size:1.8rem}.login-card form{margin-top:28px;text-align:left;display:grid;gap:12px}label,legend{font-weight:600;font-size:.92rem}.req{color:var(--danger)}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;min-height:var(--tap);padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;font-size:16px}textarea{resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:transparent}.form{display:grid;gap:16px}.field{display:grid;gap:6px;border:0;margin:0;padding:0;min-width:0}.help{margin:0;color:var(--muted);font-size:.85rem}.segmented{display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface-2);border-radius:12px;padding:4px;gap:4px;margin-top:6px}.segmented label{display:grid;place-items:center;min-height:40px;border-radius:9px;cursor:pointer;font-weight:600}.segmented label.on{background:var(--surface);box-shadow:var(--shadow);color:var(--brand)}.segmented input{position:absolute;opacity:0;pointer-events:none}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:0 16px}.section[open]{padding-bottom:16px}.section>summary{min-height:52px;display:flex;align-items:center;font-weight:650;cursor:pointer;list-style:none}.section>summary::-webkit-details-marker{display:none}.section>summary:after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}.section[open]>summary:after{transform:rotate(-135deg)}.section .field+.field,.section .help+.grid-2{margin-top:14px}.grid-2{display:grid;gap:14px}.grid-2 .field+.field{margin-top:0}@media(min-width:520px){.grid-2{grid-template-columns:1fr 1fr}}.form-actions{display:grid;gap:8px}.toggle{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:20px;min-height:44px;font-weight:500;color:var(--muted)}.toggle input{width:20px;height:20px;accent-color:var(--brand)}.chips{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 16px;padding:0 16px;scrollbar-width:none}.chip{flex:none;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;font-size:.92rem;cursor:pointer}.chip-on{background:var(--text);border-color:var(--text);color:var(--bg)}.cards{list-style:none;margin:0;padding:0;display:grid;gap:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card-archived{opacity:.65}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card h3{font-size:1.1rem}.card-scenario{margin:2px 0 0;font-weight:600;color:var(--brand);font-size:.95rem}.card-summary{margin:10px 0 0;font-size:.95rem}.card-meta{margin:8px 0 0;color:var(--muted);font-size:.82rem}.card-actions{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;margin-top:14px}.badge{flex:none;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge-easy{background:var(--easy-soft);color:var(--easy)}.badge-medium{background:var(--medium-soft);color:var(--medium)}.badge-hard{background:var(--hard-soft);color:var(--hard)}.badge-current{background:var(--brand-soft);color:var(--brand)}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px}.timeline-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.timeline-item.current{border-color:var(--brand)}.timeline-head{width:100%;display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.timeline-v{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-weight:700;font-size:.85rem}.timeline-body{flex:1;min-width:0;display:grid}.timeline-body .small{overflow-wrap:anywhere}.timeline-detail{padding:0 14px 14px;display:grid;gap:10px}.diff{list-style:none;margin:0;padding:0;display:grid;gap:10px}.diff li{display:grid;gap:4px;padding:10px 12px;background:var(--surface-2);border-radius:10px;font-size:.9rem}.diff-label{font-weight:650}.diff-then{white-space:pre-wrap}.diff-now{color:var(--muted);font-size:.82rem;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.center-text{text-align:center}.btn-call{min-height:56px;background:var(--call);border-color:var(--call);color:#fff;font-size:1.05rem;border-radius:999px}.avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:700}.avatar-lg{width:88px;height:88px;font-size:1.8rem}.avatar-talking{animation:talking 1.2s ease-out infinite}@keyframes talking{0%{box-shadow:0 0 color-mix(in srgb,var(--brand) 45%,transparent)}to{box-shadow:0 0 0 18px transparent}}@media(prefers-reduced-motion:reduce){.avatar-talking{animation:none;outline:3px solid var(--brand);outline-offset:4px}}.precall{display:grid;gap:20px}.caller-hero{display:grid;justify-items:center;gap:6px;text-align:center;padding-top:8px}.caller-hero h2{margin-top:8px;font-size:1.5rem}.tips{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.tips h3{font-size:1rem}.tips ul{margin:10px 0 0;padding-left:1.1rem;display:grid;gap:8px;font-size:.95rem}.mic-check{display:grid;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.mic-check h3{font-size:1rem}.mic-check p{margin:0}.meter{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.meter-fill{height:100%;background:var(--call);transition:width .1s linear}.ok-text{color:var(--call);font-weight:600}.incall{height:100dvh;display:grid;grid-template-rows:auto 1fr auto;max-width:640px;margin:0 auto;padding-top:env(safe-area-inset-top)}.incall-head{display:grid;justify-items:center;gap:4px;padding:24px 16px 12px;border-bottom:1px solid var(--border)}.incall-head h2{margin-top:8px;font-size:1.35rem}.incall-status{margin:0;color:var(--muted);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--call)}.incall-transcript{overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.incall-error{margin:0 16px 8px}.incall-controls{display:flex;justify-content:center;gap:48px;padding:16px 16px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg)}.round-btn{display:grid;justify-items:center;gap:6px;border:0;background:none;color:var(--text);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.round-btn svg{box-sizing:content-box;padding:19px;border-radius:50%;background:var(--surface-2)}.round-btn-on svg{background:var(--text);color:var(--bg)}.round-btn-end svg{background:var(--end);color:#fff}.round-btn:disabled{opacity:.5}.transcript{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.bubble{max-width:85%;padding:10px 14px;border-radius:18px;font-size:.98rem;line-height:1.4;white-space:pre-wrap}.bubble-who{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-bottom:2px}.bubble-caller{align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.bubble-trainee{align-self:flex-end;background:var(--bubble-me);color:var(--on-bubble-me);border-bottom-right-radius:6px}.transcript-end{height:1px}.card-link{display:block;color:inherit;text-decoration:none}.empty{display:grid;justify-items:center;gap:12px;padding:40px 0;color:var(--muted)}.notice{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--medium-soft);color:var(--medium);font-size:.9rem}.section-title{margin:0 0 12px;font-size:1rem}.sticky-actions{margin-top:24px}.settings{display:grid;gap:12px}.settings-card{display:grid;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.settings-card h3{font-size:1rem}.settings-card .segmented{margin-top:0}.facts{margin:0;display:grid;gap:8px}.facts div{display:flex;justify-content:space-between;gap:12px}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}.add-user{display:grid;gap:8px}.add-user-row{display:grid;grid-template-columns:1fr auto;gap:8px}.user-list{list-style:none;margin:0;padding:0;display:grid}.user-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-top:1px solid var(--border)}.user-main{display:grid;min-width:0}.user-main strong{overflow-wrap:anywhere}.user-off strong{color:var(--muted);text-decoration:line-through}.generator{display:grid;gap:8px;padding:16px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--brand) 40%,var(--border));background:var(--brand-soft)}.generator textarea{background:var(--surface)}.tone-great{--tone: var(--great)}.tone-good{--tone: var(--good)}.tone-ok{--tone: var(--ok)}.tone-low{--tone: var(--low)}.qa{display:grid;gap:12px;margin:8px 0 24px}.qa-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:grid;gap:10px}.qa-card h3{font-size:1rem}.qa-card p{margin:0}.qa-pending{grid-template-columns:auto 1fr;align-items:center;margin:8px 0 24px}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--surface-2);border-top-color:var(--brand);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.qa-hero{justify-items:center;text-align:center}.score-ring{position:relative;width:112px;height:112px}.ring-track,.ring-value{fill:none;stroke-width:9}.ring-track{stroke:var(--surface-2)}.ring-value{stroke:var(--tone);stroke-linecap:round}.score-ring-text{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.score-ring-text strong{font-size:2rem;line-height:1}.score-ring-text span{font-size:.75rem;color:var(--muted);margin-top:4px}.bars{list-style:none;margin:0;padding:0;display:grid;gap:4px}.bars summary{display:grid;grid-template-columns:7.5rem 1fr 2rem;align-items:center;gap:10px;min-height:40px;cursor:pointer;list-style:none}.bars summary::-webkit-details-marker{display:none}.bars details p{margin:0 0 8px;color:var(--muted)}.bar-label{font-size:.92rem;font-weight:600}.bar-track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:999px;background:var(--tone)}.bar-score{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.fixes,.checks,.steps,.phrases,.concerns{list-style:none;margin:0;padding:0;display:grid;gap:10px}.fix{display:grid;gap:6px;padding:12px;border-radius:12px;background:var(--surface-2)}.fix-tag,.fix-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.fix-tag{justify-self:start;color:var(--muted)}.fix-label{display:block;margin-bottom:2px}.fix-said{color:var(--muted)}.fix-said .fix-label{color:var(--low)}.fix-better{font-weight:600}.fix-better .fix-label{color:var(--great)}.fix-why{color:var(--muted)}.checks li{position:relative;padding-left:26px;font-size:.95rem}.checks li:before{content:"✓";position:absolute;left:0;color:var(--great);font-weight:700}.step{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start}.step p{color:var(--muted);margin-top:2px}.step-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.85rem;font-weight:700;background:var(--surface-2);color:var(--muted)}.step-done .step-icon{background:var(--easy-soft);color:var(--great)}.step-partly .step-icon{background:var(--medium-soft);color:var(--ok)}.step-missed .step-icon{background:var(--hard-soft);color:var(--low)}.phrases li{display:grid;gap:2px;padding:10px 12px;border-left:3px solid var(--brand);background:var(--surface-2);border-radius:0 10px 10px 0}.qa-warn{border-color:color-mix(in srgb,var(--ok) 50%,var(--border))}.concerns li{display:grid;gap:4px}.score-pill{flex:none;min-width:2.2rem;padding:3px 8px;border-radius:999px;text-align:center;font-size:.8rem;font-weight:800;color:var(--tone);background:color-mix(in srgb,var(--tone) 14%,transparent)}.card-badges{display:flex;gap:6px;align-items:center}.progress-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.progress-card p{margin:0}.progress-card>div{display:grid}.progress-score{font-size:2rem;line-height:1.1;color:var(--tone)}
