*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--primary:#4f46e5;--primary-dark:#3730a3;--primary-light:#6366f1;--primary-bg:#eef2ff;--accent:#06b6d4;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--purple:#8b5cf6;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--white:#fff;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012,0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a,0 4px 6px #0000000d;--shadow-xl:0 20px 25px #0000001a,0 10px 10px #0000000a;--radius:8px;--radius-lg:12px;--radius-xl:16px;--transition:all 0.2s ease}[data-theme=dark]{--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#818cf8;--primary-bg:#1e1b4b;--gray-50:#111827;--gray-100:#1f2937;--gray-200:#374151;--gray-300:#4b5563;--gray-400:#6b7280;--gray-500:#9ca3af;--gray-600:#d1d5db;--gray-700:#e5e7eb;--gray-800:#f3f4f6;--gray-900:#f9fafb;--white:#0f172a;--shadow:0 1px 3px #0006;--shadow-md:0 4px 6px #0000004d;--shadow-lg:0 10px 15px #0006}body{-webkit-font-smoothing:antialiased;background:#f3f4f6;background:var(--gray-100);color:var(--gray-800);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;font-size:14px;line-height:1.5}#root{min-height:100vh;width:100%}a{color:#4f46e5;color:var(--primary)}a:hover{text-decoration:underline}code{background:#f3f4f6;background:var(--gray-100);border-radius:4px;color:#4f46e5;color:var(--primary);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.85em;padding:2px 6px}[data-theme=dark] code{background:#e5e7eb;background:var(--gray-200);color:#6366f1;color:var(--primary-light)}@media print{.export-bar,.generation-form,.header,.hero-banner,.mode-toggle-group,.plan-tabs,.sidebar,.tc-tabs{display:none!important}.test-plan-display{box-shadow:none!important}.plan-tab-content,.tab-pane{display:block!important}}.error-boundary{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:600px;padding:40px;text-align:center;width:100%}.error-icon{font-size:48px;margin-bottom:20px}.error-title{color:#1f2937;font-size:28px;font-weight:700;margin:0 0 12px}.error-message{color:#6b7280;font-size:16px;line-height:1.6;margin:0 0 20px}.error-details{background-color:#f9fafb;border-left:4px solid #ef4444;border-radius:4px;cursor:pointer;margin:20px 0;padding:12px;text-align:left}.error-details summary{color:#ef4444;font-weight:600;padding:8px;-webkit-user-select:none;user-select:none}.error-details summary:hover{opacity:.8}.error-stack{background-color:#1f2937;border-radius:4px;color:#10b981;font-family:Courier New,monospace;font-size:12px;margin-top:12px;max-height:300px;overflow-x:auto;overflow-y:auto;padding:12px}.error-button{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:12px;padding:12px 24px;transition:background-color .2s}.error-button:hover{background-color:#2563eb}.error-button:active{background-color:#1d4ed8}[data-theme=dark] .error-boundary{background:linear-gradient(135deg,#111827,#1f2937)}[data-theme=dark] .error-container{background:#1f2937;box-shadow:0 10px 30px #0000004d}[data-theme=dark] .error-title{color:#f3f4f6}[data-theme=dark] .error-message{color:#d1d5db}[data-theme=dark] .error-details{background-color:#111827;border-left-color:#f87171}[data-theme=dark] .error-details summary{color:#f87171}[data-theme=dark] .error-button{background-color:#3b82f6}[data-theme=dark] .error-button:hover{background-color:#60a5fa}.header{background:linear-gradient(135deg,#1e1b4b,#312e81 50%,#4338ca);box-shadow:0 2px 12px #0003;color:#fff;flex-shrink:0;height:64px;padding:0 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{height:100%;justify-content:space-between;margin:0 auto;max-width:1600px}.header-brand,.header-content{align-items:center;display:flex}.header-brand{gap:16px}.brand-logo{align-items:center;display:flex;font-size:1.1rem;font-weight:800;gap:1px;letter-spacing:.05em}.logo-q{color:#a5b4fc}.logo-u{color:#c4b5fd}.logo-a1{color:#93c5fd}.logo-l{color:#6ee7b7}.logo-i{color:#fde68a}.logo-a2{color:#f9a8d4}.brand-text h1{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin:0}.brand-tagline{font-size:.7rem;letter-spacing:.05em;margin:0;opacity:.7;text-transform:uppercase}.header-right{align-items:center;display:flex;gap:12px}.header-badges{display:flex;gap:8px}.header-badge{border-radius:20px;font-size:.7rem;font-weight:600;letter-spacing:.03em;padding:3px 10px}.ai-badge{background:#6366f14d;border:1px solid #6366f180;color:#c7d2fe}.platform-badge{background:#f9a8d426;border:1px solid #f9a8d459;color:#f9a8d4}.theme-toggle{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;transition:all .2s;width:36px}.theme-toggle:hover{background:#fff3;transform:scale(1.1)}@media (max-width:640px){.brand-tagline,.header-badges{display:none}.header{padding:0 1rem}}.sidebar{background:#fff;background:var(--white,#fff);border-right:1px solid #e5e7eb;border-right:1px solid var(--gray-200,#e5e7eb);box-shadow:2px 0 8px #0000000a;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;width:200px}[data-theme=dark] .sidebar{background:#111827;border-color:#1f2937}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:16px 12px}.nav-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#4b5563;color:var(--gray-600,#4b5563);cursor:pointer;display:flex;gap:12px;padding:10px 12px;text-align:left;transition:all .15s;width:100%}.nav-item:hover{background:#f3f4f6;background:var(--gray-100,#f3f4f6);color:#111827;color:var(--gray-900,#111827)}.nav-item.active{background:#eef2ff;background:var(--primary-bg,#eef2ff);color:#4f46e5;color:var(--primary,#4f46e5);font-weight:600}[data-theme=dark] .nav-item:hover{background:#1f2937;color:#f3f4f6}[data-theme=dark] .nav-item.active{background:#1e1b4b;color:#818cf8}.nav-icon{flex-shrink:0;font-size:1.2rem;text-align:center;width:24px}.nav-text{display:flex;flex-direction:column;gap:1px}.nav-label{font-size:.875rem;font-weight:500}.nav-desc{font-size:.7rem;opacity:.6}.nav-item-soon{cursor:default!important;opacity:.55}.nav-item-soon:hover{background:#0000!important;color:#4b5563!important;color:var(--gray-600,#4b5563)!important}[data-theme=dark] .nav-item-soon:hover{background:#0000!important;color:#4b5563!important}.nav-soon-chip{background:#f9a8d433;border:1px solid #f9a8d466;color:#f9a8d4;display:inline-block;letter-spacing:.04em;margin-left:6px;padding:1px 6px;text-transform:uppercase}.nav-badge,.nav-soon-chip{border-radius:10px;font-size:.6rem;font-weight:700;vertical-align:middle}.nav-badge{align-items:center;background:#4f46e5;background:var(--primary,#4f46e5);color:#fff;display:inline-flex;height:18px;justify-content:center;margin-left:5px;min-width:18px;padding:0 5px}.nav-item.active .nav-badge{background:#fff;color:#4f46e5;color:var(--primary,#4f46e5)}[data-theme=dark] .nav-badge{background:#818cf8}[data-theme=dark] .nav-item.active .nav-badge{background:#1e1b4b;color:#818cf8}.sidebar-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200,#e5e7eb);padding:12px 16px}.sidebar-version{color:#9ca3af;color:var(--gray-400,#9ca3af);display:flex;font-size:.7rem;justify-content:space-between}[data-theme=dark] .sidebar-footer{border-color:#1f2937}@media (max-width:768px){.sidebar{width:60px}.nav-text,.sidebar-version span:first-child{display:none}.nav-item{justify-content:center}}.main-container{background:#fff;flex:1 1;min-width:0;overflow-x:auto;overflow-y:auto;padding:2rem}.main-content{margin:0 auto;max-width:100%}[data-theme=dark] .main-container{background:#0f3460;color:#e0e0e0}.toast{align-items:center;animation:slideInUp .3s ease-out;border-radius:6px;box-shadow:0 4px 12px #00000026;display:flex;font-size:14px;font-weight:500;gap:12px;margin-bottom:12px;max-width:500px;min-width:300px;padding:12px 16px}@keyframes slideInUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.toast-exit{animation:slideOutDown .3s ease-out forwards}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100px)}}.toast-success{background-color:#dcfce7;border-left:4px solid #22c55e;color:#166534}.toast-error{background-color:#fee2e2;border-left:4px solid #ef4444;color:#991b1b}.toast-info{background-color:#dbeafe;border-left:4px solid #3b82f6;color:#1e40af}.toast-warning{background-color:#fef3c7;border-left:4px solid #f59e0b;color:#92400e}.toast-icon{align-items:center;display:flex;font-weight:700;justify-content:center;min-width:20px}.toast-message{flex:1 1;line-height:1.4}.toast-close{background:none;border:none;cursor:pointer;font-size:20px;line-height:1;opacity:.7;padding:0;transition:opacity .2s}.toast-close:hover{opacity:1}[data-theme=dark] .toast-success{background-color:#064e3b;border-left-color:#22c55e;color:#86efac}[data-theme=dark] .toast-error{background-color:#7f1d1d;border-left-color:#ef4444;color:#fca5a5}[data-theme=dark] .toast-info{background-color:#0c2d48;border-left-color:#3b82f6;color:#93c5fd}[data-theme=dark] .toast-warning{background-color:#78350f;border-left-color:#f59e0b;color:#fcd34d}.toast-container{bottom:20px;display:flex;flex-direction:column;gap:8px;max-height:80vh;overflow-y:auto;position:fixed;right:20px;z-index:9999}@media (max-width:640px){.toast-container{bottom:10px;left:10px;right:10px}.toast{max-width:100%!important;min-width:auto!important}}.toast-container::-webkit-scrollbar{width:6px}.toast-container::-webkit-scrollbar-track{background:#0000}.toast-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.toast-container::-webkit-scrollbar-thumb:hover{background:#999}.settings-panel{max-width:720px}.settings-header{margin-bottom:28px}.settings-header h2{color:#1f2937;color:var(--gray-800,#1f2937);font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}[data-theme=dark] .settings-header h2{color:#f3f4f6}.settings-header p{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.9rem;line-height:1.5}.settings-form{display:flex;flex-direction:column;gap:0}.form-section{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:12px;margin-bottom:16px;padding:24px}[data-theme=dark] .form-section{background:#1f2937;border-color:#374151}.required-section{border-left:4px solid #4f46e5;border-left:4px solid var(--primary,#4f46e5)}.optional-section{border-left:4px solid #d1d5db;border-left:4px solid var(--gray-300,#d1d5db)}.info-section{background:#f0f7ff;border-left:4px solid #3b82f6}[data-theme=dark] .optional-section{border-left-color:#4b5563}[data-theme=dark] .info-section{background:#0f2744;border-left-color:#2563eb}.section-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.section-header h3{color:#1f2937;color:var(--gray-800,#1f2937);font-size:1rem;font-weight:700;margin:0}[data-theme=dark] .section-header h3{color:#f3f4f6}.section-badge{border-radius:4px;font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:2px 8px;text-transform:uppercase}.required-badge{background:#ede9fe;color:#5b21b6}.optional-badge{background:#f3f4f6;background:var(--gray-100,#f3f4f6);color:#6b7280;color:var(--gray-500,#6b7280)}.info-badge{background:#eff6ff;color:#1d4ed8}[data-theme=dark] .required-badge{background:#2e1065;color:#c4b5fd}[data-theme=dark] .optional-badge{background:#374151;color:#9ca3af}[data-theme=dark] .info-badge{background:#1e3a5f;color:#93c5fd}.section-desc{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.82rem;line-height:1.5;margin-bottom:20px}.section-desc a{color:#4f46e5;color:var(--primary,#4f46e5)}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group input,.form-select{background:#fff;background:var(--white,#fff);border:1.5px solid #d1d5db;border:1.5px solid var(--gray-300,#d1d5db);border-radius:8px;color:#111827;color:var(--gray-900,#111827);font-family:inherit;font-size:.9rem;padding:10px 14px;transition:all .2s;width:100%}.form-group input:focus,.form-select:focus{border-color:#4f46e5;border-color:var(--primary,#4f46e5);box-shadow:0 0 0 3px #4f46e51f;outline:none}[data-theme=dark] .form-group input,[data-theme=dark] .form-select{background:#111827;border-color:#374151;color:#f3f4f6}.form-group small{color:#9ca3af;color:var(--gray-400,#9ca3af);line-height:1.4}.input-with-btn{display:flex;gap:8px}.input-with-btn input{flex:1 1}.test-inline-btn{background:#eef2ff;background:var(--primary-bg,#eef2ff);border:1.5px solid #4f46e5;border:1.5px solid var(--primary,#4f46e5);border-radius:8px;color:#4f46e5;color:var(--primary,#4f46e5);cursor:pointer;flex-shrink:0;font-size:.82rem;font-weight:700;padding:10px 16px;transition:all .2s;white-space:nowrap}.test-inline-btn:hover:not(:disabled){background:#4f46e5;background:var(--primary,#4f46e5);color:#fff}.test-inline-btn:disabled{cursor:not-allowed;opacity:.45}[data-theme=dark] .test-inline-btn{background:#1e1b4b;border-color:#6366f1;color:#a5b4fc}.settings-info-banner{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#78350f;display:flex;font-size:.81rem;gap:12px;line-height:1.5;margin-bottom:20px;padding:12px 14px}.settings-info-banner .info-icon{flex-shrink:0;font-size:1rem;padding-top:2px}.settings-info-banner strong{color:#92400e;display:block;font-weight:700;margin-bottom:4px}.settings-info-banner p{margin:0}[data-theme=dark] .settings-info-banner{background:#1c1408;border-color:#78350f;color:#fde68a}[data-theme=dark] .settings-info-banner strong{color:#fcd34d}.test-jira-btn{background:none;border:1.5px solid #d1d5db;border:1.5px solid var(--gray-300,#d1d5db);border-radius:8px;color:#4b5563;color:var(--gray-600,#4b5563);cursor:pointer;font-size:.85rem;font-weight:600;margin-top:8px;padding:10px 20px;transition:all .2s}.test-jira-btn:hover:not(:disabled){background:#eef2ff;background:var(--primary-bg,#eef2ff);border-color:#4f46e5;border-color:var(--primary,#4f46e5);color:#4f46e5;color:var(--primary,#4f46e5)}.test-jira-btn:disabled{cursor:not-allowed;opacity:.4}[data-theme=dark] .test-jira-btn{border-color:#374151;color:#9ca3af}.connection-result{border-radius:6px;font-size:.82rem;font-weight:500;margin-top:8px;padding:8px 12px}.connection-result.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d}.connection-result.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}[data-theme=dark] .connection-result.success{background:#052e16;border-color:#166534;color:#bbf7d0}[data-theme=dark] .connection-result.error{background:#2d1515;border-color:#991b1b;color:#fca5a5}.settings-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b}.settings-error,.settings-success{font-size:.875rem;margin-bottom:16px;padding:12px 16px}.settings-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#14532d;font-weight:600}.settings-actions{margin-top:8px}.save-btn{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:10px;box-shadow:0 4px 12px #4f46e54d;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:8px;justify-content:center;letter-spacing:.01em;padding:13px 24px;transition:all .2s;width:100%}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#4338ca,#4f46e5);box-shadow:0 6px 20px #4f46e566;transform:translateY(-1px)}.save-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.settings-help{background:#eef2ff;background:var(--primary-bg,#eef2ff);border:1px solid #c7d2fe;border-radius:12px;margin-top:4px;padding:20px 24px}[data-theme=dark] .settings-help{background:#1e1b4b;border-color:#3730a3}.settings-help h4{color:#4f46e5;color:var(--primary,#4f46e5);font-size:.9rem;font-weight:700;margin-bottom:12px}.settings-help ol{display:flex;flex-direction:column;gap:6px;padding-left:20px}.settings-help li{color:#4b5563;color:var(--gray-600,#4b5563);font-size:.83rem;line-height:1.5}[data-theme=dark] .settings-help li{color:#a5b4fc}.settings-help strong{color:#4f46e5;color:var(--primary,#4f46e5)}@media (max-width:640px){.form-row.two-col{flex-direction:column}.form-section{padding:16px}}.history-panel{display:flex;flex-direction:column;gap:16px;height:100%;padding:24px}.history-header{align-items:center;display:flex;justify-content:space-between}.history-title{color:#111827;color:var(--gray-900,#111827);font-size:1.25rem;font-weight:700}.history-clear-btn{background:#0000;border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:6px;color:#6b7280;color:var(--gray-500,#6b7280);cursor:pointer;font-size:.8rem;padding:6px 12px;transition:all .15s}.history-clear-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}[data-theme=dark] .history-title{color:#f3f4f6}[data-theme=dark] .history-clear-btn{border-color:#374151;color:#9ca3af}[data-theme=dark] .history-clear-btn:hover{background:#7f1d1d;border-color:#991b1b;color:#fca5a5}.history-filters{display:flex;flex-wrap:wrap;gap:6px}.history-filter-btn{background:#0000;border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:20px;color:#4b5563;color:var(--gray-600,#4b5563);cursor:pointer;font-size:.75rem;padding:4px 10px;transition:all .15s;white-space:nowrap}.history-filter-btn:hover{background:#f3f4f6;background:var(--gray-100,#f3f4f6)}.history-filter-btn.active{background:#eef2ff;background:var(--primary-bg,#eef2ff);border-color:#4f46e5;border-color:var(--primary,#4f46e5);color:#4f46e5;color:var(--primary,#4f46e5);font-weight:600}[data-theme=dark] .history-filter-btn{border-color:#374151;color:#9ca3af}[data-theme=dark] .history-filter-btn:hover{background:#1f2937;color:#f3f4f6}[data-theme=dark] .history-filter-btn.active{background:#1e1b4b;border-color:#818cf8;color:#818cf8}.history-search-wrap{position:relative}.history-search{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:8px;color:#111827;color:var(--gray-900,#111827);font-size:.875rem;outline:none;padding:8px 12px 8px 36px;width:100%}.history-search:focus{border-color:#4f46e5;border-color:var(--primary,#4f46e5)}.history-search-icon{font-size:.9rem;left:10px;opacity:.5;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}[data-theme=dark] .history-search{background:#1f2937;border-color:#374151;color:#f3f4f6}.history-list{overflow-y:auto}.history-empty,.history-list{display:flex;flex:1 1;flex-direction:column;gap:10px}.history-empty{align-items:center;color:#9ca3af;color:var(--gray-400,#9ca3af);justify-content:center;text-align:center}.history-empty-icon{font-size:2.5rem}.history-empty-text{font-size:.9rem}.history-empty-hint{font-size:.78rem;opacity:.7}.history-item{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:10px;padding:12px 14px;transition:box-shadow .15s}.history-item:hover{box-shadow:0 2px 8px #00000014}[data-theme=dark] .history-item{background:#1f2937;border-color:#374151}[data-theme=dark] .history-item:hover{box-shadow:0 2px 8px #0000004d}.history-item-header{align-items:flex-start;display:flex;gap:10px;margin-bottom:6px}.history-item-icon{flex-shrink:0;font-size:1.2rem;margin-top:2px}.history-item-meta{flex:1 1;min-width:0}.history-item-type{color:#4f46e5;color:var(--primary,#4f46e5);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.history-item-title{color:#111827;color:var(--gray-900,#111827);font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-date{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.72rem;margin-top:2px}[data-theme=dark] .history-item-type{color:#818cf8}[data-theme=dark] .history-item-title{color:#f3f4f6}.history-item-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;background:#f9fafb;background:var(--gray-50,#f9fafb);border-radius:6px;color:#6b7280;color:var(--gray-500,#6b7280);display:-webkit-box;font-size:.78rem;margin-bottom:8px;max-height:48px;overflow:hidden;padding:6px 8px}[data-theme=dark] .history-item-preview{background:#111827;color:#9ca3af}.history-item-actions{display:flex;gap:6px}.hist-btn{background:#0000;border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:6px;color:#4b5563;color:var(--gray-600,#4b5563);cursor:pointer;font-size:.78rem;font-weight:500;padding:5px 12px;transition:all .15s}.hist-btn:hover{background:#f3f4f6;background:var(--gray-100,#f3f4f6)}.hist-btn.resume{background:#eef2ff;background:var(--primary-bg,#eef2ff);border-color:#4f46e5;border-color:var(--primary,#4f46e5);color:#4f46e5;color:var(--primary,#4f46e5)}.hist-btn.resume:hover{background:#4f46e5;background:var(--primary,#4f46e5);color:#fff}.hist-btn.delete:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}[data-theme=dark] .hist-btn{border-color:#374151;color:#9ca3af}[data-theme=dark] .hist-btn:hover{background:#374151;color:#f3f4f6}[data-theme=dark] .hist-btn.resume{background:#1e1b4b;border-color:#818cf8;color:#818cf8}[data-theme=dark] .hist-btn.resume:hover{background:#4f46e5;color:#fff}[data-theme=dark] .hist-btn.delete:hover{background:#7f1d1d;border-color:#991b1b;color:#fca5a5}.hist-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.hist-modal{background:#fff;background:var(--white,#fff);border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:760px;overflow:hidden;width:100%}[data-theme=dark] .hist-modal{background:#1f2937}.hist-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200,#e5e7eb);display:flex;justify-content:space-between;padding:16px 20px}[data-theme=dark] .hist-modal-header{border-color:#374151}.hist-modal-title{color:#111827;color:var(--gray-900,#111827);font-size:1rem;font-weight:700}[data-theme=dark] .hist-modal-title{color:#f3f4f6}.hist-modal-close{align-items:center;background:#f3f4f6;background:var(--gray-100,#f3f4f6);border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;width:28px}[data-theme=dark] .hist-modal-close{background:#374151;color:#f3f4f6}.hist-modal-body{flex:1 1;overflow-y:auto;padding:20px}.hist-modal-pre{color:#374151;color:var(--gray-700,#374151);font-family:Monaco,Consolas,monospace;font-size:.8rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}[data-theme=dark] .hist-modal-pre{color:#d1d5db}.history-save-btn{align-items:center;background:#0000;border:1px solid #4f46e5;border:1px solid var(--primary,#4f46e5);border-radius:8px;color:#4f46e5;color:var(--primary,#4f46e5);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;padding:6px 14px;transition:all .15s}.history-save-btn:hover{background:#4f46e5;background:var(--primary,#4f46e5);color:#fff}.history-save-btn.saved{border-color:#16a34a;color:#16a34a}.history-save-btn.saved:hover{background:#16a34a;color:#fff}[data-theme=dark] .history-save-btn{border-color:#818cf8;color:#818cf8}[data-theme=dark] .history-save-btn:hover{background:#4f46e5;border-color:#4f46e5;color:#fff}.test-plan-display{animation:slideUp .3s ease;background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:16px;box-shadow:0 4px 24px #00000014;overflow:hidden}[data-theme=dark] .test-plan-display{background:#1f2937;border-color:#374151}.plan-stats-header{background:linear-gradient(135deg,#0f172a,#1e1b4b 50%,#1e3a5f);color:#fff;padding:28px 32px}.plan-meta-info{margin-bottom:20px}.plan-product-name{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}.plan-meta-tags{display:flex;flex-wrap:wrap;gap:8px}.meta-tag{background:#ffffff1a;border:1px solid #ffffff26;border-radius:20px;color:#fffc;font-size:.72rem;padding:3px 10px}.meta-tag.status-draft{background:#f59e0b33;border-color:#f59e0b66;color:#fde68a}.plan-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,1fr);margin-bottom:20px}.stat-card{background:#ffffff12;border:1px solid #ffffff1a;border-radius:10px;padding:12px;text-align:center}.stat-card.total{background:#6366f133;border-color:#6366f166}.stat-card.positive{background:#22c55e26;border-color:#22c55e4d}.stat-card.negative{background:#ef444426;border-color:#ef44444d}.stat-card.edge{background:#f59e0b26;border-color:#f59e0b4d}.stat-card.security{background:#8b5cf626;border-color:#8b5cf64d}.stat-card.performance{background:#3b82f626;border-color:#3b82f64d}.stat-card.accessibility{background:#06b6d426;border-color:#06b6d44d}.stat-number{font-size:1.6rem;font-weight:800;line-height:1;margin-bottom:4px}.stat-label{font-size:.65rem;opacity:.75}.export-bar{gap:10px}.export-label{font-size:.8rem;margin-right:4px;opacity:.7}.export-btn{background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.02em;padding:7px 16px;transition:all .2s}.export-btn:hover{background:#fff3;transform:translateY(-1px)}.print-btn:hover{background:#10b9814d;border-color:#10b98180}.plan-tabs{background:#f9fafb;background:var(--gray-50,#f9fafb);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--gray-200,#e5e7eb);display:flex;overflow-x:auto}[data-theme=dark] .plan-tabs{background:#111827;border-color:#374151}.plan-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;color:var(--gray-500,#6b7280);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:6px;margin-bottom:-2px;padding:14px 20px;transition:all .15s;white-space:nowrap}.plan-tab:hover{background:#eef2ff;background:var(--primary-bg,#eef2ff)}.plan-tab.active,.plan-tab:hover{color:#4f46e5;color:var(--primary,#4f46e5)}.plan-tab.active{background:#fff;border-bottom-color:#4f46e5;border-bottom-color:var(--primary,#4f46e5);font-weight:700}[data-theme=dark] .plan-tab.active{background:#1f2937}.tab-label{font-size:.82rem}.plan-tab-content{padding:28px 32px}.tab-pane{display:flex;flex-direction:column;gap:20px}.section-card{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:12px;padding:20px 24px}[data-theme=dark] .section-card{background:#111827;border-color:#374151}.section-card-title{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200,#e5e7eb);color:#1f2937;color:var(--gray-800,#1f2937);font-size:1rem;font-weight:700;margin-bottom:16px;padding-bottom:10px}[data-theme=dark] .section-card-title{border-color:#374151;color:#f3f4f6}.info-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200,#e5e7eb);font-size:.875rem;padding:8px 12px;vertical-align:middle}.info-table td:first-child{font-size:.8rem;font-weight:600}.purpose-statement{color:#374151;color:var(--gray-700,#374151);font-size:.9rem;margin-bottom:16px}[data-theme=dark] .purpose-statement{color:#d1d5db}.audience-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr}.audience-item label{color:#6b7280;color:var(--gray-500,#6b7280);display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.audience-item p{color:#374151;color:var(--gray-700,#374151);font-size:.85rem}[data-theme=dark] .audience-item p{color:#d1d5db}.criteria-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.criteria-item{align-items:flex-start;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#14532d;display:flex;font-size:.85rem;gap:10px;padding:10px 14px}.criteria-check{color:#22c55e;flex-shrink:0;font-size:1rem;margin-top:1px}[data-theme=dark] .criteria-item{background:#052e16;border-color:#166534;color:#bbf7d0}.quality-goals-list{list-style:none}.quality-goals-list li{background:#eef2ff;background:var(--primary-bg,#eef2ff);border-left:3px solid #4f46e5;border-left:3px solid var(--primary,#4f46e5);border-radius:0 6px 6px 0;color:#374151;color:var(--gray-700,#374151);font-size:.875rem;padding:8px 16px}[data-theme=dark] .quality-goals-list li{background:#1e1b4b;border-color:#6366f1;color:#e0e7ff}.priority-badge,.risk-badge{align-items:center;border-radius:4px;color:#fff;display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.03em;padding:2px 8px}.status-badge{background:#fef3c7;font-size:.75rem;font-weight:600;padding:2px 10px}.data-table th{background:#1f2937;background:var(--gray-800,#1f2937);color:#fff;font-size:.78rem;letter-spacing:.04em;padding:10px 14px;text-align:left}.data-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200,#e5e7eb);padding:10px 14px;vertical-align:middle}.data-table tr:hover td{background:#eef2ff;background:var(--primary-bg,#eef2ff)}[data-theme=dark] .data-table th{background:#374151}[data-theme=dark] .data-table tr:hover td{background:#1e1b4b}.oos-list{display:flex;flex-direction:column;gap:6px;list-style:none}.oos-list li{background:#fef2f2;border-left:3px solid #ef4444;border-radius:0 6px 6px 0;color:#4b5563;color:var(--gray-600,#4b5563);font-size:.85rem;padding:6px 12px}[data-theme=dark] .oos-list li{background:#2d1515;border-color:#ef4444;color:#fca5a5}.tc-tabs{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--gray-200,#e5e7eb);display:flex;gap:4px;margin-bottom:20px;overflow-x:auto;padding-bottom:2px}.tc-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;color:var(--gray-500,#6b7280);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:8px;margin-bottom:-2px;padding:10px 16px;transition:all .15s;white-space:nowrap}.tc-tab:hover{color:#374151;color:var(--gray-700,#374151)}.tc-count,.tc-tab.active{font-weight:700}.tc-count{align-items:center;border-radius:11px;color:#fff;display:inline-flex;font-size:.7rem;height:22px;justify-content:center;min-width:22px;padding:0 6px}.tc-category-header{align-items:center;background:#f9fafb;background:var(--gray-50,#f9fafb);border-left:4px solid;border-radius:0 8px 8px 0;display:flex;justify-content:space-between;margin-bottom:12px;padding:12px 16px}[data-theme=dark] .tc-category-header{background:#111827}.tc-category-header h3{font-size:1rem;font-weight:700}.tc-total-count{background:#e5e7eb;background:var(--gray-200,#e5e7eb);border-radius:20px;color:#6b7280;color:var(--gray-500,#6b7280);font-size:.75rem;font-weight:600;padding:2px 10px}.tc-card{border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-left:4px solid;border-radius:8px;margin-bottom:8px;overflow:hidden;transition:box-shadow .2s}.tc-card:hover{box-shadow:0 2px 8px #00000014}[data-theme=dark] .tc-card{background:#111827;border-color:#374151}.tc-header{align-items:center;background:#fff;background:var(--white,#fff);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:12px 16px}[data-theme=dark] .tc-header{background:#1f2937}.tc-header:hover{background:#f9fafb;background:var(--gray-50,#f9fafb)}[data-theme=dark] .tc-header:hover{background:#111827}.tc-header-left{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.tc-id{flex-shrink:0;font-family:monospace;font-size:.75rem;font-weight:800}.tc-id,.tc-title{white-space:nowrap}.tc-title{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .tc-title{color:#f3f4f6}.tc-header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.tc-module{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border-radius:4px;color:#6b7280;color:var(--gray-500,#6b7280);font-size:.72rem;padding:2px 8px}.tc-toggle{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.7rem}.tc-body{background:#f9fafb;background:var(--gray-50,#f9fafb);border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200,#e5e7eb);display:flex;flex-direction:column;gap:12px;padding:16px 20px}[data-theme=dark] .tc-body{background:#111827;border-color:#374151}.tc-row{align-items:center;display:flex;gap:8px}.tc-label{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.tc-tech{background:#eef2ff;background:var(--primary-bg,#eef2ff);border-radius:20px;color:#4f46e5;color:var(--primary,#4f46e5);font-size:.8rem;font-weight:600;padding:2px 10px}.tc-section{display:flex;flex-direction:column;gap:6px}.tc-list{list-style:disc;padding-left:20px}.tc-list li{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;padding:2px 0}[data-theme=dark] .tc-list li{color:#d1d5db}.tc-steps-list{padding-left:20px}.tc-steps-list li{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;line-height:1.5;padding:3px 0}[data-theme=dark] .tc-steps-list li{color:#d1d5db}.tc-expected{align-items:flex-start;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#14532d;display:flex;font-size:.85rem;gap:8px;padding:10px 14px}[data-theme=dark] .tc-expected{background:#052e16;border-color:#166534;color:#bbf7d0}.tc-testdata{align-items:center;color:#6b7280;color:var(--gray-500,#6b7280);display:flex;font-size:.82rem;gap:8px}.tc-empty{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1px dashed #d1d5db;border:1px dashed var(--gray-300,#d1d5db);border-radius:8px;color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.9rem;padding:24px;text-align:center}.approach-text{color:#374151;color:var(--gray-700,#374151);font-size:.9rem;line-height:1.7}[data-theme=dark] .approach-text{color:#d1d5db}.techniques-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.technique-card{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:10px;padding:16px}[data-theme=dark] .technique-card{background:#1f2937;border-color:#374151}.technique-card h4{color:#4f46e5;color:var(--primary,#4f46e5);font-size:.875rem;font-weight:700;margin-bottom:6px}.technique-card p{color:#4b5563;color:var(--gray-600,#4b5563);font-size:.82rem;line-height:1.5;margin-bottom:8px}[data-theme=dark] .technique-card p{color:#9ca3af}.technique-applies{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.75rem}.technique-applies label{font-weight:600}.auto-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.auto-item{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px 14px}[data-theme=dark] .auto-item{background:#1f2937;border-color:#374151}.auto-item label{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.auto-item span{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;font-weight:500}[data-theme=dark] .auto-item span{color:#f3f4f6}.phases-list{display:flex;flex-direction:column;gap:12px}.phase-card{align-items:flex-start;background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:10px;display:flex;gap:16px;padding:16px}[data-theme=dark] .phase-card{background:#1f2937;border-color:#374151}.phase-number{align-items:center;background:#4f46e5;background:var(--primary,#4f46e5);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:800;height:32px;justify-content:center;width:32px}.phase-content{flex:1 1}.phase-content h4{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.9rem;font-weight:700;margin-bottom:4px}[data-theme=dark] .phase-content h4{color:#f3f4f6}.phase-meta{margin-bottom:6px}.phase-duration{color:#4f46e5;color:var(--primary,#4f46e5);font-size:.78rem;font-weight:600}.phase-objective{color:#4b5563;color:var(--gray-600,#4b5563);font-size:.85rem;margin-bottom:10px}[data-theme=dark] .phase-objective{color:#9ca3af}.phase-criteria{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.criteria-col label{color:#9ca3af;color:var(--gray-400,#9ca3af);display:block;font-size:.72rem;font-weight:700;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.criteria-col p{color:#4b5563;color:var(--gray-600,#4b5563);font-size:.8rem;line-height:1.5}[data-theme=dark] .criteria-col p{color:#9ca3af}.eec-block{border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:10px;margin-bottom:12px;padding:16px}[data-theme=dark] .eec-block{border-color:#374151}.eec-phase{color:#374151;color:var(--gray-700,#374151);font-size:.9rem;font-weight:700;margin-bottom:12px;text-transform:capitalize}[data-theme=dark] .eec-phase{color:#e5e7eb}.eec-label{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:700;margin-bottom:8px;padding:3px 10px}.eec-label.entry{background:#dcfce7;color:#14532d}.eec-label.exit{background:#dbeafe;color:#1e3a8a}.eec-block ul{list-style:disc;padding-left:20px}.eec-block li{color:#4b5563;color:var(--gray-600,#4b5563);font-size:.83rem;padding:3px 0}[data-theme=dark] .eec-block li{color:#9ca3af}.security-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.security-grid label{color:#6b7280;color:var(--gray-500,#6b7280);display:block;font-size:.78rem;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.security-grid ul{list-style:disc;padding-left:18px}.security-grid li{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;padding:3px 0}[data-theme=dark] .security-grid li{color:#d1d5db}.policy-text{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#4b5563;color:var(--gray-600,#4b5563);font-size:.85rem;line-height:1.6;padding:10px 14px}.priority-card,.severity-card{border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:8px;margin-bottom:10px;padding:14px}[data-theme=dark] .priority-card,[data-theme=dark] .severity-card{border-color:#374151}.priority-header,.severity-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.severity-badge{border-radius:4px;display:inline-block;font-size:.78rem;font-weight:800;padding:3px 10px}.severity-badge.sev-critical{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.severity-badge.sev-high{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.severity-badge.sev-medium{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.severity-badge.sev-low{background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d}.priority-fix,.severity-sla{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.75rem;font-weight:600}.priority-card p,.severity-def{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;margin-bottom:6px}[data-theme=dark] .priority-card p,[data-theme=dark] .severity-def{color:#d1d5db}.severity-examples{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.8rem;font-style:italic;margin-bottom:4px}.severity-impact{color:#4b5563;color:var(--gray-600,#4b5563);font-size:.8rem}[data-theme=dark] .severity-impact{color:#9ca3af}.priority-name{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;font-weight:700}[data-theme=dark] .priority-name{color:#f3f4f6}.risks-grid{grid-template-columns:1fr 1fr}.risk-card{display:flex;flex-direction:column;gap:12px;padding:18px}[data-theme=dark] .risk-card{background:#1f2937}.risk-header{align-items:center}.risk-id{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border-radius:4px;color:#6b7280;color:var(--gray-500,#6b7280);font-family:monospace;font-size:.78rem;font-weight:800;padding:2px 8px}.risk-card h4{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.9rem;font-weight:700;line-height:1.4}[data-theme=dark] .risk-card h4{color:#f3f4f6}.risk-meta{display:flex;gap:16px}.risk-meta>div{display:flex;flex-direction:column;gap:4px}.risk-meta label{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.risk-contingency,.risk-mitigation{background:#f9fafb;background:var(--gray-50,#f9fafb);border-radius:6px;display:flex;flex-direction:column;gap:4px;padding:10px 12px}[data-theme=dark] .risk-contingency,[data-theme=dark] .risk-mitigation{background:#111827}.risk-mitigation label{color:#16a34a}.risk-contingency label{color:#d97706}.risk-contingency label,.risk-mitigation label{font-size:.72rem;font-weight:700;letter-spacing:.05em;margin-bottom:2px;text-transform:uppercase}.risk-contingency p,.risk-mitigation p{color:#374151;color:var(--gray-700,#374151);font-size:.83rem;line-height:1.5}[data-theme=dark] .risk-contingency p,[data-theme=dark] .risk-mitigation p{color:#9ca3af}.risk-owner{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.78rem}.risk-owner label{font-weight:600}.timeline-header{background:#eef2ff;background:var(--primary-bg,#eef2ff);border-radius:8px;color:#374151;color:var(--gray-700,#374151);font-size:.9rem;font-weight:500;margin-bottom:16px;padding:10px 14px}[data-theme=dark] .timeline-header{background:#1e1b4b;color:#e0e7ff}.milestones-list{display:flex;flex-direction:column;gap:10px}.milestone-card{align-items:center;background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:10px;display:flex;gap:16px;padding:14px 16px}[data-theme=dark] .milestone-card{background:#1f2937;border-color:#374151}.milestone-week{background:#eef2ff;background:var(--primary-bg,#eef2ff);border-radius:20px;color:#4f46e5;color:var(--primary,#4f46e5);flex-shrink:0;font-size:.75rem;font-weight:700;padding:4px 12px;white-space:nowrap}.milestone-content{flex:1 1}.milestone-content h4{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;font-weight:700;margin-bottom:3px}.milestone-content p{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.8rem}[data-theme=dark] .milestone-content h4{color:#f3f4f6}.milestone-status{border-radius:20px;font-size:.72rem;font-weight:700;padding:4px 12px;white-space:nowrap}.milestone-status.status-pending{background:#fef3c7;color:#92400e}.milestone-status.status-complete{background:#dcfce7;color:#14532d}.milestone-status.status-in-progress{background:#dbeafe;color:#1e3a8a}.metrics-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.metric-card{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe;border-radius:10px;padding:16px;text-align:center}[data-theme=dark] .metric-card{background:#1e1b4b;border-color:#3730a3}.metric-value{color:#4f46e5;color:var(--primary,#4f46e5);font-size:1.2rem;font-weight:800;margin-bottom:4px}.metric-label{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.tools-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.tool-item{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px 14px}[data-theme=dark] .tool-item{background:#1f2937;border-color:#374151}.tool-item label{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.tool-item span{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.85rem;font-weight:500}[data-theme=dark] .tool-item span{color:#f3f4f6}.team-roles-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}@media (max-width:900px){.plan-stats-grid{grid-template-columns:repeat(4,1fr)}.risks-grid,.techniques-grid,.two-col-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.plan-stats-header{padding:20px 16px}.plan-tab-content{padding:16px}.plan-stats-grid{grid-template-columns:repeat(3,1fr)}.audience-grid,.auto-grid,.criteria-grid,.phase-criteria,.security-grid,.tools-grid{grid-template-columns:1fr}}.loading-spinner-container{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:20px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6}.loading-spinner-small{height:24px;width:24px}.loading-spinner-medium{height:40px;width:40px}.loading-spinner-large{height:60px;width:60px}.loading-message{color:#6b7280;font-size:14px;margin:0}[data-theme=dark] .loading-spinner{border-color:#60a5fa #374151 #374151}[data-theme=dark] .loading-message{color:#9ca3af}.generation-panel{margin:0 auto;max-width:1100px;padding-bottom:60px}.hero-banner{background:linear-gradient(135deg,#1e1b4b,#312e81 40%,#4338ca 80%,#3b82f6);border-radius:16px;color:#fff;margin-bottom:24px;overflow:hidden;padding:40px 40px 32px;position:relative}.hero-banner:before{background:radial-gradient(circle,#ffffff0f 0,#0000 60%);content:"";height:200%;pointer-events:none;position:absolute;right:-10%;top:-40%;width:60%}.hero-content{position:relative;z-index:1}.hero-badge{background:#ffffff26;border:1px solid #ffffff40;border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.08em;margin-bottom:12px;padding:4px 14px;text-transform:uppercase}.hero-title{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px}.hero-subtitle{font-size:.95rem;line-height:1.6;margin-bottom:24px;max-width:600px;opacity:.85}.hero-stats{display:flex;flex-wrap:wrap;gap:32px}.hero-stat{display:flex;flex-direction:column;gap:2px}.stat-num{color:#a5b4fc;font-size:1.6rem;font-weight:800;line-height:1}.stat-label{font-size:.7rem;letter-spacing:.05em;opacity:.7;text-transform:uppercase}.form-card{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:16px;box-shadow:0 1px 3px #00000014,0 4px 16px #0000000a;margin-bottom:24px;padding:32px}[data-theme=dark] .form-card{background:#1f2937;border-color:#374151}.input-type-header{margin-bottom:10px}.input-type-label{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.input-type-group{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-bottom:28px}.input-type-btn{align-items:center;background:#f9fafb;background:var(--gray-50,#f9fafb);border:2px solid #e5e7eb;border:2px solid var(--gray-200,#e5e7eb);border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:12px 14px;text-align:left;transition:all .15s}.input-type-btn.active,.input-type-btn:hover{background:#eef2ff;background:var(--primary-bg,#eef2ff);border-color:#4f46e5;border-color:var(--primary,#4f46e5)}.input-type-btn.active{box-shadow:0 0 0 3px #4f46e51f}[data-theme=dark] .input-type-btn{background:#111827;border-color:#374151}[data-theme=dark] .input-type-btn.active,[data-theme=dark] .input-type-btn:hover{background:#1e1b4b;border-color:#6366f1}.input-type-icon{flex-shrink:0;font-size:1.4rem}.input-type-text{display:flex;flex-direction:column;gap:2px}.input-type-text strong{color:#111827;color:var(--gray-900,#111827);font-size:.85rem;font-weight:700}.input-type-text small{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.72rem;line-height:1.3}[data-theme=dark] .input-type-text strong{color:#f3f4f6}[data-theme=dark] .input-type-text small{color:#9ca3af}.form-row,.generation-form{display:flex;flex-direction:column;gap:20px}.form-row.two-col{flex-direction:row;gap:16px}.form-row.two-col .form-group{flex:1 1}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{align-items:center;color:#374151;color:var(--gray-700,#374151);display:flex;font-size:.875rem;font-weight:600;gap:8px}[data-theme=dark] .form-group label{color:#d1d5db;color:var(--gray-300,#d1d5db)}.label-hint{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.75rem;font-weight:400;margin-left:auto}.required{color:#ef4444}.form-group input,.form-group select,.form-group textarea,.form-select{background:#fff;background:var(--white,#fff);border:1.5px solid #d1d5db;border:1.5px solid var(--gray-300,#d1d5db);border-radius:8px;color:#111827;color:var(--gray-900,#111827);font-family:inherit;font-size:.9rem;padding:10px 14px;transition:all .2s;width:100%}.form-group textarea{line-height:1.6;min-height:140px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.form-select:focus{border-color:#4f46e5;border-color:var(--primary,#4f46e5);box-shadow:0 0 0 3px #4f46e51f;outline:none}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea,[data-theme=dark] .form-select{background:#111827;border-color:#374151;color:#f3f4f6}.form-group small{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.75rem}.inline-warning{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:.8rem;margin-top:4px;padding:8px 12px}.error-banner,.warning-banner{align-items:flex-start;border-radius:10px;display:flex;font-size:.875rem;gap:12px;padding:14px 16px}.error-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.error-banner span{flex-shrink:0;font-size:1.2rem;margin-top:1px}.error-banner strong{display:block;font-size:.9rem;margin-bottom:3px}.error-banner p{opacity:.9}.warning-banner{background:#fffbeb;border:1px solid #fde68a;color:#78350f}.warning-banner span{flex-shrink:0;font-size:1.2rem}.warning-banner strong{display:block;margin-bottom:3px}.generate-btn{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:10px;box-shadow:0 4px 12px #4f46e54d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:10px;justify-content:center;letter-spacing:.01em;padding:14px 28px;transition:all .2s}.generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#4338ca,#4f46e5);box-shadow:0 6px 20px #4f46e566;transform:translateY(-1px)}.generate-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.btn-spinner{animation:spin .7s linear infinite;border:2.5px solid #fff6;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.loading-overlay{margin-top:8px;padding:20px;text-align:center}.loading-stage{color:#4f46e5;color:var(--primary,#4f46e5);font-size:.9rem;font-weight:600;margin-top:8px}.loading-hint{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.8rem;margin-top:4px}@media (max-width:640px){.hero-banner{padding:24px 20px}.hero-title{font-size:1.5rem}.form-card{padding:20px 16px}.input-type-group{grid-template-columns:repeat(2,1fr)}.form-row.two-col{flex-direction:column}.hero-stats{gap:16px}}.doc-chip-remove{line-height:1}.cdm-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}.cdm-panel{animation:cdmIn .18s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:680px;overflow:hidden;width:100%}[data-theme=dark] .cdm-panel{background:#1f2937}@keyframes cdmIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.cdm-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px 16px}[data-theme=dark] .cdm-header{border-color:#374151}.cdm-title{color:#1e293b;font-size:1.05rem;font-weight:700;margin:0 0 4px}[data-theme=dark] .cdm-title{color:#f1f5f9}.cdm-subtitle{color:#64748b;font-size:.8rem;margin:0;max-width:520px}.cdm-subtitle code{color:#4f46e5;font-family:SF Mono,Fira Code,monospace;font-size:.78rem}.cdm-close{background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:1rem;margin-left:8px;padding:4px 8px}.cdm-close:hover{background:#f1f5f9;color:#475569}.cdm-body{flex:1 1;gap:20px;overflow-y:auto;padding:20px 24px}.cdm-body,.cdm-section{display:flex;flex-direction:column}.cdm-section{gap:12px}.cdm-section-label{color:#94a3b8;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cdm-tool-row{display:flex;flex-wrap:wrap;gap:8px}.cdm-tool-btn{align-items:center;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:6px;padding:7px 12px;transition:all .15s}.cdm-tool-btn:hover{background:#f0f4ff;border-color:#c7d2fe}.cdm-tool-btn.active{background:#f0f4ff;font-weight:600}.cdm-tool-icon{font-size:1rem}.cdm-tool-name{font-size:.78rem}.cdm-creds-toggle{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.82rem;font-weight:600;justify-content:space-between;padding:10px 14px;text-align:left;width:100%}[data-theme=dark] .cdm-creds-toggle{background:#111827;border-color:#374151;color:#d1d5db}.cdm-creds-toggle:hover{background:#f1f5f9}.cdm-creds-right{align-items:center;display:flex;gap:8px}.cdm-chevron{color:#94a3b8;font-size:.7rem}.cdm-badge-ok{color:#16a34a;font-size:.7rem;font-weight:700}.cdm-creds-body{background:#f8fafc;border:1px solid #e2e8f0;border-radius:0 0 8px 8px;border-top:none;display:flex;flex-direction:column;gap:12px;padding:16px}[data-theme=dark] .cdm-creds-body{background:#111827;border-color:#374151}.cdm-field{display:flex;flex-direction:column;gap:5px}.cdm-field label{color:#374151;font-size:.78rem;font-weight:600}[data-theme=dark] .cdm-field label{color:#d1d5db}.cdm-req{color:#ef4444;margin-left:2px}.cdm-field input,.cdm-field select,.cdm-field textarea{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#1e293b;font-family:inherit;font-size:.83rem;padding:8px 11px;transition:border-color .15s}[data-theme=dark] .cdm-field input,[data-theme=dark] .cdm-field select,[data-theme=dark] .cdm-field textarea{background:#111827;border-color:#374151;color:#f1f5f9}.cdm-field input:focus,.cdm-field select:focus,.cdm-field textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f;outline:none}.cdm-field textarea{min-height:80px;resize:vertical}.cdm-field-hint{color:#94a3b8;font-size:.72rem}.cdm-row.two-col{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.cdm-readonly.expected{background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:8px;color:#15803d;font-size:.82rem;line-height:1.5;padding:8px 11px}.cdm-actual-ta{background:#fff7f7!important;border-color:#fca5a5!important}.cdm-actual-ta:focus{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}[data-theme=dark] .cdm-actual-ta{background:#1c0a0a!important;border-color:#7f1d1d!important}.cdm-test-conn-btn{align-self:flex-start;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;font-size:.8rem;font-weight:600;padding:7px 14px}.cdm-test-conn-btn:hover:not(:disabled){background:#f1f5f9;border-color:#c7d2fe}.cdm-test-conn-btn.ok{background:#f0fdf4;border-color:#86efac;color:#16a34a}.cdm-test-conn-btn.err{background:#fff7f7;border-color:#fca5a5;color:#dc2626}.cdm-test-conn-btn:disabled{cursor:default;opacity:.6}.cdm-test-msg{font-size:.78rem;margin:0;padding:4px 0}.cdm-test-msg.ok{color:#16a34a}.cdm-error,.cdm-test-msg.error{color:#dc2626}.cdm-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:.82rem;padding:10px 14px}[data-theme=dark] .cdm-error{background:#1f0a0a;border-color:#7f1d1d;color:#fca5a5}.cdm-footer{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.cdm-cancel-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;font-size:.85rem;font-weight:600;padding:9px 20px}.cdm-cancel-btn:hover{background:#f8fafc}.cdm-submit-btn{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:700;gap:7px;padding:9px 22px;transition:opacity .15s}.cdm-submit-btn:hover:not(:disabled){opacity:.9}.cdm-submit-btn:disabled{cursor:default;opacity:.6}.cdm-spinner{animation:cdmSpin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;flex-shrink:0;height:14px;width:14px}@keyframes cdmSpin{to{transform:rotate(1turn)}}.cdm-no-tool-hint{color:#94a3b8;font-size:.83rem;margin:0;padding:24px 0 8px;text-align:center}.cdm-success{align-items:center;display:flex;flex-direction:column;gap:12px;padding:24px 16px;text-align:center}.cdm-success-icon{font-size:2.5rem}.cdm-success-text strong{color:#15803d;display:block;font-size:1.05rem;margin-bottom:6px}.cdm-success-text p{color:#475569;font-size:.88rem;margin:4px 0}[data-theme=dark] .cdm-success-text strong{color:#4ade80}[data-theme=dark] .cdm-success-text p{color:#9ca3af}.cdm-ticket-link{color:#4f46e5;font-weight:700;text-decoration:none}.cdm-ticket-link:hover{text-decoration:underline}.cdm-defect-id-note{color:#94a3b8!important;font-size:.78rem!important}.cdm-success-actions{display:flex;gap:10px;margin-top:8px}.cdm-open-btn{background:#f0f4ff;border:1.5px solid #c7d2fe;border-radius:8px;color:#4f46e5;cursor:pointer;font-size:.85rem;font-weight:600;padding:9px 20px;text-decoration:none}.cdm-open-btn:hover{background:#e0e7ff}.cdm-done-btn{background:linear-gradient(135deg,#16a34a,#15803d);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:9px 22px}.cdm-done-btn:hover{opacity:.9}.tcg-panel{margin:0 auto;max-width:100%;padding-bottom:60px}.tcg-hero{background:linear-gradient(135deg,#0f172a,#1e1b4b 40%,#2d1e6e 70%,#1e3a5f);border-radius:16px;color:#fff;margin-bottom:24px;overflow:hidden;padding:36px 40px 28px;position:relative}.tcg-hero:before{background:radial-gradient(circle,#6366f11f 0,#0000 60%);content:"";height:180%;pointer-events:none;position:absolute;right:-5%;top:-30%;width:50%}.tcg-hero-content{position:relative;z-index:1}.tcg-hero-badge{background:#ffffff1f;border:1px solid #fff3;border-radius:20px;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:12px;padding:4px 14px;text-transform:uppercase}.tcg-hero-title{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:8px}.tcg-hero-sub{font-size:.9rem;line-height:1.6;margin-bottom:22px;max-width:600px;opacity:.82}.tcg-hero-stats{display:flex;flex-wrap:wrap;gap:32px}.tcg-stat{display:flex;flex-direction:column;gap:2px}.tcg-stat-num{color:#a5b4fc;font-size:1.5rem;font-weight:800;line-height:1}.tcg-stat-label{font-size:.68rem;letter-spacing:.05em;opacity:.7;text-transform:uppercase}.tcg-form-card{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:16px;box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a;margin-bottom:24px;padding:28px 32px}[data-theme=dark] .tcg-form-card{background:#1f2937;border-color:#374151}.tcg-mode-row{display:flex;gap:12px;margin-bottom:24px}.tcg-mode-btn{align-items:center;background:#f9fafb;background:var(--gray-50,#f9fafb);border:2px solid #e5e7eb;border:2px solid var(--gray-200,#e5e7eb);border-radius:10px;cursor:pointer;display:flex;flex:1 1;gap:12px;padding:14px 18px;text-align:left;transition:all .2s}.tcg-mode-btn strong{color:#1f2937;color:var(--gray-800,#1f2937);display:block;font-size:.875rem}.tcg-mode-btn small{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.75rem}[data-theme=dark] .tcg-mode-btn{background:#111827;border-color:#374151}[data-theme=dark] .tcg-mode-btn strong{color:#f3f4f6}.tcg-mode-btn.active,.tcg-mode-btn:hover{border-color:#4f46e5;border-color:var(--primary,#4f46e5)}.tcg-mode-btn.active{background:#eef2ff;background:var(--primary-bg,#eef2ff);box-shadow:0 0 0 3px #4f46e51a}[data-theme=dark] .tcg-mode-btn.active{background:#1e1b4b;border-color:#6366f1}.tcg-mode-icon{flex-shrink:0;font-size:1.5rem}.tcg-form{display:flex;flex-direction:column;gap:18px}.tcg-row{display:flex;gap:16px}.tcg-row.three-col>*,.tcg-row.two-col>*{flex:1 1}.tcg-field{display:flex;flex-direction:column;gap:6px}.tcg-field label{align-items:center;color:#374151;color:var(--gray-700,#374151);display:flex;font-size:.875rem;font-weight:600;gap:6px}[data-theme=dark] .tcg-field label{color:#d1d5db}.tcg-label-hint{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.72rem;font-weight:400}.req{color:#ef4444}.tcg-field input,.tcg-field select,.tcg-field textarea{background:#fff;background:var(--white,#fff);border:1.5px solid #d1d5db;border:1.5px solid var(--gray-300,#d1d5db);border-radius:8px;color:#111827;color:var(--gray-900,#111827);font-family:inherit;font-size:.875rem;padding:10px 14px;transition:all .2s;width:100%}.tcg-field textarea{line-height:1.6;min-height:120px;resize:vertical}.tcg-field input:focus,.tcg-field select:focus,.tcg-field textarea:focus{border-color:#4f46e5;border-color:var(--primary,#4f46e5);box-shadow:0 0 0 3px #4f46e51f;outline:none}[data-theme=dark] .tcg-field input,[data-theme=dark] .tcg-field select,[data-theme=dark] .tcg-field textarea{background:#111827;border-color:#374151;color:#f3f4f6}.tcg-type-grid{display:flex;flex-wrap:wrap;gap:8px}.tcg-type-chip{align-items:center;background:#f9fafb;background:var(--gray-50,#f9fafb);border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-200,#e5e7eb);border-radius:20px;color:#4b5563;color:var(--gray-600,#4b5563);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:5px;padding:6px 14px;transition:all .15s}.tcg-type-chip:hover{border-color:#4f46e5;border-color:var(--primary,#4f46e5)}.tcg-type-chip.active{font-weight:700}[data-theme=dark] .tcg-type-chip{background:#111827;border-color:#374151;color:#9ca3af}.tcg-count-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.tcg-count-presets{display:flex;gap:6px}.tcg-count-chip{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-200,#e5e7eb);border-radius:8px;color:#4b5563;color:var(--gray-600,#4b5563);cursor:pointer;font-size:.875rem;font-weight:600;height:36px;transition:all .15s;width:44px}.tcg-count-chip:hover{color:#4f46e5;color:var(--primary,#4f46e5)}.tcg-count-chip.active,.tcg-count-chip:hover{border-color:#4f46e5;border-color:var(--primary,#4f46e5)}.tcg-count-chip.active{background:#4f46e5;background:var(--primary,#4f46e5);color:#fff}.tcg-count-input{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1.5px solid #4f46e5;border:1.5px solid var(--primary,#4f46e5);border-radius:8px;color:#4f46e5;color:var(--primary,#4f46e5);font-size:.9rem;font-weight:600;height:36px;padding:0 10px;text-align:center;width:80px}.tcg-count-input:focus{box-shadow:0 0 0 2px #4f46e533;outline:none}.tcg-count-hint{color:#f59e0b;font-size:.75rem;margin-top:6px}[data-theme=dark] .tcg-count-chip{background:#111827;border-color:#374151;color:#9ca3af}[data-theme=dark] .tcg-count-input{background:#1f2937;border-color:#6366f1;color:#a5b4fc}.tcg-bottom-row{align-items:flex-end;display:flex;gap:20px}.tcg-count-field{flex:1 1}.tcg-generate-btn{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:10px;box-shadow:0 4px 12px #4f46e54d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.95rem;font-weight:700;gap:10px;padding:13px 28px;transition:all .2s;white-space:nowrap}.tcg-generate-btn:hover:not(:disabled){box-shadow:0 6px 20px #4f46e566;transform:translateY(-1px)}.tcg-generate-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.tcg-spinner{animation:tcg-spin .7s linear infinite;border:2.5px solid #fff6;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:18px;width:18px}@keyframes tcg-spin{to{transform:rotate(1turn)}}.tcg-loading-stage{margin-top:16px}.blast-phase-tracker{align-items:flex-start;background:linear-gradient(135deg,#0f172a,#1e1b4b);border-radius:12px;display:flex;gap:0;margin-bottom:12px;overflow-x:auto;padding:16px 20px}.blast-phase-step{align-items:center;display:flex;flex:1 1;min-width:0;position:relative}.blast-phase-dot{align-items:center;background:#ffffff0f;border:2px solid #ffffff26;border-radius:50%;color:#fff6;display:flex;flex-shrink:0;font-size:.85rem;font-weight:800;height:34px;justify-content:center;transition:all .3s ease;width:34px}.blast-phase-step.active .blast-phase-dot{animation:blast-pulse 1.2s ease-in-out infinite;background:#4f46e5;border-color:#818cf8;box-shadow:0 0 14px #6366f199;color:#fff}.blast-phase-step.done .blast-phase-dot{background:#16a34a;border-color:#22c55e;color:#fff}@keyframes blast-pulse{0%,to{box-shadow:0 0 8px #6366f180}50%{box-shadow:0 0 20px #6366f1e6}}.blast-phase-info{display:flex;flex-direction:column;min-width:0;padding:0 8px}.blast-phase-name{color:#ffffff80;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.blast-phase-step.active .blast-phase-name{color:#a5b4fc}.blast-phase-step.done .blast-phase-name{color:#86efac}.blast-phase-desc{color:#a5b4fc;font-size:.68rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blast-phase-connector{background:#ffffff1a;flex:1 1;flex-shrink:0;height:2px;margin:0 4px;min-width:12px;transition:background .3s ease}.blast-phase-connector.done{background:#22c55e}.tcg-loading-bar{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.tcg-loading-progress{animation:tcg-progress 2s linear infinite;background:linear-gradient(90deg,#4f46e5,#6366f1,#06b6d4);background-size:200% 100%;height:100%}@keyframes tcg-progress{0%{background-position:200% 0;width:30%}50%{background-position:0 0;width:70%}to{background-position:-200% 0;width:100%}}.tcg-error-banner{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;display:flex;font-size:.875rem;gap:12px;margin-top:12px;padding:14px 16px}.tcg-error-banner.tcg-error-quota{background:#fffbeb;border-color:#fcd34d;color:#78350f}.tcg-error-banner span{flex-shrink:0;font-size:1.2rem;margin-top:1px}.tcg-error-banner strong{display:block;font-size:.95rem;margin-bottom:4px}.tcg-error-banner p{line-height:1.4;margin:0 0 4px}.tcg-error-banner p:last-child{margin-bottom:0}.tcg-retry-time{background:#0000000f;border-radius:6px;display:inline-block;font-family:monospace;font-size:.82rem;padding:4px 10px}.tcg-quota-tip{color:#92400e!important;font-size:.8rem!important;opacity:.85}.tcg-fallback-notice{align-items:center;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;color:#78350f;display:flex;font-size:.8rem;gap:8px;margin-bottom:14px;padding:8px 14px}.tcg-results{animation:fadeIn .3s ease;display:block;width:100%}.tcg-results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.tcg-results-info h2{color:#1f2937;color:var(--gray-800,#1f2937);font-size:1.1rem;font-weight:700}.tcg-results-info p{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.8rem;margin-top:3px}[data-theme=dark] .tcg-results-info h2{color:#f3f4f6}.tcg-selected-badge{background:#4f46e5;background:var(--primary,#4f46e5);border-radius:20px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;margin-left:10px;padding:2px 10px}.tcg-type-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.tcg-filter-chip{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-200,#e5e7eb);border-radius:20px;color:#4b5563;color:var(--gray-600,#4b5563);cursor:pointer;font-size:.78rem;font-weight:500;padding:4px 12px;transition:all .15s}.tcg-filter-chip:hover{border-color:#9ca3af;border-color:var(--gray-400,#9ca3af)}.tcg-filter-chip.active{background:#eef2ff;background:var(--primary-bg,#eef2ff);border-color:#4f46e5;border-color:var(--primary,#4f46e5);color:#4f46e5;color:var(--primary,#4f46e5);font-weight:700}[data-theme=dark] .tcg-filter-chip{background:#111827;border-color:#374151;color:#9ca3af}.tcg-export-bar{align-items:center;background:linear-gradient(135deg,#0f172a,#1e1b4b);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:14px 16px}.tcg-export-label{color:#fff9;font-size:.78rem;margin-right:6px;white-space:nowrap}.tcg-export-btn{align-items:center;background:#ffffff14;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.78rem;font-weight:600;gap:5px;padding:6px 12px;transition:all .15s}.tcg-export-btn:hover{background:#ffffff29;transform:translateY(-1px)}.tcg-export-btn.tcg-export-jira:hover{background:#0052cc4d;border-color:#0052cc99}.tcg-export-btn.tcg-export-xray:hover{background:#8b5cf64d;border-color:#8b5cf699}.tcg-export-btn.tcg-export-zephyr:hover{background:#06b6d44d;border-color:#06b6d499}.tcg-export-btn.tcg-export-youtrack:hover{background:#f59e0b4d;border-color:#f59e0b99}.tcg-export-btn.tcg-export-generic:hover{background:#22c55e40;border-color:#22c55e80}.tcg-export-btn.tcg-export-excel{background:#15803d40;border-color:#15803d80;font-weight:700}.tcg-export-btn.tcg-export-excel:hover{background:#15803d73;border-color:#16a34a}.tcg-search-bar{align-items:center;background:#f9fafb;background:var(--gray-50,#f9fafb);border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-200,#e5e7eb);border-radius:10px;display:flex;gap:10px;margin-bottom:12px;padding:8px 14px}[data-theme=dark] .tcg-search-bar{background:#111827;border-color:#374151}.tcg-search-icon{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.9rem}.tcg-search-bar input{background:none;border:none;color:#1f2937;color:var(--gray-800,#1f2937);flex:1 1;font-size:.875rem}.tcg-search-bar input:focus{outline:none}.tcg-search-bar input::placeholder{color:#9ca3af;color:var(--gray-400,#9ca3af)}[data-theme=dark] .tcg-search-bar input{color:#f3f4f6}.tcg-search-clear{background:none;border:none;color:#9ca3af;color:var(--gray-400,#9ca3af);cursor:pointer;font-size:.8rem;padding:2px 4px}.tcg-search-clear:hover{color:#4b5563;color:var(--gray-600,#4b5563)}.tcg-empty{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1px dashed #e5e7eb;border:1px dashed var(--gray-200,#e5e7eb);border-radius:10px;color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.9rem;padding:32px;text-align:center}.tc-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px #0000000f;display:block;overflow-x:auto;width:100%}[data-theme=dark] .tc-table-wrap{border-color:#374151;box-shadow:none}.tc-table{border-collapse:collapse;font-size:.81rem;min-width:1250px;table-layout:fixed;width:100%}.tc-table thead th{background:linear-gradient(180deg,#1e293b,#0f172a);border-right:1px solid #ffffff0f;color:#e2e8f0;font-size:.7rem;font-weight:700;letter-spacing:.05em;overflow:hidden;padding:11px 10px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2}.tc-table thead th:last-child{border-right:none}[data-theme=dark] .tc-table thead th{background:#0f172a}.tc-table thead th.sortable{cursor:pointer}.tc-table thead th.sortable:hover{background:#334155}.sort-icon{font-size:.65rem;margin-left:4px;opacity:.35;vertical-align:middle}.sort-icon.active{color:#818cf8;opacity:1}.tc-th-srno{text-align:center!important}.tc-srno-hdr{align-items:center;display:flex;gap:6px;justify-content:center}.tc-table td{border-bottom:1px solid #f1f5f9;color:#334155;font-size:.81rem;line-height:1.5;overflow:hidden;padding:10px;vertical-align:top}[data-theme=dark] .tc-table td{border-color:#1e293b;color:#cbd5e1}.tc-row-alt td{background:#fafbfc}[data-theme=dark] .tc-row-alt td{background:#0f172a}.tc-row:hover td{background:#f0f4ff}[data-theme=dark] .tc-row:hover td{background:#1e1b4b}.tc-row-selected td{background:#eef2ff!important}[data-theme=dark] .tc-row-selected td{background:#1e1b4b!important}.tc-row-expanded>td{border-bottom:2px solid #4f46e5;padding:0!important}.tc-td-srno{border-left:3px solid #e2e8f0;border-left:3px solid var(--pri,#e2e8f0);text-align:center}.tc-srno-cell{align-items:center;display:flex;gap:6px;justify-content:center}.tc-srno-num{color:#94a3b8;font-size:.75rem;font-weight:700}.tc-td-id{padding-top:10px;vertical-align:top}.tc-id-code{color:#4f46e5;display:block;font-family:SF Mono,Fira Code,monospace;font-size:.72rem;font-weight:700;letter-spacing:.02em;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .tc-id-code{color:#818cf8}.tc-priority-pill{border-radius:10px;display:inline-block;font-size:.67rem;font-weight:700;letter-spacing:.04em;padding:2px 7px;text-transform:uppercase;white-space:nowrap}.tc-cases-cell{align-items:flex-start;display:flex;gap:6px}.tc-toggle-btn{align-items:center;background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-top:2px;transition:background .12s;width:20px}.tc-toggle-btn:hover{background:#e0e7ff;color:#4f46e5}[data-theme=dark] .tc-toggle-btn:hover{background:#1e1b4b}.tc-chevron{display:inline-block;font-size:.75rem;transition:transform .2s}.tc-chevron.open{transform:rotate(90deg)}.tc-cases-title{word-wrap:break-word;color:#1e293b;font-size:.81rem;font-weight:600;line-height:1.4;margin:0;overflow-wrap:break-word}[data-theme=dark] .tc-cases-title{color:#f1f5f9}.tc-type-badge{border-radius:20px;display:inline-block;font-size:.68rem;font-weight:700;margin-bottom:5px;padding:2px 8px;white-space:nowrap}.tc-scenario-pre{word-wrap:break-word;color:#475569;font-size:.76rem;line-height:1.4;margin:4px 0 0;overflow-wrap:break-word}[data-theme=dark] .tc-scenario-pre{color:#94a3b8}.tc-data-val{word-wrap:break-word;background:#f1f5f9;border-radius:4px;color:#1e293b;font-size:.78rem;line-height:1.5;overflow-wrap:break-word;padding:4px 8px}[data-theme=dark] .tc-data-val{background:#1e293b;color:#e2e8f0}.tc-expected-val{word-wrap:break-word;border-left:3px solid #22c55e;color:#15803d;font-size:.78rem;line-height:1.5;margin:0;overflow-wrap:break-word;padding:3px 8px}[data-theme=dark] .tc-expected-val{border-color:#166534;color:#86efac}.tc-actual-val{word-wrap:break-word;color:#374151;font-size:.78rem;line-height:1.5;margin:0;overflow-wrap:break-word}[data-theme=dark] .tc-actual-val{color:#d1d5db}.tc-remark-val{word-wrap:break-word;color:#64748b;font-size:.78rem;line-height:1.5;margin:0;overflow-wrap:break-word}[data-theme=dark] .tc-remark-val{color:#94a3b8}.tc-nil{color:#cbd5e1;font-size:.8rem}[data-theme=dark] .tc-nil{color:#475569}.tc-td-actions{padding-top:8px;text-align:center;vertical-align:top}.tc-action-btn{background:none;border:none;border-radius:5px;cursor:pointer;font-size:.85rem;padding:4px 6px;transition:background .12s}.tc-action-btn:hover{background:#e0e7ff}[data-theme=dark] .tc-action-btn:hover{background:#374151}.tc-detail-panel{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-top:1px solid #e2e8f0;padding:14px 24px 16px}[data-theme=dark] .tc-detail-panel{background:#0f172a;border-color:#1e293b}.tc-detail-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tc-meta-badge{align-items:center;background:#f1f5f9;border-radius:20px;color:#475569;display:inline-flex;font-size:.72rem;font-weight:700;gap:4px;padding:3px 10px}[data-theme=dark] .tc-meta-badge{background:#1e293b;color:#94a3b8}.tc-exec-badge{background:#f1f5f9;color:#475569}[data-theme=dark] .tc-exec-badge{background:#1e293b;color:#94a3b8}.tc-linked-badge{background:#eff6ff;color:#1d4ed8}[data-theme=dark] .tc-linked-badge{background:#1e3a5f;color:#93c5fd}.tc-detail-grid{grid-gap:10px 24px;display:grid;gap:10px 24px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.tc-detail-block{display:flex;flex-direction:column;gap:4px}.tc-detail-block.full{grid-column:1/-1}.tc-detail-label{color:#94a3b8;font-size:.67rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tc-detail-value{color:#334155;font-size:.8rem;line-height:1.4}[data-theme=dark] .tc-detail-value{color:#cbd5e1}.tc-detail-steps{list-style:decimal;margin:4px 0 0;padding-left:18px}.tc-detail-steps li{color:#475569;font-size:.79rem;line-height:1.4;padding:2px 0}[data-theme=dark] .tc-detail-steps li{color:#94a3b8}.tc-defect-chip{background:#fee2e2;border-radius:4px;color:#991b1b;display:inline-block;font-size:.73rem;font-weight:700;padding:1px 8px}[data-theme=dark] .tc-defect-chip{background:#450a0a;color:#fca5a5}.modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-panel{animation:modalIn .2s ease;background:#fff;background:var(--white,#fff);border-radius:14px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:680px;width:100%}[data-theme=dark] .modal-panel{background:#1f2937}@keyframes modalIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200,#e5e7eb);display:flex;justify-content:space-between;padding:18px 24px}[data-theme=dark] .modal-header{border-color:#374151}.modal-header h3{color:#1f2937;color:var(--gray-800,#1f2937);font-size:1rem;font-weight:700;margin:0}[data-theme=dark] .modal-header h3{color:#f3f4f6}.modal-header code{color:#4f46e5;color:var(--primary,#4f46e5);font-size:.85rem}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#9ca3af;color:var(--gray-400,#9ca3af);cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:all .15s;width:28px}.modal-close:hover{background:#f3f4f6;background:var(--gray-100,#f3f4f6);color:#374151;color:var(--gray-700,#374151)}.modal-body{display:flex;flex:1 1;flex-direction:column;gap:14px;overflow-y:auto;padding:20px 24px}.modal-field{display:flex;flex-direction:column;gap:5px}.modal-field label{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.modal-field input,.modal-field select,.modal-field textarea{background:#fff;background:var(--white,#fff);border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-200,#e5e7eb);border-radius:6px;color:#1f2937;color:var(--gray-800,#1f2937);font-family:inherit;font-size:.85rem;padding:8px 12px;transition:border-color .15s;width:100%}.modal-field textarea{min-height:80px;resize:vertical}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{border-color:#4f46e5;border-color:var(--primary,#4f46e5);box-shadow:0 0 0 3px #4f46e51a;outline:none}[data-theme=dark] .modal-field input,[data-theme=dark] .modal-field select,[data-theme=dark] .modal-field textarea{background:#111827;border-color:#374151;color:#f3f4f6}.modal-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200,#e5e7eb);display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}[data-theme=dark] .modal-footer{border-color:#374151}.modal-cancel-btn{background:none;border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-200,#e5e7eb);border-radius:8px;color:#4b5563;color:var(--gray-600,#4b5563);cursor:pointer;font-size:.875rem;font-weight:600;padding:9px 20px;transition:all .15s}.modal-cancel-btn:hover{background:#f9fafb;background:var(--gray-50,#f9fafb)}.modal-save-btn{background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:8px;box-shadow:0 4px 10px #4f46e54d;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:9px 20px;transition:all .15s}.modal-save-btn:hover{box-shadow:0 6px 16px #4f46e566;transform:translateY(-1px)}.tcg-drop-zone{align-items:center;background:#f9fafb;background:var(--gray-50,#f9fafb);border:2px dashed #d1d5db;border:2px dashed var(--gray-300,#d1d5db);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:160px;padding:40px 24px;text-align:center;transition:all .2s}.tcg-drop-zone.drag-over,.tcg-drop-zone:hover{background:#eef2ff;border-color:#4f46e5;border-color:var(--primary,#4f46e5)}[data-theme=dark] .tcg-drop-zone{background:#111827;border-color:#374151}[data-theme=dark] .tcg-drop-zone.drag-over,[data-theme=dark] .tcg-drop-zone:hover{background:#1e1b4b;border-color:#6366f1}.tcg-drop-icon{font-size:2.5rem;line-height:1}.tcg-drop-title{color:#374151;color:var(--gray-700,#374151);font-size:.9rem;font-weight:600;margin:0}[data-theme=dark] .tcg-drop-title{color:#d1d5db}.tcg-drop-hint{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.75rem;margin:0}.tcg-screenshot-preview-box{display:flex;flex-direction:column;gap:12px}.tcg-screenshot-img-wrap{align-self:flex-start;border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:10px;display:inline-flex;max-width:100%;overflow:hidden;position:relative}.tcg-screenshot-img{display:block;max-height:280px;max-width:100%;object-fit:contain}.tcg-screenshot-remove{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.75rem;height:26px;justify-content:center;position:absolute;right:8px;top:8px;transition:background .15s;width:26px}.tcg-screenshot-remove:hover{background:#ef4444d9}.tcg-screenshot-meta{align-items:center;display:flex;gap:12px}.tcg-screenshot-name{color:#4b5563;color:var(--gray-600,#4b5563);flex:1 1;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .tcg-screenshot-name{color:#9ca3af}.tcg-screenshot-change{background:none;border:none;color:#4f46e5;color:var(--primary,#4f46e5);cursor:pointer;font-size:.78rem;font-weight:600;padding:0;white-space:nowrap}.tcg-screenshot-change:hover{text-decoration:underline}.tcg-analysis-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:14px 16px}[data-theme=dark] .tcg-analysis-box{background:#052e16;border-color:#166534}.tcg-analysis-header{align-items:center;color:#166534;display:flex;font-size:.8rem;font-weight:700;gap:8px;letter-spacing:.04em;margin-bottom:10px;text-transform:uppercase}[data-theme=dark] .tcg-analysis-header{color:#86efac}.tcg-analysis-text{color:#14532d;font-size:.82rem;line-height:1.65;margin:0;max-height:220px;overflow-y:auto;white-space:pre-wrap}[data-theme=dark] .tcg-analysis-text{color:#bbf7d0}.tcg-analyze-status{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#1d4ed8;display:flex;font-size:.875rem;font-weight:500;gap:12px;margin-bottom:12px;padding:12px 16px}[data-theme=dark] .tcg-analyze-status{background:#1e3a5f;border-color:#1d4ed8;color:#93c5fd}.tcg-spinner-blue{border-color:#1d4ed8 #1d4ed84d #1d4ed84d!important}@media (max-width:900px){.tcg-row.three-col{flex-direction:column}.tc-table td:nth-child(n+6),.tc-table th:nth-child(n+6){display:none}}@media (max-width:768px){.tcg-mode-row{flex-wrap:wrap}.tcg-mode-btn{flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1}}@media (max-width:640px){.tcg-hero{padding:24px 16px}.tcg-hero-title{font-size:1.4rem}.tcg-form-card{padding:20px 16px}.tcg-bottom-row,.tcg-mode-row,.tcg-row.two-col{flex-direction:column}.tcg-hero-stats{gap:16px}.tc-table td:nth-child(n+5),.tc-table th:nth-child(n+5){display:none}}.strategy-panel{margin:0 auto;max-width:1100px;padding-bottom:60px}.strategy-hero-banner{background:linear-gradient(135deg,#0c1a2e,#0f4c75 45%,#1b6ca8 80%,#1e90d4);border-radius:16px;color:#fff;margin-bottom:24px;overflow:hidden;padding:40px 40px 32px;position:relative}.strategy-hero-banner:before{background:radial-gradient(circle,#ffffff12 0,#0000 60%);content:"";height:200%;pointer-events:none;position:absolute;right:-8%;top:-40%;width:55%}.strategy-hero-banner .hero-content{position:relative;z-index:1}.strategy-hero-banner .hero-badge{background:#ffffff26;border:1px solid #ffffff40;border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.08em;margin-bottom:12px;padding:4px 14px;text-transform:uppercase}.strategy-hero-banner .hero-title{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px}.strategy-hero-banner .hero-subtitle{font-size:.95rem;line-height:1.6;margin-bottom:24px;max-width:620px;opacity:.85}.strategy-hero-banner .hero-stats{display:flex;flex-wrap:wrap;gap:32px}.strategy-hero-banner .hero-stat{display:flex;flex-direction:column;gap:2px}.strategy-hero-banner .stat-num{color:#7dd3fc;font-size:1.6rem;font-weight:800;line-height:1}.strategy-hero-banner .stat-label{font-size:.72rem;letter-spacing:.06em;opacity:.75;text-transform:uppercase}.form-card-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200,#e5e7eb);margin-bottom:24px;padding-bottom:18px}.form-card-header h3{color:#111827;color:var(--gray-900,#111827);font-size:1.1rem;font-weight:700;margin-bottom:4px}.form-card-header p{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.875rem}[data-theme=dark] .form-card-header h3{color:#f9fafb}[data-theme=dark] .form-card-header p{color:#9ca3af}.focus-options{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-top:8px}.focus-opt{align-items:flex-start;background:#fff;background:var(--white,#fff);border:2px solid #e5e7eb;border:2px solid var(--gray-200,#e5e7eb);border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:12px 14px;text-align:left;transition:all .15s}.focus-opt:hover{background:#eff6ff;border-color:#0f4c75}.focus-opt.active{background:#eff6ff;border-color:#1b6ca8;box-shadow:0 0 0 3px #1b6ca81f}.focus-icon{flex-shrink:0;font-size:1.3rem}.focus-text{display:flex;flex-direction:column;gap:2px}.focus-text strong{color:#111827;color:var(--gray-900,#111827);font-size:.82rem}.focus-text small{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.73rem;line-height:1.3}[data-theme=dark] .focus-opt{background:#1f2937;border-color:#374151}[data-theme=dark] .focus-opt:hover{background:#1e3a5f;border-color:#1b6ca8}[data-theme=dark] .focus-opt.active{background:#1e3a5f;border-color:#3b82f6}[data-theme=dark] .focus-text strong{color:#f9fafb}[data-theme=dark] .focus-text small{color:#9ca3af}.strategy-generate-btn{background:linear-gradient(135deg,#0f4c75,#1b6ca8)!important}.strategy-generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#1b6ca8,#1e90d4)!important}.strat-display{animation:slideUp .3s ease;background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:16px;box-shadow:0 4px 24px #00000014;margin-top:28px;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .strat-display{background:#1f2937;border-color:#374151}.strat-display-header{background:linear-gradient(135deg,#0c1a2e,#0f3d5c 50%,#0f4c75);color:#fff;padding:28px 32px 20px}.strat-product-name{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}.strat-meta-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.strat-meta-tag{background:#ffffff1a;border:1px solid #ffffff26;border-radius:20px;color:#fffc;font-size:.72rem;padding:3px 10px}.strat-status-tag{background:#f59e0b33!important;border-color:#f59e0b66!important;color:#fde68a!important}.strat-stats-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.strat-stat-pill{align-items:center;border-radius:10px;color:#ffffffd9;display:flex;flex-direction:column;font-size:.72rem;font-weight:600;gap:2px;letter-spacing:.04em;min-width:80px;padding:10px 16px;text-align:center;text-transform:uppercase}.strat-stat-num{color:#fff;font-size:1.4rem;font-weight:800;line-height:1}.strat-stat-pill.total{background:#6366f140;border:1px solid #6366f166}.strat-stat-pill.risk{background:#ef444433;border:1px solid #ef444459}.strat-stat-pill.env{background:#22c55e33;border:1px solid #22c55e59}.strat-stat-pill.phase{background:#3b82f633;border:1px solid #3b82f659}.strat-stat-pill.deliv{background:#f59e0b33;border:1px solid #f59e0b59}.strat-tabs{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200,#e5e7eb);display:flex;gap:2px;overflow-x:auto;padding:0 8px}[data-theme=dark] .strat-tabs{background:#111827;border-color:#374151}.strat-tab{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;color:var(--gray-500,#6b7280);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:6px;padding:12px 16px;transition:all .15s;white-space:nowrap}.strat-tab:hover{background:#1b6ca80f;color:#1b6ca8}.strat-tab.active{border-bottom-color:#1b6ca8;color:#1b6ca8;font-weight:700}[data-theme=dark] .strat-tab{color:#9ca3af}[data-theme=dark] .strat-tab:hover{color:#60a5fa}[data-theme=dark] .strat-tab.active{border-bottom-color:#60a5fa;color:#60a5fa}.strat-tab-content{padding:28px 32px 32px}.tab-pane{animation:fadeIn .2s ease}.strat-section-card{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-left:4px solid #1b6ca8;border-radius:12px;margin-bottom:20px;padding:20px 22px}[data-theme=dark] .strat-section-card{background:#111827;border-color:#374151 #374151 #374151 #3b82f6}.strat-section-title{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100,#f3f4f6);color:#111827;color:var(--gray-900,#111827);font-size:.95rem;font-weight:700;margin-bottom:14px;padding-bottom:10px}[data-theme=dark] .strat-section-title{border-bottom-color:#374151;color:#f9fafb}.two-col-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}@media (max-width:768px){.two-col-grid{grid-template-columns:1fr}.focus-options{grid-template-columns:1fr 1fr}}.info-table{border-collapse:collapse;font-size:.875rem;width:100%}.info-table td{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100,#f3f4f6);padding:8px 10px}.info-table td:first-child{color:#6b7280;color:var(--gray-500,#6b7280);white-space:nowrap;width:40%}.info-table td:last-child{color:#111827;color:var(--gray-900,#111827);font-weight:500}.info-table tr:last-child td{border-bottom:none}[data-theme=dark] .info-table td{border-color:#374151}[data-theme=dark] .info-table td:first-child{color:#9ca3af}[data-theme=dark] .info-table td:last-child{color:#f9fafb}.var-grid{display:flex;flex-direction:column;gap:12px}.var-row label{color:#6b7280;color:var(--gray-500,#6b7280);display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:3px;text-transform:uppercase}.var-row p{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;line-height:1.5;margin:0}[data-theme=dark] .var-row label{color:#9ca3af}[data-theme=dark] .var-row p{color:#e5e7eb}.open-items-note{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:8px;color:#92400e;font-size:.8rem;line-height:1.5;margin-top:16px;padding:10px 14px}[data-theme=dark] .open-items-note{background:#f59e0b14;color:#fde68a}.objective-primary label{color:#6b7280;color:var(--gray-500,#6b7280);display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.purpose-statement{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.95rem;font-style:italic;line-height:1.7}[data-theme=dark] .purpose-statement{color:#e5e7eb}.sub-label{color:#6b7280;color:var(--gray-500,#6b7280);display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.quality-goals-list{display:flex;flex-direction:column;gap:8px}.qgoal-item{align-items:flex-start;color:#1f2937;color:var(--gray-800,#1f2937);display:flex;font-size:.875rem;gap:8px;line-height:1.5}.qgoal-icon{color:#1b6ca8;flex-shrink:0;font-size:.7rem;margin-top:5px}[data-theme=dark] .qgoal-item{color:#e5e7eb}.success-metrics-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.success-metrics-list li{align-items:flex-start;color:#1f2937;color:var(--gray-800,#1f2937);display:flex;font-size:.875rem;gap:8px;line-height:1.5}.check-icon{color:#22c55e;flex-shrink:0;font-size:.9rem}[data-theme=dark] .success-metrics-list li{color:#e5e7eb}.scope-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.scope-list.in-scope li:before{color:#22c55e;content:"✓ ";font-weight:700}.scope-list.out-scope li:before{color:#ef4444;content:"✗ ";font-weight:700}.scope-list li{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;line-height:1.5}[data-theme=dark] .scope-list li{color:#e5e7eb}.modules-flex{display:flex;flex-wrap:wrap;gap:8px}.module-chip{background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;color:#1e40af;font-size:.82rem;font-weight:500;padding:5px 12px}[data-theme=dark] .module-chip{background:#1e3a5f;border-color:#3b82f6;color:#93c5fd}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;font-size:.85rem;width:100%}.data-table th{background:#f9fafb;background:var(--gray-50,#f9fafb);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--gray-200,#e5e7eb);color:#4b5563;color:var(--gray-600,#4b5563);font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:10px 12px;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100,#f3f4f6);color:#1f2937;color:var(--gray-800,#1f2937);line-height:1.5;padding:10px 12px;vertical-align:top}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#f9fafb;background:var(--gray-50,#f9fafb)}.data-table code{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border-radius:4px;color:#be185d;font-size:.78rem;padding:2px 6px}[data-theme=dark] .data-table th{background:#111827;border-color:#374151;color:#9ca3af}[data-theme=dark] .data-table td{border-color:#374151;color:#e5e7eb}[data-theme=dark] .data-table tr:hover td{background:#1f2937}[data-theme=dark] .data-table code{background:#374151;color:#f9a8d4}.criteria-table .entry-col{background:#22c55e0a}.criteria-table .exit-col{background:#3b82f60a}.strat-badge{color:#fff;padding:3px 9px;white-space:nowrap}.status-badge,.strat-badge{border-radius:20px;display:inline-block;font-size:.72rem;font-weight:700}.status-badge{background:#f59e0b26;border:1px solid #f59e0b4d;color:#92400e;padding:3px 10px}[data-theme=dark] .status-badge{background:#f59e0b1a;color:#fde68a}.criteria-text{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;line-height:1.7;margin:0}[data-theme=dark] .criteria-text{color:#e5e7eb}.risks-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.risk-card{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-left:4px solid #d97706;border-radius:12px;padding:16px 18px}[data-theme=dark] .risk-card{background:#111827;border-color:#374151}.risk-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.risk-num{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border-radius:6px;color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.72rem;font-weight:700;padding:3px 8px;white-space:nowrap}[data-theme=dark] .risk-num{background:#374151;color:#6b7280}.risk-badges{display:flex;flex-shrink:0;gap:12px}.risk-badges>div{align-items:center;display:flex;flex-direction:column;gap:2px}.risk-badges label{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.risk-desc{color:#111827;color:var(--gray-900,#111827);font-size:.875rem;font-weight:600;line-height:1.4;margin-bottom:12px}[data-theme=dark] .risk-desc{color:#f9fafb}.risk-mitigation,.risk-owner{margin-top:10px}.risk-mitigation label,.risk-owner label{color:#6b7280;color:var(--gray-500,#6b7280);display:block;font-size:.72rem;font-weight:700;letter-spacing:.05em;margin-bottom:3px;text-transform:uppercase}.risk-mitigation p{color:#374151;color:var(--gray-700,#374151);font-size:.82rem;line-height:1.5;margin:0}.risk-owner span{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.82rem;font-weight:600}[data-theme=dark] .risk-mitigation label,[data-theme=dark] .risk-owner label{color:#9ca3af}[data-theme=dark] .risk-mitigation p{color:#d1d5db}[data-theme=dark] .risk-owner span{color:#f9fafb}.tbd-chip{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:20px;color:#92400e;display:inline-block;font-size:.75rem;padding:2px 9px}[data-theme=dark] .tbd-chip{background:#f59e0b14;color:#fde68a}.techniques-flex{display:flex;flex-direction:column;gap:10px}.technique-pill{align-items:flex-start;background:#f9fafb;background:var(--gray-50,#f9fafb);border-radius:8px;color:#1f2937;color:var(--gray-800,#1f2937);display:flex;font-size:.875rem;gap:10px;line-height:1.5;padding:10px 14px}.tech-bullet{color:#1b6ca8;flex-shrink:0;font-size:.7rem;margin-top:5px}[data-theme=dark] .technique-pill{background:#1f2937;color:#e5e7eb}.tool-detail{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;line-height:1.7;margin:0}[data-theme=dark] .tool-detail{color:#e5e7eb}.schedule-meta{background:#f9fafb;background:var(--gray-50,#f9fafb);border-radius:10px;display:flex;flex-wrap:wrap;gap:32px;margin-bottom:20px;padding:14px 18px}.schedule-meta-item{display:flex;flex-direction:column;gap:3px}.schedule-meta-item label{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.schedule-meta-item span{color:#111827;color:var(--gray-900,#111827);font-size:.875rem;font-weight:600}[data-theme=dark] .schedule-meta{background:#111827}[data-theme=dark] .schedule-meta-item label{color:#9ca3af}[data-theme=dark] .schedule-meta-item span{color:#f9fafb}.phases-timeline{display:flex;flex-direction:column;gap:14px}.schedule-phase-card{align-items:flex-start;background:#f9fafb;background:var(--gray-50,#f9fafb);border-left:4px solid #1b6ca8;border-radius:10px;display:flex;gap:16px;padding:16px 18px}[data-theme=dark] .schedule-phase-card{background:#111827;border-left-color:#3b82f6}.phase-number-badge{align-items:center;background:#1b6ca8;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.85rem;font-weight:800;height:32px;justify-content:center;width:32px}.phase-body{flex:1 1}.phase-header-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:6px}.phase-header-row h4{color:#111827;color:var(--gray-900,#111827);font-size:.9rem;font-weight:700;margin:0}.phase-timeframe{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.78rem;white-space:nowrap}.phase-activities{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;line-height:1.5;margin:0}[data-theme=dark] .phase-header-row h4{color:#f9fafb}[data-theme=dark] .phase-activities{color:#d1d5db}[data-theme=dark] .phase-timeframe{color:#9ca3af}.deliverables-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.deliverable-card{align-items:flex-start;background:#f9fafb;background:var(--gray-50,#f9fafb);border-left:3px solid #1b6ca8;border-radius:10px;display:flex;gap:12px;padding:14px 16px}[data-theme=dark] .deliverable-card{background:#111827;border-left-color:#3b82f6}.deliv-num{background:#1b6ca81a;border-radius:6px;color:#1b6ca8;flex-shrink:0;font-size:.75rem;font-weight:800;padding:3px 7px;white-space:nowrap}.deliv-text{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;line-height:1.5}[data-theme=dark] .deliv-num{background:#3b82f61a;color:#93c5fd}[data-theme=dark] .deliv-text{color:#e5e7eb}.export-reminder{background:linear-gradient(135deg,#1b6ca80f,#3b82f60f);border:1px solid #1b6ca833;border-radius:12px;margin-top:20px;padding:20px 22px}.export-reminder h4{color:#111827;color:var(--gray-900,#111827);font-size:.95rem;font-weight:700;margin-bottom:4px}.export-reminder p{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.875rem;margin:0}[data-theme=dark] .export-reminder{border-color:#3b82f633}[data-theme=dark] .export-reminder h4{color:#f9fafb}[data-theme=dark] .export-reminder p{color:#9ca3af}@media print{.export-bar,.export-reminder .export-bar,.strat-stats-row,.strat-tabs,.strategy-hero-banner{display:none!important}.strat-tab-content{padding:0}.risk-card,.strat-section-card{break-inside:avoid;page-break-inside:avoid}}.rp-mode-row{display:flex;gap:12px;margin-bottom:24px}.rp-mode-btn{align-items:center;background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex:1 1;gap:12px;padding:14px 18px;text-align:left;transition:var(--transition)}.rp-mode-btn span:first-child{font-size:1.4rem}.rp-mode-btn strong{color:var(--gray-800);display:block;font-size:.9rem}.rp-mode-btn small{color:var(--gray-500);display:block;font-size:.75rem}.rp-mode-btn.active{background:var(--primary-bg);border-color:var(--primary)}.rp-mode-btn.active strong{color:var(--primary)}.rp-overview{color:var(--gray-600);font-size:.85rem;font-style:italic;line-height:1.6;margin-bottom:16px}.rp-subhead{color:var(--gray-600);font-size:.8rem;font-weight:700;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.rp-table-scroll{border-radius:var(--radius);overflow-x:auto}.rp-table{border-collapse:collapse;font-size:.82rem;width:100%}.rp-table th{background:var(--gray-800);color:#fff;font-size:.78rem;font-weight:600;padding:9px 12px;text-align:left;white-space:nowrap}.rp-table td{border-bottom:1px solid var(--gray-100);padding:8px 12px;vertical-align:top}.rp-table tr:nth-child(2n) td{background:var(--gray-50)}.mono{font-family:SF Mono,Fira Code,monospace}.mono,.rp-owner{font-size:.78rem}.rp-owner{color:var(--gray-600)}.rp-tag{background:var(--gray-100);color:var(--gray-700);font-size:.75rem;font-weight:600;white-space:nowrap}.rp-score,.rp-tag{border-radius:12px;padding:2px 8px}.rp-score{display:inline-block;font-size:.72rem;font-weight:700}.score-high{background:#fee2e2;color:#dc2626}.score-med{background:#fef3c7;color:#b45309}.score-low{background:#dcfce7;color:#15803d}.rp-pri{border-radius:10px;display:inline-block;font-size:.72rem;font-weight:700;padding:2px 7px}.rp-p0{background:#fee2e2;color:#dc2626}.rp-p1{background:#fef3c7;color:#b45309}.rp-p2{background:#dbeafe;color:#1d4ed8}.rp-p3{background:var(--gray-100);color:var(--gray-600)}.rp-chips{display:flex;flex-wrap:wrap;gap:8px}.rp-chip-out{background:#fee2e2;border-radius:20px;color:#991b1b;font-size:.75rem;font-weight:500;padding:3px 12px}.rp-ul{font-size:.85rem;padding-left:20px}.rp-ul li{color:var(--gray-700);margin-bottom:4px}.rp-phases{display:flex;flex-direction:column;gap:12px}.rp-phase-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:16px}.rp-phase-hdr{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.rp-phase-name{color:var(--gray-800);font-size:.9rem;font-weight:700}.rp-phase-dur{background:#e0e7ff;border-radius:12px;color:#4338ca;font-size:.75rem;font-weight:600;padding:2px 10px}.rp-phase-cols{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.rp-crit-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.entry-lbl{color:#16a34a}.exit-lbl{color:#4338ca}.rp-crit-list{font-size:.82rem;padding-left:18px}.rp-crit-list li{color:var(--gray-700);margin-bottom:4px}.rp-release-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-lg);margin-top:16px;padding:16px}.rp-release-title{color:#15803d;font-size:.82rem;font-weight:700;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.rp-release-list{font-size:.85rem;padding-left:20px}.rp-release-list li{color:#166534;margin-bottom:4px}.rp-env-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.rp-env-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:14px}.rp-env-name{color:var(--gray-800);font-size:.9rem;font-weight:700;margin-bottom:6px}.rp-env-type{background:#e0e7ff;border-radius:12px;color:#4338ca;display:inline-block;font-size:.72rem;font-weight:600;margin-bottom:10px;padding:2px 10px}.rp-env-row{color:var(--gray-700);font-size:.82rem;margin-bottom:4px}.rp-roles-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.rp-role-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:14px}.rp-role-hdr{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.rp-role-name{color:var(--gray-800);font-size:.88rem;font-weight:700}.rp-role-alloc{background:#e0e7ff;border-radius:10px;color:#4338ca;font-size:.72rem;font-weight:700;padding:2px 8px}.rp-reports{color:var(--gray-500);font-size:.75rem;margin-bottom:8px}.rp-role-section{color:var(--gray-500);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.rp-skills{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.rp-skill{background:var(--gray-200);border-radius:10px;color:var(--gray-700);font-size:.72rem;padding:2px 8px}.raci-r{color:#15803d}.raci-a{color:#dc2626}.raci-r-cell{color:#15803d;font-weight:600}.raci-a-cell{color:#dc2626;font-weight:600}.rp-vision{background:#f0f4ff;border-left:4px solid #4338ca;border-radius:0 var(--radius) var(--radius) 0;color:#1e1b4b;font-size:.9rem;font-style:italic;line-height:1.7;margin-bottom:16px;padding:14px 18px}.rp-target{color:#4338ca;font-weight:700}.rp-reports-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.rp-report-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:14px}.rp-report-name{color:var(--gray-800);font-size:.88rem;font-weight:700;margin-bottom:8px}.rp-report-row{color:var(--gray-700);font-size:.82rem;margin-bottom:4px}.rp-tools-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.rp-tool-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:14px}.rp-tool-cat{color:var(--gray-800);font-size:.9rem;font-weight:800;margin-bottom:10px}.rp-tool-row{align-items:baseline;color:var(--gray-700);display:flex;font-size:.82rem;gap:8px;margin-bottom:4px}.rp-tool-lbl{color:var(--gray-500);font-size:.7rem;font-weight:700;min-width:68px;text-transform:uppercase}.rp-tool-rationale{color:var(--gray-500);font-size:.78rem;font-style:italic;line-height:1.5;margin-top:8px}.rp-tool-setup{color:var(--gray-600);font-size:.78rem;margin-top:8px}.rp-tool-setup ul{padding-left:16px}.rp-tool-setup li{margin-bottom:2px}.rp-tab-nav{border-bottom:2px solid var(--gray-200);display:flex;gap:4px;margin:24px 0 0;overflow-x:auto;padding:0}.rp-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:var(--gray-500);cursor:pointer;display:flex;font-size:.82rem;font-weight:600;gap:8px;margin-bottom:-2px;padding:10px 16px;transition:var(--transition);white-space:nowrap}.rp-tab:hover{color:var(--gray-800)}.rp-tab.active{color:var(--primary)}.rp-tab-letter{align-items:center;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:.72rem;font-weight:800;height:22px;justify-content:center;width:22px}.rp-tab-label{display:none}@media (min-width:640px){.rp-tab-label{display:inline}}.rp-section-body{padding:24px 0}.rp-section-title-row{align-items:center;display:flex;gap:12px;margin-bottom:20px}.rp-section-letter{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:800;height:32px;justify-content:center;width:32px}.rp-section-title-row h3{color:var(--gray-800);font-size:1.1rem;font-weight:700;margin:0}.rp-exec-summary{background:var(--primary-bg);border:1px solid var(--primary-light);border-radius:var(--radius-lg);margin:16px 0 0;padding:18px 22px}.rp-exec-label{color:var(--primary);display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.rp-exec-summary p{color:var(--gray-700);font-size:.9rem;line-height:1.7}.rp-bottom-export{align-items:center;border-top:1px solid var(--gray-200);display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;padding:20px 0}.rp-export-label{color:var(--gray-600);font-size:.82rem;font-weight:600}.doc-attach-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.doc-attach-btn{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1.5px dashed #e2e8f0;border:1.5px dashed var(--border-color,#e2e8f0);border-radius:8px;color:#64748b;color:var(--text-secondary,#64748b);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:border-color .2s,color .2s}.doc-attach-btn:hover{border-color:#6366f1;color:#6366f1}.doc-attach-hint{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:12px}.doc-chip{align-items:center;background:#ede9fe;border-radius:20px;color:#4f46e5;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 10px}[data-theme=dark] .doc-chip{background:#6366f133;color:#a5b4fc}.doc-chip-remove{background:none;border:none;color:inherit;cursor:pointer;font-size:11px;opacity:.7;padding:0}.doc-chip-remove:hover{opacity:1}.doc-chip-thumb{border-radius:4px;flex-shrink:0;height:22px;object-fit:cover;width:22px}.doc-chip-loading{font-style:italic;opacity:.7}.export-btn.excel-btn{background:#16a34a;border:none;color:#fff}.export-btn.excel-btn:hover{background:#15803d}.tm-panel{margin:0 auto;max-width:1300px;padding-bottom:60px}.tm-hero{background:linear-gradient(135deg,#064e3b,#065f46 40%,#047857 80%,#059669);border-radius:16px;color:#fff;margin-bottom:24px;overflow:hidden;padding:40px 40px 32px;position:relative}.tm-hero:before{background:radial-gradient(circle,#ffffff12 0,#0000 60%);content:"";height:200%;pointer-events:none;position:absolute;right:-10%;top:-40%;width:60%}.tm-hero-content{position:relative;z-index:1}.tm-hero-badge{background:#ffffff26;border:1px solid #ffffff40;border-radius:20px;display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.08em;margin-bottom:12px;padding:4px 14px;text-transform:uppercase}.tm-hero-title{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px}.tm-hero-sub{font-size:.92rem;line-height:1.6;margin-bottom:24px;max-width:620px;opacity:.85}.tm-hero-stats{display:flex;flex-wrap:wrap;gap:28px}.tm-stat{display:flex;flex-direction:column}.tm-stat-num{font-size:1.6rem;font-weight:800;line-height:1}.tm-stat-label{font-size:.72rem;letter-spacing:.04em;margin-top:2px;opacity:.75}.tm-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:380px 1fr}@media (max-width:900px){.tm-layout{grid-template-columns:1fr}}.tm-input-pane{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 40px);overflow-y:auto;padding-right:4px;position:-webkit-sticky;position:sticky;top:20px}.tm-input-pane::-webkit-scrollbar{width:4px}.tm-input-pane::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.tm-input-card,.tm-results-card{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-sm);padding:16px 18px}.tm-section-label{color:var(--gray-500);display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.tm-group-header{align-items:center;display:flex;gap:8px;margin-bottom:12px}.tm-group-icon{font-size:1rem}.tm-project-input{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius);color:var(--gray-800);font-size:.88rem;padding:9px 12px;transition:var(--transition);width:100%}.tm-project-input:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691f;outline:none}.tm-field{margin-bottom:10px}.tm-field:last-child{margin-bottom:0}.tm-field-label{color:var(--gray-700);display:block;font-size:.8rem;font-weight:600;margin-bottom:4px}.tm-number-input{background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:var(--radius);color:var(--gray-800);font-size:.9rem;font-weight:700;padding:7px 10px;text-align:right;transition:var(--transition);width:100%}.tm-number-input:focus{background:#fff;border-color:#059669;box-shadow:0 0 0 3px #0596691f;outline:none}.tm-field-hint{color:var(--gray-400);font-size:.72rem;line-height:1.4;margin-top:3px}.tm-assumption-note{color:var(--gray-500);font-size:.75rem;line-height:1.5;margin-bottom:12px}.tm-toggle-row{align-items:flex-start;border-bottom:1px solid var(--gray-100);cursor:pointer;display:flex;gap:10px;padding:10px 0}.tm-toggle-row:last-child{border-bottom:none}.tm-toggle-row input[type=checkbox]{accent-color:#059669;flex-shrink:0;height:16px;margin-top:2px;width:16px}.tm-toggle-text{display:flex;flex-direction:column}.tm-toggle-text strong{color:var(--gray-800);font-size:.82rem}.tm-toggle-text small{color:var(--gray-500);font-size:.72rem;line-height:1.4;margin-top:2px}.tm-ec-row{align-items:center;border-bottom:1px solid var(--gray-100);display:flex;gap:12px;justify-content:space-between;padding:8px 0}.tm-ec-row:last-child{border-bottom:none}.tm-ec-row label{color:var(--gray-700);flex:1 1;font-size:.82rem;font-weight:600}.tm-ec-input-wrap{align-items:center;display:flex;gap:6px}.tm-ec-input-wrap input{border:1.5px solid var(--gray-200);border-radius:var(--radius);color:var(--gray-800);font-size:.9rem;font-weight:700;padding:6px 8px;text-align:center;width:70px}.tm-ec-input-wrap input:focus{border-color:#059669;outline:none}.tm-ec-unit{color:var(--gray-500);font-size:.82rem;font-weight:600}.tm-results-pane{display:flex;flex-direction:column;gap:12px}.tm-results-section-label{align-items:center;color:var(--gray-500);display:flex;font-size:.72rem;font-weight:700;gap:8px;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.tm-placeholder-note{color:var(--gray-400);font-size:.72rem;font-weight:400;text-transform:none}.tm-checks{display:flex;flex-direction:column;gap:8px}.tm-check{align-items:flex-start;border:1px solid;border-radius:var(--radius);display:flex;gap:12px;padding:12px 14px}.tm-check.pass{background:#f0fdf4;border-color:#86efac}.tm-check.fail{background:#fef2f2;border-color:#fca5a5}.tm-check.na{background:var(--gray-50);border-color:var(--gray-200)}.tm-check-icon{flex-shrink:0;font-size:1.1rem;font-weight:800;line-height:1.2}.tm-check.pass .tm-check-icon{color:#16a34a}.tm-check.fail .tm-check-icon{color:#dc2626}.tm-check.na .tm-check-icon{color:var(--gray-400)}.tm-check-label{color:var(--gray-700);font-size:.82rem;font-weight:600}.tm-check-detail{color:#dc2626;font-size:.75rem;margin-top:2px}.tm-check.na .tm-check-detail{color:var(--gray-400)}.tm-metrics-table{border-collapse:collapse;font-size:.85rem;width:100%}.tm-metric-row td{border-bottom:1px solid var(--gray-100);padding:7px 10px}.tm-metric-row:last-child td{border-bottom:none}.tm-metric-name{color:var(--gray-700);font-weight:500}.tm-metric-value{font-feature-settings:"tnum";color:var(--gray-800);font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.calc-row td{background:#f0f4ff}.calc-row .tm-metric-name{color:#4338ca;font-style:italic;font-weight:600}.calc-row .tm-metric-value{color:#4338ca}.pct-row .tm-metric-name{font-weight:600}.sev-critical{color:#dc2626!important}.sev-high{color:#b45309!important}.sev-medium{color:#0369a1!important}.sev-low{color:#15803d!important}.val-good{color:#16a34a!important}.val-critical,.val-warn{color:#dc2626!important}.tm-divider-row td{background:#0000;border-bottom:2px solid var(--gray-200)!important;height:8px}.tm-criteria-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.tm-criteria-pill{border-radius:20px;font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:4px 14px}.criteria-met{background:#dcfce7;color:#15803d}.criteria-fail{background:#fee2e2;color:#dc2626}.tm-criteria-detail{color:var(--gray-500);font-size:.75rem}.tm-ricepot{display:flex;flex-direction:column;gap:8px}.tm-rp-row{align-items:flex-start;border:1px solid;border-radius:var(--radius);display:flex;gap:12px;padding:10px 14px}.tm-rp-row.rp-flag{background:#fef2f2;border-color:#fecaca}.tm-rp-row.rp-ok{background:#f0fdf4;border-color:#bbf7d0}.tm-rp-letter{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.78rem;font-weight:800;height:30px;justify-content:center;width:30px}.tm-rp-content{flex:1 1;min-width:0}.tm-rp-label{color:var(--gray-600);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-right:8px;text-transform:uppercase}.tm-rp-text{color:var(--gray-700);font-size:.8rem;line-height:1.5}.tm-rp-badge{border-radius:12px;flex-shrink:0;font-size:.68rem;font-weight:700;padding:2px 8px;white-space:nowrap}.badge-flag{background:#fee2e2;color:#dc2626}.badge-ok{background:#dcfce7;color:#15803d}.badge-omit{background:var(--gray-100);color:var(--gray-500)}.tm-export-bar{align-items:center;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:10px;padding:16px 18px}.tm-export-label{color:var(--gray-600);flex-shrink:0}.tm-export-btn,.tm-export-label{font-size:.82rem;font-weight:600}.tm-export-btn{align-items:center;border:none;border-radius:var(--radius);cursor:pointer;display:inline-flex;gap:6px;padding:8px 14px;transition:var(--transition)}.btn-md{background:#f1f5f9;color:#475569}.btn-md:hover{background:#e2e8f0}.btn-csv{background:#f0fdf4;color:#15803d}.btn-csv:hover{background:#dcfce7}.btn-excel{background:#166534;color:#fff}.btn-excel:hover{background:#14532d}.btn-html{background:#4338ca;color:#fff}.btn-html:hover{background:#3730a3}[data-theme=dark] .tm-export-bar,[data-theme=dark] .tm-input-card,[data-theme=dark] .tm-results-card{background:var(--white);border-color:var(--gray-200)}[data-theme=dark] .tm-number-input,[data-theme=dark] .tm-project-input{background:var(--gray-100);border-color:var(--gray-300);color:var(--gray-900)}[data-theme=dark] .tm-rp-row.rp-flag{background:#ef44441f;border-color:#ef44444d}[data-theme=dark] .tm-rp-row.rp-ok{background:#22c55e1a;border-color:#22c55e4d}[data-theme=dark] .calc-row td{background:#4338ca1a}.defect-panel{margin:0 auto;max-width:1100px;padding-bottom:60px}.defect-hero-banner{background:linear-gradient(135deg,#0f172a,#1e1b4b 35%,#3730a3 65%,#991b1b);border-radius:16px;color:#fff;margin-bottom:20px;overflow:hidden;padding:36px 40px 28px;position:relative}.defect-hero-banner:before{background:radial-gradient(circle,#dc262626 0,#0000 65%);content:"";height:180%;pointer-events:none;position:absolute;right:-5%;top:-30%;width:50%}.dr-hero-inner{position:relative;z-index:1}.dr-hero-badge{background:#dc262640;border:1px solid #dc262680;border-radius:20px;color:#fca5a5;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;margin-bottom:10px;padding:4px 14px;text-transform:uppercase}.dr-hero-title{font-size:2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 8px}.dr-hero-subtitle{font-size:.92rem;line-height:1.65;margin-bottom:20px;max-width:640px;opacity:.85}.dr-hero-stats{display:flex;flex-wrap:wrap;gap:28px;margin-bottom:24px}.dr-stat{display:flex;flex-direction:column;gap:2px}.dr-stat-num{color:#fca5a5;font-size:1.5rem;font-weight:800;line-height:1}.dr-stat-label{font-size:.68rem;letter-spacing:.06em;opacity:.7;text-transform:uppercase}.dr-ricepot-pills{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}.dr-rp-pill{align-items:center;background:#ffffff14;border:1.5px solid #ffffff26;border-radius:20px;display:flex;font-size:.78rem;font-weight:600;gap:6px;padding:4px 12px 4px 8px}.dr-rp-letter{font-size:.9rem;font-weight:800;text-align:center;width:20px}.dr-rp-label{color:#ffffffd9}.defect-card{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:14px;box-shadow:0 1px 3px #00000012,0 4px 14px #0000000a;margin-bottom:16px;padding:24px 28px}[data-theme=dark] .defect-card{background:#1f2937;border-color:#374151}.defect-section-title{align-items:center;color:#1f2937;color:var(--gray-800,#1f2937);display:flex;flex-wrap:wrap;font-size:.88rem;font-weight:700;gap:10px;margin-bottom:18px}[data-theme=dark] .defect-section-title{color:#f3f4f6}.defect-section-num{background:linear-gradient(135deg,#dc2626,#7f1d1d);border-radius:6px;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.04em;padding:3px 8px}.defect-section-sub{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.78rem;font-weight:400;margin-left:auto}.dr-drop-zone{background:#f9fafb;background:var(--gray-50,#f9fafb);border:2px dashed #d1d5db;border:2px dashed var(--gray-300,#d1d5db);border-radius:12px;cursor:pointer;padding:32px 24px;text-align:center;transition:border-color .2s,background .2s;-webkit-user-select:none;user-select:none}.dr-drop-zone.drag-over,.dr-drop-zone:hover{background:#fef2f2;border-color:#dc2626}[data-theme=dark] .dr-drop-zone{background:#111827;border-color:#374151}[data-theme=dark] .dr-drop-zone.drag-over,[data-theme=dark] .dr-drop-zone:hover{background:#dc262614;border-color:#dc2626}.dr-drop-zone.compact{background:#0000;border-color:#e5e7eb;border-color:var(--gray-200,#e5e7eb);border-style:dashed;padding:12px 20px}.dr-drop-zone.compact.drag-over,.dr-drop-zone.compact:hover{background:#fef2f2;border-color:#dc2626}.dz-icon{font-size:2.4rem;margin-bottom:10px}.dz-title{color:#374151;color:var(--gray-700,#374151);font-size:.95rem;font-weight:600;margin:0 0 6px}[data-theme=dark] .dz-title{color:#d1d5db}.dz-hint{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.8rem;line-height:1.5;margin:0 0 4px}.dz-type-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}.dz-type-chip{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:5px;color:#4b5563;color:var(--gray-600,#4b5563);font-family:monospace;font-size:.72rem;font-weight:700;padding:2px 8px}[data-theme=dark] .dz-type-chip{background:#374151;border-color:#4b5563;color:#9ca3af}.dz-compact-prompt{align-items:center;color:#6b7280;color:var(--gray-500,#6b7280);display:flex;font-size:.85rem;gap:8px;justify-content:center}.dz-compact-prompt u{color:#dc2626;cursor:pointer}.dr-file-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.dr-file-item{align-items:center;background:#f9fafb;background:var(--gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:10px;display:flex;gap:12px;padding:8px 12px}[data-theme=dark] .dr-file-item{background:#111827;border-color:#374151}.dr-file-thumb{border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:6px;object-fit:cover}.dr-file-icon-box,.dr-file-thumb{flex-shrink:0;height:40px;width:52px}.dr-file-icon-box{align-items:center;background:#f3f4f6;background:var(--gray-100,#f3f4f6);border-radius:6px;color:#4b5563;color:var(--gray-600,#4b5563);display:flex;font-family:monospace;font-size:1.4rem;font-size:.8rem;font-weight:700;justify-content:center}[data-theme=dark] .dr-file-icon-box{background:#374151;color:#9ca3af}.dr-file-meta{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.dr-file-name{color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .dr-file-name{color:#f3f4f6}.dr-file-size{font-size:.75rem}.dr-file-remove,.dr-file-size{color:#9ca3af;color:var(--gray-400,#9ca3af)}.dr-file-remove{background:none;border:none;border-radius:4px;cursor:pointer;flex-shrink:0;font-size:.85rem;padding:4px 6px;transition:color .15s,background .15s}.dr-file-remove:hover{background:#fef2f2;color:#dc2626}.dr-form-grid-3{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.dr-form-grid-2{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.dr-field{display:flex;flex-direction:column;gap:5px}.dr-field label{color:#4b5563;color:var(--gray-600,#4b5563);font-size:.8rem;font-weight:600}[data-theme=dark] .dr-field label{color:#9ca3af}.dr-field input,.dr-field select,.dr-field textarea{background:#fff;background:var(--white,#fff);border:1.5px solid #d1d5db;border:1.5px solid var(--gray-300,#d1d5db);border-radius:8px;color:#111827;color:var(--gray-900,#111827);font-family:inherit;font-size:.875rem;padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.dr-field textarea{line-height:1.6;resize:vertical}.dr-field input:focus,.dr-field select:focus,.dr-field textarea:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261f;outline:none}[data-theme=dark] .dr-field input,[data-theme=dark] .dr-field select,[data-theme=dark] .dr-field textarea{background:#111827;border-color:#374151;color:#f3f4f6}.dr-field-actual textarea{background:#fff8f8;border-color:#fca5a5}.dr-field-actual textarea:focus{border-color:#dc2626}[data-theme=dark] .dr-field-actual textarea{background:#dc26260f;border-color:#7f1d1d}.req{color:#dc2626}.dr-error-banner,.dr-warning-banner{align-items:flex-start;border-radius:10px;display:flex;font-size:.875rem;gap:12px;margin-bottom:14px;padding:12px 16px}.dr-error-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.dr-warning-banner{background:#fffbeb;border:1px solid #fde68a;color:#78350f}.dr-error-banner>span,.dr-warning-banner>span{flex-shrink:0;font-size:1.1rem;margin-top:1px}.dr-error-banner strong,.dr-warning-banner strong{display:block;font-size:.9rem;margin-bottom:2px}.dr-error-banner p,.dr-warning-banner p{margin:0;opacity:.9}.dr-analyse-btn{align-items:center;background:linear-gradient(135deg,#dc2626,#991b1b);border:none;border-radius:10px;box-shadow:0 4px 14px #dc262659;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:10px;justify-content:center;letter-spacing:.01em;padding:14px 28px;transition:all .2s;width:100%}.dr-analyse-btn:hover:not(:disabled){background:linear-gradient(135deg,#b91c1c,#7f1d1d);box-shadow:0 6px 20px #dc262673;transform:translateY(-1px)}.dr-analyse-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.dr-btn-spinner{animation:drSpin .7s linear infinite;border:2.5px solid #fff6;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:18px;width:18px}@keyframes drSpin{to{transform:rotate(1turn)}}.dr-loading-panel{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:14px;margin-top:16px;padding:28px 24px;text-align:center}[data-theme=dark] .dr-loading-panel{background:#1f2937;border-color:#374151}.dr-blast-stages{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:16px}.dr-blast-stage{align-items:center;background:#f9fafb;background:var(--gray-50,#f9fafb);border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-200,#e5e7eb);border-radius:10px;display:flex;gap:8px;opacity:.4;padding:8px 14px;transition:all .3s}[data-theme=dark] .dr-blast-stage{background:#111827;border-color:#374151}.dr-blast-stage.active{background:#fef2f2;border-color:#dc2626;opacity:1}.dr-blast-stage.done{background:#f0fdf4;border-color:#22c55e;opacity:.75}.dr-blast-letter{align-items:center;background:#e5e7eb;background:var(--gray-200,#e5e7eb);border-radius:6px;color:#4b5563;color:var(--gray-600,#4b5563);display:flex;flex-shrink:0;font-size:.9rem;font-weight:800;height:28px;justify-content:center;width:28px}.dr-blast-stage.active .dr-blast-letter{background:#dc2626;color:#fff}.dr-blast-stage.done .dr-blast-letter{background:#22c55e;color:#fff}.dr-blast-text{display:flex;flex-direction:column;gap:1px;text-align:left}.dr-blast-text strong{color:#374151;color:var(--gray-700,#374151);font-size:.78rem;font-weight:700}.dr-blast-text small{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.7rem}[data-theme=dark] .dr-blast-text strong{color:#d1d5db}.dr-loading-label{color:#dc2626;font-size:.9rem;font-weight:700}.defect-results{margin-top:20px}.defect-results-header{background:#fff;background:var(--white,#fff);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:14px;box-shadow:0 1px 3px #00000012;margin-bottom:16px;padding:24px 28px}[data-theme=dark] .defect-results-header{background:#1f2937;border-color:#374151}.dr-header-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:18px}.dr-header-title{color:#111827;color:var(--gray-900,#111827);font-size:1.4rem;font-weight:800;margin:0 0 4px}[data-theme=dark] .dr-header-title{color:#f3f4f6}.dr-header-sub{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.78rem}.dr-counts-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.dr-count-pill{align-items:center;border-radius:10px;display:flex;flex-direction:column;font-size:.7rem;font-weight:700;gap:2px;letter-spacing:.04em;min-width:60px;padding:10px 14px;text-align:center;text-transform:uppercase}.dr-count-num{display:block;font-size:1.4rem;font-weight:800;line-height:1}.dr-count-pill.total{background:#f3f4f6;color:#374151}.dr-count-pill.critical{background:#fef2f2;color:#dc2626}.dr-count-pill.high{background:#fffbeb;color:#d97706}.dr-count-pill.medium{background:#eff6ff;color:#2563eb}.dr-count-pill.low{background:#f0fdf4;color:#15803d}.dr-count-pill.confidence{background:#faf5ff;color:#7c3aed}[data-theme=dark] .dr-count-pill.total{background:#374151;color:#d1d5db}[data-theme=dark] .dr-count-pill.critical{background:#3f1212;color:#f87171}[data-theme=dark] .dr-count-pill.high{background:#3f2d12;color:#fbbf24}[data-theme=dark] .dr-count-pill.medium{background:#172554;color:#93c5fd}[data-theme=dark] .dr-count-pill.low{background:#052e16;color:#4ade80}[data-theme=dark] .dr-count-pill.confidence{background:#2e1065;color:#c4b5fd}.dr-evidence-summary{color:#4b5563;color:var(--gray-600,#4b5563);font-size:.875rem;line-height:1.6;margin-bottom:4px}.dr-analysis-notes{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.78rem;font-style:italic}.export-bar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.export-label{color:#9ca3af;color:var(--gray-400,#9ca3af)}.export-btn,.export-label{font-size:.78rem;font-weight:700}.export-btn{border:1.5px solid #0000;border-radius:7px;cursor:pointer;padding:6px 12px;transition:all .15s;white-space:nowrap}.export-btn.json-btn{background:#fef9c3;border-color:#fde047;color:#854d0e}.export-btn.md-btn{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.export-btn.print-btn{background:#f0fdf4;border-color:#86efac;color:#15803d}.export-btn.json-btn:hover{background:#fef08a}.export-btn.md-btn:hover{background:#dbeafe}.export-btn.print-btn:hover{background:#dcfce7}.bt-panel{background:#fff;background:var(--white,#fff);border:1.5px solid #e9d5ff;border-radius:14px;box-shadow:0 1px 3px #0000000f;margin-bottom:16px;padding:20px 24px}[data-theme=dark] .bt-panel{background:#1f2937;border-color:#4338ca}.bt-panel-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;-webkit-user-select:none;user-select:none}.bt-panel-title{align-items:center;color:#111827;color:var(--gray-900,#111827);display:flex;font-size:.9rem;font-weight:700;gap:8px}[data-theme=dark] .bt-panel-title{color:#f3f4f6}.bt-panel-title span{font-size:1.1rem}.bt-badge{background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;color:#7c3aed;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:2px 8px}[data-theme=dark] .bt-badge{background:#2e1065;border-color:#6d28d9;color:#c4b5fd}.bt-chevron{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.75rem;transition:transform .2s}.bt-chevron.open{transform:rotate(180deg)}.bt-tool-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 14px}.bt-tool-btn{align-items:center;background:#f9fafb;background:var(--gray-50,#f9fafb);border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-200,#e5e7eb);border-radius:8px;color:#4b5563;color:var(--gray-600,#4b5563);cursor:pointer;display:flex;font-size:.82rem;font-weight:600;gap:7px;padding:8px 14px;transition:all .15s}.bt-tool-btn:hover{border-color:#9ca3af;border-color:var(--gray-400,#9ca3af)}.bt-tool-btn.active{background:#faf5ff;border-color:#7c3aed;color:#5b21b6}[data-theme=dark] .bt-tool-btn{background:#111827;border-color:#374151;color:#9ca3af}[data-theme=dark] .bt-tool-btn.active{background:#2e1065;border-color:#7c3aed;color:#c4b5fd}.bt-tool-icon{font-size:1rem}.bt-tool-name{white-space:nowrap}.bt-config-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:14px}.bt-field{display:flex;flex-direction:column;gap:4px}.bt-field label{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.78rem;font-weight:600}.bt-field small{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.7rem}.bt-field input{background:#fff;background:var(--white,#fff);border:1.5px solid #d1d5db;border:1.5px solid var(--gray-300,#d1d5db);border-radius:7px;color:#111827;color:var(--gray-900,#111827);font-family:inherit;font-size:.82rem;padding:8px 10px;transition:border-color .15s;width:100%}.bt-field input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a;outline:none}[data-theme=dark] .bt-field input{background:#111827;border-color:#374151;color:#f3f4f6}[data-theme=dark] .bt-field label{color:#9ca3af}.bt-action-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.bt-push-all-btn{align-items:center;background:linear-gradient(135deg,#7c3aed,#5b21b6);border:none;border-radius:8px;box-shadow:0 3px 8px #7c3aed4d;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:700;gap:8px;padding:9px 18px;transition:all .15s}.bt-push-all-btn:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#4c1d95);transform:translateY(-1px)}.bt-push-all-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.bt-push-spinner{animation:drSpin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.bt-push-progress{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.8rem}.bt-cors-note{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#d97706;font-size:.75rem;padding:4px 10px}[data-theme=dark] .bt-cors-note{background:#3f2d12;border-color:#a16207;color:#fcd34d}.tickets-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.ticket-card{background:#fff;background:var(--white,#fff);border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-200,#e5e7eb);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden}[data-theme=dark] .ticket-card{background:#1f2937;border-color:#374151}.ticket-card.sev-border-critical{border-left:4px solid #dc2626}.ticket-card.sev-border-high{border-left:4px solid #d97706}.ticket-card.sev-border-medium{border-left:4px solid #2563eb}.ticket-card.sev-border-low{border-left:4px solid #22c55e}.ticket-header{align-items:center;cursor:pointer;display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px;-webkit-user-select:none;user-select:none}.ticket-header:hover{background:#f9fafb;background:var(--gray-50,#f9fafb)}[data-theme=dark] .ticket-header:hover{background:#111827}.ticket-header-left{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:7px}.ticket-id{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border-radius:5px;color:#374151;color:var(--gray-700,#374151);font-family:monospace;font-size:.78rem;font-weight:700;padding:2px 7px}[data-theme=dark] .ticket-id{background:#374151;color:#d1d5db}.ticket-title-block{flex:1 1;min-width:180px}.ticket-title{color:#111827;color:var(--gray-900,#111827);font-size:.9rem;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .ticket-title{color:#f3f4f6}.ticket-header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.ticket-toggle{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.7rem}.push-btn{background:#faf5ff;border:1px solid #e9d5ff;border-radius:6px;color:#7c3aed;cursor:pointer;font-size:.72rem;font-weight:700;padding:3px 10px;transition:all .15s}.push-btn:hover{background:#ede9fe;border-color:#7c3aed}.push-status-link{background:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#15803d;font-size:.72rem;font-weight:700;padding:2px 8px;text-decoration:none}.push-status-link:hover{text-decoration:underline}.push-status-loading{background:#faf5ff;border:1px solid #e9d5ff;border-radius:6px;color:#7c3aed;font-size:.72rem;padding:2px 8px}.push-status-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:help;font-size:.72rem;padding:2px 8px}.pri-badge,.sev-badge{color:#fff;font-weight:800}.pri-badge,.sev-badge,.type-badge{border-radius:5px;display:inline-block;font-size:.7rem;padding:2px 7px;white-space:nowrap}.type-badge{font-weight:700}.type-bug{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.type-sec{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.type-perf{background:#fefce8;border:1px solid #fde047;color:#a16207}.type-ux{background:#f0fdf4;border:1px solid #86efac;color:#15803d}.type-other{background:#f3f4f6;border:1px solid #e5e7eb;color:#374151}.ticket-body{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200,#e5e7eb)}[data-theme=dark] .ticket-body{border-color:#374151}.ticket-tabs{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200,#e5e7eb);display:flex;overflow-x:auto;scrollbar-width:none}.ticket-tabs::-webkit-scrollbar{display:none}[data-theme=dark] .ticket-tabs{border-color:#374151}.ticket-tab{align-items:center;background:none;border:none;border-bottom:2.5px solid #0000;color:#6b7280;color:var(--gray-500,#6b7280);cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:5px;padding:9px 13px;transition:color .15s;white-space:nowrap}.ticket-tab:hover{background:#f9fafb;background:var(--gray-50,#f9fafb);color:#1f2937;color:var(--gray-800,#1f2937)}.ticket-tab.active{border-bottom-color:#dc2626;color:#dc2626}.ticket-tab span{display:none}@media (min-width:700px){.ticket-tab span{display:inline}}.ticket-tab-content{padding:18px 18px 20px}.rp-tab-pane{display:flex;flex-direction:column;gap:14px}.overview-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.ov-item{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:7px;padding:9px 11px}[data-theme=dark] .ov-item{background:#111827;border-color:#374151}.ov-item.wide{grid-column:1/-1}.ov-item label{color:#9ca3af;color:var(--gray-400,#9ca3af);display:block;font-size:.68rem;font-weight:700;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.ov-item p{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;line-height:1.5;margin:0}[data-theme=dark] .ov-item p{color:#d1d5db}.ov-item code{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border-radius:4px;color:#374151;color:var(--gray-700,#374151);font-family:monospace;font-size:.8rem;padding:1px 5px}[data-theme=dark] .ov-item code{background:#374151;color:#d1d5db}.delta-text{color:#d97706!important;font-style:italic}.effort-chip,.sp-chip{background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;color:#1d4ed8;display:inline-block;font-size:.78rem;font-weight:700;padding:2px 7px}.labels-row,.remark-box{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:7px;padding:10px 12px}[data-theme=dark] .labels-row,[data-theme=dark] .remark-box{background:#111827;border-color:#374151}.remark-box label{color:#9ca3af;color:var(--gray-400,#9ca3af);display:block;font-size:.68rem;font-weight:700;margin-bottom:4px;text-transform:uppercase}.remark-box p{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;line-height:1.5;margin:0}[data-theme=dark] .remark-box p{color:#d1d5db}.labels-row{display:flex;flex-wrap:wrap;gap:6px}.label-chip{background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;color:#7c3aed;font-size:.72rem;font-weight:600;padding:2px 8px}.detail-row{align-items:flex-start;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100,#f3f4f6);display:flex;font-size:.85rem;gap:12px;padding:8px 0}.detail-row:last-child{border-bottom:none}[data-theme=dark] .detail-row{border-color:#374151}.detail-label{color:#9ca3af;color:var(--gray-400,#9ca3af);flex-shrink:0;font-size:.75rem;font-weight:700;padding-top:1px;width:135px}.detail-value{color:#374151;color:var(--gray-700,#374151);flex:1 1;line-height:1.5}[data-theme=dark] .detail-value{color:#d1d5db}.detail-code{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border-radius:4px;color:#1d4ed8;font-family:monospace;font-size:.8rem;padding:2px 6px}[data-theme=dark] .detail-code{background:#374151;color:#93c5fd}.highlight-row .detail-value{color:#dc2626;font-weight:600}.env-detail-grid,.items-grid,.people-grid,.risk-detail-grid{display:flex;flex-direction:column}.criteria-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.crit-repro{background:#fef9c3;border:1px solid #fde047;border-radius:10px;color:#854d0e;font-size:.75rem;font-weight:700;padding:3px 9px}.crit-trigger{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.8rem;font-style:italic}[data-theme=dark] .crit-trigger{color:#9ca3af}.crit-section{display:flex;flex-direction:column;gap:7px}.crit-section label{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.crit-list{display:flex;flex-direction:column;gap:4px;margin:0;padding-left:18px}.crit-list li{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;line-height:1.5}[data-theme=dark] .crit-list li{color:#d1d5db}.precond-list{list-style-type:disc}.steps-list li{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100,#f3f4f6);padding:4px 0}[data-theme=dark] .steps-list li{border-color:#374151}.steps-list li:last-child{border-bottom:none}.ac-list{list-style:none;padding-left:0}.ac-check{color:#22c55e;display:inline-block;font-weight:700;margin-right:6px;width:20px}.obj-section{border-radius:7px;display:flex;flex-direction:column;gap:5px;padding:10px 14px}.expected-box{background:#f0fdf4;border:1px solid #bbf7d0}.actual-box{background:#fef2f2;border:1px solid #fecaca}.rule-box{background:#fefce8;border:1px solid #fde047}.delta-box{background:#fffbeb;border:1px solid #fde68a}.obj-section label{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.obj-section p{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;line-height:1.6;margin:0}[data-theme=dark] .obj-section p{color:#d1d5db}.tools-section{display:flex;flex-direction:column;gap:7px}.tools-section label{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tools-observation{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:7px;color:#374151;color:var(--gray-700,#374151);font-size:.85rem;line-height:1.6;margin:0;padding:9px 12px}[data-theme=dark] .tools-observation{background:#111827;border-color:#374151;color:#d1d5db}.tools-chips{display:flex;flex-wrap:wrap;gap:6px}.tools-chip{background:#f3f4f6;background:var(--gray-100,#f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:10px;color:#374151;color:var(--gray-700,#374151);font-size:.75rem;font-weight:600;padding:2px 9px}.tools-list{display:flex;flex-direction:column;gap:4px;margin:0;padding-left:16px}.tools-list li{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;line-height:1.5}[data-theme=dark] .tools-list li{color:#d1d5db}.rc-layer-row{display:flex;flex-wrap:wrap;gap:10px}.rc-layer-badge{background:#1e1b4b;border-radius:7px;display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:160px;padding:9px 13px}.rc-layer-label{color:#a5b4fc;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rc-layer-code{color:#fff;font-family:monospace;font-size:.85rem;font-weight:700}.rc-conf-badge{align-items:center;border-radius:7px;color:#fff;display:flex;flex-direction:column;font-size:.68rem;font-weight:700;gap:2px;justify-content:center;letter-spacing:.04em;padding:9px 18px;text-transform:uppercase}.rc-conf-badge strong{font-size:.8rem}.rc-section{display:flex;flex-direction:column;gap:5px}.rc-section label{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.rc-summary{background:#faf5ff;border:1px solid #e9d5ff;border-radius:7px;color:#1f2937;color:var(--gray-800,#1f2937);font-size:.875rem;line-height:1.6;margin:0;padding:9px 12px}[data-theme=dark] .rc-summary{background:#1e1b4b;border-color:#4338ca;color:#e0e7ff}.rc-hypothesis{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:7px;color:#374151;color:var(--gray-700,#374151);font-family:monospace;font-size:.85rem;line-height:1.6;margin:0;padding:9px 12px}[data-theme=dark] .rc-hypothesis{background:#111827;border-color:#374151;color:#d1d5db}.rc-list{display:flex;flex-direction:column;gap:4px;margin:0;padding-left:16px}.rc-list li{color:#374151;color:var(--gray-700,#374151);font-size:.85rem;line-height:1.5}[data-theme=dark] .rc-list li{color:#d1d5db}.recommendations-card{background:#fff;background:var(--white,#fff);border:1.5px solid #e9d5ff;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:20px 24px}[data-theme=dark] .recommendations-card{background:#1f2937;border-color:#4338ca}.rec-title{color:#111827;color:var(--gray-900,#111827);font-size:1rem;font-weight:800;margin:0 0 14px}[data-theme=dark] .rec-title{color:#f3f4f6}.rec-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.rec-section{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:7px;padding:11px 13px}[data-theme=dark] .rec-section{background:#111827;border-color:#374151}.rec-section label{color:#6b7280;color:var(--gray-500,#6b7280);display:block;font-size:.75rem;font-weight:700;margin-bottom:7px}.rec-section ul{display:flex;flex-direction:column;gap:3px;margin:0;padding-left:15px}.rec-section li{color:#374151;color:var(--gray-700,#374151);font-size:.8rem;line-height:1.5}[data-theme=dark] .rec-section li{color:#d1d5db}@media print{.bt-panel,.defect-card,.defect-hero-banner,.dr-analyse-btn,.dr-loading-panel,.export-bar,.ticket-tabs{display:none!important}.ticket-body,.ticket-tab-content{display:block!important}.rp-tab-pane{display:flex!important}.ticket-card{break-inside:avoid;page-break-inside:avoid}}@media (max-width:900px){.dr-form-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.defect-hero-banner{padding:24px 18px 20px}.dr-hero-title{font-size:1.5rem}.defect-card{padding:18px 16px}.bt-config-grid,.dr-form-grid-2,.dr-form-grid-3{grid-template-columns:1fr}.dr-blast-stages,.dr-header-top{flex-direction:column}.dr-blast-stages{align-items:stretch}.overview-grid{grid-template-columns:repeat(2,1fr)}.rec-grid{grid-template-columns:1fr}.dr-quick-optional-row{flex-direction:column}}.dr-mode-toggle{display:flex;gap:12px;margin-bottom:16px}.dr-mode-btn{align-items:center;background:#f9fafb;background:var(--gray-50,#f9fafb);border:2px solid #e5e7eb;border:2px solid var(--gray-200,#e5e7eb);border-radius:12px;cursor:pointer;display:flex;flex:1 1;gap:12px;padding:14px 18px;text-align:left;transition:all .2s}.dr-mode-btn strong{color:#1f2937;color:var(--gray-800,#1f2937);display:block;font-size:.875rem}.dr-mode-btn small{color:#6b7280;color:var(--gray-500,#6b7280);font-size:.75rem}.dr-mode-icon{flex-shrink:0;font-size:1.5rem}.dr-mode-btn.active,.dr-mode-btn:hover{border-color:#dc2626}.dr-mode-btn.active{background:#fff1f2;box-shadow:0 0 0 3px #dc26261a}[data-theme=dark] .dr-mode-btn{background:#111827;border-color:#374151}[data-theme=dark] .dr-mode-btn strong{color:#f3f4f6}[data-theme=dark] .dr-mode-btn.active{background:#450a0a;border-color:#dc2626}.dr-quick-card{border-color:#dc262640!important}.dr-quick-badge{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:20px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.04em;margin-left:auto;padding:3px 10px;text-transform:uppercase}.dr-quick-dropzone{background:#f9fafb;background:var(--gray-50,#f9fafb);border:2.5px dashed #d1d5db;border:2.5px dashed var(--gray-300,#d1d5db);border-radius:14px;cursor:pointer;margin-bottom:16px;padding:52px 24px;text-align:center;transition:all .2s;-webkit-user-select:none;user-select:none}.dr-quick-dropzone.drag-over,.dr-quick-dropzone:hover{background:#fff1f2;border-color:#dc2626}[data-theme=dark] .dr-quick-dropzone{background:#111827;border-color:#374151}[data-theme=dark] .dr-quick-dropzone.drag-over,[data-theme=dark] .dr-quick-dropzone:hover{background:#450a0a;border-color:#dc2626}.dr-quick-dz-icon{font-size:3rem;line-height:1;margin-bottom:12px}.dr-quick-dz-title{color:#374151;color:var(--gray-700,#374151);font-size:1rem;font-weight:700;margin:0 0 6px}[data-theme=dark] .dr-quick-dz-title{color:#e5e7eb}.dr-quick-dz-hint{color:#9ca3af;color:var(--gray-400,#9ca3af);font-size:.8rem;margin:0 0 4px}.dr-quick-preview-wrap{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.dr-quick-img-box{align-self:flex-start;border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:10px;display:inline-flex;max-width:100%;overflow:hidden;position:relative}.dr-quick-img{display:block;max-height:300px;max-width:100%;object-fit:contain}.dr-quick-remove{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:28px;justify-content:center;position:absolute;right:8px;top:8px;transition:background .15s;width:28px}.dr-quick-remove:hover{background:#dc2626d9}.dr-quick-img-meta{align-items:center;display:flex;gap:12px}.dr-quick-filename{color:#6b7280;color:var(--gray-500,#6b7280);flex:1 1;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dr-quick-change{background:none;border:none;color:#dc2626;cursor:pointer;font-size:.78rem;font-weight:600;padding:0;white-space:nowrap}.dr-quick-change:hover{text-decoration:underline}.dr-quick-optional-row{display:flex;gap:14px;margin-top:4px}.dr-quick-appname{flex:1 1}.dr-quick-note{flex:2 1}.dr-rice-pot-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}@media (max-width:640px){.dr-rice-pot-grid{grid-template-columns:1fr}}.dr-rice-item{background:#f9fafb;background:var(--gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--gray-200,#e5e7eb);border-radius:8px;padding:10px 12px}[data-theme=dark] .dr-rice-item{background:#111827;border-color:#374151}.dr-rice-label{align-items:center;color:#6b7280;color:var(--gray-500,#6b7280);display:flex;font-size:.72rem;font-weight:700;gap:6px;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.dr-rice-letter{align-items:center;background:#dc2626;border-radius:4px;color:#fff;display:inline-flex;flex-shrink:0;font-size:.65rem;font-weight:800;height:18px;justify-content:center;width:18px}.dr-rice-list{display:flex;flex-direction:column;gap:3px;list-style:none;margin:0;padding:0}.dr-rice-list li{color:#374151;color:var(--gray-700,#374151);font-size:.8rem;line-height:1.45;padding-left:10px;position:relative}[data-theme=dark] .dr-rice-list li{color:#d1d5db}.dr-rice-list li:before{color:#dc2626;content:"•";font-size:.7rem;left:0;position:absolute}.dr-clarify-block{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin-bottom:16px;padding:14px 16px}[data-theme=dark] .dr-clarify-block{background:#1c1917;border-color:#78350f}.dr-clarify-title{color:#92400e;font-size:.82rem;font-weight:700;margin-bottom:12px}[data-theme=dark] .dr-clarify-title{color:#fbbf24}.dr-clarify-qa{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.dr-clarify-qa:last-child{margin-bottom:0}.dr-clarify-qa label{color:#374151;color:var(--gray-700,#374151);font-size:.82rem;font-weight:600}[data-theme=dark] .dr-clarify-qa label{color:#d1d5db}.dr-clarify-qa input{background:#fff;border:1px solid #d1d5db;border:1px solid var(--gray-300,#d1d5db);border-radius:6px;color:#111827;color:var(--gray-900,#111827);font-size:.85rem;outline:none;padding:7px 10px;transition:border-color .15s}.dr-clarify-qa input:focus{border-color:#dc2626}[data-theme=dark] .dr-clarify-qa input{background:#1f2937;border-color:#374151;color:#f9fafb}.dr-html-export-btn{align-items:center;background:#1e40af;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:700;gap:6px;padding:7px 16px;transition:background .15s,transform .1s}.dr-html-export-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.dr-html-export-btn:active{transform:translateY(0)}.acf-panel{color:#1e293b;color:var(--color-text,#1e293b);display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1100px;min-height:100%;padding:28px 32px}.acf-header{justify-content:space-between}.acf-header,.acf-header-left{align-items:flex-start;display:flex;gap:16px}.acf-header-icon{flex-shrink:0;font-size:2.4rem;line-height:1}.acf-title{color:#1e293b;color:var(--color-text,#1e293b);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.acf-subtitle{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.9rem;line-height:1.4;margin:0}.acf-header-badges{display:flex;flex-shrink:0;gap:8px;margin-top:4px}.acf-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.acf-badge-hot{background:linear-gradient(135deg,#f97316,#ef4444);color:#fff}.acf-badge-owasp{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff}.acf-input-section{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:24px}.acf-dropzone{background:#fff;background:var(--color-bg,#fff);border:2px dashed #cbd5e1;border:2px dashed var(--color-border,#cbd5e1);border-radius:12px;cursor:pointer;padding:28px 24px;text-align:center;transition:border-color .2s,background .2s}.acf-dropzone.drag-over,.acf-dropzone:hover{background:#6366f10a;border-color:#6366f1}.acf-dropzone.has-file{background:#22c55e0a;border-color:#22c55e;border-style:solid;cursor:default}.acf-dropzone-content{align-items:center;display:flex;flex-direction:column;gap:8px}.acf-drop-icon{font-size:2.2rem;line-height:1}.acf-drop-title{color:#1e293b;color:var(--color-text,#1e293b);font-size:.95rem;font-weight:600}.acf-drop-sub{color:#94a3b8;color:var(--color-text-muted,#94a3b8);font-size:.82rem}.acf-drop-btn{background:#6366f1;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:.82rem;font-weight:600;margin-top:8px;padding:6px 20px;pointer-events:none}.acf-file-loaded{align-items:center;display:flex;gap:12px;justify-content:center}.acf-file-icon{font-size:1.6rem}.acf-file-details{display:flex;flex-direction:column;text-align:left}.acf-file-name{color:#1e293b;color:var(--color-text,#1e293b);font-size:.9rem;font-weight:600}.acf-file-size{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.78rem}.acf-file-remove{align-items:center;background:none;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;height:28px;justify-content:center;margin-left:auto;transition:background .15s,color .15s;width:28px}.acf-file-remove:hover{background:#fef2f2;color:#ef4444}.acf-or-divider{align-items:center;color:#94a3b8;color:var(--color-text-muted,#94a3b8);display:flex;font-size:.8rem;gap:12px}.acf-or-divider:after,.acf-or-divider:before{background:#e2e8f0;background:var(--color-border,#e2e8f0);content:"";flex:1 1;height:1px}.acf-spec-textarea{background:#fff;background:var(--color-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:10px;box-sizing:border-box;color:#1e293b;color:var(--color-text,#1e293b);font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.8rem;line-height:1.5;padding:12px 14px;resize:vertical;transition:border-color .2s;width:100%}.acf-spec-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f;outline:none}.acf-options-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.acf-opt-group{display:flex;flex-direction:column;gap:5px}.acf-opt-grow{flex:1 1;min-width:200px}.acf-opt-narrow{min-width:140px}.acf-opt-label{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.acf-opt-input,.acf-opt-select{background:#fff;background:var(--color-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:#1e293b;color:var(--color-text,#1e293b);font-size:.88rem;padding:9px 12px;transition:border-color .2s}.acf-opt-input:focus,.acf-opt-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f;outline:none}.acf-generate-btn{align-self:flex-end;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:10px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.92rem;font-weight:700;letter-spacing:.01em;padding:10px 24px;transition:opacity .2s,transform .15s;white-space:nowrap}.acf-generate-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.acf-generate-btn:disabled{cursor:not-allowed;opacity:.5}.acf-error{align-items:center;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;color:#dc2626;display:flex;font-size:.87rem;gap:8px;padding:12px 16px}.acf-error-icon{flex-shrink:0;font-size:1rem}.acf-blast-tracker{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:16px;padding:20px 24px}.acf-blast-header{align-items:center;color:#1e293b;color:var(--color-text,#1e293b);display:flex;font-size:.88rem;font-weight:700;gap:10px;letter-spacing:.06em;margin-bottom:16px;text-transform:uppercase}.acf-blast-spinner{animation:acf-spin .8s linear infinite;border:2px solid #6366f133;border-radius:50%;border-top-color:#6366f1;display:inline-block;height:16px;width:16px}@keyframes acf-spin{to{transform:rotate(1turn)}}.acf-blast-phases{display:flex;gap:8px}.acf-blast-phase{align-items:center;background:#fff;background:var(--color-bg,#fff);border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:10px;display:flex;flex:1 1;flex-direction:column;gap:4px;padding:10px 6px;text-align:center;transition:all .3s}.acf-blast-phase.done{background:#22c55e14;border-color:#22c55e}.acf-blast-phase.active{background:#6366f114;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.acf-blast-letter{color:#94a3b8;font-size:1.4rem;font-weight:900;letter-spacing:-.02em}.acf-blast-phase.done .acf-blast-letter{color:#22c55e}.acf-blast-phase.active .acf-blast-letter{color:#6366f1}.acf-blast-phase-label{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.acf-blast-phase-desc{color:#6366f1;font-size:.7rem;font-style:italic;margin-top:2px}.acf-results{border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:16px;display:flex;flex-direction:column;gap:0;overflow:hidden}.acf-results-header{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-bottom:1px solid #bbf7d0;flex-wrap:wrap;justify-content:space-between;padding:16px 24px}.acf-results-header,.acf-results-title{align-items:center;display:flex;gap:8px}.acf-results-title{color:#15803d;font-size:1rem;font-weight:700}.acf-results-check{font-size:1.1rem}.acf-results-chips{display:flex;flex-wrap:wrap;gap:8px}.acf-chip{background:#15803d1f;border-radius:20px;color:#15803d;font-size:.78rem;font-weight:600;padding:3px 10px}.acf-spec-strip{align-items:center;background:#f8fafc;background:var(--color-surface,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;flex-wrap:wrap;gap:10px;padding:10px 24px}.acf-spec-api-title{color:#1e293b;color:var(--color-text,#1e293b);font-size:.9rem;font-weight:700}.acf-spec-version{background:#6366f11a;border-radius:12px;color:#6366f1;display:inline-block;font-size:.75rem;font-weight:700;padding:1px 8px}.acf-spec-url{color:#64748b;color:var(--color-text-muted,#64748b);font-family:monospace;font-size:.8rem}.acf-tab-bar{background:#fff;background:var(--color-bg,#fff);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;overflow-x:auto;scrollbar-width:none}.acf-tab-bar::-webkit-scrollbar{display:none}.acf-tab-btn{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#64748b;color:var(--color-text-muted,#64748b);cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;font-weight:600;gap:6px;padding:12px 18px;transition:color .2s,border-color .2s;white-space:nowrap}.acf-tab-btn:hover{color:#1e293b;color:var(--color-text,#1e293b)}.acf-tab-btn.active{border-bottom-color:#6366f1;color:#6366f1}.acf-tab-count{align-items:center;background:#e0e7ff;border-radius:10px;color:#4f46e5;display:inline-flex;font-size:.72rem;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 5px}.acf-tab-btn.active .acf-tab-count{background:#6366f1;color:#fff}.acf-tab-content{background:#fff;background:var(--color-bg,#fff);min-height:300px;padding:20px 24px}.acf-test-list{gap:14px}.acf-test-card,.acf-test-list{display:flex;flex-direction:column}.acf-test-card{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;gap:8px;padding:16px 18px;transition:border-color .2s}.acf-test-card:hover{border-color:#a5b4fc}.acf-test-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.acf-tc-id{background:#6366f11a;color:#6366f1;flex-shrink:0;font-size:.75rem;font-weight:700}.acf-tc-endpoint,.acf-tc-id{border-radius:6px;font-family:monospace;padding:2px 8px}.acf-tc-endpoint{background:#f1f5f9;background:var(--color-bg,#f1f5f9);color:#1e293b;color:var(--color-text,#1e293b);flex:1 1;font-size:.78rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acf-priority-chip{border-radius:20px;color:#fff;letter-spacing:.05em;padding:2px 10px;text-transform:uppercase}.acf-owasp-chip,.acf-priority-chip{flex-shrink:0;font-size:.7rem;font-weight:700}.acf-owasp-chip{background:#7c3aed1f;border-radius:6px;color:#7c3aed;padding:2px 8px}.acf-tc-name{color:#1e293b;color:var(--color-text,#1e293b);font-size:.92rem;font-weight:700}.acf-tc-desc{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.84rem;line-height:1.5}.acf-tc-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.acf-tc-meta-item{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.78rem}.acf-tc-meta-item strong{color:#1e293b;color:var(--color-text,#1e293b);font-family:monospace}.acf-schema-note{font-size:.77rem;font-style:italic}.acf-assertions-block{display:flex;flex-direction:column;gap:4px}.acf-assertions-label{color:#94a3b8;color:var(--color-text-muted,#94a3b8);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.acf-assertions-list{display:flex;flex-direction:column;gap:3px;margin:0;padding-left:18px}.acf-assertions-list li{color:#475569;color:var(--color-text,#475569);font-size:.82rem}.acf-tc-notes{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);color:#6366f1;font-size:.78rem;font-style:italic;padding-top:8px}.acf-empty-state{align-items:center;color:#94a3b8;color:var(--color-text-muted,#94a3b8);display:flex;font-size:.88rem;font-style:italic;justify-content:center;min-height:120px}.acf-code-panel{border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;display:flex;flex-direction:column;gap:0;overflow:hidden}.acf-code-toolbar{align-items:center;background:#1e293b;border-bottom:1px solid #334155;display:flex;justify-content:space-between;padding:10px 16px}.acf-code-filename{align-items:center;color:#94a3b8;display:flex;font-family:monospace;font-size:.82rem;gap:8px}.acf-code-dot{background:#6366f1;border-radius:50%;flex-shrink:0;height:10px;width:10px}.acf-download-btn{background:#0000;border:1px solid #334155;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:.78rem;font-weight:600;padding:5px 14px;transition:background .15s,color .15s}.acf-download-btn:hover{background:#334155;color:#fff}.acf-code-block{background:#0f172a;color:#e2e8f0;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.78rem;line-height:1.6;margin:0;max-height:500px;overflow-x:auto;overflow-y:auto;padding:16px}.acf-export-row{align-items:center;background:#f8fafc;background:var(--color-surface,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);display:flex;flex-wrap:wrap;gap:10px;padding:16px 24px}.acf-export-label{color:#64748b;color:var(--color-text-muted,#64748b);flex-shrink:0;font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.acf-export-btn{background:#fff;background:var(--color-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:#1e293b;color:var(--color-text,#1e293b);cursor:pointer;font-size:.84rem;font-weight:600;padding:8px 16px;transition:background .15s,border-color .15s;white-space:nowrap}.acf-export-btn:hover{background:#6366f10f;border-color:#6366f1;color:#6366f1}[data-theme=dark] .acf-panel{color:#e2e8f0}[data-theme=dark] .acf-title{color:#f1f5f9}[data-theme=dark] .acf-subtitle{color:#94a3b8}[data-theme=dark] .acf-input-section{background:#1e293b;border-color:#334155}[data-theme=dark] .acf-dropzone{background:#0f172a;border-color:#334155}[data-theme=dark] .acf-dropzone.drag-over,[data-theme=dark] .acf-dropzone:hover{background:#6366f114}[data-theme=dark] .acf-dropzone.has-file{background:#22c55e0f}[data-theme=dark] .acf-drop-title,[data-theme=dark] .acf-file-name{color:#f1f5f9}[data-theme=dark] .acf-file-remove{border-color:#334155;color:#94a3b8}[data-theme=dark] .acf-spec-textarea{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .acf-or-divider{color:#475569}[data-theme=dark] .acf-or-divider:after,[data-theme=dark] .acf-or-divider:before{background:#334155}[data-theme=dark] .acf-opt-input,[data-theme=dark] .acf-opt-select{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .acf-blast-tracker{background:#1e293b;border-color:#334155}[data-theme=dark] .acf-blast-header{color:#f1f5f9}[data-theme=dark] .acf-blast-phase{background:#0f172a;border-color:#334155}[data-theme=dark] .acf-results{border-color:#334155}[data-theme=dark] .acf-results-header{background:linear-gradient(135deg,#14532d,#166534);border-color:#15803d}[data-theme=dark] .acf-results-title{color:#86efac}[data-theme=dark] .acf-chip{background:#86efac1f;color:#86efac}[data-theme=dark] .acf-spec-strip{background:#1e293b;border-color:#334155}[data-theme=dark] .acf-spec-api-title{color:#f1f5f9}[data-theme=dark] .acf-spec-url{color:#64748b}[data-theme=dark] .acf-tab-bar{background:#0f172a;border-color:#334155}[data-theme=dark] .acf-tab-btn{color:#64748b}[data-theme=dark] .acf-tab-btn:hover{color:#f1f5f9}[data-theme=dark] .acf-tab-btn.active{border-bottom-color:#818cf8;color:#818cf8}[data-theme=dark] .acf-tab-count{background:#6366f133;color:#a5b4fc}[data-theme=dark] .acf-tab-btn.active .acf-tab-count{background:#6366f1;color:#fff}[data-theme=dark] .acf-tab-content{background:#0f172a}[data-theme=dark] .acf-test-card{background:#1e293b;border-color:#334155}[data-theme=dark] .acf-test-card:hover{border-color:#6366f1}[data-theme=dark] .acf-tc-endpoint{background:#0f172a;color:#e2e8f0}[data-theme=dark] .acf-tc-name{color:#f1f5f9}[data-theme=dark] .acf-tc-desc,[data-theme=dark] .acf-tc-meta-item{color:#94a3b8}[data-theme=dark] .acf-tc-meta-item strong{color:#f1f5f9}[data-theme=dark] .acf-assertions-list li{color:#94a3b8}[data-theme=dark] .acf-tc-notes{border-color:#334155;color:#a5b4fc}[data-theme=dark] .acf-export-row{background:#1e293b;border-color:#334155}[data-theme=dark] .acf-export-btn{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .acf-export-btn:hover{background:#6366f11a;border-color:#6366f1;color:#a5b4fc}@media (max-width:768px){.acf-panel{gap:16px;padding:16px}.acf-header{flex-direction:column}.acf-header-left{gap:10px}.acf-title{font-size:1.4rem}.acf-options-row{flex-direction:column}.acf-generate-btn,.acf-opt-grow,.acf-opt-narrow{width:100%}.acf-blast-phases{flex-wrap:wrap}.acf-blast-phase{min-width:calc(33% - 8px)}.acf-export-row{align-items:stretch;flex-direction:column}.acf-export-btn{text-align:center}}.tcg2-panel{color:#1e293b;color:var(--color-text,#1e293b);display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1100px;min-height:100%;padding:28px 32px}.tcg2-header{gap:16px;justify-content:space-between}.tcg2-header,.tcg2-header-left{align-items:flex-start;display:flex}.tcg2-header-left{gap:14px}.tcg2-header-icon{flex-shrink:0;font-size:2.4rem;line-height:1}.tcg2-title{color:#1e293b;color:var(--color-text,#1e293b);font-size:1.7rem;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.tcg2-subtitle{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.88rem;line-height:1.4;margin:0}.tcg2-header-badges{display:flex;flex-shrink:0;gap:8px;margin-top:4px}.tcg2-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.tcg2-badge-hot{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff}.tcg2-badge-pom{background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff}.tcg2-fw-bar{background:#f1f5f9;background:var(--color-surface,#f1f5f9);border-radius:14px;display:flex;gap:10px;padding:4px;width:-webkit-fit-content;width:fit-content}.tcg2-fw-btn{align-items:center;background:#0000;border:2px solid #0000;border-radius:10px;color:#64748b;color:var(--color-text-muted,#64748b);cursor:pointer;display:flex;font-size:.88rem;font-weight:700;gap:7px;padding:9px 20px;transition:all .2s}.tcg2-fw-btn:hover{color:#1e293b;color:var(--color-text,#1e293b)}.tcg2-fw-btn.active,.tcg2-fw-btn:hover{background:#fff;background:var(--color-bg,#fff)}.tcg2-fw-btn.active{box-shadow:0 2px 8px #00000014}.tcg2-fw-icon{font-size:1.1rem}.tcg2-input-card{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:22px}.tcg2-mode-toggle{display:flex;gap:8px;width:-webkit-fit-content;width:fit-content}.tcg2-mode-btn{background:#fff;background:var(--color-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:#64748b;color:var(--color-text-muted,#64748b);cursor:pointer;font-size:.84rem;font-weight:600;padding:7px 18px;transition:all .2s}.tcg2-mode-btn.active{background:#6366f114;border-color:#6366f1;color:#6366f1}.tcg2-mode-btn:hover:not(.active){border-color:#94a3b8;color:#1e293b;color:var(--color-text,#1e293b)}.tcg2-input-label{color:#64748b;color:var(--color-text-muted,#64748b);display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.tcg2-flow-textarea{background:#fff;background:var(--color-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:10px;box-sizing:border-box;color:#1e293b;color:var(--color-text,#1e293b);font-size:.88rem;line-height:1.6;padding:12px 14px;resize:vertical;transition:border-color .2s;width:100%}.tcg2-flow-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.tcg2-shot-drop{align-items:center;background:#fff;background:var(--color-bg,#fff);border:2px dashed #cbd5e1;border:2px dashed var(--color-border,#cbd5e1);border-radius:12px;cursor:pointer;display:flex;justify-content:center;min-height:160px;overflow:hidden;transition:all .2s}.tcg2-shot-drop.drag-over,.tcg2-shot-drop:hover{background:#6366f10a;border-color:#6366f1}.tcg2-shot-drop.has-file{border-color:#22c55e;border-style:solid;cursor:default}.tcg2-shot-drop-inner{align-items:center;display:flex;flex-direction:column;gap:8px;padding:24px;text-align:center}.tcg2-shot-icon{font-size:2rem}.tcg2-shot-drop-title{color:#1e293b;color:var(--color-text,#1e293b);font-size:.92rem;font-weight:600}.tcg2-shot-drop-sub{color:#94a3b8;color:var(--color-text-muted,#94a3b8);font-size:.8rem}.tcg2-shot-drop-btn{background:#6366f1;border-radius:8px;color:#fff;font-size:.8rem;font-weight:600;margin-top:6px;padding:6px 18px;pointer-events:none}.tcg2-shot-preview{max-height:240px;overflow:hidden;position:relative;width:100%}.tcg2-shot-img{display:block;max-height:240px;object-fit:contain;width:100%}.tcg2-shot-overlay{align-items:center;background:linear-gradient(#0000,#000000b3);bottom:0;display:flex;justify-content:space-between;left:0;padding:12px 16px 10px;position:absolute;right:0}.tcg2-shot-name{color:#fff;font-size:.78rem;font-weight:600}.tcg2-shot-remove{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000004d;border:1px solid #fff6;border-radius:6px;color:#fff;cursor:pointer;font-size:.75rem;padding:4px 10px}.tcg2-options-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.tcg2-opt-group{display:flex;flex-direction:column;gap:5px}.tcg2-opt-grow{flex:1 1;min-width:200px}.tcg2-opt-narrow{min-width:140px}.tcg2-opt-label{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tcg2-opt-input,.tcg2-opt-select{background:#fff;background:var(--color-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:#1e293b;color:var(--color-text,#1e293b);font-size:.88rem;padding:9px 12px;transition:border-color .2s}.tcg2-opt-input:focus,.tcg2-opt-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.tcg2-toggles{display:flex;flex-wrap:wrap;gap:8px}.tcg2-toggle{background:#fff;background:var(--color-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:20px;color:#64748b;color:var(--color-text-muted,#64748b);cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 14px;transition:all .2s;white-space:nowrap}.tcg2-toggle.on{background:#6366f114;border-color:#6366f1;color:#6366f1}.tcg2-toggle:hover:not(.on){border-color:#94a3b8;color:#1e293b;color:var(--color-text,#1e293b)}.tcg2-generate-btn{align-self:flex-start;background:#6366f1;background:var(--fw-color,#6366f1);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.92rem;font-weight:700;letter-spacing:.01em;padding:11px 28px;transition:opacity .2s,transform .15s}.tcg2-generate-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.tcg2-generate-btn:disabled{cursor:not-allowed;opacity:.5}.tcg2-error{align-items:center;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;display:flex;font-size:.85rem;gap:8px;padding:10px 14px}.tcg2-blast{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:16px;padding:18px 22px}.tcg2-blast-header{align-items:center;color:#1e293b;color:var(--color-text,#1e293b);display:flex;font-size:.85rem;font-weight:700;gap:10px;letter-spacing:.06em;margin-bottom:14px;text-transform:uppercase}.tcg2-blast-spin{animation:tcg2-spin .8s linear infinite;border:2px solid #6366f133;border-radius:50%;border-top-color:#6366f1;display:inline-block;flex-shrink:0;height:15px;width:15px}@keyframes tcg2-spin{to{transform:rotate(1turn)}}.tcg2-blast-phases{display:flex;gap:8px}.tcg2-blast-phase{align-items:center;background:#fff;background:var(--color-bg,#fff);border:2px solid #e2e8f0;border:2px solid var(--color-border,#e2e8f0);border-radius:10px;display:flex;flex:1 1;flex-direction:column;gap:3px;padding:10px 6px;text-align:center;transition:all .3s}.tcg2-blast-phase.done{background:#22c55e12;border-color:#22c55e}.tcg2-blast-phase.active{background:#6366f112;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.tcg2-blast-letter{color:#94a3b8;font-size:1.4rem;font-weight:900}.tcg2-blast-phase.done .tcg2-blast-letter{color:#22c55e}.tcg2-blast-phase.active .tcg2-blast-letter{color:#6366f1}.tcg2-blast-phase-name{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tcg2-blast-phase-desc{color:#6366f1;font-size:.68rem;font-style:italic;margin-top:1px}.tcg2-ui-desc{border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;overflow:hidden}.tcg2-ui-desc-header{background:#f8fafc;background:var(--color-surface,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);font-size:.82rem;font-weight:700;padding:10px 16px}.tcg2-ui-desc-text{background:#fff;background:var(--color-bg,#fff);color:#475569;color:var(--color-text,#475569);font-size:.8rem;line-height:1.6;margin:0;max-height:200px;overflow-y:auto;padding:14px 16px;white-space:pre-wrap}.tcg2-results{border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:16px;overflow:hidden}.tcg2-results-header{align-items:center;background:#f8fafc;background:var(--color-surface,#f8fafc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 20px}.tcg2-results-title{align-items:center;display:flex;font-size:.92rem;font-weight:700;gap:8px}.tcg2-download-all,.tcg2-results-title{color:#1e293b;color:var(--color-text,#1e293b)}.tcg2-download-all{background:#fff;background:var(--color-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:600;padding:7px 16px;transition:all .15s;white-space:nowrap}.tcg2-download-all:hover{border-color:#6366f1;color:#6366f1}.tcg2-file-tabs{background:#fff;background:var(--color-bg,#fff);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;overflow-x:auto;scrollbar-width:none}.tcg2-file-tabs::-webkit-scrollbar{display:none}.tcg2-file-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#64748b;color:var(--color-text-muted,#64748b);cursor:pointer;display:flex;flex-shrink:0;font-size:.82rem;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s;white-space:nowrap}.tcg2-file-tab:hover{color:#1e293b;color:var(--color-text,#1e293b)}.tcg2-file-tab.active{border-bottom-color:#6366f1;color:#6366f1}.tcg2-file-tab-icon{font-size:1rem}.tcg2-file-tab-name{font-family:monospace;font-size:.8rem}.tcg2-code-viewer{display:flex;flex-direction:column}.tcg2-code-bar{align-items:center;background:#1e293b;border-bottom:1px solid #334155;display:flex;gap:10px;padding:10px 16px}.tcg2-code-bar-left{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.tcg2-lang-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.tcg2-code-filename{color:#94a3b8;font-family:monospace;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcg2-lang-chip{background:#ffffff14;border-radius:4px;color:#64748b;flex-shrink:0;font-size:.7rem;font-weight:600;padding:1px 7px}.tcg2-copy-btn,.tcg2-dl-btn{background:#0000;border:1px solid #334155;border-radius:6px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:600;padding:4px 12px;transition:all .15s;white-space:nowrap}.tcg2-copy-btn:hover,.tcg2-dl-btn:hover{background:#334155;color:#fff}.tcg2-code-block{background:#0f172a;color:#e2e8f0;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.78rem;line-height:1.65;margin:0;max-height:540px;overflow-x:auto;overflow-y:auto;padding:18px;tab-size:2}.tcg2-lab{border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:16px;overflow:hidden}.tcg2-lab-header{background:linear-gradient(135deg,#6366f10a,#0ea5e90a);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);padding:16px 22px 12px}.tcg2-lab-title{align-items:center;color:#1e293b;color:var(--color-text,#1e293b);display:flex;font-size:1rem;font-weight:700;gap:8px;margin-bottom:4px}.tcg2-lab-icon{font-size:1.1rem}.tcg2-lab-badge{background:#6366f11a;border-radius:20px;color:#6366f1;display:inline-block;font-size:.7rem;font-weight:700;padding:2px 8px}.tcg2-lab-sub{color:#64748b;color:var(--color-text-muted,#64748b);font-size:.82rem;margin:0}.tcg2-lab-body{background:#fff;background:var(--color-bg,#fff);display:flex;flex-direction:column;gap:14px;padding:18px 22px}.tcg2-lab-inputs{align-items:flex-start;display:flex;gap:12px}.tcg2-lab-group{display:flex;flex:1 1;flex-direction:column;gap:5px}.tcg2-lab-or{align-self:center;color:#94a3b8;color:var(--color-text-muted,#94a3b8);font-size:.8rem;font-weight:700;padding-top:22px}.tcg2-lab-textarea{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;box-sizing:border-box;color:#1e293b;color:var(--color-text,#1e293b);font-family:Cascadia Code,Fira Code,monospace;font-size:.78rem;line-height:1.5;padding:10px 12px;resize:vertical;transition:border-color .2s;width:100%}.tcg2-lab-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.tcg2-lab-btn{align-self:flex-start;background:linear-gradient(135deg,#6366f1,#0ea5e9);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;padding:9px 22px;transition:opacity .2s}.tcg2-lab-btn:hover:not(:disabled){opacity:.88}.tcg2-lab-btn:disabled{cursor:not-allowed;opacity:.5}.tcg2-lab-results{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);display:flex;flex-direction:column;gap:10px;padding-top:14px}.tcg2-lab-section{display:flex;flex-direction:column;gap:4px}.tcg2-lab-section-label{background:#6366f112;border-radius:4px;color:#6366f1;font-size:.7rem;font-weight:800;letter-spacing:.08em;padding:3px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.tcg2-lab-section-body{background:#f8fafc;background:var(--color-surface,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;display:flex;flex-direction:column;gap:2px;overflow:hidden}.tcg2-lab-line{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--color-border,#f1f5f9);display:flex;gap:8px;justify-content:space-between;padding:6px 12px}.tcg2-lab-line:last-child{border-bottom:none}.tcg2-lab-line code{color:#1e293b;color:var(--color-text,#1e293b);flex:1 1;font-family:Cascadia Code,Fira Code,monospace;font-size:.78rem}.tcg2-lab-copy{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:.85rem;opacity:.5;padding:2px 4px;transition:opacity .15s}.tcg2-lab-copy:hover{opacity:1}[data-theme=dark] .tcg2-panel{color:#e2e8f0}[data-theme=dark] .tcg2-title{color:#f1f5f9}[data-theme=dark] .tcg2-subtitle{color:#94a3b8}[data-theme=dark] .tcg2-fw-bar{background:#1e293b}[data-theme=dark] .tcg2-fw-btn{color:#64748b}[data-theme=dark] .tcg2-fw-btn:hover{background:#0f172a;color:#f1f5f9}[data-theme=dark] .tcg2-fw-btn.active{background:#0f172a}[data-theme=dark] .tcg2-input-card{background:#1e293b;border-color:#334155}[data-theme=dark] .tcg2-mode-btn{background:#0f172a;border-color:#334155;color:#64748b}[data-theme=dark] .tcg2-mode-btn.active{background:#6366f126;color:#a5b4fc}[data-theme=dark] .tcg2-flow-textarea{color:#e2e8f0}[data-theme=dark] .tcg2-flow-textarea,[data-theme=dark] .tcg2-shot-drop{background:#0f172a;border-color:#334155}[data-theme=dark] .tcg2-shot-drop-title{color:#f1f5f9}[data-theme=dark] .tcg2-opt-input,[data-theme=dark] .tcg2-opt-select{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme=dark] .tcg2-toggle{background:#0f172a;border-color:#334155;color:#64748b}[data-theme=dark] .tcg2-toggle.on{background:#6366f126;border-color:#6366f1;color:#a5b4fc}[data-theme=dark] .tcg2-blast{background:#1e293b;border-color:#334155}[data-theme=dark] .tcg2-blast-header{color:#f1f5f9}[data-theme=dark] .tcg2-blast-phase{background:#0f172a;border-color:#334155}[data-theme=dark] .tcg2-ui-desc{border-color:#334155}[data-theme=dark] .tcg2-ui-desc-header{background:#1e293b;border-color:#334155;color:#f1f5f9}[data-theme=dark] .tcg2-ui-desc-text{background:#0f172a;color:#94a3b8}[data-theme=dark] .tcg2-results{border-color:#334155}[data-theme=dark] .tcg2-results-header{background:#1e293b;border-color:#334155}[data-theme=dark] .tcg2-results-title{color:#f1f5f9}[data-theme=dark] .tcg2-download-all{color:#e2e8f0}[data-theme=dark] .tcg2-download-all,[data-theme=dark] .tcg2-file-tabs{background:#0f172a;border-color:#334155}[data-theme=dark] .tcg2-file-tab{color:#64748b}[data-theme=dark] .tcg2-file-tab:hover{color:#f1f5f9}[data-theme=dark] .tcg2-file-tab.active{border-bottom-color:#6366f1;color:#a5b4fc}[data-theme=dark] .tcg2-lab{border-color:#334155}[data-theme=dark] .tcg2-lab-header{background:#6366f114;border-color:#334155}[data-theme=dark] .tcg2-lab-title{color:#f1f5f9}[data-theme=dark] .tcg2-lab-sub{color:#94a3b8}[data-theme=dark] .tcg2-lab-body{background:#0f172a}[data-theme=dark] .tcg2-lab-textarea{color:#e2e8f0}[data-theme=dark] .tcg2-lab-section-body,[data-theme=dark] .tcg2-lab-textarea{background:#1e293b;border-color:#334155}[data-theme=dark] .tcg2-lab-line{border-color:#1e293b}[data-theme=dark] .tcg2-lab-line code{color:#e2e8f0}@media (max-width:768px){.tcg2-panel{gap:14px;padding:16px}.tcg2-header{flex-direction:column}.tcg2-title{font-size:1.4rem}.tcg2-fw-bar{flex-wrap:wrap;width:100%}.tcg2-fw-btn{flex:1 1;justify-content:center}.tcg2-options-row{flex-direction:column}.tcg2-opt-grow,.tcg2-opt-narrow{width:100%}.tcg2-blast-phases{flex-wrap:wrap}.tcg2-blast-phase{min-width:calc(33% - 8px)}.tcg2-lab-inputs{flex-direction:column}.tcg2-lab-or{padding-top:0}.tcg2-generate-btn{text-align:center;width:100%}}.ff-panel{background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;height:100%;overflow:hidden}.ff-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;padding:18px 24px 14px}.ff-header,.ff-header-left{align-items:center;display:flex}.ff-header-left{gap:12px}.ff-header-icon{font-size:28px}.ff-header-title{color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 2px}.ff-header-sub{color:var(--text-muted);font-size:13px;margin:0}.ff-header-right{align-items:center;display:flex;gap:10px}.ff-stat-chip{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:12px}.ff-model-chip,.ff-stat-chip{border-radius:20px;padding:3px 10px}.ff-model-chip{background:#eef2ff;color:#6366f1;font-size:11px;font-weight:600}[data-theme=dark] .ff-model-chip{background:#6366f126;color:#a5b4fc}.ff-zip-btn{background:linear-gradient(135deg,#6366f1,#818cf8);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:opacity .15s}.ff-zip-btn:hover{opacity:.88}.ff-error-bar{align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;display:flex;flex-shrink:0;font-size:13px;justify-content:space-between;padding:10px 24px}[data-theme=dark] .ff-error-bar{background:#dc26261f;border-color:#dc262640;color:#f87171}.ff-error-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.ff-retry-btn{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:opacity .15s}.ff-retry-btn:hover:not(:disabled){opacity:.85}.ff-retry-btn:disabled{cursor:not-allowed;opacity:.5}[data-theme=dark] .ff-retry-btn{background:#dc2626cc}.ff-error-close{background:none;border:none;color:inherit;cursor:pointer;font-size:16px;opacity:.7;padding:0 4px}.ff-error-close:hover{opacity:1}.ff-workspace{display:flex;flex:1 1;min-height:0;overflow:hidden}.ff-col-config{border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;gap:2px;min-width:240px;overflow-y:auto;padding:16px 16px 24px;width:280px}.ff-config-section{margin-bottom:14px}.ff-section-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.07em;margin-bottom:8px;text-transform:uppercase}.ff-opt-tag{color:var(--text-muted);font-size:10px;font-weight:400;letter-spacing:0;margin-left:4px;opacity:.7;text-transform:none}.ff-fw-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.ff-fw-btn{align-items:center;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:6px;line-height:1.3;padding:7px 8px;text-align:left;transition:all .15s}.ff-fw-btn:hover{color:var(--text-primary)}.ff-fw-btn.selected,.ff-fw-btn:hover{border-color:#6366f1;border-color:var(--fw-clr,#6366f1)}.ff-fw-btn.selected{background:color-mix(in srgb,#6366f1 10%,#0000);background:color-mix(in srgb,var(--fw-clr,#6366f1) 10%,#0000);color:#6366f1;color:var(--fw-clr,#6366f1);font-weight:700}.ff-lang-row{display:flex;gap:6px}.ff-lang-btn{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:6px 10px;transition:all .15s}.ff-lang-btn.active,.ff-lang-btn:hover{border-color:#6366f1}.ff-lang-btn.active{background:#eef2ff;color:#6366f1;font-weight:700}[data-theme=dark] .ff-lang-btn.active{background:#6366f126;color:#a5b4fc}.ff-input{background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:7px;box-sizing:border-box;color:var(--text-primary);font-size:13px;outline:none;padding:7px 10px;transition:border-color .15s;width:100%}.ff-input:focus{border-color:#6366f1}.ff-textarea{background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:7px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;padding:7px 10px;resize:none;transition:border-color .15s;width:100%}.ff-textarea:focus{border-color:#6366f1}.ff-options-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.ff-checkbox-label{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;gap:6px;-webkit-user-select:none;user-select:none}.ff-checkbox-label input[type=checkbox]{accent-color:#6366f1;cursor:pointer;height:14px;width:14px}.ff-generate-btn{background:linear-gradient(135deg,#6366f1,color-mix(in srgb,#6366f1 70%,#fff));background:linear-gradient(135deg,var(--fw-clr,#6366f1),color-mix(in srgb,var(--fw-clr,#6366f1) 70%,#fff));border:none;border-radius:9px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-top:6px;padding:12px;transition:opacity .15s,transform .1s;width:100%}.ff-generate-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ff-generate-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.ff-col-welcome{align-items:center;display:flex;flex:1 1;justify-content:center;padding:40px 24px}.ff-welcome{max-width:420px;text-align:center}.ff-welcome-icon{font-size:52px;margin-bottom:16px;opacity:.75}.ff-welcome h3{color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 10px}.ff-welcome p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 24px}.ff-welcome-features{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;text-align:left}.ff-welcome-feat{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:13px;gap:8px;padding:9px 12px}.ff-col-blast,.ff-welcome-feat{align-items:center;display:flex}.ff-col-blast{flex:1 1;justify-content:center;padding:40px 24px}.ff-blast-wrap{max-width:480px;width:100%}.ff-blast-spinner{animation:ff-spin .8s linear infinite;border:3px solid color-mix(in srgb,#6366f1 20%,#0000);border-top-color:#6366f1;border:3px solid color-mix(in srgb,var(--fw-clr,#6366f1) 20%,#0000);border-radius:50%;border-top-color:var(--fw-clr,#6366f1);height:48px;margin:0 auto 20px;width:48px}@keyframes ff-spin{to{transform:rotate(1turn)}}.ff-blast-header{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;gap:12px;margin-bottom:28px;padding:12px 16px}.ff-blast-fw-icon{font-size:28px}.ff-blast-fw-name{color:var(--text-primary);font-size:15px;font-weight:700}.ff-blast-proj{color:var(--text-muted);font-size:12px;margin-top:2px}.ff-blast-phases{display:flex;flex-direction:column;gap:10px}.ff-blast-phase{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:9px;display:flex;gap:12px;opacity:.45;padding:10px 14px;transition:all .3s}.ff-blast-phase.active{background:color-mix(in srgb,#6366f1 6%,var(--bg-secondary));background:color-mix(in srgb,var(--fw-clr,#6366f1) 6%,var(--bg-secondary));border-color:#6366f1;border-color:var(--fw-clr,#6366f1);opacity:1}.ff-blast-phase.done{opacity:.7}.ff-blast-dot{align-items:center;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:50%;color:var(--text-muted);display:flex;flex-shrink:0;font-size:11px;font-weight:800;height:28px;justify-content:center;transition:all .3s;width:28px}.ff-blast-phase.active .ff-blast-dot{animation:ff-pulse 1.2s ease-in-out infinite;background:#6366f1;background:var(--fw-clr,#6366f1);border-color:#6366f1;border-color:var(--fw-clr,#6366f1);color:#fff}.ff-blast-phase.done .ff-blast-dot{background:#22c55e;border-color:#22c55e;color:#fff}@keyframes ff-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,#6366f1 40%,#0000);box-shadow:0 0 0 0 color-mix(in srgb,var(--fw-clr,#6366f1) 40%,#0000)}50%{box-shadow:0 0 0 6px #0000}}.ff-blast-text{display:flex;flex-direction:column;gap:2px}.ff-blast-phase-label{color:var(--text-primary);font-size:13px;font-weight:700}.ff-blast-desc{color:var(--text-muted);font-size:12px}.ff-col-tree{border-right:1px solid var(--border-color);flex-direction:column;min-width:200px;overflow:hidden;width:240px}.ff-col-tree,.ff-tree-top{display:flex;flex-shrink:0}.ff-tree-top{align-items:center;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:8px 10px}.ff-tree-heading{color:var(--text-secondary);flex:1 1;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-tree-top-actions{display:flex;gap:4px}.ff-tree-top-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;opacity:.6;padding:2px 4px;transition:opacity .15s,background .15s}.ff-tree-top-btn:hover{background:var(--bg-hover);opacity:1}.ff-tree-body{flex:1 1;overflow-y:auto;padding:6px 0}.ff-tree-node{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:4px;min-height:30px;padding:4px 8px 4px 0;position:relative;transition:background .1s;-webkit-user-select:none;user-select:none}.ff-tree-node:hover{background:var(--bg-hover)}.ff-file-node.selected{background:#eef2ff;color:#6366f1}[data-theme=dark] .ff-file-node.selected{background:#6366f126;color:#a5b4fc}.ff-file-node.regen{opacity:.6}.ff-folder-node{font-weight:600}.ff-tree-arrow{color:var(--text-muted);flex-shrink:0;font-size:10px;text-align:center;width:14px}.ff-tree-icon{flex-shrink:0;font-size:14px}.ff-tree-name{color:var(--text-primary);flex:1 1;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-file-node.selected .ff-tree-name{color:inherit}.ff-node-actions{align-items:center;display:none;flex-shrink:0;gap:1px;margin-left:auto}.ff-tree-node:hover .ff-node-actions{display:flex}.ff-node-actions button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:11px;line-height:1;opacity:.7;padding:2px 3px;transition:opacity .1s,background .1s}.ff-node-actions button:hover{background:var(--bg-secondary);opacity:1}.ff-rename-input{background:var(--bg-primary);border:1px solid #6366f1;border-radius:4px;color:var(--text-primary);flex:1 1;font-size:12.5px;min-width:0;outline:none;padding:1px 5px}.ff-add-input-row{align-items:center;display:flex;gap:6px;padding:4px 8px 4px 24px}.ff-add-input{background:var(--bg-primary);border:1px solid #6366f1;border-radius:5px;color:var(--text-primary);flex:1 1;font-size:12px;outline:none;padding:3px 7px}.ff-regen-spin{animation:ff-spin .7s linear infinite;color:#6366f1;display:inline-block;font-size:13px}.ff-col-viewer{flex:1 1;min-width:0;overflow:hidden}.ff-col-viewer,.ff-viewer{display:flex;flex-direction:column}.ff-viewer{height:100%}.ff-viewer-toolbar{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:8px 14px}.ff-viewer-file{align-items:center;display:flex;gap:7px;overflow:hidden}.ff-viewer-fname{color:var(--text-primary);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-viewer-lang-dot{background:#88a;border-radius:50%;flex-shrink:0;height:8px;width:8px}.ff-viewer-lang-dot[data-lang=typescript]{background:#3178c6}.ff-viewer-lang-dot[data-lang=javascript]{background:#f7df1e}.ff-viewer-lang-dot[data-lang=java]{background:#f97316}.ff-viewer-lang-dot[data-lang=python]{background:#3776ab}.ff-viewer-lang-dot[data-lang=yaml]{background:#cb171e}.ff-viewer-lang-dot[data-lang=json]{background:#89c729}.ff-viewer-lang-dot[data-lang=xml]{background:#e79b00}.ff-viewer-lang-dot[data-lang=markdown]{background:#083fa1}.ff-viewer-lang-dot[data-lang=bash]{background:#4eaa25}.ff-viewer-lang-txt{color:var(--text-muted);font-size:11px;white-space:nowrap}.ff-viewer-btns{align-items:center;display:flex;flex-shrink:0;gap:6px}.ff-viewer-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px 10px;transition:all .15s;white-space:nowrap}.ff-viewer-btn:hover:not(:disabled){border-color:#6366f1;color:#6366f1}.ff-viewer-btn:disabled{cursor:not-allowed;opacity:.45}.ff-regen-spin-sm{animation:ff-spin .7s linear infinite;color:#6366f1;display:inline-block;font-size:14px}.ff-code-area{background:var(--bg-primary);border:none;box-sizing:border-box;color:var(--text-primary);flex:1 1;font-family:JetBrains Mono,Fira Code,Cascadia Code,Courier New,monospace;font-size:12.5px;line-height:1.65;outline:none;padding:14px 16px;resize:none;tab-size:2;width:100%}.ff-viewer-empty{align-items:center;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:center}.ff-viewer-empty-icon{font-size:32px;opacity:.5}.ff-viewer-empty p{font-size:13px;margin:0;text-align:center}@media (max-width:900px){.ff-col-config{min-width:180px;width:220px}.ff-col-tree{min-width:160px;width:200px}.ff-fw-grid{grid-template-columns:1fr}}@media (max-width:700px){.ff-workspace{flex-direction:column}.ff-col-config{max-height:260px}.ff-col-config,.ff-col-tree{border-bottom:1px solid var(--border-color);border-right:none;width:100%}.ff-col-tree{max-height:220px}.ff-col-viewer{min-height:300px}}.qab-panel{background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;height:100%;overflow:hidden}.qab-header{background:linear-gradient(135deg,#6366f1,#818cf8);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;padding:14px 22px 12px}.qab-header,.qab-header-left{align-items:center;display:flex}.qab-header-left{gap:12px}.qab-avatar-lg{align-items:center;background:#fff3;border-radius:50%;display:flex;flex-shrink:0;font-size:22px;height:42px;justify-content:center;width:42px}.qab-title{color:#fff;font-size:18px;font-weight:800;margin:0 0 2px}.qab-subtitle{color:#ffffffc7;font-size:12px;margin:0}.qab-new-chat-btn{background:#ffffff2e;border:1.5px solid #ffffff59;border-radius:8px;color:#fff;cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 14px;transition:background .15s}.qab-new-chat-btn:hover{background:#ffffff47}.qab-error-bar{align-items:center;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;display:flex;flex-shrink:0;font-size:13px;gap:12px;justify-content:space-between;padding:9px 20px}[data-theme=dark] .qab-error-bar{background:#dc26261a;border-color:#dc262640;color:#f87171}.qab-error-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.qab-retry-btn{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:3px 10px}.qab-retry-btn:hover:not(:disabled){opacity:.85}.qab-retry-btn:disabled{cursor:not-allowed;opacity:.5}.qab-error-close{background:none;border:none;color:inherit;cursor:pointer;font-size:16px;opacity:.7;padding:0 2px}.qab-error-close:hover{opacity:1}.qab-error-ratelimit{background:#fefce8;border-color:#fde047;color:#92400e}[data-theme=dark] .qab-error-ratelimit{background:#eab3081a;border-color:#eab30840;color:#fde047}.qab-countdown{background:#92400e;border-radius:12px;color:#fff;font-size:12px;font-weight:700;min-width:36px;padding:2px 9px;text-align:center}[data-theme=dark] .qab-countdown{background:#eab3084d;color:#fde047}.qab-messages{flex:1 1;gap:16px;overflow-y:auto;padding:20px 16px 8px;scroll-behavior:smooth}.qab-messages,.qab-welcome{display:flex;flex-direction:column}.qab-welcome{align-items:center;margin:0 auto;max-width:680px;padding:20px 24px 12px;text-align:center;width:100%}.qab-welcome-avatar{animation:qab-float 3s ease-in-out infinite;font-size:52px;margin-bottom:14px}@keyframes qab-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.qab-welcome h3{color:var(--text-primary);font-size:22px;font-weight:800;margin:0 0 8px}.qab-welcome p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 22px;max-width:500px}.qab-starters{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;max-width:640px;width:100%}.qab-starter-btn{align-items:flex-start;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;gap:8px;line-height:1.4;padding:10px 14px;text-align:left;transition:all .15s}.qab-starter-btn:hover:not(:disabled){background:#eef2ff;border-color:#6366f1;color:var(--text-primary);transform:translateY(-1px)}[data-theme=dark] .qab-starter-btn:hover:not(:disabled){background:#6366f11f}.qab-starter-btn:disabled{cursor:not-allowed;opacity:.5}.qab-starter-btn span:first-child{flex-shrink:0;font-size:16px}.qab-msg-row{align-items:flex-end;animation:qab-fadein .25s ease;display:flex;gap:10px;max-width:100%}@keyframes qab-fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.qab-msg-assistant{justify-content:flex-start}.qab-msg-user{justify-content:flex-end}.qab-msg-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#818cf8);border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.qab-user-avatar{background:linear-gradient(135deg,#0ea5e9,#38bdf8)}.qab-msg-bubble{border-radius:14px;max-width:min(72%,680px);padding:12px 16px;position:relative;word-break:break-word}.qab-msg-assistant .qab-msg-bubble{background:var(--bg-secondary);border:1px solid var(--border-color);border-bottom-left-radius:4px}.qab-msg-user .qab-msg-bubble{background:linear-gradient(135deg,#6366f1,#818cf8);border-bottom-right-radius:4px;color:#fff}.qab-msg-user-text{font-size:14px;line-height:1.55;white-space:pre-wrap}.qab-msg-time{font-size:10px;margin-top:6px;opacity:.5;text-align:right}.qab-msg-img{border-radius:8px;display:block;margin-bottom:6px;max-height:200px;max-width:280px;object-fit:cover}.qab-msg-files{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}.qab-msg-file-chip{background:#ffffff2e;border:1px solid #ffffff4d;border-radius:20px;font-size:11.5px;max-width:160px;overflow:hidden;padding:2px 9px;text-overflow:ellipsis;white-space:nowrap}.qab-typing{align-items:center;display:flex;gap:5px;padding:14px 18px}.qab-typing span{animation:qab-bounce 1.2s ease-in-out infinite;background:#6366f1;border-radius:50%;height:8px;width:8px}.qab-typing span:nth-child(2){animation-delay:.2s}.qab-typing span:nth-child(3){animation-delay:.4s}@keyframes qab-bounce{0%,80%,to{opacity:.5;transform:scale(.7)}40%{opacity:1;transform:scale(1.1)}}.qab-msg-body{color:var(--text-primary);font-size:14px;line-height:1.65}.qab-text-seg{margin-bottom:4px}.qab-ic{background:#6366f11f;border-radius:4px;color:#6366f1;font-family:JetBrains Mono,Fira Code,monospace;font-size:12.5px;padding:1px 5px}[data-theme=dark] .qab-ic{background:#a5b4fc26;color:#a5b4fc}.qab-code-block{background:#1e1e2e;border-radius:8px;margin:10px 0;overflow:hidden;position:relative}[data-theme=dark] .qab-code-block{background:#0d0d1a;border:1px solid #2d2d50}.qab-code-lang{color:#7c85c9;font-size:10px;font-weight:700;left:12px;letter-spacing:.08em;position:absolute;text-transform:uppercase;top:8px}.qab-code-copy{background:#ffffff14;border:1px solid #ffffff1f;border-radius:5px;color:#aaa;cursor:pointer;font-size:13px;padding:2px 6px;position:absolute;right:8px;top:6px;transition:background .15s,color .15s;z-index:1}.qab-code-copy:hover{background:#ffffff26;color:#fff}.qab-code-block pre{margin:0;overflow-x:auto;padding:32px 14px 14px}.qab-code-block pre code{background:none;color:#e2e8f0;font-family:JetBrains Mono,Fira Code,Cascadia Code,Courier New,monospace;font-size:12.5px;line-height:1.6}.qab-input-area{background:var(--bg-primary);border-top:1px solid var(--border-color);flex-shrink:0;padding:10px 16px 12px}.qab-att-preview{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.qab-att-chip{align-items:center;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:8px;display:flex;gap:5px;max-width:200px;padding:4px 8px}.qab-att-thumb{border-radius:4px;flex-shrink:0;height:28px;object-fit:cover;width:28px}.qab-att-icon{flex-shrink:0;font-size:16px}.qab-att-name{color:var(--text-secondary);font-size:11.5px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qab-att-size{color:var(--text-muted);font-size:10px;white-space:nowrap}.qab-att-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:13px;line-height:1;padding:0 2px}.qab-att-remove:hover{color:#ef4444}.qab-input-row{width:100%}.qab-input-box{align-items:flex-end;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:14px;display:flex;gap:8px;padding:6px 8px 6px 14px;transition:border-color .15s}.qab-input-box:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.qab-textarea{background:none;border:none;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:14px;line-height:1.55;max-height:160px;min-height:24px;outline:none;overflow-y:auto;padding:4px 0;resize:none}.qab-textarea::placeholder{color:var(--text-muted)}.qab-textarea:disabled{opacity:.6}.qab-input-actions{align-items:center;display:flex;flex-shrink:0;gap:4px;padding-bottom:2px}.qab-att-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:34px;justify-content:center;transition:all .15s;width:34px}.qab-att-btn:hover:not(:disabled){background:#eef2ff;border-color:#6366f1;color:#6366f1}[data-theme=dark] .qab-att-btn:hover:not(:disabled){background:#6366f126}.qab-att-btn:disabled{cursor:not-allowed;opacity:.45}.qab-send-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#818cf8);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:36px;justify-content:center;transition:opacity .15s,transform .1s;width:36px}.qab-send-btn:hover:not(:disabled){opacity:.88;transform:scale(1.05)}.qab-send-btn:disabled{cursor:not-allowed;opacity:.35;transform:none}.qab-send-btn:not(:disabled){animation:qab-send-glow 2s ease-in-out infinite}@keyframes qab-send-glow{0%,to{box-shadow:0 0 0 0 #6366f100}50%{box-shadow:0 0 8px 2px #6366f159}}.qab-input-hint{color:var(--text-muted);font-size:11px;margin-top:7px;opacity:.7;text-align:center}@media (max-width:600px){.qab-starters{grid-template-columns:1fr}.qab-msg-bubble{max-width:88%}.qab-header{padding:12px 14px}.qab-messages{padding:14px 10px}.qab-input-area{padding:8px 10px 10px}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;scroll-behavior:smooth}body{background-color:#fff;color:#1f2937}[data-theme=dark] body{background-color:#111827;color:#f3f4f6}.app{background-color:#f3f4f6;background-color:var(--gray-100,#f3f4f6);display:flex;flex-direction:column;min-height:100vh}[data-theme=dark] .app{background-color:#0f172a}.app-layout{display:flex;flex:1 1;overflow:hidden}@media (max-width:768px){.app-layout{flex-direction:column}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f5f9}[data-theme=dark] ::-webkit-scrollbar-track{background:#1e293b}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#475569}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#64748b}input,select,textarea{font-family:inherit}input:focus,select:focus,textarea:focus{outline:none}button{cursor:pointer;font-family:inherit;transition:all .2s}button:disabled{cursor:not-allowed;opacity:.5}a{color:#3b82f6;text-decoration:none;transition:color .2s}a:hover{color:#2563eb}[data-theme=dark] a{color:#60a5fa}[data-theme=dark] a:hover{color:#93c5fd}::selection{background-color:#3b82f6;color:#fff}[data-theme=dark] ::selection{background-color:#1e40af;color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}[data-theme=dark] :focus-visible{outline-color:#60a5fa}
/*# sourceMappingURL=main.7fe129bd.css.map*/