.turn-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--space-4)}.ai-bubble{background:#f8fafc;border-top:3px solid #e2e8f0;padding:var(--space-4);position:relative}[data-theme=dark] .ai-bubble{background:#1e293b;border-top-color:#334155}.ai-bubble .bubble-label{display:block;font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.ai-bubble .ai-text{font-size:var(--text-base);line-height:1.6;color:var(--color-text)}.user-bubble{background:var(--color-surface);border-left:3px solid var(--color-primary);padding:var(--space-4)}.user-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.user-header .bubble-label{display:block;font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1)}.user-header .user-text{font-size:var(--text-base);font-weight:600;line-height:1.5;color:var(--color-text)}.raw-stt-badge{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:#92400e;margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}[data-theme=dark] .raw-stt-badge{background:#422006;border-color:#713f12;color:#fde68a}.raw-stt-badge .raw-stt-text{font-style:italic}.analysis-toggle-btn{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:600;color:var(--color-primary);background:var(--color-primary-hl);border:none;border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);cursor:pointer;white-space:nowrap;transition:background var(--t-fast) var(--ease);flex-shrink:0}.analysis-toggle-btn:hover{background:var(--color-primary);color:var(--color-primary-text)}.analysis-toggle-btn .chevron{display:inline-block;transition:transform var(--t-base) var(--ease);font-size:10px}.analysis-toggle-btn.open .chevron{transform:rotate(180deg)}.analysis-drawer{background:#eef2ff;border-radius:var(--radius-lg);overflow:hidden;max-height:0;opacity:0;transition:max-height .35s var(--ease),opacity .3s var(--ease),padding .3s var(--ease);padding:0 var(--space-3)}[data-theme=dark] .analysis-drawer{background:#1e1b4b}.analysis-drawer.open{max-height:600px;opacity:1;padding:var(--space-3)}.feedback-item{margin-bottom:var(--space-3)}.feedback-item:last-child{margin-bottom:0}.feedback-title{display:block;font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1)}.feedback-item p{font-size:var(--text-sm);line-height:1.5;color:var(--color-text)}.nativeness-text del{color:#dc2626;text-decoration:line-through}.nativeness-text ins{color:#16a34a;text-decoration:none;font-weight:600}.nativeness-explanation{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.history-session-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);cursor:pointer;transition:box-shadow var(--t-fast) var(--ease)}.history-session-card:hover{box-shadow:var(--shadow-md)}.history-session-card .hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.history-session-card .hdr .date{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.history-session-card .hdr .scenario{font-size:var(--text-xs);color:var(--color-primary);font-weight:500}.history-session-card .meta{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.history-session-card .meta .stat{display:flex;align-items:center;gap:2px}.history-session-card .view-btn{font-size:var(--text-xs);font-weight:600;color:var(--color-primary);margin-top:var(--space-2);display:inline-block}.conv-detail-header{margin-bottom:var(--space-4)}.conv-detail-header .kpi-grid{margin-top:var(--space-3)}.conv-detail-scenario{font-size:var(--text-sm);color:var(--color-primary);font-weight:500;margin-bottom:var(--space-1)}.conv-detail-date{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-3)}.history-summary-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);margin-bottom:var(--space-4)}.history-summary-section+.section-label{margin-top:var(--space-2);margin-bottom:var(--space-3)}.conv-hist-play-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-primary-hl);color:var(--color-primary);font-size:14px;border:none;cursor:pointer;margin-top:var(--space-2);transition:background var(--t-fast) var(--ease)}.conv-hist-play-btn:hover{background:var(--color-primary);color:var(--color-primary-text)}.hist-stars{display:inline-flex;gap:2px;vertical-align:middle}.hist-stars .star{width:14px;height:14px;color:var(--color-gold)}.hist-stars .star.empty{color:var(--color-divider)}.conv-stats-kpi-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-3)}.conv-stats-kpi{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-3);text-align:center;border:1px solid var(--color-border)}.conv-stats-kpi .val{font-size:var(--text-lg);font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums;line-height:1.2}.conv-stats-kpi .lbl{font-size:10px;color:var(--color-text-muted);margin-top:2px}.conv-history-link{display:block;text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--color-primary);padding:var(--space-2);margin-top:var(--space-2);cursor:pointer;border-radius:var(--radius-md);transition:background var(--t-fast) var(--ease)}.conv-history-link:hover{background:var(--color-primary-hl)}.conv-hist-empty{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-text-muted)}.conv-hist-empty svg{width:48px;height:48px;color:var(--color-text-faint);margin-bottom:var(--space-3)}.conv-hist-empty .title{font-size:var(--text-base);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-2)}.conv-hist-empty .sub{font-size:var(--text-sm);color:var(--color-text-faint);max-width:260px;margin:0 auto}