/* Shared styles for GasCast's information pages (How it works, What's new). */
:root { --bg:#070c17; --card:rgba(255,255,255,.055); --line:rgba(255,255,255,.09); --text:#f2f5fb; --t2:rgba(242,245,251,.72); --t3:rgba(242,245,251,.5); --cold:#5aa9ff; --warm:#ff8a3d; --ok:#3ddc97; font-family:Inter,system-ui,"Segoe UI",sans-serif; color-scheme:dark; }
* { box-sizing:border-box; }
body { margin:0; background:radial-gradient(1100px 650px at 75% -10%,#163059 0%,transparent 60%),var(--bg); color:var(--text); line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.wrap { max-width:1120px; margin:0 auto; padding:0 24px; }
header { display:flex; align-items:center; justify-content:space-between; padding:18px 0; }
.logo { display:flex; align-items:center; gap:10px; font-weight:800; font-size:19px; text-decoration:none; } .logo img { border-radius:9px; }
header nav { display:flex; gap:22px; align-items:center; font-size:14.5px; } header nav a { text-decoration:none; color:var(--t2); } header nav a:hover, header nav a[aria-current] { color:var(--text); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:9px 16px; border-radius:12px; background:var(--warm); color:#1a0d00 !important; font-weight:700; text-decoration:none; border:0; font-size:15px; }
.doc { display:grid; grid-template-columns:220px 1fr; gap:48px; padding:36px 0 72px; }
.toc { position:sticky; top:24px; align-self:start; font-size:14px; }
.toc b { display:block; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--t3); margin-bottom:10px; }
.toc a { display:block; padding:5px 0 5px 12px; border-left:2px solid var(--line); color:var(--t2); text-decoration:none; }
.toc a:hover { color:var(--text); border-color:var(--warm); }
.eyebrow { display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--warm); margin-bottom:10px; }
h1 { font-size:44px; line-height:1.08; letter-spacing:-.03em; margin:0 0 14px; }
.lead { font-size:18.5px; color:var(--t2); margin:0 0 34px; max-width:680px; }
h2 { font-size:26px; letter-spacing:-.02em; margin:44px 0 12px; scroll-margin-top:24px; }
h3 { font-size:17px; margin:22px 0 6px; }
p, li { color:var(--t2); font-size:15.5px; } p { margin:0 0 12px; max-width:760px; }
ul { padding-left:20px; margin:0 0 14px; } li { margin:4px 0; }
b, strong { color:var(--text); }
.card { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:20px 22px; margin:14px 0; }
.callout { border-left:3px solid var(--warm); background:rgba(255,138,61,.07); border-radius:0 12px 12px 0; padding:12px 16px; margin:16px 0; color:var(--t2); max-width:760px; }
.tablewrap { overflow-x:auto; border:1px solid var(--line); border-radius:16px; margin:12px 0 18px; }
table { width:100%; border-collapse:collapse; font-size:14.5px; }
th { text-align:left; font-size:11.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--t3); font-weight:700; padding:12px 14px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.025); }
td { padding:12px 14px; border-bottom:1px solid var(--line); color:var(--t2); vertical-align:top; } tr:last-child td { border-bottom:0; } td:first-child { color:var(--text); font-weight:600; white-space:nowrap; }
.pill { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.06em; padding:3px 8px; border-radius:999px; background:rgba(255,138,61,.14); color:var(--warm); vertical-align:2px; }
.pill.free { background:rgba(61,220,151,.13); color:var(--ok); }
.formula { font-family:ui-monospace,"Cascadia Mono",Consolas,monospace; font-size:14px; background:rgba(0,0,0,.25); border:1px solid var(--line); border-radius:12px; padding:12px 14px; color:var(--text); margin:10px 0 14px; overflow-x:auto; max-width:760px; }
/* changelog */
.release { display:grid; grid-template-columns:150px 1fr; gap:28px; padding:28px 0; border-top:1px solid var(--line); }
.release:first-of-type { border-top:0; padding-top:4px; }
.release time { font-weight:700; color:var(--text); font-size:15px; } .release time small { display:block; color:var(--t3); font-weight:500; font-size:13px; }
.release h2 { margin:0 0 10px; font-size:21px; }
.tag { display:inline-block; font-size:10.5px; font-weight:800; letter-spacing:.07em; padding:2px 7px; border-radius:6px; margin-right:8px; vertical-align:1px; }
.tag.new { background:rgba(90,169,255,.14); color:var(--cold); } .tag.better { background:rgba(61,220,151,.13); color:var(--ok); } .tag.fix { background:rgba(255,201,77,.14); color:#ffc94d; }
footer { border-top:1px solid var(--line); padding:28px 0 40px; color:var(--t3); font-size:13px; } footer .row { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; } footer a { color:var(--t2); text-decoration:none; margin-right:16px; }
@media (max-width:900px) { .doc { grid-template-columns:1fr; gap:8px; padding-top:16px; } .toc { position:static; display:none; } h1 { font-size:34px; } header nav a.hide-sm { display:none; } .release { grid-template-columns:1fr; gap:6px; } }

/* simple pages (terms, privacy, about, contact, accuracy) */
.page { max-width: 860px; padding: 36px 0 72px; }
.page h2 { margin-top: 34px; }
.contact { display: grid; gap: 14px; margin-top: 8px; }
.contact label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; color: var(--t2); }
.contact input, .contact select, .contact textarea { font: inherit; font-weight: 400; color: var(--text); background: rgba(0,0,0,.25); border: 1px solid var(--line); border-radius: 12px; padding: 11px 13px; }
.contact select option { color: #0b1220; }
.contact textarea { resize: vertical; }
.contact .f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact .btn { font-size: 15px; padding: 11px 20px; } .contact .btn:disabled { opacity: .6; }
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 14px 0; }
.kpis .card { margin: 0; padding: 14px 16px; } .kpis span { display: block; font-size: 12.5px; color: var(--t3); } .kpis b { display: block; font-size: 26px; margin: 4px 0 2px; } .kpis em { font-style: normal; font-size: 12.5px; color: var(--t2); }
.bars .brow { display: grid; grid-template-columns: 70px 1fr; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); }
.bars .brow:last-of-type { border-bottom: 0; }
.bars .bl { font-weight: 700; font-size: 14px; } .bars .bt { display: grid; gap: 4px; }
.bars .bb { position: relative; height: 18px; background: rgba(255,255,255,.04); border-radius: 6px; overflow: hidden; }
.bars .bb i { position: absolute; inset: 0 auto 0 0; border-radius: 6px; } .bars .bb em { position: relative; font-style: normal; font-size: 11.5px; font-weight: 700; padding-left: 8px; line-height: 18px; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.bars .lg { display: flex; gap: 16px; margin-top: 10px; font-size: 12.5px; color: var(--t2); } .bars .lg i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; }
@media (max-width: 700px) { .contact .f2 { grid-template-columns: 1fr; } }
