:root { color-scheme: dark; --ink:#f7f4ed; --muted:#9d9b98; --panel:#151515; --line:#292929; --orange:#f59e0b; --green:#4ade80; --red:#fb7185; }
* { box-sizing:border-box; }
body { margin:0; background:#080808; color:var(--ink); font:15px/1.6 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body::before { content:""; position:fixed; inset:0; z-index:-1; background:radial-gradient(circle at 72% 12%, rgba(245,158,11,.12), transparent 28%); }
.site-header, main, footer { width:min(1120px, calc(100% - 40px)); margin-inline:auto; }
.site-header { height:84px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); text-decoration:none; font-weight:800; letter-spacing:.06em; font-size:18px; }
.brand strong { color:var(--orange); }.coin { display:inline-grid; place-items:center; width:31px; height:31px; margin-right:8px; border-radius:50%; background:var(--orange); color:#111; }
.live { color:var(--muted); font-size:11px; letter-spacing:.18em; }.live i { display:inline-block; width:7px; height:7px; margin-right:7px; background:var(--green); border-radius:50%; box-shadow:0 0 10px var(--green); }
main { padding:74px 0 40px; }.hero { max-width:760px; margin-bottom:64px; }.eyebrow,.label { color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.22em; }
h1 { margin:.1em 0 .25em; font-family:Georgia, serif; font-size:clamp(54px, 9vw, 104px); line-height:.9; letter-spacing:-.055em; font-weight:500; } h1 em { color:var(--orange); }
.intro { max-width:520px; color:var(--muted); font-size:18px; }
.price-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:22px; }
.price-card,.metrics { background:var(--panel); margin:0; padding:36px; }.price { font-size:clamp(42px, 7vw, 72px); font-weight:700; letter-spacing:-.055em; line-height:1.15; }
.change { font-size:18px; font-weight:700; }.change span { color:var(--muted); font-size:11px; margin-left:6px; }.up { color:var(--green); }.down { color:var(--red); }
.metrics { display:grid; align-content:center; gap:20px; }.metrics div { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding-bottom:14px; }.metrics div:last-child { border:0; }.metrics dt { color:var(--muted); font-size:10px; letter-spacing:.16em; }.metrics dd { margin:0; font-weight:650; }
.panel { background:var(--panel); border:1px solid var(--line); padding:36px; margin-bottom:22px; }.panel h2 { margin:0; font-family:Georgia, serif; font-size:32px; font-weight:500; }
.panel-heading { display:flex; justify-content:space-between; }.range { display:flex; flex-direction:column; justify-content:space-between; color:var(--muted); font-size:12px; text-align:right; }
.chart { width:100%; height:260px; margin-top:30px; overflow:visible; }.chart-dates { display:flex; justify-content:space-between; color:var(--muted); font-size:11px; }
.analysis { display:grid; grid-template-columns:1fr auto; gap:24px 40px; align-items:center; }.analysis > p { grid-column:1/-1; margin:0; color:#c7c5c0; font-size:17px; max-width:880px; }
.signal { border:1px solid var(--line); border-radius:99px; padding:8px 15px; font-size:12px; font-weight:700; }.signal i { display:inline-block; width:8px; height:8px; margin-right:8px; border-radius:50%; }.bullish i { background:var(--green); }.bearish i { background:var(--red); }.neutral i { background:var(--orange); }
.updated { text-align:right; color:var(--muted); font-size:11px; }.stale,.error-card { border:1px solid #7c5d20; background:#1f190e; color:#f6d58a; padding:16px 20px; }.error-card { padding:40px; }.error-card span { color:var(--orange); text-transform:uppercase; letter-spacing:.15em; font-size:11px; }.error-card h2 { font-family:Georgia,serif; font-size:36px; margin:8px 0; }
.forecast { display:grid; grid-template-columns:1fr auto auto; gap:28px 44px; align-items:center; overflow:hidden; }.forecast-time { color:var(--muted); margin:.25rem 0 0; }.direction { display:flex; align-items:baseline; gap:12px; border:1px solid var(--line); padding:13px 18px; }.direction span { font-size:22px; font-weight:900; letter-spacing:.08em; }.direction strong { font-size:14px; }.direction.up,.forecast-calls .up { color:var(--green); }.direction.down,.forecast-calls .down { color:var(--red); }.direction.flat,.forecast-calls .flat { color:var(--orange); }.forecast-price { display:flex; flex-direction:column; border-left:1px solid var(--line); padding-left:32px; }.forecast-price small,.forecast-calls small { color:var(--muted); font-size:9px; letter-spacing:.15em; }.forecast-price strong { font-size:27px; }.forecast-price span { color:var(--muted); font-size:11px; }.forecast-calls { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); }.forecast-calls article { display:grid; grid-template-columns:1fr auto; gap:3px 12px; padding:18px; border-right:1px solid var(--line); }.forecast-calls article:last-child { border:0; }.forecast-calls b { font-size:13px; letter-spacing:.08em; }.forecast-calls span { font-size:18px; font-weight:700; }.forecast-calls em { color:var(--muted); font-size:12px; font-style:normal; text-align:right; }.forecast-meta { grid-column:1/-1; margin:0; color:var(--muted); font-size:10px; }.forecast-meta.expired { color:#f6d58a; }.forecast-empty p:last-child { color:var(--muted); }
footer { display:flex; justify-content:space-between; align-items:center; padding:28px 0 50px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; } footer span { color:var(--orange); font-weight:800; letter-spacing:.15em; }
.admin-body { min-height:100vh; }.auth-shell { width:min(520px,calc(100% - 32px)); padding-top:64px; }.auth-shell .brand { display:inline-block; margin-bottom:48px; }.auth-card,.upload-card { background:var(--panel); border:1px solid var(--line); padding:40px; }.auth-card h1,.upload-card h1 { margin:.1em 0 .25em; font-size:clamp(48px,8vw,76px); }.admin-intro { color:var(--muted); margin-bottom:28px; }
.admin-form { display:grid; gap:10px; }.admin-form label { margin-top:8px; color:#c8c5bd; font-size:12px; font-weight:700; }.admin-form input { width:100%; border:1px solid #3a3a3a; background:#0d0d0d; color:var(--ink); border-radius:4px; padding:13px 14px; font:inherit; }.admin-form input:focus,.drop-zone:focus-within { outline:2px solid var(--orange); outline-offset:2px; }
button { border:0; border-radius:4px; background:var(--orange); color:#111; padding:13px 18px; font:700 13px/1 inherit; cursor:pointer; }.admin-form button { margin-top:16px; }.text-button { background:none; color:var(--muted); padding:8px; }.text-button:hover { color:var(--ink); }
.admin-main { max-width:820px; }.upload-card { margin-top:30px; }.upload-form { display:grid; gap:18px; }.drop-zone { display:grid; place-items:center; min-height:190px; padding:24px; border:1px dashed #535353; background:#0d0d0d; text-align:center; cursor:pointer; }.drop-zone span { color:var(--ink); font-size:18px; font-weight:700; }.drop-zone small { color:var(--muted); }.drop-zone input { margin-top:18px; max-width:100%; }.notice { padding:12px 14px; border:1px solid var(--line); }.notice.error { border-color:#763746; background:#211014; color:#fda4af; }.notice.success { border-color:#27663e; background:#0c2114; color:#86efac; }
@media (max-width:700px) { .site-header,main,footer { width:min(100% - 24px,1120px); } main { padding-top:48px; }.hero { margin-bottom:44px; }.price-grid { grid-template-columns:1fr; }.price-card,.metrics,.panel { padding:24px; }.analysis,.forecast { grid-template-columns:1fr; }.analysis > p,.forecast-calls,.forecast-meta { grid-column:auto; }.signal { justify-self:start; }.forecast-price { border-left:0; border-top:1px solid var(--line); padding:18px 0 0; }.forecast-calls { grid-template-columns:1fr 1fr; }.forecast-calls article:nth-child(2) { border-right:0; }.forecast-calls article { border-bottom:1px solid var(--line); }.forecast-calls article:nth-child(n+3) { border-bottom:0; }.chart { height:190px; }.live { display:none; } footer { align-items:flex-start; gap:20px; } }
