:root{--color-bg: #ffffff;--color-bg-secondary: #f7f7f5;--color-bg-tertiary: #edece9;--color-bg-card: #ffffff;--color-bg-hover: rgba(55, 53, 47, .04);--color-bg-active: rgba(55, 53, 47, .06);--color-surface: #ffffff;--color-surface-hover: #f7f7f5;--color-bg-subtle: rgba(55, 53, 47, .03);--color-text: #37352f;--color-text-main: #37352f;--color-text-secondary: #55534e;--color-text-muted: #787774;--color-text-light: #9b9a97;--color-text-inverse: #ffffff;--color-primary: #2383e2;--color-primary-hover: #0077d4;--color-primary-light: rgba(35, 131, 226, .08);--color-primary-muted: rgba(35, 131, 226, .15);--color-success: #0f7b6c;--color-success-light: rgba(15, 123, 108, .08);--color-success-muted: rgba(15, 123, 108, .15);--color-warning: #c77d00;--color-warning-light: rgba(199, 125, 0, .08);--color-warning-dark: #9a6700;--color-danger: #eb5757;--color-danger-light: rgba(235, 87, 87, .08);--color-danger-muted: rgba(235, 87, 87, .15);--color-info: #2383e2;--color-info-light: rgba(35, 131, 226, .08);--color-info-dark: #1e6cc0;--color-border: rgba(55, 53, 47, .09);--color-border-dark: rgba(55, 53, 47, .16);--color-divider: rgba(55, 53, 47, .09);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--shadow-overlay: 0 12px 40px rgba(0, 0, 0, .12);--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji";--font-mono: "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--letter-spacing-tight: -.01em;--transition-fast: .12s ease;--transition-base: .15s ease;--transition-slow: .2s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 500;--z-modal: 1000;--z-toast: 1100;--content-max-width: 900px;--content-wide-max-width: 1100px;--tag-open-bg: rgba(15, 123, 108, .08);--tag-open-color: #0f7b6c;--tag-closed-bg: rgba(199, 125, 0, .08);--tag-closed-color: #9a6700;--tag-leading-bg: rgba(35, 131, 226, .08);--tag-leading-color: #2383e2;--tag-rhetorical-bg: rgba(139, 92, 246, .08);--tag-rhetorical-color: #7c3aed;--tag-management-bg: rgba(55, 53, 47, .06);--tag-management-color: #787774;--tag-default-bg: rgba(55, 53, 47, .06);--tag-default-color: #787774;--tag-curiosity-bg: rgba(35, 131, 226, .08);--tag-curiosity-color: #2383e2;--tag-clarification-bg: rgba(15, 123, 108, .08);--tag-clarification-color: #0f7b6c;--tag-procedural-bg: rgba(199, 125, 0, .08);--tag-procedural-color: #9a6700;--color-chart-instructor: #6366f1;--color-chart-students: #14b8a6;--color-chart-silence: #e5e7eb;--color-chart-question: #f59e0b;--color-keep: #0f7b6c;--color-try: #2383e2;--color-say: #787774;--color-watch: #9a6700;--color-overlay: rgba(15, 15, 15, .5);--glass-bg: #ffffff;--glass-border: 1px solid var(--color-border)}[data-theme=dark]{--color-bg: #191919;--color-bg-secondary: #202020;--color-bg-tertiary: #2a2a2a;--color-bg-card: #202020;--color-bg-hover: rgba(255, 255, 255, .04);--color-bg-active: rgba(255, 255, 255, .06);--color-surface: #202020;--color-surface-hover: #2a2a2a;--color-bg-subtle: rgba(255, 255, 255, .03);--color-text: #ffffffcf;--color-text-main: #ffffffcf;--color-text-secondary: #ffffff99;--color-text-muted: #ffffff66;--color-text-light: #ffffff44;--color-text-inverse: #37352f;--color-primary: #529CCA;--color-primary-hover: #6bb3e0;--color-primary-light: rgba(82, 156, 202, .12);--color-primary-muted: rgba(82, 156, 202, .2);--color-success: #34d399;--color-success-light: rgba(52, 211, 153, .1);--color-success-muted: rgba(52, 211, 153, .2);--color-warning: #fbbf24;--color-warning-light: rgba(251, 191, 36, .1);--color-warning-dark: #fbbf24;--color-danger: #f87171;--color-danger-light: rgba(248, 113, 113, .1);--color-danger-muted: rgba(248, 113, 113, .2);--color-info: #529CCA;--color-info-light: rgba(82, 156, 202, .1);--color-info-dark: #6bb3e0;--color-border: rgba(255, 255, 255, .08);--color-border-dark: rgba(255, 255, 255, .13);--color-divider: rgba(255, 255, 255, .08);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .35);--shadow-overlay: 0 12px 40px rgba(0, 0, 0, .5);--tag-open-bg: rgba(52, 211, 153, .1);--tag-open-color: #34d399;--tag-closed-bg: rgba(251, 191, 36, .1);--tag-closed-color: #fbbf24;--tag-leading-bg: rgba(82, 156, 202, .1);--tag-leading-color: #529CCA;--tag-rhetorical-bg: rgba(139, 92, 246, .1);--tag-rhetorical-color: #a78bfa;--tag-management-bg: rgba(255, 255, 255, .06);--tag-management-color: #ffffff66;--tag-default-bg: rgba(255, 255, 255, .06);--tag-default-color: #ffffff66;--tag-curiosity-bg: rgba(82, 156, 202, .1);--tag-curiosity-color: #529CCA;--tag-clarification-bg: rgba(52, 211, 153, .1);--tag-clarification-color: #34d399;--tag-procedural-bg: rgba(251, 191, 36, .1);--tag-procedural-color: #fbbf24;--color-chart-instructor: #818cf8;--color-chart-students: #2dd4bf;--color-chart-silence: #374151;--color-chart-question: #fbbf24;--color-keep: #34d399;--color-try: #529CCA;--color-say: #ffffff66;--color-watch: #fbbf24;--color-overlay: rgba(0, 0, 0, .6);--glass-bg: #202020;--glass-border: 1px solid var(--color-border)}html{scrollbar-gutter:stable}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-base);background-color:var(--color-bg);color:var(--color-text-main);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight);margin-top:0;font-weight:var(--font-weight-semibold);color:var(--color-text-main);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .15s ease-out forwards}@media print{.header,.hub-tabs,.btn-ai-generate,.btn-export,.export-buttons,.header-actions-row,.text-btn,.settings-btn,.toggle-evidence-btn,.btn-retry,.toast{display:none!important}body,.app-layout,.card,.panel{background:#fff!important;color:#000!important}.container,.main-content{max-width:100%!important;padding:0!important;margin:0!important}.card{border:none!important;box-shadow:none!important;padding:0!important}.anatomy-table{font-size:10pt!important}.anatomy-table th,.anatomy-table td{padding:6px 8px!important}.summary-section,.report-section{page-break-inside:avoid}h3,h4{page-break-after:avoid}.evidence-list{display:block!important}}.app-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:9999}.skip-to-content:focus{position:fixed;top:var(--spacing-2);left:var(--spacing-2);width:auto;height:auto;padding:var(--spacing-2) var(--spacing-4);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none}.header{border-bottom:1px solid var(--color-border);padding:0 var(--spacing-6);background-color:var(--color-bg);position:sticky;top:0;z-index:var(--z-sticky);height:45px;display:flex;align-items:center}.header>.container{display:flex;align-items:center;justify-content:space-between;width:100%}.logo{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-main);text-decoration:none;letter-spacing:var(--letter-spacing-tight);transition:opacity var(--transition-fast)}.logo:hover{text-decoration:none;opacity:.7}.header-actions{display:flex;align-items:center;gap:var(--spacing-2)}.settings-btn{background:none;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);cursor:pointer;color:var(--color-text-muted);padding:var(--spacing-1) var(--spacing-2);transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--spacing-1)}.settings-btn:hover{background:var(--color-bg-hover);color:var(--color-text-main)}.container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 var(--spacing-6)}.main-content{padding:var(--spacing-8) var(--spacing-6);flex:1}.flex-center{display:flex;align-items:center;justify-content:center}.flex-col{display:flex;flex-direction:column}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);margin-bottom:var(--spacing-4)}.btn-ai-generate{background:var(--color-primary);color:var(--color-text-inverse);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:all var(--transition-base)}.btn-ai-generate:hover{background:var(--color-primary-hover)}.btn-ai-generate:disabled{opacity:.5;cursor:not-allowed}.text-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-1) 0;transition:color var(--transition-fast)}.text-btn:hover{color:var(--color-text-main)}.upload-landing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:65vh;gap:var(--spacing-8)}.upload-landing-text{text-align:center;max-width:520px}.upload-landing-text h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-2);font-weight:var(--font-weight-semibold)}.upload-landing-subtitle{font-size:var(--font-size-base);color:var(--color-text-muted);line-height:var(--line-height-relaxed);margin:0}.upload-landing-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal);margin-top:var(--spacing-3);padding:var(--spacing-2) var(--spacing-4);background-color:var(--color-bg-secondary);border-radius:var(--radius-md)}.upload-landing-zone{width:100%;max-width:520px}.upload-landing-sample{color:var(--color-primary);font-size:var(--font-size-sm)}.upload-landing-sample:hover{color:var(--color-primary-hover)}.upload-landing-sessions{margin-top:var(--spacing-2)}.privacy-prompt-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);background:radial-gradient(circle at 16% 12%,rgba(35,131,226,.12),transparent 28rem),radial-gradient(circle at 82% 18%,rgba(15,123,108,.13),transparent 28rem),var(--color-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.privacy-prompt-modal{width:min(640px,100%);background:linear-gradient(180deg,#ffffffeb,#fffffff7),var(--color-bg);border:1px solid var(--color-border-dark);border-radius:18px;box-shadow:0 24px 80px #0f172a29;overflow:hidden}[data-theme=dark] .privacy-prompt-modal{background:linear-gradient(180deg,#202020f5,#191919fa),var(--color-bg);box-shadow:0 24px 80px #0000006b}.privacy-prompt-header,.privacy-prompt-body,.privacy-prompt-footer{padding:var(--spacing-5) var(--spacing-6)}.privacy-prompt-header{border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#2383e214,#0f7b6c12)}.privacy-prompt-kicker{margin:0 0 var(--spacing-2);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase}.privacy-prompt-header h2{margin:0;color:var(--color-text-main);font-size:var(--font-size-xl)}.privacy-prompt-header p{margin:var(--spacing-2) 0 0;color:var(--color-text-muted);line-height:var(--line-height-normal)}.privacy-prompt-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-3)}.privacy-prompt-summary>div{padding:var(--spacing-4);background:linear-gradient(180deg,var(--color-bg-card),var(--color-bg-secondary));border:1px solid var(--color-border-dark);border-radius:16px;box-shadow:inset 0 1px #ffffff6b}.privacy-prompt-number{display:block;color:var(--color-text-main);font-size:1.7rem;font-weight:var(--font-weight-semibold);line-height:1}.privacy-prompt-label{display:block;margin-top:var(--spacing-1);color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase}.privacy-prompt-note{margin-top:var(--spacing-4);padding:var(--spacing-4);color:var(--color-text-secondary);background:linear-gradient(180deg,#c77d0014,#c77d0008);border:1px solid rgba(199,125,0,.18);border-radius:16px;line-height:var(--line-height-normal);box-shadow:inset 0 1px #ffffff61}.privacy-prompt-footer{display:flex;justify-content:flex-end;gap:var(--spacing-2);border-top:1px solid var(--color-border);background:linear-gradient(180deg,rgba(35,131,226,.03),transparent 80%),var(--color-bg-card)}.upload-landing-setup{max-width:520px;margin-top:var(--spacing-3);padding:var(--spacing-4);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);text-align:center}.upload-landing-setup-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--spacing-3) 0}.upload-landing-setup-row{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.upload-landing-setup-input{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text-main);transition:border-color var(--transition-fast)}.upload-landing-setup-input:focus{outline:none;border-color:var(--color-primary)}.upload-landing-setup-hint{font-size:var(--font-size-xs);color:var(--color-text-light)}.upload-landing-setup-hint a{color:var(--color-primary);text-decoration:none}.upload-landing-setup-hint a:hover{text-decoration:underline}.user-pill{display:flex;align-items:center;gap:var(--spacing-1)}.user-pill-avatar{width:28px;height:28px;border-radius:var(--radius-full);object-fit:cover}.user-pill-name{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.privacy-footer-link{color:var(--color-text-light);font-size:var(--font-size-xs);margin-top:var(--spacing-2)}.privacy-footer-link:hover{color:var(--color-text-muted)}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.auth-loading-spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-text-muted);border-radius:50%;animation:authSpin .6s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}@media(max-width:768px){.header,.container{padding:0 var(--spacing-4)}.main-content{padding:var(--spacing-6) var(--spacing-4)}}button{font-family:inherit;cursor:pointer}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-1);background:var(--color-primary);color:var(--color-text-inverse);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary.btn-gradient{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%)}.btn-primary.btn-gradient:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-1);background:transparent;color:var(--color-text-main);border:1px solid var(--color-border-dark);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-dark)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.text-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--spacing-1) var(--spacing-2);cursor:pointer;transition:color var(--transition-fast)}.text-btn:hover:not(:disabled){color:var(--color-text-main)}.text-btn:disabled{opacity:.4;cursor:not-allowed}.btn-icon{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);padding:var(--spacing-1);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);line-height:1}.btn-icon:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-main)}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon.btn-close{font-size:1.25rem;padding:var(--spacing-1)}.btn-icon.btn-close:hover{color:var(--color-danger)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-1);background:var(--color-danger);color:var(--color-text-inverse);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.btn-danger:hover:not(:disabled){opacity:.9}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger-outline{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-1);background:none;border:1px solid var(--color-danger);color:var(--color-danger);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.btn-danger-outline:hover:not(:disabled){background:var(--color-danger);color:var(--color-text-inverse)}.btn-danger-text{background:none;border:none;color:var(--color-danger);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-1) var(--spacing-2);transition:opacity var(--transition-fast)}.btn-danger-text:hover{opacity:.8}.btn-success{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-1);background:var(--color-success);color:var(--color-text-inverse);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base)}.btn-success:hover:not(:disabled){opacity:.9}.btn-success:disabled{opacity:.5;cursor:not-allowed}.btn-export{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-1);background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);padding:.3rem var(--spacing-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.btn-export:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-main);border-color:var(--color-border-dark)}.btn-export:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:.3rem var(--spacing-3);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-md)}.btn-loading{pointer-events:none;position:relative}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btn-spin .8s linear infinite}.btn-secondary .btn-spinner,.btn-export .btn-spinner{border-color:var(--color-border);border-top-color:var(--color-text-muted)}@keyframes btn-spin{to{transform:rotate(360deg)}}.tab-btn{background:none;border:none;color:var(--color-text-muted);padding:var(--spacing-2) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;position:relative;transition:color var(--transition-fast)}.tab-btn:hover,.tab-btn.active{color:var(--color-text-main)}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:var(--color-text-main);border-radius:1px}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media print{.btn-primary,.btn-secondary,.btn-danger,.btn-success,.btn-export,.btn-icon,.text-btn,.tab-btn{display:none!important}}.upload-zone{border:1.5px dashed var(--color-border-dark);border-radius:var(--radius-xl);padding:var(--spacing-12) var(--spacing-8);text-align:center;background:var(--color-bg);transition:all var(--transition-slow);cursor:pointer;position:relative}.upload-zone:hover{border-color:var(--color-primary);background:var(--color-bg-secondary)}.upload-zone.dragging{border-color:var(--color-primary);border-style:solid;background:var(--color-primary-light);transform:scale(1.01);box-shadow:0 0 0 3px var(--color-primary-muted)}.upload-zone.dragging .icon-wrapper{color:var(--color-primary);animation:bounceUp .5s ease infinite alternate}.upload-zone.dragging .upload-hint{color:var(--color-primary)}@keyframes bounceUp{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.upload-zone.error{border-color:var(--color-danger)}.upload-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4)}.icon-wrapper{color:var(--color-text-light);font-size:1.5rem;margin-bottom:var(--spacing-1);transition:color var(--transition-slow),transform var(--transition-slow)}.upload-hint{color:var(--color-text-main);font-size:var(--font-size-base)}.upload-hint strong{font-weight:var(--font-weight-semibold)}.browse-btn{display:inline-block;background:transparent;color:var(--color-text-main);border:1px solid var(--color-border);padding:var(--spacing-2) var(--spacing-5);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base)}.browse-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-dark)}.error-msg{color:var(--color-danger);font-size:var(--font-size-sm)}.upload-subhint{color:var(--color-text-muted);font-size:var(--font-size-sm)}.go-deeper-selection{padding:var(--spacing-4)}.selection-header{text-align:center;margin-bottom:var(--spacing-8)}.selection-header h3{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-2);color:var(--color-text-main)}.selection-optional{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0 0 var(--spacing-3)}.selection-intro{color:var(--color-text-muted);max-width:500px;margin:0 auto;line-height:var(--line-height-relaxed);font-size:var(--font-size-sm)}.focus-options{display:flex;flex-direction:column;gap:var(--spacing-3);max-width:600px;margin:0 auto}.focus-option{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-5);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;color:inherit;font:inherit;transition:all var(--transition-slow)}.focus-option:hover{border-color:var(--color-primary);background:var(--color-bg-hover);transform:translate(4px)}.focus-icon{font-size:1.5rem;flex-shrink:0}.focus-content{flex:1}.focus-content h4{margin:0 0 var(--spacing-1) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-main)}.focus-content p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.focus-note{display:inline-block;margin-top:var(--spacing-1);padding:2px var(--spacing-2);background:var(--color-warning-light);color:var(--color-warning-dark);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.focus-note-completed{background:var(--color-success-light);color:var(--color-success)}.focus-option-completed{border-color:var(--color-success-light)}.focus-option-completed .focus-arrow{opacity:.5;color:var(--color-success)}.focus-arrow{font-size:var(--font-size-xl);color:var(--color-primary);opacity:0;transition:opacity var(--transition-slow)}.focus-option:hover .focus-arrow{opacity:1}.selection-note{text-align:center;margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:1px dashed var(--color-border)}.selection-note p{color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.selection-note-info{color:var(--color-info-dark);margin-top:var(--spacing-2);font-size:var(--font-size-sm);font-style:normal}.go-deeper-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-16);min-height:300px}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-4)}.go-deeper-loading p{color:var(--color-text-muted);margin-bottom:var(--spacing-4)}.go-deeper-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-16);min-height:300px;text-align:center}.go-deeper-error .error-message{color:var(--color-text-muted);margin-bottom:var(--spacing-6);max-width:400px}.go-deeper-error .error-actions{display:flex;gap:var(--spacing-4);flex-wrap:wrap;justify-content:center}.go-deeper-analysis{padding:var(--spacing-4)}.go-deeper-analysis .truncation-warning{margin-bottom:var(--spacing-4);padding:var(--spacing-2) var(--spacing-4);background:var(--color-warning-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-warning-dark);display:flex;align-items:center;gap:var(--spacing-2)}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8);flex-wrap:wrap;gap:var(--spacing-4)}.analysis-title{display:flex;align-items:center;gap:var(--spacing-2)}.analysis-title .focus-icon{font-size:var(--font-size-xl)}.analysis-title h3{margin:0;font-size:var(--font-size-xl);color:var(--color-primary)}.analysis-section{margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-6);border-bottom:1px solid var(--color-border)}.analysis-section:last-of-type{border-bottom:none}.analysis-section h4{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2);color:var(--color-text-main)}.analysis-section p{line-height:var(--line-height-relaxed);color:var(--color-text-main)}.why-matters{background:var(--color-bg-secondary);padding:var(--spacing-6);border-radius:var(--radius-md);border-left:3px solid var(--color-primary);margin-bottom:var(--spacing-8)}.why-matters h4{color:var(--color-primary)}.current-approach h5{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1)}.approach-strengths{margin-bottom:var(--spacing-4)}.approach-strengths h5{color:var(--color-success)}.approach-opportunity h5{color:var(--color-primary)}.experiment{background:var(--color-primary-light);padding:var(--spacing-6);border-radius:var(--radius-md)}.experiment h4{color:var(--color-primary)}.example-prompts{margin-top:var(--spacing-4);padding:var(--spacing-4);background:var(--color-bg);border-radius:var(--radius-md)}.example-prompts strong{display:block;margin-bottom:var(--spacing-2);font-size:var(--font-size-sm)}.example-prompts ul{margin:0;padding-left:var(--spacing-6)}.example-prompts li{font-style:italic;color:var(--color-primary);margin-bottom:var(--spacing-1)}.tradeoff{background:var(--color-bg-secondary);padding:var(--spacing-4);border-radius:var(--radius-md);border-left:3px solid var(--color-warning)}.tradeoff h4{color:var(--color-warning-dark)}.watch-for{background:var(--color-bg-secondary);padding:var(--spacing-4);border-radius:var(--radius-md)}.watch-for h4:before{content:"👁️"}.watch-for-hint{font-size:var(--font-size-sm);font-style:italic;color:var(--color-text-muted);margin-bottom:var(--spacing-2);margin-top:calc(var(--spacing-1) * -1)}.go-deeper-analysis .index-card-section{margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:2px dashed var(--color-border);text-align:center}.go-deeper-analysis .index-card-section p{color:var(--color-text-muted);margin-bottom:var(--spacing-4)}.focus-option-disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-secondary)}.focus-option-disabled:hover{border-color:var(--color-border);background:var(--color-bg-secondary);transform:none}.focus-option-disabled .focus-arrow{color:var(--color-text-muted);opacity:.5}.focus-note-unavailable{background:var(--color-danger-light);color:var(--color-danger)}.focus-option-custom{border-style:dashed}.focus-option-custom:hover{border-style:solid}.custom-focus-input{padding:var(--spacing-6);background:var(--color-bg);border:1px solid var(--color-primary);border-radius:var(--radius-lg);animation:fadeSlideIn .2s ease-out}.custom-focus-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.custom-focus-header h4{margin:0;font-size:var(--font-size-base);color:var(--color-text-main)}.custom-focus-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-4);line-height:var(--line-height-normal)}.custom-focus-textarea{width:100%;padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-base);resize:vertical;background:var(--color-bg);color:var(--color-text-main);transition:border-color var(--transition-slow);box-sizing:border-box}.custom-focus-textarea:focus{outline:none;border-color:var(--color-primary)}.custom-focus-actions{display:flex;align-items:center;gap:var(--spacing-4);margin-top:var(--spacing-4)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-dashboard-v2{max-width:var(--content-max-width);margin:0 auto;animation:pdFadeIn .4s ease-out}@keyframes pdFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pd-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border)}.pd-header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-main);margin:0 0 .25rem}.pd-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.pd-close{background:none;border:none;padding:var(--spacing-2);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.pd-close:hover{background:var(--color-bg-secondary);color:var(--color-text-main)}.pd-empty{text-align:center;padding:var(--spacing-16) var(--spacing-8)}.pd-empty-icon{color:var(--color-text-light);margin-bottom:var(--spacing-6)}.pd-empty h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-main);margin:0 0 var(--spacing-2) 0}.pd-empty p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 auto;max-width:280px}.pd-stats{margin-bottom:var(--spacing-6)}.pd-stats-grid{display:flex;flex-wrap:wrap;gap:0}.pd-stat{flex:1;min-width:120px;display:flex;align-items:baseline;gap:var(--spacing-2);padding:var(--spacing-3) 0;border-bottom:1px solid var(--color-border)}.pd-stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-main);line-height:1}.pd-stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.pd-chart-section{background:transparent;border:none;border-radius:0;padding:0;margin-bottom:var(--spacing-8)}.pd-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.pd-section-header h2{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0}.pd-btn-subtle{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.pd-btn-subtle:hover{background:var(--color-bg-secondary);color:var(--color-text-main);border-color:var(--color-border-dark)}.pd-stacked-chart{display:flex;justify-content:center;gap:var(--spacing-4);padding:0 var(--spacing-4)}.pd-stacked-col{flex:1;max-width:72px;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2)}.pd-stacked-bar{width:100%;height:180px;border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.pd-seg{display:flex;align-items:center;justify-content:center;min-height:0;transition:height .3s cubic-bezier(.4,0,.2,1)}.pd-seg-instructor{background:var(--color-primary)}.pd-seg-student{background:#34d399}.pd-seg-silence{background:var(--color-border)}.pd-seg-label{font-size:.625rem;font-weight:var(--font-weight-semibold);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);line-height:1}.pd-seg-silence .pd-seg-label{color:var(--color-text-muted);text-shadow:none}.pd-stacked-date{font-size:.65rem;color:var(--color-text-light);white-space:nowrap}.pd-chart-legend{display:flex;justify-content:center;gap:var(--spacing-5);margin-top:var(--spacing-3);font-size:var(--font-size-xs);color:var(--color-text-muted)}.pd-legend-item{display:flex;align-items:center;gap:.375rem}.pd-legend-dot{width:8px;height:8px;border-radius:2px;display:inline-block}.pd-legend-instructor{background:var(--color-primary)}.pd-legend-student{background:#34d399}.pd-legend-silence{background:var(--color-border)}.pd-sessions{margin-top:var(--spacing-8)}.pd-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--spacing-4) 0}.pd-journey{padding-left:var(--spacing-2)}.pd-journey-rail{display:flex;flex-direction:column}.pd-stop{display:flex;gap:12px;animation:pdSlideIn .3s ease-out backwards;animation-delay:var(--delay, 0s)}@keyframes pdSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pd-stop-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:28px;align-self:stretch}.pd-node{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-slow);position:relative}.pd-node--active{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 0 0 3px var(--color-primary-light)}.pd-node--empty{background:var(--color-bg-secondary);color:var(--color-text-muted);border:2px solid var(--color-border)}.pd-node-num{font-size:.7rem;font-weight:var(--font-weight-bold);line-height:1}.pd-connector{width:2px;flex:1;background:var(--color-border);min-height:8px}.pd-stop-card{flex:1;min-width:0;padding-bottom:8px}.pd-session-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-main);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-stop-summary{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) 0}.pd-stop-summary-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);flex:1;min-width:0;padding:0;background:none;border:none;cursor:pointer;text-align:left;color:inherit;font:inherit}.pd-stop-summary-toggle:hover .pd-session-name{color:var(--color-primary)}.pd-stop-summary>.pd-session-date{flex-shrink:0}.pd-stop-summary-left{min-width:0;flex:1}.pd-stop-inline-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.125rem}.pd-inline-stat{font-size:.7rem;color:var(--color-text-muted);white-space:nowrap}.pd-inline-sep{font-size:.7rem;color:var(--color-text-light)}.pd-stop-detail{padding:var(--spacing-3) 0 var(--spacing-2);border-top:1px solid var(--color-border);animation:pdExpandIn .25s ease-out}.pd-stop-detail-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.pd-session-date{position:relative;cursor:pointer;padding:0;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.pd-session-date:hover{background:var(--color-bg-secondary)}.pd-date-display{font-size:var(--font-size-xs);color:var(--color-text-light);white-space:nowrap;pointer-events:none}.pd-date-input-hidden{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;-webkit-appearance:none;border:none}.pd-trend{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.65rem;font-weight:var(--font-weight-bold);line-height:1.2}.pd-trend--up{background:var(--color-success-light);color:var(--color-success)}.pd-trend--down{background:var(--color-danger-light);color:var(--color-danger)}.pd-expand-icon{color:var(--color-primary);transition:transform var(--transition-slow)}.pd-expand-icon.expanded{transform:rotate(180deg)}.pd-milestone{display:flex;align-items:center;padding:var(--spacing-2) 0 var(--spacing-2) 40px}.pd-milestone-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .625rem;border-radius:var(--radius-full);background:#fef3c7;color:#92400e;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.pd-milestone-badge svg{flex-shrink:0}[data-theme=dark] .pd-milestone-badge{background:#78350f;color:#fef3c7}.pd-journey-end{display:flex;align-items:center;gap:var(--spacing-4)}.pd-journey-end .pd-stop-left{align-self:auto}.pd-journey-end-dot{width:16px;height:16px;border-radius:50%;border:2px dashed var(--color-border);margin:0 8px}.pd-journey-end-label{font-size:var(--font-size-xs);color:var(--color-text-light);font-style:italic}.pd-session-actions{display:flex;gap:var(--spacing-2);flex-shrink:0}.pd-btn-action{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.pd-btn-action:hover{color:var(--color-text-main);border-color:var(--color-border-dark);background:var(--color-bg-secondary)}.pd-btn-delete{padding:var(--spacing-2);background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.pd-btn-delete:hover{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-light)}.pd-session-cards{padding:var(--spacing-3) 0 var(--spacing-4);background:transparent;border-top:1px solid var(--color-border);animation:pdExpandIn .25s ease-out}@keyframes pdExpandIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pd-cards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.pd-cards-header h4{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-main);margin:0}.pd-cards-count{font-size:.7rem;color:var(--color-text-muted)}.pd-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.pd-card-preview{display:flex;flex-direction:column;padding:var(--spacing-4);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all var(--transition-slow)}.pd-card-preview:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.pd-card-preview.level-1{border-left:3px solid var(--color-success)}.pd-card-preview.level-2{border-left:3px solid var(--color-primary)}.pd-card-preview-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:.75rem}.pd-card-level{font-size:.6rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.03em;padding:.2rem .4rem;border-radius:var(--radius-xs)}.pd-card-level.level-1{background:var(--color-success-light);color:var(--color-success)}.pd-card-level.level-2{background:var(--color-primary-light);color:var(--color-primary)}.pd-card-preview-content{flex:1}.pd-card-snippet{font-size:.7rem;color:var(--color-text-muted);line-height:1.4;margin-bottom:.375rem}.pd-card-snippet strong{color:var(--color-text-main);font-weight:var(--font-weight-semibold)}.pd-card-preview-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.pd-card-date{font-size:.65rem;color:var(--color-text-light)}.pd-card-view{font-size:.7rem;font-weight:var(--font-weight-medium);color:var(--color-primary);opacity:.7;transition:opacity var(--transition-fast)}.pd-card-preview:hover .pd-card-view{opacity:1}.pd-modal-overlay{position:fixed;inset:0;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-4);animation:pdFadeIn .2s ease-out}[data-theme=dark] .pd-modal-overlay{background:#191919e6}.pd-modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);max-width:400px;width:100%;box-shadow:var(--shadow-lg);animation:pdModalIn .25s ease-out}@keyframes pdModalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.pd-modal h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-main);margin:0 0 var(--spacing-2) 0}.pd-modal p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--spacing-5) 0;line-height:var(--line-height-normal)}.pd-modal-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end}.pd-btn-cancel{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-main);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.pd-btn-cancel:hover{background:var(--color-bg-secondary)}.pd-btn-danger{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-inverse);background:var(--color-danger);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.pd-btn-danger:hover{filter:brightness(1.1)}.pd-card-modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:pdModalIn .25s ease-out}.pd-card-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border)}.pd-card-modal-header h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-main);margin:0 0 .25rem}.pd-card-modal-level{font-size:var(--font-size-xs);color:var(--color-text-muted)}.pd-modal-close{background:none;border:none;padding:.375rem;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.pd-modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-main)}@media(max-width:768px){.pd-stats-grid{flex-wrap:wrap}.pd-journey{padding-left:0}.pd-cards-grid{grid-template-columns:1fr}.pd-milestone{padding-left:36px}}@media(max-width:480px){.pd-header h1{font-size:var(--font-size-lg)}.pd-stat-value{font-size:var(--font-size-xl)}.pd-stacked-chart{gap:var(--spacing-2)}.pd-stacked-col{max-width:48px}.pd-stacked-bar{height:140px}.pd-stop-left{width:24px}.pd-node{width:24px;height:24px}.pd-node-num{font-size:.6rem}.pd-stop{gap:var(--spacing-3)}}.pd-header-actions{display:flex;align-items:center;gap:var(--spacing-2)}.pd-sessions-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.pd-tag-filter{display:flex;flex-wrap:wrap;gap:.375rem}.pd-tag-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-muted);padding:var(--spacing-1) .625rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.pd-tag-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.pd-tag-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.pd-session-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:var(--spacing-2);align-items:center}.pd-tag{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-muted);padding:.125rem var(--spacing-2);border-radius:var(--radius-sm);font-size:.7rem;text-transform:lowercase}.pd-tag-remove{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1;cursor:pointer;padding:0;margin-left:.125rem;opacity:.6;transition:opacity var(--transition-fast)}.pd-tag-remove:hover{opacity:1;color:var(--color-danger)}.pd-tag-add{background:none;border:1px dashed var(--color-border);color:var(--color-text-muted);padding:.125rem var(--spacing-2);border-radius:var(--radius-sm);font-size:.7rem;cursor:pointer;transition:all var(--transition-fast)}.pd-tag-add:hover{border-color:var(--color-primary);color:var(--color-primary)}.pd-tag-input-wrapper{display:flex;align-items:center;gap:.25rem}.pd-tag-input{width:80px;padding:.125rem .375rem;border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:.7rem;outline:none;background:var(--color-bg);color:var(--color-text-main)}.pd-tag-save,.pd-tag-cancel{background:none;border:none;font-size:.7rem;cursor:pointer;padding:.125rem .25rem;border-radius:var(--radius-sm)}.pd-tag-save{color:var(--color-success)}.pd-tag-save:hover{background:var(--color-success-light)}.pd-tag-cancel{color:var(--color-text-muted);font-size:var(--font-size-sm)}.pd-tag-cancel:hover{color:var(--color-danger)}.coaching-session{display:flex;flex-direction:column;height:100%;min-height:500px}.coaching-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border)}.coaching-title{display:flex;align-items:flex-start;gap:var(--spacing-2)}.coaching-icon{font-size:1.5rem;line-height:1}.coaching-title h3{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-main)}.coaching-subtitle{margin:.25rem 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.coaching-header-actions{display:flex;gap:var(--spacing-2);align-items:center;flex-shrink:0}.coaching-explainer{padding:var(--spacing-4);background:var(--color-primary-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-6)}.coaching-explainer p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-main)}.coaching-messages{flex:1;overflow-y:auto;padding:var(--spacing-4);background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);min-height:300px;max-height:450px}.coaching-message{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-4);animation:coachFadeIn .3s ease-out}@keyframes coachFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.coaching-message:last-child{margin-bottom:0}.coaching-message.user-message{flex-direction:row-reverse}.message-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-bg);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);flex-shrink:0;box-shadow:var(--shadow-sm)}.user-message .message-avatar{display:none}.message-content{max-width:80%;min-width:100px}.message-role{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.user-message .message-role{text-align:right}.message-text{padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);line-height:var(--line-height-normal);font-size:var(--font-size-base)}.coach-message .message-text{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-xs)}.user-message .message-text{background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md) var(--radius-md) var(--radius-xs) var(--radius-md)}.message-text p{margin:0 0 .5rem}.message-text p:last-child{margin-bottom:0}.coaching-session .typing-indicator{display:flex;gap:4px;padding:var(--spacing-2) var(--spacing-4)!important}.coaching-session .typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted);animation:coachBounce 1.4s ease-in-out infinite}.coaching-session .typing-indicator span:nth-child(1){animation-delay:0s}.coaching-session .typing-indicator span:nth-child(2){animation-delay:.2s}.coaching-session .typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes coachBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.coaching-input-area{display:flex;gap:var(--spacing-2);align-items:flex-end}.coaching-input-area textarea{flex:1;padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;resize:none;background:var(--color-bg);color:var(--color-text-main);transition:border-color var(--transition-slow)}.coaching-input-area textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.coaching-input-area textarea:disabled{opacity:.6;cursor:not-allowed}.send-btn{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);flex-shrink:0;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.send-btn:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.coaching-session .loading-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-text-muted);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.coaching-tips-inline{padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-4);font-size:var(--font-size-xs);color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.coaching-tips-inline p{margin:0 0 var(--spacing-1);color:var(--color-text-light)}.coaching-tips-inline ul{margin:0;padding-left:var(--spacing-5)}.coaching-tips-inline li{margin-bottom:2px}.coaching-tips-inline li:last-child{margin-bottom:0}.coaching-escape-hatch{display:flex;justify-content:center;margin-top:var(--spacing-2)}.coaching-escape-hatch .btn-secondary{font-size:var(--font-size-xs);opacity:.8;transition:opacity var(--transition-slow)}.coaching-escape-hatch .btn-secondary:hover{opacity:1}@media(max-width:600px){.coaching-session{min-height:400px}.coaching-messages{min-height:250px;max-height:350px}.message-content{max-width:90%}.coaching-header{flex-direction:column;gap:var(--spacing-2)}.coaching-tips-inline{display:none}}.index-card-inline{margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:2px solid var(--color-primary);animation:cardSlideIn .3s ease-out}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.index-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);flex-wrap:wrap;gap:var(--spacing-2)}.index-card-header h4{margin:0;font-size:var(--font-size-base);color:var(--color-primary)}.index-card-overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-4)}.index-card-modal{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--spacing-6);max-width:500px;width:100%;box-shadow:var(--shadow-overlay)}.index-card-actions{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-4)}.index-card-actions .btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted);padding:0 var(--spacing-1);line-height:1}.index-card-actions .btn-close:hover{color:var(--color-text-main)}.saved-badge{background:var(--color-success);color:var(--color-text-inverse);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.index-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-4);font-family:Inter,"Source Sans 3",-apple-system,BlinkMacSystemFont,sans-serif;max-width:500px;min-height:280px;display:flex;flex-direction:column}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.card-title{font-size:11px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-main);margin:0}.card-content{flex:1;display:flex;flex-direction:column;gap:8px}.card-section{display:flex;flex-direction:column;gap:2px}.section-header{display:flex;align-items:center;gap:4px}.section-icon{font-size:10px;width:14px;flex-shrink:0}.section-label{font-weight:var(--font-weight-bold);text-transform:uppercase;font-size:9px;letter-spacing:.3px}.section-hint{font-size:8px;font-weight:var(--font-weight-normal);color:var(--color-text-light);font-style:italic;margin-left:4px;text-transform:none}.section-keep .section-label{color:var(--color-keep)}.section-try .section-label{color:var(--color-try)}.section-say .section-label{color:var(--color-say)}.section-watch .section-label{color:var(--color-watch)}.section-content{font-size:9px;line-height:1.4;color:var(--color-text-main);margin-left:18px;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.try-item{margin-left:8px;position:relative}.try-item:before{content:"•";position:absolute;left:-8px;color:var(--color-try)}.say-quote{color:var(--color-text-main)}.index-card-section .card-icon{font-size:var(--font-size-base)}.index-card-section{margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:1px dashed var(--color-border);text-align:center}.index-card-section p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-4)}.feedback-widget{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-4);padding:var(--spacing-3) 0;border-top:1px dashed var(--color-border)}.feedback-prompt{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-right:var(--spacing-1)}.feedback-thumb{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast)}.feedback-thumb:hover{border-color:var(--color-primary);color:var(--color-primary)}.feedback-thumb:active{transform:scale(.95)}.feedback-widget--expanded{flex-wrap:wrap}.feedback-comment-row{display:flex;gap:var(--spacing-2);width:100%;margin-top:var(--spacing-2)}.feedback-comment-input{flex:1;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text-main);transition:border-color var(--transition-fast)}.feedback-comment-input:focus{outline:none;border-color:var(--color-primary)}.feedback-send-btn{padding:var(--spacing-1) var(--spacing-3);border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast)}.feedback-send-btn:hover{background:var(--color-primary-hover)}.feedback-skip-btn{padding:var(--spacing-1) var(--spacing-3);border:none;background:transparent;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer}.feedback-skip-btn:hover{color:var(--color-text-main)}.feedback-widget--thanks{transition:opacity .3s ease}.feedback-widget--faded{opacity:.5}.feedback-thanks-icon{display:inline-flex;color:var(--color-success, var(--color-primary))}.feedback-thanks-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media print{.feedback-widget{display:none!important}}@media(max-width:768px){.feedback-thumb{width:44px;height:44px}.feedback-comment-input{font-size:16px}}.followup-chat-collapsed{margin-top:var(--spacing-6);padding-top:var(--spacing-6);border-top:1px dashed var(--color-border);text-align:center}.followup-chat-collapsed .btn-secondary{padding:var(--spacing-2) var(--spacing-6)}.followup-chat-collapsed .chat-icon{font-size:var(--font-size-base)}.followup-chat{margin-top:var(--spacing-6);border:1px solid var(--color-primary);border-radius:var(--radius-lg);background:var(--color-bg);overflow:hidden;animation:expandIn .2s ease-out}@keyframes expandIn{0%{opacity:0;transform:scaleY(.9);transform-origin:top}to{opacity:1;transform:scaleY(1)}}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-4);background:var(--color-primary);color:var(--color-text-inverse)}.chat-header h4{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.chat-header .btn-secondary{background:#fff3;border-color:transparent;color:var(--color-text-inverse)}.chat-header .btn-secondary:hover{background:#ffffff4d;border-color:transparent}.chat-messages{max-height:300px;overflow-y:auto;padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-4)}.chat-welcome{text-align:center;padding:var(--spacing-4)}.chat-welcome p{color:var(--color-text-muted);margin-bottom:var(--spacing-4);font-size:var(--font-size-sm)}.suggested-questions{display:flex;flex-direction:column;gap:var(--spacing-1)}.suggested-question{background:var(--color-bg-secondary);border:1px solid var(--color-border);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);text-align:left;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-main);transition:all var(--transition-fast)}.suggested-question:hover{border-color:var(--color-primary);background:var(--color-bg)}.chat-message{display:flex;flex-direction:column}.chat-message.user{align-items:flex-end}.chat-message.assistant{align-items:flex-start}.followup-chat .message-content{max-width:85%;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);line-height:var(--line-height-normal);font-size:var(--font-size-sm);white-space:pre-wrap}.chat-message.user .message-content{background:var(--color-primary);color:var(--color-text-inverse);border-bottom-right-radius:var(--radius-xs)}.chat-message.assistant .message-content{background:var(--color-bg-secondary);color:var(--color-text-main);border-bottom-left-radius:var(--radius-xs)}.followup-chat .message-content.loading{padding:var(--spacing-2) var(--spacing-6)}.followup-chat .typing-indicator{display:flex;gap:4px;align-items:center}.followup-chat .typing-indicator span{width:8px;height:8px;background:var(--color-text-muted);border-radius:50%;animation:chatTyping 1.4s infinite ease-in-out both}.followup-chat .typing-indicator span:nth-child(1){animation-delay:-.32s}.followup-chat .typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes chatTyping{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.chat-input-area{display:flex;gap:var(--spacing-2);padding:var(--spacing-4);border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.chat-input-area textarea{flex:1;padding:var(--spacing-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);resize:none;background:var(--color-bg);color:var(--color-text-main);transition:border-color var(--transition-fast)}.chat-input-area textarea:focus{outline:none;border-color:var(--color-primary)}.chat-input-area textarea:disabled{opacity:.6}.chat-input-area .btn-primary{align-self:flex-end}.chat-error-state{text-align:center;padding:var(--spacing-4);background:var(--color-danger-light);border-radius:var(--radius-md);margin-top:var(--spacing-2)}.chat-error-text{color:var(--color-danger);font-size:var(--font-size-sm);margin:0 0 var(--spacing-2)}.chat-error-detail{color:var(--color-text-secondary);font-size:.75rem;margin:0 0 var(--spacing-2);font-family:monospace;word-break:break-word}.chat-error-actions{display:flex;gap:var(--spacing-2);justify-content:center}.chat-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--color-primary);color:var(--color-text-inverse);font-size:.7rem;font-weight:var(--font-weight-semibold);margin-left:var(--spacing-1)}@media(max-width:768px){.followup-chat .message-content{max-width:92%}.chat-messages{max-height:250px}.chat-input-area{padding:var(--spacing-2)}.chat-input-area textarea{font-size:16px}.chat-input-area .btn-primary{min-width:44px;min-height:44px}}.empty-state{text-align:center;padding:var(--spacing-8) var(--spacing-4);color:var(--color-text-muted)}.empty-state-icon{font-size:2rem;margin-bottom:var(--spacing-4);opacity:.5}.empty-state-title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-main);margin-bottom:var(--spacing-2)}.empty-state-description{font-size:var(--font-size-sm);max-width:400px;margin:0 auto;line-height:var(--line-height-relaxed)}.session-hub{width:100%}.hub-header{margin-bottom:var(--spacing-6)}.hub-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.hub-title-left{display:flex;align-items:center;gap:var(--spacing-4)}.hub-title-row h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-main);margin:0}.hub-title-label{font-weight:var(--font-weight-normal);color:var(--color-text-muted)}.session-date-input{padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-bg);cursor:pointer;transition:border-color var(--transition-fast)}.session-date-input:hover{border-color:var(--color-border-dark)}.session-date-input:focus{outline:none;border-color:var(--color-primary)}.hub-tabs{display:flex;gap:var(--spacing-6);border-bottom:1px solid var(--color-border)}.hub-content{padding-top:var(--spacing-6);overflow-x:hidden}.section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding-bottom:var(--spacing-2);margin-bottom:var(--spacing-3);border-bottom:1px solid var(--color-border)}.summary-view h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-6)}.summary-section{margin-bottom:var(--spacing-8)}.framing-statement{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);padding:var(--spacing-4) var(--spacing-5);border-left:3px solid var(--color-primary);background:var(--color-bg-secondary);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-bottom:var(--spacing-8)}.truncation-warning{font-size:var(--font-size-sm);color:var(--color-warning);padding:var(--spacing-2) var(--spacing-4);background:var(--color-warning-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-4)}.feedback-list{list-style:none;padding:0;margin:0}.feedback-item{padding:var(--spacing-4) 0;border-bottom:1px solid var(--color-border)}.feedback-item:last-child{border-bottom:none}.feedback-observation{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-main);margin-bottom:var(--spacing-2)}.feedback-evidence{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-relaxed)}.experiments-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.experiment-item{padding:var(--spacing-4);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.experiment-suggestion{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-main);margin-bottom:var(--spacing-2)}.experiment-tradeoff{font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex;align-items:flex-start;gap:var(--spacing-2)}.status-badge{font-size:var(--font-size-xs);padding:2px var(--spacing-2);border-radius:var(--radius-full);background:var(--color-success-light);color:var(--color-success)}.generating-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-16);min-height:300px}.generating-loading p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.error-state{text-align:center;padding:var(--spacing-8) var(--spacing-4);background:var(--color-danger-light);border-radius:var(--radius-md);margin:var(--spacing-4) 0}.error-message{color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--spacing-4)}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.section-title--success{color:var(--color-success)}.section-title--primary{color:var(--color-primary)}.feedback-evidence{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-1);font-style:italic;padding-left:var(--spacing-4);border-left:2px solid var(--color-border)}.tradeoff-icon{color:var(--color-warning);flex-shrink:0}.header-actions-row{display:flex;align-items:center;gap:var(--spacing-2);min-height:36px}.export-buttons{display:flex;gap:var(--spacing-1)}.hub-content .card{animation:tabFadeIn .15s ease-out}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hub-tabs{gap:var(--spacing-4);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(to right,black calc(100% - 40px),transparent);-webkit-mask-image:linear-gradient(to right,black calc(100% - 40px),transparent)}.hub-tabs::-webkit-scrollbar{display:none}.hub-title-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.moments-grid,.lists-grid{grid-template-columns:1fr!important}.summary-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}}.toast{position:fixed;bottom:var(--spacing-8);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-overlay);z-index:var(--z-toast);transition:opacity var(--transition-slow),transform var(--transition-slow)}.toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.toast.hidden{opacity:0;transform:translate(-50%) translateY(10px);pointer-events:none}.toast.success{background:var(--color-success);color:var(--color-text-inverse)}.toast.error{background:var(--color-danger);color:var(--color-text-inverse)}.toast.info{background:var(--color-text-main);color:var(--color-bg)}.toast-icon{font-size:var(--font-size-md);flex-shrink:0}.toast-message{line-height:var(--line-height-tight)}.confirm-dialog-overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-4);animation:confirmFadeIn .15s ease-out}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);max-width:400px;width:100%;box-shadow:var(--shadow-lg);animation:confirmSlideIn .2s ease-out}@keyframes confirmSlideIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-dialog h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-main);margin:0 0 var(--spacing-2) 0}.confirm-dialog p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--spacing-5) 0;line-height:var(--line-height-normal)}.confirm-dialog-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end}.confirm-dialog-cancel{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-main);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.confirm-dialog-cancel:hover{background:var(--color-bg-secondary)}.confirm-dialog-confirm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-inverse);background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.confirm-dialog-confirm:hover{background:var(--color-primary-hover)}.confirm-dialog-confirm.danger{background:var(--color-danger)}.confirm-dialog-confirm.danger:hover{filter:brightness(1.1)}.modal-overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:flex-start;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-4);overflow-y:auto}.modal-content{background:var(--color-bg-card);width:100%;max-width:480px;max-height:calc(100dvh - (var(--spacing-4) * 2));border-radius:var(--radius-xl);box-shadow:var(--shadow-overlay);animation:modalSlideUp .15s ease-out;display:flex;flex-direction:column;overflow:hidden}@keyframes modalSlideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h3{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-main)}.modal-body{padding:var(--spacing-6);overflow-y:auto}.modal-body>p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:0;margin-bottom:var(--spacing-6);line-height:var(--line-height-relaxed)}.input-group{display:flex;flex-direction:column;gap:var(--spacing-1);margin-bottom:var(--spacing-4)}.input-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-main)}.input-group input,.input-group select{background:var(--color-bg);border:1px solid var(--color-border-dark);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);color:var(--color-text-main);font-size:var(--font-size-base);width:100%;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-group input{font-family:var(--font-mono)}.input-group input:focus,.input-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.status-msg{font-size:var(--font-size-sm);margin-bottom:var(--spacing-4)}.status-msg.success{color:var(--color-success)}.help-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.help-text a{color:var(--color-primary)}.theme-toggle{display:flex;gap:var(--spacing-2)}.theme-option{flex:1;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.theme-option:hover{background:var(--color-bg-hover)}.theme-option.active{border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-medium);background:var(--color-primary-light)}.input-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-1)}.input-warning{display:block;margin-top:var(--spacing-1);color:var(--color-warning)}.connector-card{padding:var(--spacing-4);margin-bottom:var(--spacing-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary)}.connector-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-3);margin-bottom:var(--spacing-2)}.connector-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-main)}.connector-card-subtitle,.connector-card-message,.connector-card-timestamp{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted)}.connector-card-message{margin:0 0 var(--spacing-3)}.connector-card-timestamp{margin:calc(var(--spacing-2) * -1) 0 var(--spacing-3)}.connector-status{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--spacing-1);padding:.15rem var(--spacing-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--tag-default-bg);color:var(--tag-default-color)}.connector-status:before{content:"";width:.45rem;height:.45rem;border-radius:var(--radius-full);background:currentColor}.connector-status-connected{background:var(--color-success-light);color:var(--color-success)}.connector-status-warning{background:var(--color-warning-light);color:var(--color-warning-dark)}.connector-status-error{background:var(--color-danger-light);color:var(--color-danger)}.connector-status-checking{background:var(--color-primary-light);color:var(--color-primary)}.settings-account{padding:0 var(--spacing-6) var(--spacing-4);flex-shrink:0}.settings-divider{border:none;border-top:1px solid var(--color-border);margin-bottom:var(--spacing-4)}.settings-account-header{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-main);margin-bottom:var(--spacing-3)}.settings-account-info{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.settings-account-avatar{width:32px;height:32px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.settings-account-details{display:flex;flex-direction:column;min-width:0}.settings-account-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-account-email{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-account-actions{display:flex;align-items:center;gap:var(--spacing-4)}.data-management-actions{display:flex;gap:var(--spacing-2)}.modal-footer{padding:var(--spacing-3) var(--spacing-6);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-3);background:var(--color-bg-secondary);border-radius:0 0 var(--radius-xl) var(--radius-xl);flex-shrink:0}.modal-footer-actions{display:flex;gap:var(--spacing-3)}.settings-version{font-size:.75rem;color:var(--color-text-muted)}@media(max-width:520px){.modal-overlay{padding:var(--spacing-2)}.modal-content{max-height:calc(100dvh - (var(--spacing-2) * 2))}.modal-header,.modal-body,.settings-account,.modal-footer{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.connector-card-header,.data-management-actions,.modal-footer{align-items:stretch;flex-direction:column}.connector-status{align-self:flex-start}.modal-footer-actions{justify-content:flex-end}}.tour-overlay{position:fixed;inset:0;background:var(--color-overlay);z-index:var(--z-overlay)}.tour-spotlight{position:fixed;border-radius:var(--radius-md);box-shadow:0 0 0 9999px var(--color-overlay);z-index:var(--z-modal);pointer-events:none;transition:all .3s ease}.tour-tooltip{position:fixed;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-5);max-width:320px;box-shadow:var(--shadow-lg);z-index:calc(var(--z-modal) + 1);animation:tourFadeIn .2s ease-out}@keyframes tourFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tour-arrow{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--color-bg-card)}.tour-tooltip h4{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-main)}.tour-tooltip p{margin:0 0 var(--spacing-4) 0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal)}.tour-footer{display:flex;justify-content:space-between;align-items:center}.tour-progress{font-size:var(--font-size-xs);color:var(--color-text-light)}.tour-actions{display:flex;gap:var(--spacing-2)}.tour-skip{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);transition:color var(--transition-fast)}.tour-skip:hover{color:var(--color-text-main)}.tour-next{background:var(--color-primary);color:var(--color-text-inverse);border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.tour-next:hover{background:var(--color-primary-hover)}@media(max-width:600px){.tour-tooltip{max-width:calc(100vw - 32px);padding:var(--spacing-3)}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:var(--spacing-8)}.error-boundary-content{text-align:center;max-width:400px}.error-icon{font-size:2.5rem;margin-bottom:var(--spacing-4)}.error-boundary-content h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-main);margin-bottom:var(--spacing-2)}.error-boundary-content p{font-size:var(--font-size-base);color:var(--color-text-muted);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-6)}.error-details{text-align:left;background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-3);margin-bottom:var(--spacing-6);font-size:var(--font-size-xs)}.error-details summary{cursor:pointer;color:var(--color-text-muted);margin-bottom:var(--spacing-2)}.error-details pre{overflow-x:auto;color:var(--color-danger);white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:var(--spacing-3);justify-content:center}.session-browser-overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-4)}.session-browser-modal{background:var(--color-bg);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-overlay);animation:modalSlideUp .15s ease-out}.session-browser-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border)}.session-browser-header h3{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.session-browser-body{flex:1;overflow-y:auto;padding:var(--spacing-4) var(--spacing-6)}.no-sessions{text-align:center;padding:var(--spacing-8);color:var(--color-text-muted)}.no-sessions p{margin:0}.no-sessions .hint{font-size:var(--font-size-sm);margin-top:var(--spacing-2)}.session-list{display:flex;flex-direction:column;gap:var(--spacing-1)}.session-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);background:transparent;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);border:none}.session-item:hover{background:var(--color-bg-hover)}.session-info{flex:1;min-width:0}.session-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.session-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.session-date{font-weight:var(--font-weight-medium)}.session-stats{opacity:.7}.session-actions{margin-left:var(--spacing-4)}.delete-btn{background:none;border:none;color:var(--color-text-light);font-size:1rem;cursor:pointer;padding:var(--spacing-1);border-radius:var(--radius-sm);transition:all var(--transition-fast);line-height:1}.delete-btn:hover{background:var(--color-danger-light);color:var(--color-danger)}.session-browser-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-6);border-top:1px solid var(--color-border)}.session-count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.storage-warning{color:var(--color-warning, #e67e22);font-weight:500}.privacy-review-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);background:radial-gradient(circle at 18% 12%,rgba(35,131,226,.12),transparent 30rem),radial-gradient(circle at 82% 16%,rgba(15,123,108,.12),transparent 28rem),var(--color-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.privacy-review-modal{width:min(920px,100%);max-height:min(860px,92vh);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#ffffffeb,#fffffff5),var(--color-bg);border:1px solid var(--color-border-dark);border-radius:18px;box-shadow:0 24px 80px #0f172a2e;animation:modalSlideUp .16s ease-out}[data-theme=dark] .privacy-review-modal{background:linear-gradient(180deg,#202020f5,#191919fa),var(--color-bg);box-shadow:0 24px 80px #0000006b}.privacy-review-header{display:flex;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-6);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#2383e214,#0f7b6c12)}.privacy-review-header h2{margin:0;color:var(--color-text-main);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.privacy-review-header p{max-width:680px;margin:var(--spacing-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.privacy-review-kicker{margin:0 0 var(--spacing-2)!important;color:var(--color-primary)!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase}.privacy-review-banner-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-3);margin-top:var(--spacing-3)}.privacy-deep-scan-btn{flex-shrink:0}.privacy-banner-helper{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.privacy-banner-status{margin-top:var(--spacing-2)!important;color:var(--color-success)!important;font-weight:var(--font-weight-semibold)}.privacy-review-body{flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-5) var(--spacing-6);background:linear-gradient(180deg,rgba(35,131,226,.02),transparent 14rem)}.privacy-review-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.privacy-summary-card{padding:var(--spacing-4);background:#2383e20d;border:1px solid var(--color-border-dark);border-radius:16px;box-shadow:inset 0 1px #ffffff73}.privacy-summary-number{display:block;color:var(--color-text-main);font-size:1.75rem;font-weight:var(--font-weight-semibold);line-height:1}.privacy-summary-label{display:block;margin-top:var(--spacing-1);color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em}.privacy-review-note{margin-bottom:var(--spacing-4);padding:var(--spacing-4);color:var(--color-text-secondary);background:linear-gradient(180deg,#c77d0014,#c77d0008);border:1px solid rgba(199,125,0,.18);border-radius:16px;font-size:var(--font-size-sm);line-height:var(--line-height-normal);box-shadow:inset 0 1px #ffffff61}.privacy-review-note p{margin:0}.privacy-roster-box{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);margin-bottom:var(--spacing-4);padding:var(--spacing-4);background:#0f7b6c0d;border:1px solid var(--color-border-dark);border-radius:16px;box-shadow:inset 0 1px #fff6}.privacy-roster-title{display:inline-flex;align-items:center;gap:var(--spacing-2);color:var(--color-text-main);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.privacy-roster-box p{margin:var(--spacing-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.privacy-roster-examples{max-width:620px}.privacy-roster-examples span{color:var(--color-text-main);font-weight:var(--font-weight-medium)}.privacy-roster-status{display:inline-flex;margin-top:var(--spacing-2);color:var(--color-success);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.privacy-roster-input{display:none}.privacy-review-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.privacy-review-controls span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.privacy-review-controls>div{display:flex;flex-shrink:0;gap:var(--spacing-1)}.privacy-review-search-row,.privacy-manual-add{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.privacy-review-search-row input,.privacy-manual-add input{flex:1;min-width:0;padding:var(--spacing-2) var(--spacing-3);color:var(--color-text-main);background:var(--color-bg-card);border:1px solid var(--color-border-dark);border-radius:12px;font-size:var(--font-size-sm);box-shadow:inset 0 1px 2px #0f172a0a}.privacy-review-search-row input:focus,.privacy-manual-add input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2f6f6b1f}.privacy-review-search-row span{flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.privacy-section{margin-bottom:var(--spacing-4)}.privacy-section-topline{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-2)}.privacy-section-heading{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase}.privacy-section-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-1)}.privacy-name-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.privacy-name-list.optional{margin-top:var(--spacing-3)}.privacy-name-option{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(0,2fr);align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:#2383e209;border:1px solid var(--color-border);border-radius:14px;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:inset 0 1px #ffffff57}.privacy-name-option:hover{background:#2383e212;border-color:#2383e247;transform:translateY(-1px);box-shadow:0 10px 22px #0f172a0f}.privacy-name-option.is-selected{border-color:#2383e257;background:#2383e21a;box-shadow:0 0 0 1px #2383e21a,0 10px 22px #0f172a0d}.privacy-name-option input{width:1rem;height:1rem;accent-color:var(--color-primary)}.privacy-name-main{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2)}.privacy-name-text{color:var(--color-text-main);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.privacy-confidence-pill{padding:.22rem .55rem;border:1px solid transparent;border-radius:999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em}.privacy-confidence-likely{background:#0f7b6c14;border-color:#0f7b6c24;color:var(--color-success)}.privacy-confidence-review{background:#2383e214;border-color:#2383e224;color:var(--color-primary)}.privacy-confidence-optional{background:#37352f0d;border-color:#37352f14;color:var(--tag-default-color)}.privacy-name-sources{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-1)}.privacy-source-pill{padding:.2rem .55rem;color:var(--color-text-secondary);background:#37352f0a;border:1px solid rgba(55,53,47,.08);border-radius:999px;font-size:var(--font-size-xs)}.privacy-optional-section{margin-top:var(--spacing-4)}.privacy-optional-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3)}.privacy-optional-toggle{flex:1;padding:var(--spacing-3) var(--spacing-4);color:var(--color-text-main);background:#2383e209;border:1px solid var(--color-border-dark);border-radius:14px;font-size:var(--font-size-sm);text-align:left;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.privacy-optional-toggle:hover{background:#2383e212;border-color:#2383e247;transform:translateY(-1px)}.privacy-optional-search{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-top:var(--spacing-3)}.privacy-optional-search input{flex:1;min-width:0;padding:var(--spacing-2) var(--spacing-3);color:var(--color-text-main);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.privacy-optional-search input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2f6f6b1f}.privacy-optional-search span{flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.privacy-empty-search{margin:0;padding:var(--spacing-4);color:var(--color-text-muted);background:#2383e209;border:1px solid var(--color-border);border-radius:14px;font-size:var(--font-size-sm);text-align:center}.privacy-review-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-border);background:linear-gradient(180deg,rgba(35,131,226,.03),transparent 80%),var(--color-bg-card)}.privacy-review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-2)}.privacy-modal-close{flex-shrink:0;width:2.25rem;height:2.25rem;color:var(--color-text-secondary);background:#ffffff9e;border:1px solid rgba(55,53,47,.1);border-radius:999px;box-shadow:inset 0 1px #ffffffa6}.privacy-modal-close:hover:not(:disabled){color:var(--color-text-main);background:#ffffffe6;border-color:#2383e238}[data-theme=dark] .privacy-modal-close{background:#ffffff0a;border-color:#ffffff14;box-shadow:none}@media(max-width:720px){.privacy-review-overlay{padding:var(--spacing-2);align-items:stretch}.privacy-review-modal{max-height:calc(100vh - var(--spacing-4))}.privacy-review-header,.privacy-review-body,.privacy-review-footer{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.privacy-review-summary,.privacy-name-option{grid-template-columns:1fr}.privacy-name-sources{justify-content:flex-start}.privacy-roster-box,.privacy-review-search-row,.privacy-manual-add,.privacy-review-banner-actions,.privacy-section-topline,.privacy-optional-header,.privacy-optional-search,.privacy-review-footer{align-items:stretch;flex-direction:column}.privacy-section-actions{justify-content:flex-start}.privacy-review-actions{justify-content:stretch}.privacy-review-actions>button,.privacy-review-footer>button,.privacy-manual-add>button{width:100%}}
