:root{--bg:#08090d;--panel:#0f1117;--line:#2b2f39;--text:#f0eee8;--muted:#b5b0a3}
*{box-sizing:border-box}body{margin:0;font-family:"Iowan Old Style","Times New Roman",serif;color:var(--text);background:radial-gradient(circle at 20% -10%,#1a1c24,var(--bg) 60%)}
button,input,select,textarea{font:inherit}.app{width:min(1200px,100%);margin:0 auto;padding:1rem}.card{border:1px solid var(--line);background:linear-gradient(170deg,rgba(24,25,31,.95),rgba(10,11,14,.98))}
.topbar{display:flex;justify-content:space-between;gap:1rem;padding:1rem;margin-bottom:.8rem}.topbar-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:.5rem}.kicker{margin:0;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:.75rem}h1{margin:.35rem 0;font-size:clamp(2rem,7vw,3.3rem)}h2{margin:.2rem 0 1rem}.sub,.section-copy{color:#c4c0b2}
.back-link,.ghost,.cta{min-height:42px;border:1px solid var(--line);padding:.6rem .9rem;color:var(--text);text-decoration:none;background:transparent;cursor:pointer}
.stage{display:none;padding:1rem}.stage-active{display:block}.search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.search-grid .full,.search-grid .cta{grid-column:1/-1}
.tool-contract{display:grid;gap:.5rem;margin-bottom:.8rem}
.tool-contract h2{margin:.2rem 0}
label{display:grid;gap:.3rem;color:var(--muted);font-size:.86rem}input,select,textarea{width:100%;background:#0c0e13;color:var(--text);border:1px solid var(--line);padding:.65rem}.cta{background:#e7e1d6;color:#171514;font-weight:700}
.spinner{width:56px;height:56px;border:4px solid #2e313a;border-top-color:#e7dfd0;border-radius:999px;animation:spin 1s linear infinite;margin:.5rem auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}
.dash-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.thesis-block{border:1px solid #315850;padding:.8rem;background:rgba(8,51,43,.2)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:.7rem 0}.metric{border:1px solid var(--line);padding:.7rem;background:#13151b}.metric p{margin:0;color:var(--muted);font-size:.75rem;text-transform:uppercase}.metric strong{font-size:1.4rem}
.ai-note{border:1px solid #315850;background:rgba(8,51,43,.24);padding:.85rem;color:#d9e8dc}.opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.opp-card{border:1px solid var(--line);padding:.8rem;background:#11131a}.opp-card h3{margin:.1rem 0 .4rem}.opp-card p{margin:.2rem 0 .6rem;color:#d3cebf}.opp-card ul{margin:.4rem 0;padding-left:1.1rem}.opp-card li{margin:.2rem 0}.badges{display:flex;flex-wrap:wrap;gap:.35rem}.badges span{border:1px solid #37404b;padding:.15rem .45rem;font-size:.76rem}
.actions{display:flex;flex-wrap:wrap;gap:.45rem}.empty{border:1px dashed #4e5563;padding:.8rem;color:#c5bfaf}.table-wrap{overflow:auto;border:1px solid var(--line)}table{width:100%;min-width:860px;border-collapse:collapse}th,td{padding:.55rem;border-bottom:1px solid #2a2e38;text-align:left}th{font-size:.76rem;color:#cfc6b5;text-transform:uppercase}
.deck-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.slide{border:1px solid var(--line);padding:.75rem;background:#10131a}.deck-actions{margin-top:.8rem;display:flex;gap:.6rem;flex-wrap:wrap}
@media(max-width:900px){.search-grid,.metrics,.opportunity-grid,.deck-grid{grid-template-columns:1fr}.topbar,.dash-head{flex-direction:column;align-items:stretch}}
