ML_LSTM_BTC / static /style.css
dunkindonuts123
init: BitPredict Flask app
5b83981
Raw
History Blame Contribute Delete
32.1 kB
/* ═══════════════════════════════════════════════
Crypto Pedia β€” style.css
Dataset: Kaggle novandraanugrah BTC 2018–2026
Live: CoinGecko API | Model: LSTM 3-Layer
═══════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* ── CSS VARIABLES: DARK (default) ── */
:root{
--bg:#0d0e12;
--bg2:#12141c;
--bg3:#181b27;
--bg4:#1d2132;
--gold:#F0B90B;
--gold-d:rgba(240,185,11,.13);
--gold-g:rgba(240,185,11,.28);
--teal:#4ecdc4;
--red:#ff6b6b;
--green:#22c55e;
--text:#eef0f8;
--muted:#8b90ab;
--dim:#484d68;
--border:rgba(255,255,255,.07);
--shadow:rgba(0,0,0,.55);
--r:12px; --rL:18px;
--font:'Inter',sans-serif;
--mono:'JetBrains Mono',monospace;
}
/* ── SMOOTH THEME TRANSITION ── */
body,body *{
transition:background-color .45s ease,color .45s ease,
border-color .45s ease,box-shadow .45s ease,
opacity .45s ease;
}
/* Override: keep transform-based transitions snappy for hover/reveal */
.btn-primary:hover,.btn-ghost:hover,.acard:hover,
.tf-card:hover,.kaggle-badge:hover,.reveal,.revealed{
transition:background-color .45s ease,color .45s ease,
border-color .45s ease,box-shadow .45s ease,
opacity .6s ease,transform .35s ease !important;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}
/* ── GOLD GRADIENT MIXIN: white β†’ yellow β†’ gold ── */
.grad-gold{
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 58%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(22px)}
.revealed{opacity:1;transform:translateY(0)}
/* ══════════════════════════════════
NAVBAR
══════════════════════════════════ */
.navbar{
position:sticky;top:0;z-index:200;
display:flex;align-items:center;
padding:0 clamp(1rem,5vw,3rem);height:64px;
background:rgba(13,14,18,.93);
backdrop-filter:blur(20px);
border-bottom:1px solid var(--border);
}
.nav-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;text-decoration:none;color:var(--text)}
.brand-logo{width:34px;height:34px;object-fit:contain;border-radius:6px}
/* nav-links: absolutely centered in the navbar */
.nav-links{
position:absolute;left:50%;transform:translateX(-50%);
display:flex;gap:2.2rem;list-style:none;white-space:nowrap;
}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.88rem;font-weight:600;letter-spacing:.01em}
.nav-links a:hover{color:var(--gold)}
.nav-links a.nav-active{
color:var(--text);
font-weight:700;
position:relative;
}
.nav-links a.nav-active::after{
content:'';
position:absolute;
bottom:-4px;left:0;right:0;
height:2px;
background:var(--gold);
border-radius:2px;
}
/* nav right */
.nav-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0;margin-left:auto}
/* BTC pill */
.nav-btc-pill{display:flex;align-items:center;gap:6px;background:var(--bg3);border:1px solid var(--border);border-radius:999px;padding:5px 12px;flex-shrink:0}
.nav-btc-pill .nlp-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
.nav-btc-pill .nlp-label{font-size:.67rem;color:var(--muted);font-weight:700;letter-spacing:.05em}
.nav-btc-pill .nlp-price{font-size:.86rem;font-weight:700;font-family:var(--mono);color:var(--text)}
.nav-btc-pill .nlp-chg{font-size:.75rem;font-weight:700}
.nav-btc-pill .nlp-chg.up{color:var(--green)}
.nav-btc-pill .nlp-chg.down{color:var(--red)}
/* Moon/Sun toggle */
.theme-switch{display:flex;align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:999px;padding:4px 5px;cursor:pointer;flex-shrink:0}
.theme-switch:hover{border-color:var(--gold-g)}
.ts-icon{font-size:.9rem;padding:3px 7px;border-radius:999px;opacity:.35;line-height:1}
.ts-divider{width:1px;height:13px;background:var(--border);flex-shrink:0}
body:not(.light) .ts-moon{background:var(--gold-d);opacity:1}
body.light .ts-sun {background:rgba(240,185,11,.2);opacity:1}
.hamburger{display:none;background:none;border:none;color:var(--muted);font-size:1.4rem;cursor:pointer;margin-left:.2rem}
/* ══════════════════════════════════
HELPERS
══════════════════════════════════ */
.section{padding:clamp(3.5rem,8vw,6rem) 0}
.container{max-width:1080px;margin:0 auto;padding:0 clamp(1.5rem,5vw,3rem)}
.stag{
font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.6rem;
display:inline-block;
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 60%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.stitle{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:1rem}
.ssub{color:var(--muted);font-size:.95rem;max-width:600px;line-height:1.75;margin-bottom:3rem}
.center{text-align:center;margin-left:auto;margin-right:auto}
/* ══════════════════════════════════
HERO
══════════════════════════════════ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:5rem clamp(1.5rem,5vw,3rem) 4rem;overflow:hidden}
.hero-glow{position:absolute;top:-280px;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(240,185,11,.10) 0%,transparent 65%);pointer-events:none}
.hero-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at center,black 20%,transparent 72%)}
.hero-inner{max-width:840px;text-align:center;position:relative;z-index:1;width:100%}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--gold-d);border:1px solid var(--gold-g);color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px;border-radius:999px;margin-bottom:1.8rem}
.pulse{width:7px;height:7px;background:var(--gold);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}
/* H1 β€” bold, like reference image */
.hero h1{
font-size:clamp(2.8rem,7.5vw,5.6rem);
font-weight:900;
letter-spacing:-.03em;
line-height:1.04;
margin-bottom:1.3rem;
font-family:'Inter',sans-serif;
}
/* Line 1: "Track & Predict" β€” solid white/light */
.hero h1 .line-top{display:block;color:var(--text);font-weight:900}
/* Line 2: "Bitcoin with AI" — white→yellow→gold gradient */
.hero h1 .gold{
display:block;font-weight:900;
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 58%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-sub{font-size:clamp(1.05rem,2.2vw,1.18rem);color:var(--muted);max-width:560px;margin:0 auto 2.4rem;line-height:1.8}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}
.btn-primary{background:var(--gold);color:#000;font-family:var(--font);font-weight:700;font-size:.95rem;padding:13px 28px;border-radius:9px;text-decoration:none;box-shadow:0 0 32px var(--gold-g)}
.btn-primary:hover{opacity:.85;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--text);font-family:var(--font);font-weight:600;font-size:.95rem;padding:13px 28px;border-radius:9px;border:1px solid var(--border);text-decoration:none}
.btn-ghost:hover{border-color:var(--gold-g);color:var(--gold)}
.hero-stats{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:2.5rem}
.hs{display:flex;flex-direction:column;align-items:center;gap:3px}
.hs-val{
font-size:1.7rem;font-weight:800;font-family:var(--mono);
color:var(--gold);
}
.hs-lbl{font-size:.7rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.hs-sep{width:1px;height:38px;background:var(--border)}
/* LIVE DASHBOARD */
.live-dash{background:var(--bg3);border:1px solid rgba(240,185,11,.22);border-radius:var(--rL);padding:1.6rem;max-width:520px;margin:6rem auto 0;box-shadow:0 24px 80px var(--shadow),0 0 0 1px var(--gold-d)}
.ld-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.ld-coin{display:flex;align-items:center;gap:10px}
.ld-coin-icon{width:38px;height:38px;background:var(--gold);color:#000;border-radius:50%;display:grid;place-items:center;font-size:1.1rem;font-weight:900}
.ld-coin-name{font-weight:700;font-size:.95rem}
.ld-coin-sub{font-size:.72rem;color:var(--muted)}
.ld-live-badge{display:flex;align-items:center;gap:6px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25);color:var(--green);font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.06em}
.ld-live-dot{width:6px;height:6px;background:var(--green);border-radius:50%;animation:pulse 1.5s infinite}
.ld-price-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}
.ld-price{font-size:2.2rem;font-weight:800;font-family:var(--mono);color:var(--text);line-height:1}
.ld-price.up{color:var(--green)}.ld-price.down{color:var(--red)}
.ld-pill{display:flex;align-items:center;gap:4px;padding:5px 12px;border-radius:999px;font-size:.85rem;font-weight:700;font-family:var(--mono)}
.ld-pill.up{background:rgba(34,197,94,.15);color:var(--green);border:1px solid rgba(34,197,94,.25)}
.ld-pill.down{background:rgba(255,107,107,.15);color:var(--red);border:1px solid rgba(255,107,107,.25)}
.ld-meta-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin-bottom:1.2rem}
.ld-meta{display:flex;flex-direction:column;gap:3px}
.ld-lbl{font-size:.66rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.ld-val{font-size:.85rem;font-weight:700;font-family:var(--mono);color:var(--text)}
/* Timeframe tabs */
.ld-tabs{display:flex;gap:.3rem;margin-bottom:.8rem;flex-wrap:wrap}
.ld-tab{
background:none;border:1px solid var(--border);
color:var(--muted);font-family:var(--mono);font-size:.68rem;
font-weight:700;letter-spacing:.03em;
padding:3px 8px;border-radius:5px;cursor:pointer;
transition:background .2s,color .2s,border-color .2s;
white-space:nowrap;
}
.ld-tab:hover{border-color:var(--gold-g);color:var(--gold)}
.ld-tab.active{background:var(--gold);color:#000;border-color:var(--gold)}
/* Chart area */
.ld-chart-wrap{height:110px;margin-bottom:1rem}
#ldChart{width:100%!important}
.ld-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.4rem;font-size:.68rem;color:var(--dim)}
/* KAGGLE BADGE */
.kaggle-badge{display:inline-flex;align-items:center;gap:12px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:12px 18px;text-decoration:none;max-width:490px;margin:0 auto;width:100%}
.kaggle-badge:hover{border-color:var(--gold-g)}
.kb-icon{font-size:1.3rem;flex-shrink:0}
.kb-body{display:flex;flex-direction:column;gap:2px;overflow:hidden}
.kb-title{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.kb-url{font-size:.75rem;font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 60%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
/* ABOUT */
/* About section title gradient */
.about-title{text-align:center}
.about-grad{
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 58%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
body.light .about-grad{
background:linear-gradient(90deg,#111118 0%,#c8930a 35%,#F0B90B 62%,#7a4a00 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.about-section{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}
.acard{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rL);padding:2rem}
.acard:hover{border-color:var(--gold-g);transform:translateY(-4px)}
.acard-icon{width:48px;height:48px;background:var(--gold-d);border-radius:12px;display:grid;place-items:center;font-size:1.4rem;margin-bottom:1.2rem}
.acard h3{
font-size:1rem;font-weight:700;margin-bottom:.5rem;display:inline-block;
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 60%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.acard p{font-size:.875rem;color:var(--muted);line-height:1.7}
/* TECHNOLOGY */
.tech-section{background:var(--bg)}
.tech-layout{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.tech-list{display:flex;flex-direction:column;gap:1.6rem}
.titem{display:flex;gap:1.2rem}
.titem-icon{flex-shrink:0;width:46px;height:46px;background:var(--gold-d);border-radius:12px;display:grid;place-items:center;font-size:1.2rem}
.titem-body h3{
font-size:.97rem;font-weight:700;margin-bottom:.4rem;display:inline-block;
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 60%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.titem-body p{font-size:.86rem;color:var(--muted);line-height:1.7}
.code-panel{background:#090a0d;border:1px solid var(--border);border-radius:var(--rL);overflow:hidden}
.code-titlebar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#0f1116;border-bottom:1px solid var(--border)}
.cdot{width:11px;height:11px;border-radius:50%}.cr{background:#ff5f57}.cy{background:#febc2e}.cg{background:#28c840}
.code-fname{font-family:var(--mono);font-size:.75rem;color:var(--muted);margin-left:6px}
.code-pre{padding:1.4rem 1.6rem;overflow-x:auto;font-family:var(--mono);font-size:.8rem;line-height:1.85;color:#c9d1d9}
.cc{color:#5c6370}.cf{color:#79c0ff}.cn{color:#f2cc60}.ck{color:#ff7b72}.cs{color:#a5d6ff}
/* FEATURES */
.features-section{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.tf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
.tf-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rL);padding:1.8rem}
.tf-card:hover{border-color:var(--gold-g);transform:translateY(-4px)}
.tf-icon{width:44px;height:44px;background:var(--gold-d);border-radius:10px;display:grid;place-items:center;font-size:1.2rem;margin-bottom:1rem}
.tf-card h3{font-size:.95rem;font-weight:700;margin-bottom:.5rem}
.tf-card p{font-size:.84rem;color:var(--muted);line-height:1.65;margin-bottom:1rem}
.tf-range{
font-size:.82rem;font-weight:700;display:inline-block;
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 60%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
/* FORECAST */
.forecast-section{background:var(--bg)}
.fconfig{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rL);padding:2.2rem 2.4rem;max-width:900px;margin:0 auto 2rem}
.fconfig h3{font-size:1rem;font-weight:700;margin-bottom:1.4rem}
.frow{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.2rem}
.frow label{font-size:.78rem;color:var(--muted);font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.sel-wrap{position:relative}
.sel-wrap select{width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:.92rem;padding:11px 14px;appearance:none;outline:none;cursor:pointer}
.sel-wrap select:focus{border-color:var(--gold-g)}
.sel-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.frow input{background:var(--bg2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:.92rem;padding:11px 14px;width:100%;outline:none}
.frow input:focus{border-color:var(--gold-g)}
.btn-generate{width:100%;background:var(--gold);color:#000;font-family:var(--font);font-size:1rem;font-weight:700;padding:14px;border-radius:9px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:.4rem;box-shadow:0 0 24px var(--gold-g)}
.btn-generate:hover{opacity:.87;transform:translateY(-1px)}
.btn-generate:active{transform:scale(.98)}
/* Prediction summary bar β€” 1 long box */
.pred-bar{
display:flex;align-items:stretch;
background:var(--bg3);border:1px solid var(--border);
border-radius:var(--rL);overflow:hidden;
max-width:900px;margin:0 auto 1.5rem;
}
.pbar-item{
flex:1;display:flex;flex-direction:column;
align-items:center;justify-content:center;
gap:6px;padding:1.4rem 1rem;text-align:center;
}
.pbar-div{width:1px;background:var(--border);flex-shrink:0;align-self:stretch}
.plbl{font-size:.7rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.pval{font-size:1.45rem;font-weight:700;font-family:var(--mono)}
.ai-panel{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rL);padding:2.2rem 2.4rem;max-width:900px;margin:1.5rem auto 0}
.ai-hdr{display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem}
.ai-avatar{width:44px;height:44px;background:var(--gold-d);border-radius:12px;display:grid;place-items:center;font-size:1.3rem}
.ai-name{font-weight:700;font-size:.95rem}
.ai-model{font-size:.75rem;color:var(--muted)}
.ai-slbl{
font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem;display:inline-block;
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 60%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.ai-text{font-size:.88rem;color:var(--muted);line-height:1.75}
.rec-badge{display:inline-block;padding:5px 16px;border-radius:6px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.rec-badge.sell{background:rgba(255,107,107,.15);color:var(--red);border:1px solid rgba(255,107,107,.3)}
.rec-badge.buy{background:rgba(34,197,94,.15);color:var(--green);border:1px solid rgba(34,197,94,.3)}
.rec-badge.hold{background:var(--gold-d);color:var(--gold);border:1px solid var(--gold-g)}
/* CHART BOX */
.chart-box{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rL);padding:clamp(1.4rem,3vw,2.2rem);margin-top:1.5rem;max-width:900px;margin-left:auto;margin-right:auto}
.chart-box-hdr{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}
.cbox-title{font-size:1rem;font-weight:700}
.clegend-item{display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--muted)}
.dot-gold{width:9px;height:9px;border-radius:50%;background:var(--gold);flex-shrink:0}
.dot-teal{width:9px;height:9px;border-radius:50%;background:var(--teal);flex-shrink:0}
.cwrap{position:relative;min-height:300px}
#forecastChart,#compareChart{width:100%!important;max-height:400px}
/* COMPARE */
.compare-section{background:var(--bg2);border-top:1px solid var(--border)}
.cmp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}
.cmpc{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:5px}
.cmplbl{font-size:.7rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.cmpval{font-size:1.4rem;font-weight:700;font-family:var(--mono)}
.cmpval.pos{color:var(--green)}.cmpval.neg{color:var(--red)}
/* FOOTER */
.footer{background:var(--bg);border-top:1px solid var(--border);padding:clamp(2rem,5vw,3.5rem) clamp(1.5rem,5vw,3rem);text-align:center}
.footer-ctr{justify-content:center;margin-bottom:1rem}
.footer-nav{margin-bottom:.8rem}
.footer-nav a{color:var(--dim);text-decoration:none;font-size:.82rem}
.footer-nav a:hover{color:var(--gold)}
.footer-ds{font-size:.78rem;color:var(--muted);margin-bottom:.6rem}
.footer-ds a{font-family:var(--mono);
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 60%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
text-decoration:none;
}
.footer-ds a:hover{opacity:.8}
.footer-risk{font-size:.82rem;color:var(--dim);line-height:1.8;max-width:600px;margin:0 auto .6rem}
.footer-risk strong{color:var(--muted)}
.footer-copy{font-size:.72rem;color:var(--muted);opacity:.75;line-height:1.8}
/* UTIL */
.hidden{display:none!important}
/* ══════════════════════════════════
LIGHT MODE β€” warm, clean, polished
══════════════════════════════════ */
body.light{
--bg:#fafaf7;
--bg2:#f0f0ea;
--bg3:#e6e6de;
--bg4:#d8d8ce;
--text:#111118;
--muted:#4a4a5a;
--dim:#7a7a8a;
--border:rgba(0,0,0,.09);
--shadow:rgba(0,0,0,.12);
--gold-d:rgba(240,185,11,.10);
--gold-g:rgba(200,147,10,.30);
}
/* Navbar */
body.light .navbar{background:rgba(250,250,247,.96);border-bottom-color:rgba(0,0,0,.08)}
body.light .nav-brand{color:#111118}
body.light .nav-links a{color:#2a2a3a}
body.light .nav-links a:hover{color:#9a6800}
body.light .nav-links a.nav-active{color:#111118;font-weight:700}
body.light .nav-links a.nav-active::after{background:#9a6800}
body.light .nav-btc-pill{background:#ededE5;border-color:rgba(0,0,0,.1)}
body.light .nav-btc-pill .nlp-price{color:var(--text)}
body.light .nav-btc-pill .nlp-label{color:#555560}
body.light .theme-switch{background:#ededE5;border-color:rgba(0,0,0,.10)}
body.light .ts-divider{background:rgba(0,0,0,.12)}
body.light .hamburger{color:var(--muted)}
/* Hero */
body.light .hero-grid-bg{background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px)}
/* Line 1: solid dark */
body.light .hero h1 .line-top{color:#111118}
/* Line 2: dark→amber→gold gradient */
body.light .hero h1 .gold{
background:linear-gradient(90deg,#111118 0%,#c8930a 35%,#F0B90B 62%,#7a4a00 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
body.light .hero-badge{background:rgba(200,147,10,.08);border-color:rgba(200,147,10,.22);color:#7a4a00}
body.light .hero-sub{color:var(--muted)}
/* Stats β€” solid yellow, no gradient */
body.light .hs-val{
color:#D4A000 !important;
background:none !important;
-webkit-text-fill-color:#D4A000 !important;
}
body.light #heroPrice{
color:#D4A000 !important;
background:none !important;
-webkit-text-fill-color:#D4A000 !important;
}
body.light .hs-lbl{color:var(--dim)}
body.light .hs-sep{background:rgba(0,0,0,.1)}
/* Live dashboard */
body.light .live-dash{box-shadow:0 12px 48px rgba(0,0,0,.10),0 0 0 1px rgba(200,147,10,.12)}
body.light .ld-coin-name,.body.light .ld-val,.body.light .ld-price{color:var(--text)}
body.light .ld-lbl{color:var(--dim)}
body.light .ld-foot{color:var(--dim)}
/* Cards / panels */
body.light .acard h3{
background:none;
-webkit-text-fill-color:#7a4a00;
color:#7a4a00;
}
body.light .titem-body h3{
background:none;
-webkit-text-fill-color:#7a4a00;
color:#7a4a00;
}
body.light .stag{
background:none;
-webkit-text-fill-color:#8a5c00;
color:#8a5c00;
}
body.light .ai-slbl{
background:none;
-webkit-text-fill-color:#8a5c00;
color:#8a5c00;
}
body.light .tf-range{
background:none;
-webkit-text-fill-color:#8a5c00;
color:#8a5c00;
}
body.light .kb-url{
background:none;
-webkit-text-fill-color:#8a5c00;
color:#8a5c00;
}
body.light .footer-ds a{
background:none;
-webkit-text-fill-color:#8a5c00;
color:#8a5c00;
}
body.light .footer-copy{
background:none;
-webkit-text-fill-color:#9a6800;
color:#9a6800;
opacity:.7;
}
/* Inputs */
body.light .frow input,
body.light .sel-wrap select{background:var(--bg2);color:var(--text);border-color:rgba(0,0,0,.12)}
/* Code panel stays dark */
body.light .code-panel{background:#1e1e2e}
body.light .code-pre{color:#cdd6f4}
body.light .code-titlebar{background:#181825;border-bottom-color:rgba(255,255,255,.08)}
body.light .code-fname{color:#888}
/* Scrollbar */
body.light ::-webkit-scrollbar-track{background:var(--bg)}
/* Mobile nav in light */
body.light .nav-links{background:var(--bg2)}
body.light .nav-links.open{background:var(--bg2)}
/* Chart time label */
.ld-chart-time{
font-size:.65rem;color:var(--dim);font-family:var(--mono);
text-align:center;margin-bottom:.6rem;letter-spacing:.03em;
min-height:1rem;
}
/* Technology section title gradient */
.tech-grad{
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 58%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
body.light .tech-grad{
background:linear-gradient(90deg,#111118 0%,#c8930a 35%,#F0B90B 62%,#7a4a00 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
/* Features section title gradient */
.feat-grad{
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 58%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
body.light .feat-grad{
background:linear-gradient(90deg,#111118 0%,#c8930a 35%,#F0B90B 62%,#7a4a00 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
/* ── FORECAST FORM ENHANCED ── */
.fconfig-hdr{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.6rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border)}
.fconfig-icon{font-size:1.6rem;flex-shrink:0;margin-top:.1rem}
.fconfig-hdr h3{font-size:1.05rem;font-weight:700;margin-bottom:.25rem}
.fconfig-sub{font-size:.8rem;color:var(--muted);line-height:1.4}
.fform-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.2rem;margin-bottom:1.2rem}
.fconfig-info{
display:flex;gap:1rem;flex-wrap:wrap;
background:var(--bg2);border:1px solid var(--border);
border-radius:8px;padding:.7rem 1rem;
margin-bottom:1.2rem;
}
.finfo-item{font-size:.72rem;color:var(--muted);font-family:var(--mono)}
@media(max-width:640px){.fform-grid{grid-template-columns:1fr}}
/* Prediction section subtitle spacing */
.forecast-section .ssub{margin-bottom:1.5rem}
/* Form grid 2-col (with only 2 items) */
.fform-2col{grid-template-columns:1fr 1fr}
/* Horizon input with unit badge */
.fhorizon-wrap{position:relative;display:flex;align-items:center}
.fhorizon-wrap input{padding-right:3rem}
.fhorizon-unit{
position:absolute;right:12px;
font-size:.75rem;color:var(--muted);font-family:var(--mono);
font-weight:600;pointer-events:none;
}
.fhorizon-hint{
font-size:.71rem;color:var(--dim);font-family:var(--mono);
margin-top:.3rem;display:block;
}
@media(max-width:520px){.fform-2col{grid-template-columns:1fr}}
/* Forecast & Compare title gradients */
.forecast-grad{
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 58%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.avp-grad{
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 58%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
body.light .forecast-grad,body.light .avp-grad{
background:linear-gradient(90deg,#111118 0%,#c8930a 35%,#F0B90B 62%,#7a4a00 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
/* Subtitle no-wrap (1 line) */
.ssub-nowrap{white-space:nowrap;max-width:none}
@media(max-width:860px){.ssub-nowrap{white-space:normal}}
/* Prediction type cards */
.frow-full{grid-column:1/-1}
.pred-type-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.7rem;margin-top:.3rem}
.ptcard{
display:flex;flex-direction:column;align-items:center;gap:.35rem;
background:var(--bg2);border:2px solid var(--border);
border-radius:12px;padding:1rem .8rem;cursor:pointer;
transition:border-color .2s,background .2s,transform .15s;
text-align:center;
}
.ptcard:hover{border-color:var(--gold-g);background:var(--bg3);transform:translateY(-2px)}
.ptcard-active{border-color:var(--gold)!important;background:var(--gold-d)!important}
.ptcard-icon{font-size:1.4rem;line-height:1}
.ptcard-name{font-size:.95rem;font-weight:700;color:var(--text)}
.ptcard-active .ptcard-name{color:var(--gold)}
.ptcard-desc{font-size:.73rem;color:var(--muted)}
/* Recommendation text β€” plain colored, glow */
.rec-text{
font-size:.7rem;font-weight:700;margin-top:.5rem;
display:inline-block;letter-spacing:.1em;text-transform:uppercase;
}
.rec-text.buy{
color:#22c55e;
text-shadow:0 0 18px rgba(34,197,94,.55),0 0 36px rgba(34,197,94,.25);
}
.rec-text.sell{
color:#ff6b6b;
text-shadow:0 0 18px rgba(255,107,107,.55),0 0 36px rgba(255,107,107,.25);
}
.rec-text.hold{
color:var(--gold);
text-shadow:0 0 18px rgba(240,185,11,.55),0 0 36px rgba(240,185,11,.25);
}
/* MODEL EVALUATION metric cards */
.eval-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:900px;margin:0 auto 1.5rem}
.eval-card{
background:var(--bg3);border:1px solid var(--border);
border-radius:var(--r);padding:1.4rem 1rem;
display:flex;flex-direction:column;align-items:center;
text-align:center;gap:6px;
}
.eval-lbl{
font-size:.62rem;font-weight:700;color:var(--muted);
text-transform:uppercase;letter-spacing:.08em;
}
.eval-val{
font-size:1.45rem;font-weight:800;font-family:var(--mono);
background:linear-gradient(90deg,#ffffff 0%,#FFE566 28%,#F0B90B 58%,#c8930a 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
line-height:1.1;
}
.eval-note{
font-size:.69rem;color:var(--dim);line-height:1.45;
}
body.light .eval-val{
background:linear-gradient(90deg,#111118 0%,#c8930a 35%,#F0B90B 62%,#7a4a00 100%);
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
@media(max-width:640px){.eval-cards{grid-template-columns:repeat(2,1fr)}}
/* ══════════════════════════════════
RESPONSIVE
══════════════════════════════════ */
@media(max-width:860px){
.tech-layout{grid-template-columns:1fr}
.code-panel{order:-1}
}
@media(max-width:640px){
.nav-links{
position:fixed;top:64px;left:0;right:0;
transform:none;
display:none;flex-direction:column;
background:var(--bg2);border-bottom:1px solid var(--border);
padding:1.2rem 1.5rem;gap:1rem;z-index:199;
}
.nav-links.open{display:flex}
.hamburger{display:block}
.nav-btc-pill .nlp-label,.nav-btc-pill .nlp-chg{display:none}
.hs-sep{display:none}
.hero-stats{gap:1.5rem}
.ld-meta-grid{grid-template-columns:1fr 1fr}
.cmp-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
.tf-grid{grid-template-columns:1fr}
.ld-price{font-size:1.7rem}
}