:root { color-scheme:dark; --bg:#0a0f16; --bg2:#101823; --panel:#121b27; --panel2:#17222f; --ink:#f2f5f8; --dim:#a3b0be; --line:#263342; --line2:#3a4a5c;
  --accent:#d9b878; --accent2:#f0d7a4; --accent-ink:#1a1408; --good:#62d6a0; --bad:#f4978e; --warn:#e8c46f;
  --display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif; --body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; }
* { box-sizing:border-box; }
html { background:var(--bg); }
body { margin:0; min-height:100vh; color:var(--ink); font:16px/1.6 var(--body); -webkit-font-smoothing:antialiased;
  background:radial-gradient(900px 480px at 85% -8%, rgba(217,184,120,.13), transparent 70%), radial-gradient(800px 520px at -5% 12%, rgba(64,120,150,.14), transparent 70%), var(--bg); background-repeat:no-repeat; }
h1,h2,h3 { line-height:1.18; margin:0 0 .5em; font-weight:500; }
h1 { font:500 clamp(2.2rem,5vw,3.5rem)/1.08 var(--display); letter-spacing:-.015em; }
h2 { font:500 1.55rem/1.2 var(--display); } h3 { font-size:1.02rem; font-weight:600; }
p { margin:0 0 .8em; } a { color:var(--accent2); text-underline-offset:3px; text-decoration-color:rgba(240,215,164,.4); } a:hover { text-decoration-color:currentColor; }
.beta-bar { padding:7px 16px; font-size:.76rem; letter-spacing:.02em; text-align:center; color:var(--dim); border-bottom:1px solid var(--line); background:rgba(10,15,22,.7); }
.beta-bar b { color:var(--accent2); font-weight:600; letter-spacing:.08em; text-transform:uppercase; font-size:.7rem; margin-right:4px; }
.wrap { max-width:1140px; margin:0 auto; padding:26px 20px 34px; }
.loading,.dim { color:var(--dim); } .small { font-size:.88rem; }
.top { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:30px; }
.brand { display:inline-flex; align-items:center; gap:11px; font:500 1.22rem var(--display); letter-spacing:.01em; }
.brand::before { content:""; flex:none; width:48px; height:40px; background:url(logo.png) center/contain no-repeat; }
.hero { display:grid; grid-template-columns:1.25fr 1fr; gap:52px; align-items:start; padding-top:18px; }
.eyebrow { color:var(--accent); font-size:.76rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase; margin-bottom:14px; }
.lede { font-size:1.14rem; color:#cfd7e0; max-width:36em; margin-bottom:30px; }
.panel { background:linear-gradient(180deg,var(--panel2),var(--panel)); border:1px solid var(--line); border-radius:14px; padding:22px; margin-bottom:16px; box-shadow:0 1px 0 rgba(255,255,255,.035) inset, 0 16px 34px -24px rgba(0,0,0,.9); }
.panel.signup { padding:28px; border-color:rgba(217,184,120,.34); box-shadow:0 1px 0 rgba(255,255,255,.05) inset, 0 30px 60px -34px rgba(0,0,0,.95); }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; } .grid .panel { margin:0; transition:border-color .18s ease, transform .18s ease; } .grid .panel:hover { border-color:var(--line2); transform:translateY(-1px); }
label { display:block; font-size:.86rem; font-weight:500; color:#d5dde5; margin:0 0 14px; }
input,select,textarea { display:block; width:100%; margin-top:6px; padding:11px 12px; font:inherit; color:var(--ink); background:#0c131c; border:1px solid var(--line2); border-radius:9px; }
input:hover,textarea:hover { border-color:#50647a; }
input[type=radio],input[type=checkbox] { accent-color:var(--accent); }
label.check { display:flex; gap:10px; font-weight:400; align-items:flex-start; margin-bottom:10px; } label.check input { width:auto; margin-top:5px; flex:none; }
button { font:inherit; font-weight:600; padding:11px 20px; border-radius:9px; border:1px solid var(--accent); background:linear-gradient(180deg,var(--accent2),var(--accent)); color:var(--accent-ink); cursor:pointer; transition:filter .15s ease; }
button:hover { filter:brightness(1.07); } button:disabled { opacity:.6; cursor:default; }
button.ghost { background:transparent; color:var(--accent2); } button.link { border:0; background:none; color:var(--accent2); padding:0; font-weight:500; text-decoration:underline; text-underline-offset:3px; }
button.danger { background:transparent; border-color:var(--bad); color:var(--bad); }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid var(--accent2); outline-offset:2px; }
.err { color:var(--bad); font-size:.92rem; min-height:1.2em; } .ok { color:var(--good); font-size:.92rem; }
.tabs { display:flex; gap:4px; overflow-x:auto; border-bottom:1px solid var(--line); margin-bottom:26px; }
.tabs button { background:none; border:0; border-bottom:2px solid transparent; border-radius:0; color:var(--dim); font-weight:500; white-space:nowrap; padding:11px 14px; }
.tabs button:hover { color:var(--ink); filter:none; } .tabs button[aria-selected=true] { color:var(--ink); border-bottom-color:var(--accent); }
.stat b { display:block; font:500 1.75rem/1.2 var(--display); margin-bottom:3px; } .stat span { color:var(--dim); font-size:.84rem; }
.pill { display:inline-block; font-size:.72rem; font-weight:600; letter-spacing:.03em; padding:3px 10px; border-radius:99px; border:1px solid rgba(217,184,120,.36); color:var(--accent2); background:rgba(217,184,120,.09); }
.pill.exit,.pill.mixed { border-color:rgba(232,196,111,.4); background:rgba(232,196,111,.11); color:var(--warn); }
.pill.bullish,.pill.positive { border-color:rgba(98,214,160,.4); background:rgba(98,214,160,.11); color:var(--good); }
.pill.bearish,.pill.negative { border-color:rgba(244,151,142,.42); background:rgba(244,151,142,.11); color:var(--bad); }
.pill.neutral { border-color:var(--line2); background:rgba(163,176,190,.09); color:#c1cbd5; }
.alert { border-left:3px solid var(--accent); } .alert.exit { border-left-color:var(--warn); } .alert.note { border-left-color:var(--line2); }
.alert h3 { margin:.55em 0 .2em; font:500 1.2rem var(--display); } .symbol { font:500 1.5rem/1.25 var(--display); letter-spacing:.015em; margin:.45em 0 .05em; }
.view { display:flex; justify-content:space-between; align-items:center; padding:7px 0; border-top:1px solid var(--line); }
ol.steps { padding-left:1.2em; } ol.steps li { margin-bottom:.6em; } ol.steps li::marker { color:var(--accent); }
.q { border:0; padding:0; margin:0 0 22px; } .q legend { font-weight:600; padding:0; margin-bottom:9px; }
.table { width:100%; border-collapse:collapse; font-size:.92rem; } .table th,.table td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--line); } .table th { font-weight:500; color:var(--dim); }
.scroll { overflow-x:auto; }
details { border-top:1px solid var(--line); padding:11px 0; } summary { cursor:pointer; font-weight:500; }
.notice { background:rgba(232,196,111,.1); border:1px solid rgba(232,196,111,.3); color:var(--warn); padding:12px 14px; border-radius:10px; margin-bottom:18px; }
.foot { max-width:1140px; margin:0 auto; padding:18px 20px 40px; color:#93a1b0; font-size:.8rem; line-height:1.55; border-top:1px solid var(--line); }
.row { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.spaced { margin-top:30px; } .panel.spaced { margin-top:16px; }
.newsline { padding:13px 0; border-bottom:1px solid var(--line); } .newsline:last-child { border-bottom:0; } .newsline a { color:var(--ink); text-decoration:none; } .newsline a:hover { color:var(--accent2); }
@media (max-width:820px) { .hero { grid-template-columns:1fr; gap:30px; } .wrap { padding:20px 16px 28px; } .panel.signup { padding:22px; } }
@media (prefers-reduced-motion:reduce) { * { transition:none !important; } }
.brand-text { display:flex; flex-direction:column; line-height:1.15; }
.brand-text small { font:600 .66rem var(--body); letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-top:3px; }
.alert-symbol { font:500 1.2rem var(--display); letter-spacing:.015em; }
.row.spread { justify-content:space-between; margin-bottom:16px; }
.up { color:var(--good); } .down { color:var(--bad); }
.c-box { position:relative; overflow-x:auto; } .c-box svg { display:block; touch-action:pan-y; }
.c-grid { stroke:var(--line); stroke-width:1; } .c-zero { stroke:var(--line2); stroke-width:1; } .c-cross { stroke:var(--line2); stroke-width:1; }
.c-label { fill:var(--dim); font-size:11px; font-family:var(--body); }
.c-line { fill:none; stroke:var(--accent); stroke-width:2; stroke-linejoin:round; stroke-linecap:round; } .c-area { fill:var(--accent); opacity:.08; }
.c-dot { fill:var(--accent); stroke:var(--panel); stroke-width:2; } .c-up { fill:#3f8fd8; } .c-down { fill:#d27a22; }
.c-tip { position:absolute; min-width:150px; padding:8px 11px; background:#0c131c; border:1px solid var(--line2); border-radius:8px; pointer-events:none; font-size:.86rem; }
.grid.stats { grid-template-columns:repeat(auto-fit,minmax(176px,1fr)); } .grid.stats b { font-size:1.5rem; }
.chat { display:flex; flex-direction:column; gap:10px; margin-bottom:16px; max-height:420px; overflow-y:auto; }
.msg { max-width:80%; padding:10px 14px; border-radius:12px; border:1px solid var(--line); background:var(--panel2); align-self:flex-start; overflow-wrap:anywhere; }
.msg.guest { align-self:flex-end; border-color:rgba(217,184,120,.36); background:rgba(217,184,120,.09); }
.msg p { margin:0 0 4px; white-space:pre-wrap; }
.badge { display:inline-block; margin-left:6px; min-width:18px; padding:0 5px; border-radius:99px; background:var(--accent); color:var(--accent-ink); font-size:.72rem; font-weight:700; line-height:18px; text-align:center; }
