:root{font-family:Space Grotesk,Plus Jakarta Sans,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#e2e8f0;background-color:#0b0f1a;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{background-color:#0b0f1a}button,input,select{font-family:inherit}:root{--bg: #0b0f1a;--panel: rgba(15, 23, 42, .9);--panel-2: rgba(15, 23, 42, .6);--surface: rgba(2, 6, 23, .65);--line: rgba(148, 163, 184, .18);--text: #e2e8f0;--muted: #94a3b8;--accent: #7c3aed;--accent-2: #2563eb;--success: #22c55e;--warn: #f59e0b;--danger: #ef4444}.app-shell{min-height:100vh;width:100%;background:radial-gradient(1200px 600px at 10% -10%,#dbeafe,#dbeafe00 60%),radial-gradient(900px 500px at 100% 0%,#fde68a,#fde68a00 55%),var(--bg);color:var(--text)}.app-shell.theme-light{--bg: #f8fafc;--panel: rgba(255, 255, 255, .9);--panel-2: rgba(255, 255, 255, .75);--surface: rgba(248, 250, 252, .9);--line: rgba(148, 163, 184, .35);--text: #0f172a;--muted: #475569;--accent: #7c3aed;--accent-2: #2563eb;background:radial-gradient(1200px 600px at 10% -10%,#dbeafe,#dbeafe00 60%),radial-gradient(900px 500px at 100% 0%,#fde68a,#fde68a00 55%),var(--bg)}.app-shell *{transition:background-color .24s ease,color .24s ease,border-color .24s ease,transform .24s ease,box-shadow .24s ease,opacity .24s ease}*{scrollbar-width:thin;scrollbar-color:rgba(129,140,248,.6) rgba(15,23,42,.35);scrollbar-gutter:stable}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#0f172a40;border-radius:999px}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#6366f1cc,#7c3aedcc);border-radius:999px;border:2px solid rgba(15,23,42,.25)}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#818cf8f2,#7c3aedf2)}.app-container{width:100%;padding:28px 24px 48px;min-height:100vh}.layout-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:24px;animation:fade-in .52s ease;align-items:stretch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 20px 50px #02061766;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:rise-in .52s ease}.sidebar{min-height:640px}.studio{min-height:640px;display:flex;flex-direction:column;gap:16px;background:var(--panel-2);height:min(760px,calc(100vh - 140px));min-height:0}.studio.studio-analysis{height:auto;min-height:640px}.brand-kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.brand-title{margin:8px 0 6px;font-size:32px;color:#f8fafc}.brand-subtitle{margin:0;color:var(--muted);line-height:1.5}.stack{display:grid;gap:10px}.pill-tabs{display:flex;gap:8px;margin-bottom:12px}.pill{flex:1;padding:8px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:transparent;color:#cbd5f5;font-weight:600}.pill.is-active{background:linear-gradient(90deg,var(--accent-2),var(--accent));color:#f8fafc}.pill:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 14px 26px #02061759}.input{padding:12px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:var(--panel);color:var(--text)}.input:focus{outline:none;border-color:#818cf8cc;box-shadow:0 0 0 3px #6366f133}.label{font-size:12px;color:var(--muted)}.btn{border:none;border-radius:12px;padding:12px 16px;font-weight:700}.btn:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 16px 28px #02061766}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(90deg,var(--accent-2),var(--accent));color:#f8fafc}.btn-warn{background:linear-gradient(90deg,#f97316,var(--warn));color:#0b0f1a}.btn-success{background:linear-gradient(90deg,#22c55e,#86efac);color:#052e16}.btn-danger{background:linear-gradient(90deg,var(--danger),#f97316);color:#0b0f1a}.btn-outline{border:1px solid rgba(148,163,184,.3);background:#94a3b81f;color:var(--text)}.btn-outline:hover{background:#94a3b833}.btn-ghost{border:none;background:transparent;color:#a5b4fc;padding:0}.btn-outline:active,.btn:active{transform:translateY(1px) scale(.99);box-shadow:none}.btn:disabled,.btn[disabled]{cursor:not-allowed;opacity:.7;box-shadow:none;transform:none}.btn-success:disabled,.btn-success[disabled]{background:linear-gradient(90deg,#22c55e59,#86efac59);color:#052e16b3}.btn-danger:disabled,.btn-danger[disabled]{background:linear-gradient(90deg,#f8717159,#fb923c59);color:#0c0a09b3}.btn.is-recording{position:relative}.btn.is-recording:after{content:"";position:absolute;inset:-6px;border-radius:14px;border:2px solid rgba(34,197,94,.4);animation:pulse 1.2s ease-in-out infinite}.chip-grid,.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:#94a3b81f;color:var(--text);font-size:12px}.chip.selected{background:linear-gradient(90deg,var(--accent-2),var(--accent));color:#f8fafc;border-color:transparent}.chip-input{display:flex;gap:8px;align-items:center}.chip-x{margin-left:8px;border:none;background:transparent;color:#e2e8f0;cursor:pointer}.typing-dots{display:inline-flex;gap:4px;align-items:center}.typing-dots span{width:6px;height:6px;border-radius:999px;background:#cbd5f5;animation:bounce 1s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}.wave{display:inline-flex;gap:3px;align-items:flex-end}.wave span{width:4px;height:10px;background:#60a5fa;border-radius:4px;animation:wave .8s ease-in-out infinite}.wave span:nth-child(2){animation-delay:.1s}.wave span:nth-child(3){animation-delay:.2s}.typing-indicator{opacity:.85}.typewriter{display:inline-block;max-width:100%;overflow:hidden;white-space:pre-wrap;word-break:break-word;border-right:2px solid rgba(203,213,225,.6);animation:reveal 1.4s ease-out forwards,blink .9s step-end infinite}.mic-indicator{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#fecaca;margin-left:6px}.mic-dot{width:8px;height:8px;border-radius:999px;background:#ef4444;box-shadow:0 0 12px #ef4444cc;animation:pulse 1s ease-in-out infinite}.timer-pill{position:relative;display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#0f172ab3;border:1px solid rgba(148,163,184,.25);overflow:hidden;min-width:140px}.timer-pill span{position:relative;z-index:1}.timer-bar{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#38bdf8,#6366f1);opacity:.35;transition:width .4s ease}.topic-pill{max-width:320px;padding:4px 10px;border-radius:999px;border:1px solid rgba(59,130,246,.35);background:#3b82f626;color:#cfe2ff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card{padding:14px;border-radius:14px;background:var(--panel-2);border:1px solid rgba(148,163,184,.2);margin-bottom:16px}.user-card:hover{transform:translateY(-3px)}.status-card{padding:20px;border-radius:18px;background:var(--surface);border:1px dashed rgba(148,163,184,.35);color:#cbd5f5;animation:fade-in .42s ease}.status-banner{padding:10px 14px;border-radius:12px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.4);color:#fde68a;font-size:13px}.studio-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:var(--panel-2);border:1px solid rgba(148,163,184,.2)}.studio-header:hover{transform:translateY(-1px)}.chat-window{flex:1;min-height:360px;padding:18px;border-radius:20px;background:var(--surface);border:1px solid rgba(148,163,184,.2);overflow-y:auto;overflow-x:hidden;min-height:0}.message{margin-bottom:14px;padding:14px;border-radius:16px;border:1px solid rgba(148,163,184,.15);animation:fade-in .36s ease;max-width:100%;word-break:break-word}.message.assistant{background:#3b82f633}.message.user{background:var(--panel-2)}.message-label{font-size:12px;color:var(--muted)}.controls{display:flex;gap:12px;flex-wrap:wrap}.fade-up{animation:fade-in .52s ease}.report-overlay{position:fixed;inset:0;background:#020617b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.report-overlay.prep-minimal{background:#0206174d}.report-overlay.prep-minimal .report-modal{width:min(420px,100%)}.report-overlay.prep-minimal .prep-row,.report-overlay.prep-minimal .prep-pill,.report-overlay.prep-minimal .status-banner{display:none}.report-modal{width:min(720px,100%);max-height:85vh;overflow-y:auto}.report-field{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.prep-subtle{display:flex;gap:10px;align-items:center;color:#cbd5f5;font-size:14px;margin-top:6px}.prep-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;background:#94a3b814;border:1px solid rgba(148,163,184,.2)}.prep-pill{padding:4px 10px;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.prep-pill.loading{background:#38bdf833;color:#bae6fd}.prep-pill.ok{background:#22c55e33;color:#bbf7d0}.prep-pill.error,.prep-pill.blocked{background:#ef444433;color:#fecaca}.analysis-card{margin-top:12px;padding:16px;border-radius:16px;background:var(--surface);border:1px solid rgba(148,163,184,.2);color:var(--text);line-height:1.6;overflow:hidden;animation:fade-in .42s ease}.analysis-transition{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;padding:32px;border-radius:20px;background:var(--surface);border:1px solid rgba(148,163,184,.2)}.analysis-line{padding:8px 10px;border-radius:12px;background:#94a3b814;border:1px solid rgba(148,163,184,.16)}.analysis-view{display:flex;flex-direction:column;gap:12px;height:auto;min-height:auto;overflow:visible;padding-right:0}.analysis-section{margin-top:0}.analysis-title{font-weight:700;margin-bottom:8px}.analysis-body{display:grid;gap:6px}.analysis-row{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid rgba(148,163,184,.12)}.analysis-row:last-child{border-bottom:none}.analysis-label{color:var(--muted);font-weight:600;min-width:140px}.analysis-text{color:var(--text);word-break:break-word}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1);opacity:.8}70%{transform:scale(1.06);opacity:0}to{opacity:0}}@keyframes bounce{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-4px);opacity:1}}@keyframes wave{0%,to{height:6px}50%{height:16px}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{border-color:transparent}}@keyframes reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@media(max-width:980px){.layout-grid{grid-template-columns:1fr}.studio{height:calc(100vh - 140px)}}@media(max-width:720px){.app-container{padding:18px 14px 32px}.panel{padding:18px;border-radius:16px}.sidebar{min-height:auto}.studio{height:auto;min-height:auto}.chat-window{min-height:240px}.brand-title{font-size:26px}}
