.auth-gate{z-index:9999;background:linear-gradient(135deg,#0a0e1a 0%,#111838 50%,#0a0e1a 100%);justify-content:center;align-items:center;font-family:Inter,system-ui,sans-serif;display:flex;position:fixed;inset:0}.auth-card{-webkit-backdrop-filter:blur(24px);text-align:center;background:#121834d9;border:1px solid #789bff33;border-radius:20px;width:100%;max-width:420px;padding:48px 40px;animation:.6s authFadeIn;box-shadow:0 24px 80px #00000080,0 0 60px #6366f114}@keyframes authFadeIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-logo{margin-bottom:32px}.auth-logo .logo-icon{margin-bottom:12px;font-size:3rem;display:block}.auth-logo h1{color:#e2e8f0;margin:0;font-size:1.5rem;font-weight:700}.auth-subtitle{color:#8890b5;margin-top:6px;font-size:.85rem}.auth-card label{text-align:left;color:#a5b4fc;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.auth-input-wrapper{gap:8px;display:flex}.auth-input-wrapper input{color:#e2e8f0;background:#0f1528cc;border:1px solid #789bff33;border-radius:10px;outline:none;flex:1;padding:12px 16px;font-family:Inter,system-ui,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.auth-input-wrapper input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.auth-input-wrapper input::placeholder{color:#4a5580}.auth-input-wrapper .btn{white-space:nowrap;border-radius:10px;padding:12px 20px;font-size:.9rem;font-weight:600}.auth-error{color:#ef4444;margin-top:12px;font-size:.82rem;animation:.4s authShake}@keyframes authShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.auth-footer{color:#4a5580;margin-top:24px;font-size:.75rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0e1a;--bg-secondary:#0f1528;--bg-tertiary:#151c38;--bg-card:#121834bf;--bg-card-hover:#182041d9;--glass-bg:#12183780;--glass-border:#789bff26;--glass-shadow:0 8px 32px #00000059;--glass-blur:blur(20px);--accent-blue:#4b8ef7;--accent-blue-glow:#4b8ef74d;--accent-cyan:#22d3ee;--accent-emerald:#34d399;--accent-amber:#fbbf24;--accent-red:#f87171;--accent-purple:#a78bfa;--accent-indigo:#818cf8;--level-1:#f87171;--level-2:#fb923c;--level-3:#facc15;--level-4:#4ade80;--level-5:#60a5fa;--text-primary:#f0f1f8;--text-secondary:#a3aad0;--text-muted:#6b74a0;--text-accent:#93b8fd;--gradient-primary:linear-gradient(135deg, #3b82f6, #8b5cf6);--gradient-success:linear-gradient(135deg, #10b981, #06b6d4);--gradient-warm:linear-gradient(135deg, #f59e0b, #ef4444);--gradient-surface:linear-gradient(145deg, #141937cc, #0a0e23e6);--gradient-glow:radial-gradient(ellipse at 50% 0%, #3b82f626, transparent 70%);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--sidebar-width:260px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-primary:#f5f7fb;--bg-secondary:#fff;--bg-tertiary:#eef1f8;--bg-card:#ffffffd9;--bg-card-hover:#f5f8fff2;--glass-bg:#fff9;--glass-border:#6478c826;--glass-shadow:0 8px 32px #6478b41f;--text-primary:#1a1f36;--text-secondary:#4a5078;--text-muted:#8890b5;--text-accent:#3b6cf6;--gradient-surface:linear-gradient(145deg, #f0f5ffcc, #e6ebfae6);--gradient-glow:radial-gradient(ellipse at 50% 0%, #3b82f60f, transparent 70%)}[data-theme=light] body:before{background:radial-gradient(at 30% 10%,#3b82f60f,#0000 60%),radial-gradient(at 70% 80%,#8b5cf60a,#0000 60%)}[data-theme=light] .sidebar{background:linear-gradient(#1e2846,#141b33)}[data-theme=light] .card{border-color:#6478c81f;box-shadow:0 2px 12px #6478b414}[data-theme=light] .progress-bar{background:#6478b41f}[data-theme=light] .analysis-item{border-color:#6478c81a}[data-theme=light] .analysis-item:hover{background:#3b82f60a}[data-theme=light] .quick-action-card{background:#f0f5ffcc;border-color:#6478c81f}[data-theme=light] .quick-action-card:hover{background:#3b82f60f;border-color:#3b82f633}.theme-toggle{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;display:inline-flex}.theme-toggle:hover{background:#ffffff1a;border-color:#fff3}html{scroll-behavior:smooth;font-size:15px}body{background:var(--bg-primary);color:var(--text-primary);letter-spacing:.01em;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.65;overflow-x:hidden}body:before{content:"";background:var(--gradient-glow);pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0}select.input,.input,input[type=text],input[type=url],textarea{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--glass-border);transition:border-color var(--transition-base), box-shadow var(--transition-base);border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:.85rem}select.input:focus,.input:focus,input[type=text]:focus,input[type=url]:focus,textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow)}select.input option{background:var(--bg-secondary);color:var(--text-primary);padding:8px 12px}select.input option:checked{background:var(--accent-blue);color:#fff}#app{z-index:1;min-height:100vh;display:flex;position:relative}.sidebar{width:var(--sidebar-width);background:var(--glass-bg);height:100vh;-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--glass-border);z-index:100;transition:transform var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-header{padding:var(--space-lg) var(--space-lg) var(--space-xl);border-bottom:1px solid var(--glass-border)}.logo{align-items:center;gap:var(--space-md);display:flex}.logo-icon{filter:drop-shadow(0 0 12px var(--accent-blue-glow));font-size:2rem}.logo-text h1{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-weight:700;line-height:1.2}.logo-subtitle{color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase;font-size:.7rem;font-weight:500}.nav-links{padding:var(--space-lg) var(--space-sm);scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;flex:1;list-style:none;overflow-y:auto}.nav-links::-webkit-scrollbar{width:4px}.nav-links::-webkit-scrollbar-track{background:0 0}.nav-links::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff1a}.nav-links::-webkit-scrollbar-thumb:hover{background:#fff3}.nav-links li{margin-bottom:var(--space-xs)}.nav-link{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-base);font-size:.9rem;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-link:before{content:"";background:var(--gradient-primary);width:3px;height:60%;transition:transform var(--transition-base);border-radius:0 4px 4px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0)}.nav-link:hover{color:var(--text-primary);background:#3b82f61a}.nav-link.active{color:#fff;background:#3b82f626}.nav-link.active:before{transform:translateY(-50%)scaleY(1)}.nav-icon{text-align:center;width:24px;font-size:1.15rem}.sidebar-footer{padding:var(--space-lg);border-top:1px solid var(--glass-border)}.api-status{align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:.75rem;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.status-dot.online{background:var(--accent-emerald);box-shadow:0 0 8px var(--accent-emerald)}.status-dot.offline{background:var(--accent-red);box-shadow:0 0 8px var(--accent-red)}.main-content{margin-left:var(--sidebar-width);padding:var(--space-2xl);flex:1;min-height:100vh}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base);position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg,#0000,#78a0ff40,#0000);height:1px;position:absolute;top:0;left:0;right:0}.card:hover{background:var(--bg-card-hover);border-color:#78a0ff40;transform:translateY(-2px);box-shadow:0 12px 40px #00000040}.card-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.card-title{color:var(--text-primary);font-size:1rem;font-weight:600}.card-subtitle{color:var(--text-muted);margin-top:var(--space-xs);font-size:.8rem}.page-header{margin-bottom:var(--space-2xl)}.page-title{background:var(--gradient-primary);-webkit-text-fill-color:transparent;margin-bottom:var(--space-sm);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800}.page-description{color:var(--text-secondary);max-width:600px;font-size:.95rem;line-height:1.7}.grid-2{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-lg);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{text-align:center}.stat-value{margin-bottom:var(--space-sm);font-size:2.5rem;font-weight:800;line-height:1}.stat-value.gradient-blue{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-value.gradient-green{background:var(--gradient-success);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-value.gradient-warm{background:var(--gradient-warm);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:500}.btn{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 16px var(--accent-blue-glow)}.btn-primary:hover{box-shadow:0 8px 24px var(--accent-blue-glow);transform:translateY(-2px)}.btn-secondary{color:var(--accent-blue);background:#3b82f61a;border:1px solid #3b82f633}.btn-secondary:hover{background:#3b82f633}.btn-ghost{color:var(--text-secondary);border:1px solid var(--glass-border);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0d}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:.78rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.gauge-container{width:200px;height:200px;margin:0 auto;position:relative}.gauge-ring{transform:rotate(-90deg)}.gauge-bg{fill:none;stroke:#ffffff0d;stroke-width:8px}.gauge-fill{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}.gauge-center{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gauge-score{font-size:3rem;font-weight:800;line-height:1}.gauge-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:var(--space-xs);font-size:.75rem}.level-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600;display:inline-flex}.level-badge.level-1{color:var(--level-1);background:#ef444426}.level-badge.level-2{color:var(--level-2);background:#f9731626}.level-badge.level-3{color:var(--level-3);background:#eab30826}.level-badge.level-4{color:var(--level-4);background:#22c55e26}.level-badge.level-5{color:var(--level-5);background:#3b82f626}.progress-bar{border-radius:var(--radius-full);background:#ffffff0f;width:100%;height:6px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background:var(--gradient-primary);height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-fill.green{background:var(--gradient-success)}.progress-fill.warm{background:var(--gradient-warm)}.checklist-dimension{margin-bottom:var(--space-lg)}.dimension-header{padding:var(--space-lg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.dimension-header:hover{background:#3b82f60d}.dimension-left{align-items:center;gap:var(--space-md);display:flex}.dimension-icon{font-size:1.5rem}.dimension-name{font-size:1rem;font-weight:600}.dimension-meta{color:var(--text-muted);margin-top:2px;font-size:.75rem}.dimension-right{align-items:center;gap:var(--space-lg);display:flex}.dimension-progress{width:120px}.dimension-count{color:var(--text-muted);text-align:right;min-width:40px;font-size:.8rem}.expand-icon.expanded{transform:rotate(180deg)}.checkpoint-list{padding:0 var(--space-lg) var(--space-md) calc(var(--space-lg) + 40px);display:none}.checkpoint-list.visible{animation:.3s slideDown;display:block}.checkpoint-item{align-items:flex-start;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid #ffffff08;display:flex}.checkpoint-item:last-child{border-bottom:none}.checkpoint-toggle{border:2px solid var(--text-muted);cursor:pointer;width:22px;min-width:22px;height:22px;transition:all var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;margin-top:2px;display:flex;position:relative}.checkpoint-toggle:hover{border-color:var(--accent-blue)}.checkpoint-toggle.checked{background:var(--gradient-primary);border-color:#0000}.checkpoint-toggle.checked:after{content:"✓";color:#fff;font-size:.7rem;font-weight:700}.checkpoint-text{color:var(--text-secondary);flex:1;font-size:.85rem;line-height:1.5}.checkpoint-text.checked{color:var(--text-muted);text-decoration:line-through}.checkpoint-sources{gap:var(--space-xs);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.source-tag{border-radius:var(--radius-full);color:var(--text-accent);background:#3b82f61a;padding:2px 6px;font-size:.65rem}.dropzone{border:2px dashed var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center;cursor:pointer;transition:all var(--transition-base)}.dropzone:hover,.dropzone.dragover{border-color:var(--accent-blue);background:#3b82f60d}.dropzone-icon{margin-bottom:var(--space-md);opacity:.5;font-size:3rem}.dropzone-text{color:var(--text-secondary);font-size:.9rem}.dropzone-hint{color:var(--text-muted);margin-top:var(--space-sm);font-size:.75rem}.source-card{gap:var(--space-md);padding:var(--space-lg);transition:background var(--transition-fast);border-bottom:1px solid #ffffff08;display:flex}.source-card:hover{background:#3b82f608}.source-card:last-child{border-bottom:none}.source-indicator{border-radius:2px;flex-shrink:0;width:4px;min-height:40px}.source-indicator.unread{background:var(--gradient-primary)}.source-indicator.read{background:#ffffff0f}.source-content{flex:1;min-width:0}.source-title{color:var(--text-primary);margin-bottom:var(--space-xs);font-size:.9rem;font-weight:600}.source-title a{color:inherit;transition:color var(--transition-fast);text-decoration:none}.source-title a:hover{color:var(--accent-blue)}.source-summary{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:.8rem;line-height:1.5}.source-meta{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.source-tag-dim{border-radius:var(--radius-full);color:var(--accent-purple);background:#8b5cf61f;padding:2px 8px;font-size:.65rem}.source-date{color:var(--text-muted);font-size:.7rem}.source-relevance{color:var(--accent-emerald);font-size:.7rem}.fw-extract-panel{margin:0 var(--space-lg) var(--space-md);border-radius:var(--radius-md);animation:.3s slideDown;overflow:hidden}.analysis-item{align-items:center;gap:var(--space-lg);padding:var(--space-lg);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid #ffffff08;display:flex}.analysis-item:hover{background:#3b82f608}.analysis-icon{text-align:center;width:40px;font-size:1.5rem}.analysis-info{flex:1}.analysis-name{font-size:.9rem;font-weight:600}.analysis-date{color:var(--text-muted);font-size:.75rem}.analysis-score{font-size:1.4rem;font-weight:700}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 50%,#ffffff08 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.spinner{border:3px solid #ffffff1a;border-top-color:var(--accent-blue);border-radius:50%;width:32px;height:32px;margin:0 auto;animation:.8s linear infinite spin}.loading-overlay{justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);color:var(--text-muted);flex-direction:column;display:flex}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.empty-state-icon{opacity:.4;margin-bottom:var(--space-md);font-size:3rem}.empty-state-text{margin-bottom:var(--space-lg);font-size:.9rem}.tab-bar{gap:var(--space-xs);border-radius:var(--radius-md);margin-bottom:var(--space-xl);background:#ffffff08;padding:4px;display:flex}.tab{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;font-family:inherit;font-size:.8rem;font-weight:500}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--accent-blue);background:#3b82f626}.input{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-fast);background:#ffffff08;outline:none;font-family:inherit;font-size:.85rem}.input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow)}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical;min-height:80px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23505882'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceCheck{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.fade-in{opacity:0;animation:.5s forwards fadeIn}.framework-filter-bar{gap:var(--space-sm);flex-wrap:wrap;display:flex}.framework-filter-btn{border-color:color-mix(in srgb, var(--filter-color,#8890b5) 30%, transparent)!important;color:var(--filter-color,var(--text-secondary))!important}.framework-filter-btn.active{background:color-mix(in srgb, var(--filter-color,#3b82f6) 20%, transparent)!important;border-color:color-mix(in srgb, var(--filter-color,#3b82f6) 50%, transparent)!important;color:var(--filter-color,#3b82f6)!important}.matrix-dimension-card{margin-bottom:var(--space-lg)}.matrix-dim-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.matrix-grid{gap:var(--space-md);grid-template-columns:repeat(5,1fr);display:grid}.matrix-cell{border-radius:var(--radius-md);padding:var(--space-md);min-height:80px;transition:all var(--transition-base);background:#ffffff05;border:1px solid #ffffff0a}.matrix-cell:hover{border-color:color-mix(in srgb, var(--level-color,#8890b5) 30%, transparent);background:#ffffff0a}.matrix-cell-header{margin-bottom:var(--space-sm);align-items:center;gap:6px;font-size:.72rem;font-weight:600;display:flex}.matrix-level-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.matrix-level-name{color:var(--text-secondary);flex:1}.matrix-cell-count{color:var(--text-muted);font-weight:500}.matrix-cell-items{flex-direction:column;gap:8px;display:flex}.matrix-empty{color:var(--text-muted);opacity:.4;text-align:center;padding:var(--space-sm);font-size:.75rem}.matrix-checkpoint{border-radius:var(--radius-sm);border-left:2px solid color-mix(in srgb, var(--level-color,#8890b5) 50%, transparent);background:#ffffff05;padding:8px}.matrix-cp-id{color:var(--text-muted);margin-bottom:2px;font-size:.65rem;font-weight:700}.matrix-cp-text{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem;line-height:1.4}.matrix-cp-tags{flex-wrap:wrap;gap:4px;display:flex}.matrix-checkpoint{cursor:pointer;transition:all var(--transition-base)}.matrix-checkpoint:hover{background:#ffffff0a}.matrix-cp-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.matrix-cp-category{border-radius:var(--radius-full);background:color-mix(in srgb, var(--cat-color,#8890b5) 12%, transparent);color:var(--cat-color,#8890b5);text-transform:uppercase;padding:1px 5px;font-size:.55rem;font-weight:500}.matrix-cp-detail{border-top:1px solid #ffffff0d;margin-top:8px;padding-top:8px;display:none}.matrix-checkpoint.expanded .matrix-cp-detail{display:block}.matrix-checkpoint.expanded .matrix-cp-tags{display:none}.matrix-checkpoint.expanded{background:#3b82f60a;border-left-width:3px}.matrix-cp-de{color:var(--text-muted);margin-bottom:8px;font-size:.72rem;font-style:italic;line-height:1.4}.matrix-cp-de-label{color:#f59e0b;background:#f59e0b26;border-radius:3px;margin-right:4px;padding:1px 4px;font-size:.55rem;font-style:normal;font-weight:700}.matrix-cp-sources{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.matrix-cp-source-pill{border-radius:var(--radius-full);background:color-mix(in srgb, var(--src-color,#8890b5) 12%, transparent);color:var(--src-color,#8890b5);padding:2px 6px;font-size:.6rem;font-weight:500}.matrix-cp-evidence{margin-top:8px}.matrix-cp-evidence-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.62rem;font-weight:700}.matrix-cp-evidence-item{border-radius:var(--radius-sm);border-left:2px solid var(--ev-color,#8890b5);background:#ffffff05;margin-bottom:4px;padding:6px 8px}.matrix-cp-ev-source{color:var(--ev-color,#8890b5);margin-bottom:2px;font-size:.62rem;font-weight:700}.matrix-cp-ev-ref{color:var(--text-secondary);font-size:.7rem;line-height:1.4}.matrix-cp-ev-link{color:var(--accent-blue);margin-top:3px;font-size:.6rem;text-decoration:none;display:inline-block}.matrix-cp-ev-link:hover{text-decoration:underline}.expand-icon{color:var(--text-muted);transition:transform var(--transition-fast);font-size:.75rem}.ingest-args-list{flex-direction:column;gap:8px;display:flex}.ingest-arg-card{border-radius:var(--radius-md);transition:all var(--transition-fast);background:#ffffff05;border:1px solid #ffffff0a;padding:10px 14px}.ingest-arg-card:hover{background:#ffffff0a;border-color:#ffffff14}.roadmap-item{gap:var(--space-sm);padding:var(--space-lg);transition:background var(--transition-fast);border-bottom:1px solid #ffffff08;flex-direction:column;display:flex}.roadmap-item:hover{background:#3b82f608}.roadmap-item:last-child{border-bottom:none}.roadmap-item.quick-win{border-left:3px solid var(--accent-emerald);background:#10b98108}.roadmap-item-header{justify-content:space-between;align-items:flex-start;display:flex}.roadmap-priority{text-align:center;min-width:32px;font-size:1.1rem;font-weight:800}.roadmap-item-title{color:var(--text-primary);font-size:.85rem;font-weight:500;line-height:1.4}.roadmap-item-meta{align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:4px;display:flex}.roadmap-dim-badge{border-radius:var(--radius-full);color:var(--accent-purple);background:#8b5cf61f;padding:2px 8px;font-size:.65rem}.roadmap-effort{border-radius:var(--radius-full);background:color-mix(in srgb, var(--effort-color,#f59e0b) 12%, transparent);color:var(--effort-color,#f59e0b);padding:2px 8px;font-size:.65rem}.quick-win-badge{border-radius:var(--radius-full);color:var(--accent-emerald);white-space:nowrap;background:#10b98126;padding:4px 10px;font-size:.7rem;font-weight:600}.roadmap-item-tags{flex-wrap:wrap;gap:4px;padding-left:44px;display:flex}.target-level-btn{border-color:color-mix(in srgb, var(--level-color,#8890b5) 30%, transparent)!important;color:var(--text-secondary)!important}.target-level-btn.active{background:color-mix(in srgb, var(--level-color,#3b82f6) 20%, transparent)!important;border-color:color-mix(in srgb, var(--level-color,#3b82f6) 50%, transparent)!important;color:var(--level-color,#3b82f6)!important}.quick-action-card{align-items:center;gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-base);cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;flex-direction:column;text-decoration:none;display:flex}.quick-action-card:hover{color:var(--text-primary);background:#3b82f614;border-color:#3b82f633;transform:translateY(-2px)}.quick-action-icon{font-size:1.8rem}.quick-action-label{font-size:.78rem;font-weight:500}.strategy-dim-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.strategy-dim-title{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:700}.strategy-score-badge{border-radius:var(--radius-md);background:color-mix(in srgb, var(--score-color,#3b82f6) 10%, transparent);border:1px solid color-mix(in srgb, var(--score-color,#3b82f6) 25%, transparent);flex-direction:column;align-items:center;padding:8px 16px;display:flex}.strategy-score-value{color:var(--score-color,#3b82f6);font-size:1.4rem;font-weight:800}.strategy-score-label{color:var(--text-muted);font-size:.65rem}.strategy-summary{color:var(--text-secondary);margin-bottom:var(--space-md);font-size:.88rem;line-height:1.7}.strategy-key-insight{align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);color:var(--text-secondary);background:#f59e0b0d;border:1px solid #f59e0b26;font-size:.82rem;line-height:1.6;display:flex}.strategy-insight-icon{flex-shrink:0;margin-top:2px;font-size:1.2rem}.strategy-list-card{border-radius:var(--radius-md);border:1px solid #ffffff0a;overflow:hidden}.strategy-list-header{padding:var(--space-md) var(--space-lg);justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;display:flex}.do-header{color:var(--accent-emerald);background:#10b98114;border-bottom:1px solid #10b98126}.dont-header{color:var(--accent-red);background:#ef444414;border-bottom:1px solid #ef444426}.strategy-list-items{padding:var(--space-sm)}.strategy-item{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:background var(--transition-fast);margin-bottom:4px}.strategy-item:hover{background:#ffffff08}.do-item.achieved{opacity:.5;text-decoration:line-through}.strategy-item-text{color:var(--text-secondary);margin-bottom:4px;font-size:.8rem;line-height:1.5}.strategy-item-meta{flex-wrap:wrap;gap:6px;display:flex}.strategy-level-pill,.strategy-source-pill{border-radius:var(--radius-full);background:color-mix(in srgb, var(--pill-color,#8890b5) 12%, transparent);color:var(--pill-color,#8890b5);padding:1px 6px;font-size:.6rem;font-weight:500}.strategy-severity{border-radius:var(--radius-full);background:color-mix(in srgb, var(--sev-color,#f59e0b) 12%, transparent);color:var(--sev-color,#f59e0b);text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;font-size:.6rem;font-weight:600;display:inline-block}.strategy-frameworks-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid #ffffff0a}.strategy-frameworks-header{color:var(--text-primary);margin-bottom:var(--space-md);font-size:.85rem;font-weight:600}.strategy-frameworks-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.strategy-fw-card{padding:var(--space-md);border-radius:var(--radius-md);border-left:3px solid var(--fw-color,#8890b5);background:#ffffff05}.strategy-fw-source{color:var(--fw-color,#8890b5);margin-bottom:6px;font-size:.7rem;font-weight:700}.strategy-fw-insight{color:var(--text-secondary);font-size:.78rem;line-height:1.5}@media (width<=1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.grid-3{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.matrix-grid{grid-template-columns:repeat(3,1fr)}.strategy-frameworks-grid{grid-template-columns:1fr}}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{padding:var(--space-lg);margin-left:0}.grid-4,.grid-3{grid-template-columns:1fr}.matrix-grid{grid-template-columns:repeat(2,1fr)}}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.w-full{width:100%}.hidden{display:none!important}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;background:#fff!important;margin:0!important;padding:0!important}body:before,body:after,.sidebar,.header-actions{display:none!important}.main-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.page{display:none}.page.active#report{display:block!important}#report{font-size:12pt;line-height:1.5;padding:2cm!important}#report .report-header{border-bottom:2px solid #000;margin-bottom:1cm;padding-bottom:1cm}#report .report-title{font-size:24pt;font-weight:800;color:#111!important}#report h1,#report h2,#report h3{page-break-after:avoid;color:#000!important}#report p{margin-bottom:.5cm;color:#333!important}.card{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}#report .strategy-score-badge{color:#000!important;background:0 0!important;border:1px solid #ccc!important}#report-narrative strong{color:#000!important}#report-narrative{white-space:pre-wrap}@page{margin:1cm;size:A4 portrait}}.advisor-msg{align-items:flex-start;gap:12px;max-width:85%;display:flex}.advisor-msg.user{flex-direction:row;align-self:flex-end}.advisor-msg.assistant,.advisor-msg.error{align-self:flex-start}.advisor-avatar{background:#8b5cf626;border:1px solid #8b5cf633;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.advisor-avatar.user-avatar{color:var(--accent-blue);letter-spacing:-.5px;background:#3b82f626;border-color:#3b82f633;font-size:.65rem;font-weight:700}.advisor-bubble{background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:14px;min-width:0;padding:14px 18px}.advisor-bubble.user-bubble{background:#3b82f614;border-color:#3b82f626}.advisor-bubble-content{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;font-size:.9rem;line-height:1.65}.advisor-bubble-content h2,.advisor-bubble-content h3,.advisor-bubble-content h4{color:var(--text-primary)}.advisor-bubble-content strong{color:var(--text-primary);font-weight:600}.advisor-bubble-content code{color:var(--accent-blue);background:#3b82f61a;border-radius:4px;padding:1px 5px;font-size:.85em}.advisor-suggestions{border-top:1px solid #ffffff0d;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;display:flex}.advisor-suggestion-btn{color:#c4b5fd;cursor:pointer;background:#8b5cf60f;border:1px solid #8b5cf626;border-radius:20px;padding:6px 14px;font-family:inherit;font-size:.78rem;transition:all .2s}.advisor-suggestion-btn:hover{color:#ddd6fe;background:#8b5cf626;border-color:#8b5cf64d;transform:translateY(-1px)}.advisor-typing{gap:5px;padding:4px 0;display:flex}.typing-dot{background:var(--accent-purple);opacity:.4;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}#chat-messages::-webkit-scrollbar{width:6px}#chat-messages::-webkit-scrollbar-track{background:0 0}#chat-messages::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}#chat-messages::-webkit-scrollbar-thumb:hover{background:#ffffff26}.executive-summary{border-radius:var(--radius-lg);padding:var(--space-xl);color:var(--text-secondary);background:linear-gradient(145deg,#3b82f614,#8b5cf60d);border:1px solid #3b82f626;font-size:.88rem;line-height:1.75;position:relative;overflow:hidden}.executive-summary:before{content:"";background:var(--gradient-primary);height:2px;position:absolute;top:0;left:0;right:0}.executive-summary-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent-blue);margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);font-size:.7rem;font-weight:700;display:flex}.filter-tabs{gap:var(--space-xs);padding:var(--space-xs);border-radius:var(--radius-md);margin-bottom:var(--space-lg);background:#ffffff08;display:flex}.filter-tab{padding:var(--space-sm) var(--space-lg);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;font-family:inherit;font-size:.8rem;font-weight:600}.filter-tab:hover{color:var(--text-secondary);background:#ffffff0a}.filter-tab.active{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px var(--accent-blue-glow)}.filter-tab .count{border-radius:var(--radius-full);background:#ffffff1a;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;font-size:.7rem;display:inline-flex}.filter-tab.active .count{background:#ffffff40}.dim-accordion{border:1px solid var(--glass-border);border-radius:var(--radius-lg);margin-bottom:var(--space-md);transition:border-color var(--transition-base);overflow:hidden}.dim-accordion:hover{border-color:#78a0ff40}.dim-accordion-header{align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast);background:#ffffff05;display:flex}.dim-accordion-header:hover{background:#3b82f60a}.progress-ring{width:48px;height:48px;color:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex;position:relative}.progress-ring:before{content:"";background:conic-gradient(var(--ring-color,var(--accent-blue)) var(--ring-pct,0%), #ffffff0f 0%);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#fff calc(100% - 4px));mask:radial-gradient(farthest-side,#0000 calc(100% - 5px),#fff calc(100% - 4px))}.dim-accordion-info{flex:1;min-width:0}.dim-accordion-name{color:var(--text-primary);align-items:center;gap:var(--space-sm);font-size:.95rem;font-weight:600;display:flex}.dim-accordion-stats{color:var(--text-muted);margin-top:2px;font-size:.75rem}.dim-accordion-chevron{color:var(--text-muted);transition:transform var(--transition-base);flex-shrink:0;font-size:.8rem}.dim-accordion.open .dim-accordion-chevron{transform:rotate(180deg)}.dim-accordion-body{max-height:0;transition:max-height .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.dim-accordion.open .dim-accordion-body{max-height:5000px}.dim-accordion-content{padding:0 var(--space-xl) var(--space-xl)}.cp-card{gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-sm);transition:all var(--transition-fast);background:#ffffff05;border:1px solid #ffffff0a;display:flex}.cp-card:hover{background:#ffffff0a;border-color:#ffffff14}.cp-status-badge{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;margin-top:2px;font-size:.85rem;display:flex}.cp-status-badge.covered{background:#34d39926}.cp-status-badge.gap{background:#f8717126}.cp-body{flex:1;min-width:0}.cp-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.cp-id{color:var(--text-muted);letter-spacing:.5px;font-size:.7rem;font-weight:700}.cp-text{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:.84rem;line-height:1.5}.cp-level-dots{align-items:center;gap:3px;display:flex}.level-dot{width:8px;height:8px;transition:background var(--transition-fast);background:#ffffff14;border-radius:50%}.level-dot.filled{background:var(--level-3)}.level-dot.l1{background:var(--level-1)}.level-dot.l2{background:var(--level-2)}.level-dot.l3{background:var(--level-3)}.level-dot.l4{background:var(--level-4)}.level-dot.l5{background:var(--level-5)}.cp-confidence{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.confidence-label{color:var(--text-muted);min-width:65px;font-size:.7rem}.confidence-bar{background:#ffffff0f;border-radius:2px;flex:1;max-width:120px;height:4px;overflow:hidden}.confidence-fill{border-radius:2px;height:100%;transition:width .6s}.confidence-value{text-align:right;min-width:32px;font-size:.7rem;font-weight:600}.cp-evidence{border-left:3px solid var(--accent-blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-sm) var(--space-md);margin:var(--space-sm) 0;color:var(--text-secondary);background:#3b82f60d;font-size:.8rem;font-style:italic;line-height:1.6}.cp-evidence .depth-badge{border-radius:var(--radius-full);vertical-align:middle;margin-left:8px;padding:1px 6px;font-size:.65rem;font-style:normal;font-weight:600;display:inline-flex}.depth-badge.d1{color:var(--level-2);background:#f9731626}.depth-badge.d2{color:var(--level-3);background:#eab30826}.depth-badge.d3{color:var(--accent-emerald);background:#34d39926}.cp-recommendation{color:var(--text-muted);padding-left:var(--space-md);margin-top:var(--space-sm);border-left:2px solid #fbbf244d;font-size:.78rem}.cp-recommendation strong{color:var(--accent-amber);font-weight:600}.checkpoint-overview{gap:var(--space-xl);padding:var(--space-lg) var(--space-xl);border-radius:var(--radius-md);margin-bottom:var(--space-lg);background:#ffffff05;justify-content:center;display:flex}.overview-stat{text-align:center}.overview-stat-value{font-size:1.4rem;font-weight:800;line-height:1}.overview-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:.68rem}.evolution-hero{background:linear-gradient(145deg, #7c3aed14, #2563eb0f, var(--bg-card));border:1px solid #7c3aed33;position:relative;overflow:hidden}.evolution-hero:after{content:"";background:linear-gradient(90deg,#0000,#7c3aed80,#2563eb80,#0000);height:1px;position:absolute;top:0;left:0;right:0}.evolution-hero-inner{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.evolution-hero-status{align-items:center;gap:var(--space-md);display:flex}.evolution-hero-countdown{flex-direction:column;align-items:center;gap:2px;display:flex}.evolution-hero-actions{gap:var(--space-sm);display:flex}.pulse-dot{background:#6b74a0;border-radius:50%;flex-shrink:0;width:12px;height:12px;position:relative}.pulse-dot.active{background:#22c55e;animation:2s infinite evo-pulse;box-shadow:0 0 8px #22c55e99}.pulse-dot.running{background:#eab308;animation:1s infinite evo-pulse;box-shadow:0 0 8px #eab30899}.pulse-dot.paused{background:#6b74a0}@keyframes evo-pulse{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}.pulse-dot.running{animation-name:evo-pulse-yellow}@keyframes evo-pulse-yellow{0%{box-shadow:0 0 #eab30880}70%{box-shadow:0 0 0 10px #eab30800}to{box-shadow:0 0 #eab30800}}.evolution-stat-card{text-align:center;padding:var(--space-xl) var(--space-lg);position:relative}.evo-stat-icon{margin-bottom:var(--space-sm);filter:drop-shadow(0 2px 8px #7c3aed33);font-size:1.6rem}.evo-stat-value{margin-bottom:var(--space-sm);font-size:2.2rem;font-weight:800;line-height:1}.evo-stat-value.gradient-purple{background:linear-gradient(135deg,#7c3aed,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.evo-stat-trend{min-height:18px;margin-top:var(--space-xs)}.grid-evo-main{gap:var(--space-lg);grid-template-columns:3fr 2fr;display:grid}@media (width<=1024px){.grid-evo-main{grid-template-columns:1fr}}.evolution-timeline{max-height:480px;padding-right:var(--space-sm);position:relative;overflow-y:auto}.evolution-timeline::-webkit-scrollbar{width:4px}.evolution-timeline::-webkit-scrollbar-track{background:0 0}.evolution-timeline::-webkit-scrollbar-thumb{background:#7c3aed33;border-radius:4px}.evolution-timeline-node{gap:var(--space-md);padding:var(--space-md) 0;cursor:pointer;transition:all var(--transition-fast);display:flex;position:relative}.evolution-timeline-node:not(:last-child):before{content:"";background:#ffffff0f;width:2px;position:absolute;top:42px;bottom:-4px;left:15px}.evolution-timeline-node:hover{border-radius:var(--radius-md);background:#7c3aed0a}.evo-timeline-dot{z-index:1;width:32px;height:32px;transition:all var(--transition-base);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.evo-timeline-dot.success{color:#22c55e;background:#22c55e26;border:2px solid #22c55e66}.evo-timeline-dot.failed{color:#ef4444;background:#ef444426;border:2px solid #ef444466}.evo-timeline-dot.running{color:#eab308;background:#eab30826;border:2px solid #eab30866;animation:1.5s infinite evo-pulse-yellow}.evo-timeline-content{flex:1;min-width:0}.evo-timeline-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.evo-timeline-date{color:var(--text-primary);font-size:.82rem;font-weight:600}.evo-timeline-time{color:var(--text-muted);margin-left:var(--space-sm);font-size:.72rem}.evo-timeline-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;padding:2px 10px;font-size:.65rem;font-weight:600}.evo-timeline-badge.success{color:#22c55e;background:#22c55e1f}.evo-timeline-badge.failed{color:#ef4444;background:#ef44441f}.evo-timeline-badge.running{color:#eab308;background:#eab3081f}.evo-timeline-stats{color:var(--text-secondary);margin-top:2px;font-size:.78rem}.evo-timeline-detail{margin-top:var(--space-sm);padding:var(--space-md);border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:#ffffff05;max-height:200px;overflow-y:auto}@keyframes stagger-fade-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.stagger-in{opacity:0;animation:.4s forwards stagger-fade-in}.evo-proposals-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.evolution-proposal-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-lg);transition:all var(--transition-base);position:relative;overflow:hidden}.evolution-proposal-card:before{content:"";opacity:0;height:2px;transition:opacity var(--transition-base);background:linear-gradient(90deg,#7c3aed,#2563eb);position:absolute;top:0;left:0;right:0}.evolution-proposal-card:hover{border-color:#7c3aed4d;transform:translateY(-2px);box-shadow:0 8px 32px #7c3aed1f}.evolution-proposal-card:hover:before{opacity:1}.evo-dim-badge{border-radius:var(--radius-full);background:color-mix(in srgb, var(--dim-color) 15%, transparent);color:var(--dim-color);padding:3px 10px;font-size:.68rem;font-weight:600}.evo-source-link{color:var(--text-muted);transition:color var(--transition-fast);font-size:.78rem;text-decoration:none}.evo-source-link:hover{color:var(--accent-blue)}.evo-score-bars{margin-bottom:var(--space-md);flex-direction:column;gap:6px;display:flex}.score-bar-row{align-items:center;gap:var(--space-sm);display:flex}.score-bar-label{color:var(--text-muted);flex-shrink:0;width:52px;font-size:.68rem}.score-bar{border-radius:var(--radius-full);background:#ffffff0f;flex:1;height:5px;overflow:hidden}.score-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.score-bar-value{text-align:right;flex-shrink:0;width:28px;font-size:.68rem;font-weight:700}.evo-proposal-actions{gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.evo-proposal-actions .btn{flex:1;justify-content:center;padding:6px 12px;font-size:.75rem}.evolution-redundancy-pair{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-md);transition:all var(--transition-base)}.evolution-redundancy-pair:hover{border-color:#a855f740}.evo-redundancy-cards{gap:var(--space-md);align-items:stretch;display:flex}.evo-redundancy-item{padding:var(--space-md);border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:#ffffff05;flex:1}.evo-similarity-badge{color:#a855f7;text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:56px;font-size:1rem;font-weight:800;display:flex}.evo-snapshots-table{width:100%}.evo-snapshots-header{gap:var(--space-md);padding:var(--space-sm) var(--space-md);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--glass-border);grid-template-columns:2fr 1fr 1.5fr 1fr;font-size:.7rem;font-weight:600;display:grid}.evolution-snapshot-row{gap:var(--space-md);padding:var(--space-md);transition:all var(--transition-fast);border-radius:var(--radius-sm);border-bottom:1px solid #ffffff08;grid-template-columns:2fr 1fr 1.5fr 1fr;align-items:center;display:grid}.evolution-snapshot-row:hover{background:#7c3aed0a}.evolution-snapshot-row.current{background:#7c3aed0f;border:1px solid #7c3aed26}.evo-current-badge{border-radius:var(--radius-full);color:#a855f7;margin-right:var(--space-sm);text-transform:uppercase;letter-spacing:.5px;background:#7c3aed26;padding:1px 8px;font-size:.6rem;font-weight:600}.evo-snapshot-version{color:var(--text-primary);font-size:.85rem;font-weight:600}.evo-snapshot-count{color:var(--text-secondary);font-size:.82rem}.evo-snapshot-date{color:var(--text-muted);font-size:.78rem}.evo-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.evo-modal-card{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);width:90%;max-width:480px;animation:.3s authFadeIn;box-shadow:0 24px 80px #00000080,0 0 60px #7c3aed14}[data-theme=light] .evolution-hero{background:linear-gradient(145deg, #7c3aed0d, #2563eb08, var(--bg-card))}[data-theme=light] .evolution-proposal-card:hover{box-shadow:0 8px 32px #7c3aed14}[data-theme=light] .evolution-snapshot-row.current{background:#7c3aed0a}[data-theme=light] .score-bar{background:#0000000f}[data-theme=light] .evo-redundancy-item{background:#00000005}[data-theme=light] .evolution-timeline-node:not(:last-child):before{background:#00000014}[data-theme=light] .evo-timeline-detail{background:#00000005}.playbook-phase-card[data-phase="1"]{--phase-color:#10b981;--phase-gradient:linear-gradient(135deg, #10b981, #059669)}.playbook-phase-card[data-phase="2"]{--phase-color:#06b6d4;--phase-gradient:linear-gradient(135deg, #06b6d4, #0891b2)}.playbook-phase-card[data-phase="3"]{--phase-color:#3b82f6;--phase-gradient:linear-gradient(135deg, #3b82f6, #2563eb)}.playbook-phase-card[data-phase="4"]{--phase-color:#8b5cf6;--phase-gradient:linear-gradient(135deg, #8b5cf6, #7c3aed)}.playbook-phase-card[data-phase="5"]{--phase-color:#f59e0b;--phase-gradient:linear-gradient(135deg, #f59e0b, #d97706)}.playbook-progress-bar{z-index:50;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);padding:20px 28px;position:sticky;top:0;box-shadow:0 8px 32px #00000040}.playbook-progress-nodes{justify-content:space-between;align-items:center;display:flex;position:relative}.playbook-progress-line{border-radius:var(--radius-full);opacity:.4;background:linear-gradient(90deg,#10b981,#06b6d4,#3b82f6,#8b5cf6,#f59e0b);height:3px;position:absolute;top:50%;left:24px;right:24px;transform:translateY(-50%)}.playbook-progress-node{z-index:2;background:var(--bg-secondary);border:2px solid var(--node-color,var(--glass-border));border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);min-width:80px;color:var(--text-primary);flex-direction:column;align-items:center;gap:4px;padding:10px 16px;font-family:inherit;display:flex;position:relative}.playbook-progress-node:hover{border-color:var(--node-color);background:#ffffff0a;transform:translateY(-3px);box-shadow:0 6px 20px #0003}.playbook-node-number{color:var(--node-color);font-size:1.2rem;font-weight:800}.playbook-node-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:.65rem;font-weight:600;overflow:hidden}.playbook-node-count{color:var(--text-muted);font-size:.62rem;font-weight:500}.playbook-node-check{color:#fff;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.6rem;font-weight:700;animation:.4s check-pulse;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 8px #10b98180}.playbook-phase-card{position:relative;overflow:visible}.playbook-phase-card:after{content:"";background:var(--phase-gradient,var(--gradient-primary));border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.playbook-phase-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--glass-border)}.playbook-phase-header-top{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);flex-wrap:wrap;display:flex}.playbook-phase-label{align-items:center;gap:var(--space-md);display:flex}.playbook-phase-number{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:800;display:flex;box-shadow:0 4px 15px #0000004d}.playbook-phase-name{color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px;font-size:1.1rem;font-weight:700}.playbook-phase-level{margin-top:2px;font-size:.78rem;font-weight:600}.playbook-phase-header-right{align-items:center;gap:var(--space-md);flex-shrink:0;display:flex}.playbook-phase-duration{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.playbook-dim-pills{gap:var(--space-sm);flex-wrap:wrap;display:flex}.playbook-dim-pill{border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base);background:#ffffff08;border:1px solid #ffffff14;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:.72rem;font-weight:600;display:inline-flex}.playbook-dim-pill:hover{border-color:var(--pill-color,#ffffff26);background:#ffffff0f}.playbook-dim-pill.active{border-color:var(--pill-color,var(--accent-blue));color:var(--pill-color,var(--text-primary));background:#ffffff14;box-shadow:0 0 12px #ffffff0d}.playbook-dim-pill-count{border-radius:var(--radius-full);color:var(--text-muted);background:#ffffff0f;padding:1px 6px;font-size:.62rem}.playbook-steps-container{gap:var(--space-md);flex-direction:column;display:flex}.playbook-step{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-base);background:#ffffff05;display:flex;position:relative}.playbook-step:hover{background:#ffffff0a;border-color:#ffffff1f;transform:translate(4px)}.playbook-step.completed{opacity:.65;border-color:#10b98133}.playbook-step.completed:hover{opacity:.85}.playbook-step-left{align-items:center;gap:var(--space-sm);flex-direction:column;flex-shrink:0;display:flex}.playbook-step-checkbox{cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.playbook-step-checkbox input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.playbook-check-mark{width:22px;height:22px;transition:all var(--transition-base);background:#ffffff08;border:2px solid #ffffff26;border-radius:6px;justify-content:center;align-items:center;display:flex}.playbook-check-mark:after{content:"✓";color:#fff;opacity:0;font-size:.7rem;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1);transform:scale(0)}.playbook-step-checkbox input:checked+.playbook-check-mark{background:var(--check-color,#10b981);border-color:var(--check-color,#10b981);animation:.35s check-pulse;box-shadow:0 0 12px #10b98166}.playbook-step-checkbox input:checked+.playbook-check-mark:after{opacity:1;transform:scale(1)}.playbook-step-checkbox:hover .playbook-check-mark{border-color:var(--check-color,#ffffff4d)}.playbook-step-number{opacity:.7;border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.72rem;font-weight:700;display:flex}.playbook-step-body{flex:1;min-width:0}.playbook-step-header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.playbook-step-dim{border-radius:var(--radius-full);color:var(--dim-color,var(--text-secondary));background:#ffffff0d;border:1px solid #ffffff14;align-items:center;gap:4px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.playbook-step-category{border-radius:var(--radius-full);color:var(--text-muted);background:#ffffff08;border:1px solid #ffffff0d;padding:2px 8px;font-size:.68rem;font-weight:500}.playbook-step-id{font-family:monospace;font-size:.62rem;font-weight:500}.playbook-step-text{color:var(--text-primary);margin-bottom:var(--space-sm);font-size:.88rem;line-height:1.6}.playbook-step-text.done{color:var(--text-muted);text-decoration:line-through}.playbook-step-footer{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.playbook-effort-badge{border-radius:var(--radius-full);color:var(--effort-color,var(--text-muted));background:#ffffff08;border:1px solid #ffffff0f;align-items:center;gap:3px;padding:2px 10px;font-size:.68rem;font-weight:600;display:inline-flex}.playbook-priority-badge{border-radius:var(--radius-full);color:var(--priority-color,var(--text-muted));background:#ffffff08;border:1px solid #ffffff0f;align-items:center;gap:3px;padding:2px 10px;font-size:.68rem;font-weight:600;display:inline-flex}.playbook-priority-badge.pulse{animation:2s infinite priority-pulse}@keyframes priority-pulse{0%,to{box-shadow:none}50%{box-shadow:0 0 10px #ef44444d}}.playbook-sources-wrap{flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.playbook-source-pill{border-radius:var(--radius-full);color:var(--source-color,var(--text-muted));white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff0f;padding:1px 8px;font-size:.6rem;font-weight:600}@keyframes check-pulse{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}.playbook-step.stagger-in{animation:.4s both playbookStepIn}@keyframes playbookStepIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}[data-theme=light] .playbook-progress-bar{background:#ffffffe6;box-shadow:0 4px 24px #6478b41f}[data-theme=light] .playbook-progress-node{background:#fffffff2}[data-theme=light] .playbook-progress-node:hover{background:#f5f8ff}[data-theme=light] .playbook-step{background:#00000004;border-color:#6478c81a}[data-theme=light] .playbook-step:hover{background:#3b82f608;border-color:#6478c833}[data-theme=light] .playbook-check-mark{background:#00000005;border-color:#00000026}[data-theme=light] .playbook-dim-pill{background:#00000008;border-color:#6478c81f}[data-theme=light] .playbook-dim-pill.active{background:#0000000d}[data-theme=light] .playbook-effort-badge,[data-theme=light] .playbook-priority-badge,[data-theme=light] .playbook-step-dim,[data-theme=light] .playbook-step-category,[data-theme=light] .playbook-source-pill{background:#00000008;border-color:#6478c81a}@media (width<=900px){.playbook-progress-nodes{gap:var(--space-xs)}.playbook-progress-node{min-width:56px;padding:8px 10px}.playbook-node-label{display:none}.playbook-phase-header-top{flex-direction:column}.playbook-phase-header-right{justify-content:flex-end;width:100%}.playbook-step{flex-direction:column}.playbook-step-left{gap:var(--space-md);flex-direction:row}.playbook-sources-wrap{margin-left:0;margin-top:var(--space-xs)}}.toast-container{top:var(--space-lg);right:var(--space-lg);z-index:10000;gap:var(--space-sm);flex-direction:column;display:flex;position:fixed}.toast{padding:var(--space-md) var(--space-lg);background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);align-items:center;gap:var(--space-sm);max-width:360px;font-size:.85rem;animation:.3s slideIn;display:flex}.toast.success{border-left:3px solid var(--accent-emerald)}.toast.error{border-left:3px solid var(--accent-red)}.toast.info{border-left:3px solid var(--accent-blue)}.evidence-tag{border-radius:var(--radius-full);border:1px solid color-mix(in srgb, var(--tag-color,#8890b5) 30%, transparent);color:var(--tag-color,#8890b5);transition:all var(--transition-fast);background:#ffffff0a;align-items:center;gap:4px;max-width:280px;padding:2px 8px;font-size:.62rem;line-height:1.4;display:inline-flex;overflow:hidden}.evidence-tag:hover{background:color-mix(in srgb, var(--tag-color,#8890b5) 15%, transparent);border-color:color-mix(in srgb, var(--tag-color,#8890b5) 50%, transparent);transform:translateY(-1px)}.evidence-tag-source{white-space:nowrap;font-weight:600}.evidence-tag-ref{opacity:.75;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
