
:root { --bg:#f5f1e8; --ink:#181713; --muted:#686252; --panel:#fffdf7; --line:#ddd4c4; --pos:#14532d; --neg:#7f1d1d; --warn:#7c4a03; --chip:#ece3d2; --blue:#1e3a8a; --purple:#4c1d95; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); background:linear-gradient(180deg,#fbf8ef,var(--bg)); }
a { color:inherit; }
.small-hero, main, footer { max-width:1240px; margin:0 auto; padding-left:22px; padding-right:22px; }
.small-hero { padding-top:24px; padding-bottom:12px; }
.hero-panel { padding:36px 24px; border:1px solid var(--line); background:rgba(255,253,247,.90); border-radius:26px; margin:16px 0 20px; box-shadow:0 10px 30px rgba(50,40,20,.06); }
.eyebrow { text-transform:uppercase; letter-spacing:.12em; color:var(--muted); font-size:12px; font-weight:900; }
.brand, .brand-link { font-size:44px; font-weight:950; letter-spacing:-2px; text-decoration:none; }
.brand.big { font-size:68px; }
.subbrand { display:inline-block; margin-left:8px; color:var(--muted); font-weight:800; }
.tagline { font-size:21px; color:var(--muted); margin-top:4px; }
.hero-copy { max-width:900px; font-size:18px; line-height:1.5; }
.topnav { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.topnav a { text-decoration:none; background:var(--chip); padding:9px 13px; border-radius:999px; font-weight:800; border:1px solid rgba(0,0,0,.03); }
.topnav a:hover, .navcards a:hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(30,20,10,.08); }
.data-banner { border:1px solid var(--line); border-radius:14px; padding:12px 14px; margin-bottom:14px; background:#fff; } .data-banner.warn { background:#fef3c7; color:#7c4a03; } .data-banner.ok { background:#dcfce7; color:#14532d; }
.disclaimer { background:#181713; color:#fff9ec; border-radius:18px; padding:16px 18px; line-height:1.45; max-width:1100px; box-shadow:0 10px 25px rgba(0,0,0,.08); }
.searchbox { margin-top:22px; display:flex; gap:10px; max-width:780px; }
.searchbox input { flex:1; font-size:18px; border:1px solid var(--line); border-radius:14px; padding:15px 16px; background:#fff; }
.searchbox button { font-size:18px; border:0; border-radius:14px; padding:15px 22px; background:#181713; color:#fff; cursor:pointer; }
.filterbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:16px; padding:14px; margin:14px 0; }
.filterbar label { font-weight:800; color:#3a362e; }
.filterbar input[type=number] { width:95px; padding:8px; border:1px solid var(--line); border-radius:10px; }
.filterbar button { border:0; border-radius:12px; padding:10px 16px; background:#181713; color:#fff; font-weight:900; cursor:pointer; }
.search-results { max-width:850px; margin-top:10px; } .search-results.wide { max-width:none; }
.navcards { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin-top:22px; }
.navcards a { text-decoration:none; border:1px solid var(--line); background:#fff; border-radius:18px; padding:16px; display:flex; flex-direction:column; gap:5px; transition:.15s ease; }
.navcards strong { font-size:18px; } .navcards span { color:var(--muted); line-height:1.35; }
main { padding-top:8px; padding-bottom:60px; }
.panel { background:rgba(255,253,247,.90); border:1px solid var(--line); border-radius:22px; padding:22px; margin:18px 0; box-shadow:0 10px 30px rgba(50,40,20,.06); }
.panel h1, .panel h2, .panel h3 { margin-top:0; }
.grid.two { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.stock-card, .argument-card, .news-card { display:block; text-decoration:none; border:1px solid var(--line); background:#fffdf8; border-radius:16px; padding:15px; margin:10px 0; transition:.15s transform ease,.15s box-shadow ease; }
.stock-card:hover, .argument-card:hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(30,20,10,.08); }
.stock-card.unhydrated { border-style:dashed; background:#fffaf0; }
.stock-card.unhydrated .score { color:#92400e; }
.stock-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.symbol { font-weight:950; font-size:22px; }
.name { color:var(--muted); font-size:13px; margin-top:2px; }
.score { font-weight:950; border-radius:999px; padding:6px 10px; background:var(--chip); }
.score.pos { color:var(--pos); } .score.neg { color:var(--neg); }
.state { margin-top:8px; font-weight:750; }
.summary { color:#3a362e; line-height:1.45; margin-top:6px; }
.horizontal { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px; }
.horizontal .stock-card, .horizontal .argument-card { margin:0; }
.badge { display:inline-block; border-radius:999px; padding:5px 9px; background:var(--chip); margin:4px 4px 0 0; font-size:12px; }
.badge.pos { color:var(--pos); background:#dcfce7; } .badge.neg { color:var(--neg); background:#fee2e2; } .badge.warn { color:var(--warn); background:#fef3c7; } .badge.info { color:var(--blue); background:#dbeafe; } .badge.arg { color:var(--purple); background:#ede9fe; }
.metric-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:10px; }
.metric { border:1px solid var(--line); border-radius:14px; padding:13px; background:#fff; }
.metric .label { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.metric .value { font-weight:900; font-size:22px; margin-top:5px; }
.detail-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:18px; }
.detail-symbol { font-size:52px; font-weight:950; letter-spacing:-2px; }
.detail-price { font-size:26px; font-weight:850; text-align:right; }
.columns { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
ul.clean { padding-left:18px; line-height:1.5; }
.debate-card { border:1px solid var(--line); border-radius:14px; padding:13px; margin:10px 0; background:#fff; }
.debate-agent { font-weight:900; }
.debate-vote { color:var(--muted); font-size:13px; margin-left:6px; }
.argument-claim { font-size:20px; font-weight:950; margin-bottom:6px; }
.argument-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:14px; }
.table { width:100%; border-collapse:collapse; }
.table th, .table td { border-bottom:1px solid var(--line); padding:8px; text-align:left; vertical-align:top; }
.readable { max-width:900px; line-height:1.6; }
pre { white-space:pre-wrap; background:#fff; padding:14px; border-radius:14px; border:1px solid var(--line); }
footer { padding-top:24px; padding-bottom:50px; display:flex; gap:18px; color:var(--muted); }
@media (max-width: 900px) { .grid.two, .columns, .argument-grid { grid-template-columns:1fr; } .brand,.brand-link{font-size:36px;} .brand.big{font-size:48px;} .searchbox{flex-direction:column;} .detail-head{display:block;} .detail-price{text-align:left;margin-top:12px;} }
