*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0e17;--bg2:#111827;--bg3:#1a2235;--text:#e8e8f0;--text2:#a0a8c0;--text3:#6b7494;--border:#2a3550;--border2:#3a4a6a;--card:#141c30;--card2:#1a2440;--gold:#d4a843;--gold2:#e8c56a;--green:#10b981;--amber:#f59e0b;--red:#ef4444;--blue:#3b82f6}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.7;min-height:100vh}.wrap{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.header{text-align:center;padding:2.5rem 0 1.5rem}.logo{font-size:36px;margin-bottom:.5rem}.header h1{font-size:clamp(24px,4vw,36px);font-weight:800;color:var(--text);margin-bottom:.25rem}.sub{font-size:14px;letter-spacing:1px}.sub,.subtitle{color:var(--text2)}.subtitle{font-size:15px;text-align:center;margin-bottom:2.5rem;line-height:1.6}.input-panel{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:2rem;margin-bottom:2rem}.field{margin-bottom:1.25rem}.field label{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--text2);margin-bottom:.5rem}.field input{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:.75rem 1rem;color:var(--text);font-size:15px;outline:none}.field input:focus{border-color:var(--gold)}.btn{background:var(--gold);color:#0a0e17;font-weight:700;font-size:15px;border:none;border-radius:8px;padding:.85rem 2rem;cursor:pointer;width:100%;transition:background .2s;letter-spacing:.5px}.btn:hover{background:var(--gold2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.reset{background:transparent;border:1px solid var(--border2);color:var(--text2);margin-top:1.5rem}.btn.reset:hover{border-color:var(--gold);color:var(--gold)}.error{color:var(--red);font-size:13px;margin-top:.75rem;text-align:center}.key-banner{background:linear-gradient(135deg,#7f1d1d,#991b1b);border:1px solid #dc2626;border-radius:10px;padding:.75rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;cursor:pointer}.kb-badge{background:#dc2626;color:#fff;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:.3rem .7rem;border-radius:4px;white-space:nowrap}.kb-text{font-size:13px;color:#fca5a5}.kb-link{color:var(--gold2);font-weight:600;text-decoration:underline}.result-panel{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:2rem;margin-bottom:2rem}.result-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;font-size:13px;color:var(--text2);align-items:center}.tag{background:var(--bg3);color:var(--gold);font-size:10px;font-weight:700;letter-spacing:1.5px;padding:.3rem .7rem;border-radius:4px}.scores-row{display:flex;gap:1.5rem;margin-bottom:2rem}.score-box{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:1.25rem;text-align:center;flex:1 1}.score-num{font-size:36px;font-weight:800;margin-bottom:.25rem}.score-lbl{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text2)}.section{margin-bottom:2rem}.section h3{font-size:16px;font-weight:600;color:var(--text);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.position-block{background:var(--bg2);border-radius:8px;padding:1rem 1.25rem;margin-bottom:.75rem}.position-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}.position-block p{color:var(--text2);line-height:1.6}.path-list{padding-left:1.5rem;color:var(--text2)}.path-list li{margin-bottom:.5rem;line-height:1.5}.timeline{font-size:13px;color:var(--gold);margin-top:.75rem;font-weight:600}.landscape-grid{display:grid;grid-gap:1rem;gap:1rem}.comp-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.comp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.comp-name{font-weight:600;color:var(--text)}.trend{font-size:12px;font-weight:600;padding:.2rem .5rem;border-radius:4px}.trend.rising{color:var(--green);background:rgba(16,185,129,.1)}.trend.falling{color:var(--red);background:rgba(239,68,68,.1)}.trend.stable{color:var(--amber);background:rgba(245,158,11,.1)}.comp-bullets{font-size:13px;color:var(--text2)}.comp-bullets div{margin-bottom:.25rem}.comp-bullets .up{color:var(--green)}.comp-bullets .down{color:var(--red)}.swot-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media(max-width:600px){.swot-grid{grid-template-columns:1fr}}.swot{border-radius:8px;padding:1rem 1.25rem}.swot.strength{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2)}.swot.weakness{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2)}.swot.opportunity{background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2)}.swot.threat{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2)}.swot-title{font-size:11px;letter-spacing:1.5px;font-weight:700;margin-bottom:.75rem}.swot.strength .swot-title{color:var(--green)}.swot.weakness .swot-title{color:var(--red)}.swot.opportunity .swot-title{color:var(--blue)}.swot.threat .swot-title{color:var(--amber)}.swot ul{padding-left:1.25rem;color:var(--text2);font-size:13px}.swot li{margin-bottom:.35rem;line-height:1.5}.opps-list{display:grid;grid-gap:1rem;gap:1rem}.opp-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.opp-card.threat-type{border-color:rgba(239,68,68,.3)}.opp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.opp-name{font-weight:600;color:var(--text);font-size:14px}.opp-score{font-size:14px;font-weight:700;color:var(--green)}.opp-score.red{color:var(--red)}.opp-desc{font-size:13px;color:var(--text2);line-height:1.5}.signals-list{display:grid;grid-gap:.5rem;gap:.5rem}.signal-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg2);border-radius:6px;font-size:13px}.signal-name{color:var(--text);font-weight:500}.impact-badge{font-size:10px;font-weight:700;padding:.2rem .5rem;border-radius:4px;letter-spacing:.5px}.impact-badge.high{background:rgba(239,68,68,.15);color:#fc8181}.impact-badge.medium{background:rgba(245,158,11,.15);color:#f6ad55}.impact-badge.green,.impact-badge.low{background:rgba(16,185,129,.15);color:#68d391}.impact-badge.amber{background:rgba(245,158,11,.15);color:#f6ad55}.exit-badge{font-size:10px;font-weight:700;padding:.2rem .5rem;border-radius:4px}.exit-badge.critical{background:rgba(239,68,68,.15);color:#fc8181}.exit-badge.high{background:rgba(245,158,11,.15);color:#f6ad55}.exit-badge.medium{background:rgba(16,185,129,.15);color:#68d391}.deals-table{display:grid;grid-gap:.5rem;gap:.5rem}.deal-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr;padding:.5rem .75rem;background:var(--bg2);border-radius:6px;font-size:13px;color:var(--text2);align-items:center}.deal-name{color:var(--text);font-weight:500}.deal-multiple{color:var(--green);font-weight:600}.deal-ev{color:var(--text2)}.deal-date,.deal-desc{color:var(--text3)}.deal-desc{font-size:12px}.confidence-row{text-align:center;margin-top:1.5rem;padding:.75rem}.confidence-label{font-size:13px;color:var(--text2);font-weight:600}.settings-toggle{position:fixed;top:.75rem;right:.75rem;padding:10px 18px;height:44px;background:var(--card);border:1px solid var(--border2);border-radius:8px;color:var(--text2);font-size:18px;cursor:pointer;z-index:200;display:flex;align-items:center;justify-content:center;transition:all .2s}.settings-toggle:hover{border-color:var(--gold);color:var(--gold)}.settings-toggle.configured{border-color:var(--green);color:var(--green)}.settings-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:199;display:none}.settings-overlay.open{display:block}.settings-panel{position:fixed;top:0;right:0;width:360px;max-width:90vw;height:100vh;background:var(--bg2);border-left:1px solid var(--border);z-index:200;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;padding:2rem}.settings-panel.open{transform:translateX(0)}.sp-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:.5rem}.sp-sub{font-size:13px;margin-bottom:1.5rem}.sp-label,.sp-sub{color:var(--text2)}.sp-label{font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:.5rem;margin-top:1rem}.sp-select{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:.6rem .75rem;color:var(--text);font-size:14px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin-bottom:.25rem}.sp-select:focus{border-color:var(--gold)}.sp-input{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:8px;padding:.6rem .75rem;color:var(--text);font-size:14px;outline:none;margin-bottom:.5rem}.sp-input:focus{border-color:var(--gold)}.sp-link{font-size:12px;color:var(--blue);text-decoration:none;display:inline-block;margin-bottom:.5rem}.sp-link:hover{text-decoration:underline}.sp-btn{width:100%;background:var(--gold);color:#0a0e1e;font-weight:700;font-size:14px;border:none;border-radius:8px;padding:.75rem;cursor:pointer;letter-spacing:.5px;transition:background .2s;margin-top:.75rem}.sp-btn:hover{background:var(--gold2)}.sp-btn:disabled{opacity:.5;cursor:not-allowed}.sp-test-btn{background:var(--card);color:var(--text2);border:1px solid var(--border2)}.sp-test-btn:hover{border-color:var(--gold);color:var(--gold)}.sp-status{display:flex;align-items:center;gap:.5rem;font-size:13px;margin-top:.75rem}.sp-status-ok{color:var(--green)}.sp-status-err{color:var(--red)}.sp-status-none{color:var(--text3)}.sp-msg{font-size:13px;margin-top:.5rem;padding:.5rem .75rem;border-radius:6px}.sp-msg-ok{background:rgba(5,150,105,.15);color:#68d391}.sp-msg-err{background:rgba(229,62,62,.15);color:#fc8181}.footer{text-align:center;padding:2rem 0;font-size:12px;color:var(--text3)}