:root{--accent: #2563eb;--accent-hover: #1d4ed8;--assessor: #7c3aed;--student: #2563eb;--text: #18181b;--muted: #71717a;--faint: #a1a1aa;--border: #e4e4e7;--bg: #f6f7f9;--card: #ffffff;--surface: #fafafa;--ok: #16a34a;--warn: #d97706;--danger: crimson;--radius: 10px;--radius-sm: 8px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.5;-webkit-font-smoothing:antialiased}.page{max-width:760px;margin:0 auto;padding:40px 24px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 3px #18181b0a,0 8px 24px #18181b0d;padding:28px 28px 32px}.card h1{margin:0;font-size:24px;font-weight:700;letter-spacing:-.01em}.subtitle{margin:4px 0 0;color:var(--muted);font-size:14px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:20px}.field{display:flex;flex-direction:column;min-width:0}.field--full{grid-column:1 / -1}.field-label{font-weight:600;font-size:13px;margin-bottom:6px}.field-helper{font-size:12px;color:var(--muted);margin:0 0 8px;line-height:1.4}.input,.textarea{width:100%;padding:9px 11px;font:inherit;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .12s,box-shadow .12s}.textarea{resize:vertical}.input:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26}.input:disabled,.textarea:disabled{background:var(--surface);color:var(--muted);cursor:not-allowed}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2371717a' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px}.helper{font-size:12px;color:var(--muted);margin:8px 0 0}.file-input{font:inherit;font-size:13px}.file-list{list-style:none;margin:10px 0 0;padding:0;font-size:13px}.file-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-top:6px}.file-list em{color:var(--muted);font-style:normal}.file-remove{flex:none;border:none;background:transparent;color:var(--muted);font-size:13px;line-height:1;padding:2px 4px;cursor:pointer;border-radius:4px}.file-remove:not(:disabled):hover{color:var(--danger);background:#fff}.file-remove:disabled{opacity:.5;cursor:default}.error{color:var(--danger);font-size:14px;margin:16px 0 0}.btn{font:inherit;font-weight:600;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,border-color .12s,opacity .12s}.btn:disabled{opacity:.6;cursor:default}.btn-primary{padding:11px 22px;font-size:15px;color:#fff;background:var(--accent)}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-secondary{padding:9px 16px;font-size:14px;color:var(--text);background:#fff;border-color:var(--border)}.btn-secondary:not(:disabled):hover{background:var(--surface)}.btn-action{padding:11px 22px;font-size:15px;min-width:200px;text-align:center}.session-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.session-header-pills{display:flex;align-items:center;gap:8px}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:5px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);white-space:nowrap}.timer-pill{display:inline-flex;align-items:center;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;padding:5px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text);white-space:nowrap}.timer-pill--overtime{color:var(--danger);border-color:var(--danger);background:#fff0f0}.status-dot{font-size:10px;line-height:1}.transcript{height:360px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-top:18px;background:var(--surface)}.transcript-empty{color:var(--faint);margin:0}.turn{margin-bottom:12px}.turn:last-child{margin-bottom:0}.turn-role{font-weight:700}.turn-role--student{color:var(--student)}.turn-role--assessor{color:var(--assessor)}.actions{margin-top:20px;display:flex;gap:12px;align-items:center;justify-content:center}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.btn-copy{padding:4px 12px;font-size:13px;font-weight:500;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.btn-copy:hover{background:var(--accent);color:#fff}.audio-visualizer{display:flex;justify-content:center;align-items:center;height:400px;margin:20px 0}.audio-circle{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 10px 40px #667eea66}.summary-container{max-width:1400px;margin:0 auto;padding:40px 24px}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.summary-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-height:80vh;overflow-y:auto}.summary-panel h2{margin:0;font-size:20px;font-weight:700;color:var(--text)}.markdown-content{line-height:1.7;color:var(--text)}.markdown-content p{margin:12px 0}.markdown-content strong{font-weight:600;color:var(--text)}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:20px 0 12px;font-weight:700}.markdown-content ul,.markdown-content ol{margin:12px 0;padding-left:24px}.markdown-content li{margin:6px 0}.markdown-content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.markdown-content th,.markdown-content td{border:1px solid var(--border);padding:8px 12px;text-align:left}.markdown-content th{background:var(--surface);font-weight:600}.markdown-content tr:nth-child(2n){background:var(--surface)}.markdown-content code{background:var(--surface);padding:2px 6px;border-radius:4px;font-size:13px;font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace}.markdown-content pre{background:#1e1e2e;color:#cdd6f4;padding:16px;border-radius:var(--radius-sm);overflow-x:auto;margin:16px 0}.markdown-content pre code{background:none;padding:0;color:inherit}.markdown-content blockquote{border-left:3px solid var(--accent);margin:16px 0;padding:8px 16px;background:var(--surface);color:var(--muted)}.markdown-content hr{border:none;border-top:1px solid var(--border);margin:24px 0}.loading-text{color:var(--muted);font-style:italic}
