.tools-hero{min-height:50vh;display:flex;align-items:center;justify-content:center;position:relative;padding:140px 24px 60px;text-align:center;overflow:hidden}.tools-hero .hero-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);top:-200px;left:50%;transform:translate(-50%);animation:glowPulse 6s ease-in-out infinite;pointer-events:none}.tools-hero h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:16px;position:relative;z-index:2}.tools-hero p{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.7;position:relative;z-index:2}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;max-width:var(--max-width);margin:0 auto;padding:0 24px 120px}.tool-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px;transition:all .35s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;cursor:pointer;text-decoration:none;display:block}.tool-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-accent, linear-gradient(90deg, var(--accent), var(--accent-bright)));opacity:0;transition:opacity .3s}.tool-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-6px);box-shadow:0 20px 60px #0006,0 0 40px var(--card-glow, var(--accent-glow))}.tool-card:hover:before{opacity:1}.tool-card-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:20px;background:var(--card-icon-bg, rgba(124, 92, 252, .12));border:1px solid var(--card-icon-border, rgba(124, 92, 252, .2))}.tool-card h3{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}.tool-card p{font-size:.875rem;color:var(--text-secondary);line-height:1.7;margin-bottom:20px}.tool-card-brains{display:flex;flex-wrap:wrap;gap:6px}.capability-tag{font-family:var(--font-mono);font-size:.7rem;padding:3px 10px;border-radius:100px;background:#ffffff0a;border:1px solid var(--border);color:var(--text-secondary);font-weight:500}.tool-card.planning{--card-accent: linear-gradient(90deg, #7c5cfc, #38bdf8);--card-glow: rgba(56, 189, 248, .15);--card-icon-bg: rgba(56, 189, 248, .1);--card-icon-border: rgba(56, 189, 248, .2)}.tool-card.brainstorm{--card-accent: linear-gradient(90deg, #fbbf24, #fb923c);--card-glow: rgba(251, 191, 36, .15);--card-icon-bg: rgba(251, 191, 36, .1);--card-icon-border: rgba(251, 191, 36, .2)}.tool-card.redteam{--card-accent: linear-gradient(90deg, #f87171, #ef4444);--card-glow: rgba(248, 113, 113, .15);--card-icon-bg: rgba(248, 113, 113, .1);--card-icon-border: rgba(248, 113, 113, .2)}.tool-card.framework{--card-accent: linear-gradient(90deg, #34d399, #10b981);--card-glow: rgba(52, 211, 153, .15);--card-icon-bg: rgba(52, 211, 153, .1);--card-icon-border: rgba(52, 211, 153, .2)}.tool-card.strategic{--card-accent: linear-gradient(90deg, #e879f9, #c084fc);--card-glow: rgba(232, 121, 249, .15);--card-icon-bg: rgba(232, 121, 249, .1);--card-icon-border: rgba(232, 121, 249, .2)}.tool-card.research{--card-accent: linear-gradient(90deg, #38bdf8, #06b6d4);--card-glow: rgba(6, 182, 212, .15);--card-icon-bg: rgba(6, 182, 212, .1);--card-icon-border: rgba(6, 182, 212, .2)}.tool-page{padding-top:72px;min-height:100vh}.tool-header{padding:60px 24px 40px;text-align:center;position:relative;overflow:hidden}.tool-header .hero-glow{position:absolute;width:500px;height:500px;border-radius:50%;top:-250px;left:50%;transform:translate(-50%);animation:glowPulse 6s ease-in-out infinite;pointer-events:none}.tool-header .section-tag{margin-bottom:16px}.tool-header h1{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em;margin-bottom:12px;position:relative;z-index:2}.tool-header p{font-size:1rem;color:var(--text-secondary);max-width:560px;margin:0 auto;line-height:1.7;position:relative;z-index:2}.tool-body{display:grid;grid-template-columns:420px 1fr;gap:32px;max-width:1400px;margin:0 auto;padding:0 24px 80px;align-items:start}.input-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;position:sticky;top:104px}.input-panel h3{font-size:1rem;font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:8px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.875rem;transition:border-color .2s,box-shadow .2s;outline:none}.form-group textarea{min-height:100px;resize:vertical;line-height:1.6}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-group input::placeholder,.form-group textarea::placeholder{color:#9898a880}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239898a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-group select option{background:var(--bg-primary);color:var(--text-primary)}.btn-analyze{width:100%;padding:14px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 0 20px var(--accent-glow),0 4px 12px #0000004d;margin-top:8px}.btn-analyze:hover{background:var(--accent-bright);transform:translateY(-2px);box-shadow:0 0 30px var(--accent-glow),0 8px 24px #0000004d}.btn-analyze:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-analyze .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;display:none}.btn-analyze.loading .spinner{display:block}.btn-analyze.loading span{display:none}@keyframes spin{to{transform:rotate(360deg)}}.output-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;min-height:600px;position:relative}.output-panel h3{font-size:1rem;font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:8px}.output-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;text-align:center;color:var(--text-secondary);gap:16px}.output-empty .empty-icon{font-size:3rem;opacity:.3;animation:floatNode 4s ease-in-out infinite}.output-empty p{font-size:.9375rem;max-width:300px;line-height:1.6}.pipeline-progress{margin-bottom:32px}.pipeline-stage{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);opacity:.3;transition:opacity .4s,transform .4s;transform:translate(-8px)}.pipeline-stage.active{opacity:1;transform:translate(0)}.pipeline-stage.completed{opacity:.7;transform:translate(0)}.stage-indicator{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0;border:2px solid var(--border);color:var(--text-secondary);transition:all .3s}.pipeline-stage.active .stage-indicator{border-color:var(--accent);color:var(--accent-bright);box-shadow:0 0 12px var(--accent-glow);animation:pulseRing 1.5s ease-in-out infinite}.pipeline-stage.completed .stage-indicator{border-color:var(--success);color:var(--success);background:#34d3991a}@keyframes pulseRing{0%,to{box-shadow:0 0 8px var(--accent-glow)}50%{box-shadow:0 0 20px var(--accent-glow)}}.stage-info{flex:1}.stage-name{font-size:.8125rem;font-weight:600;display:block}.stage-desc{font-size:.75rem;color:var(--text-secondary)}.stage-status{font-family:var(--font-mono);font-size:.7rem;font-weight:600;padding:2px 10px;border-radius:100px;background:#ffffff0a}.pipeline-stage.active .stage-status{color:var(--accent-bright);background:#7c5cfc1f}.pipeline-stage.completed .stage-status{color:var(--success);background:#34d3991a}.result-section{margin-bottom:28px;animation:resultFadeIn .5s ease-out both}.result-section h4{font-size:.875rem;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.result-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;margin-bottom:12px;transition:border-color .2s}.result-card:hover{border-color:var(--border-hover)}.result-card p{font-size:.8125rem;color:var(--text-secondary);line-height:1.7}.result-card .card-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-bright);margin-bottom:8px;display:block}@keyframes resultFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.score-bar-group{display:flex;flex-direction:column;gap:12px}.score-bar{display:flex;align-items:center;gap:12px}.score-bar-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);width:160px;flex-shrink:0}.score-bar-track{flex:1;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.score-bar-fill{height:100%;border-radius:3px;transition:width 1s cubic-bezier(.22,1,.36,1);width:0%}.score-bar-fill.excellent{background:linear-gradient(90deg,var(--success),#6ee7b7)}.score-bar-fill.good{background:linear-gradient(90deg,#38bdf8,#7dd3fc)}.score-bar-fill.warning{background:linear-gradient(90deg,var(--warning),#fde68a)}.score-bar-fill.danger{background:linear-gradient(90deg,var(--danger),#fca5a5)}.score-bar-value{font-family:var(--font-mono);font-size:.75rem;font-weight:600;width:36px;text-align:right;flex-shrink:0}.heat-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.heat-cell{padding:12px;border-radius:var(--radius-sm);text-align:center;font-size:.75rem;font-weight:600;transition:transform .2s}.heat-cell:hover{transform:scale(1.05)}.heat-cell.critical{background:#f8717133;color:var(--danger);border:1px solid rgba(248,113,113,.2)}.heat-cell.high{background:#fbbf2426;color:var(--warning);border:1px solid rgba(251,191,36,.15)}.heat-cell.medium{background:#38bdf81f;color:#38bdf8;border:1px solid rgba(56,189,248,.15)}.heat-cell.low{background:#34d3991a;color:var(--success);border:1px solid rgba(52,211,153,.15)}.heat-cell-label{display:block;font-size:.7rem;font-weight:400;margin-top:4px;opacity:.7}.swot-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.swot-cell{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.swot-cell h5{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.swot-cell.strengths h5{color:var(--success)}.swot-cell.weaknesses h5{color:var(--danger)}.swot-cell.opportunities h5{color:#38bdf8}.swot-cell.threats h5{color:var(--warning)}.swot-cell ul{list-style:none;padding:0}.swot-cell li{font-size:.8rem;color:var(--text-secondary);padding:4px 0 4px 16px;position:relative;line-height:1.5}.swot-cell li:before{content:"›";position:absolute;left:0;color:var(--accent-bright);font-weight:700}.radar-container{display:flex;justify-content:center;padding:20px 0}.radar-container canvas{max-width:100%}.findings-list{display:flex;flex-direction:column;gap:8px}.finding-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:var(--bg-elevated);border-radius:var(--radius-sm);border-left:3px solid var(--border);transition:border-color .2s}.finding-item.critical{border-left-color:var(--danger)}.finding-item.warning{border-left-color:var(--warning)}.finding-item.info{border-left-color:#38bdf8}.finding-item.success{border-left-color:var(--success)}.finding-severity{font-family:var(--font-mono);font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:100px;flex-shrink:0;text-transform:uppercase}.finding-item.critical .finding-severity{background:#f8717126;color:var(--danger)}.finding-item.warning .finding-severity{background:#fbbf2426;color:var(--warning)}.finding-item.info .finding-severity{background:#38bdf81f;color:#38bdf8}.finding-item.success .finding-severity{background:#34d3991a;color:var(--success)}.finding-text{font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.convergence-result{text-align:center;padding:32px;background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border)}.convergence-score{font-family:var(--font-mono);font-size:3rem;font-weight:800;margin-bottom:8px;background:linear-gradient(135deg,var(--accent-bright),#e879f9,var(--success));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.convergence-label-text{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.convergence-tier{display:inline-block;margin-top:12px;font-family:var(--font-mono);font-size:.75rem;font-weight:600;padding:4px 16px;border-radius:100px;background:#34d3991a;color:var(--success);border:1px solid rgba(52,211,153,.2)}.idea-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.idea-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;transition:all .3s}.idea-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.idea-card .idea-num{font-family:var(--font-mono);font-size:.7rem;color:var(--accent);font-weight:600;margin-bottom:6px;display:block}.idea-card h5{font-size:.8125rem;font-weight:700;margin-bottom:6px}.idea-card p{font-size:.75rem;color:var(--text-secondary);line-height:1.6}.idea-card .idea-score{font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--success);margin-top:8px;display:block}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-secondary);font-weight:500;transition:color .2s;padding:12px 0}.back-link:hover{color:var(--accent-bright)}.knowledge-graph{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0}.kg-node{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:100px;font-size:.75rem;font-weight:500;color:var(--text-secondary);transition:all .2s}.kg-node:hover{border-color:var(--accent);color:var(--text-primary)}.kg-node .kg-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.comparison-table{width:100%;border-collapse:collapse;font-size:.8125rem}.comparison-table th{text-align:left;padding:10px 14px;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg-elevated)}.comparison-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.comparison-table tr:hover td{background:#ffffff05}.scenario-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.scenario-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;text-align:center}.scenario-card h5{font-size:.8rem;font-weight:700;margin-bottom:8px}.scenario-card.best h5{color:var(--success)}.scenario-card.expected h5{color:#38bdf8}.scenario-card.worst h5{color:var(--danger)}.scenario-card p{font-size:.75rem;color:var(--text-secondary);line-height:1.6}.scenario-card .probability{font-family:var(--font-mono);font-size:.8rem;font-weight:700;margin-top:10px;display:block}.scenario-card.best .probability{color:var(--success)}.scenario-card.expected .probability{color:#38bdf8}.scenario-card.worst .probability{color:var(--danger)}@media(max-width:1024px){.tool-body{grid-template-columns:1fr}.input-panel{position:static}.swot-grid,.scenario-cards{grid-template-columns:1fr}}@media(max-width:768px){.tools-grid{grid-template-columns:1fr}.heat-map{grid-template-columns:repeat(2,1fr)}.idea-grid{grid-template-columns:1fr}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{opacity:0;transform:translateY(16px);transition:opacity .5s ease-out,transform .5s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}
