Spaces:
Sleeping
Sleeping
| /* βββββββββββββββββββββββββββββββββββββββββββββββ | |
| 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 ; | |
| } | |
| 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%} | |
| .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%;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} | |
| /* ββββββββββββββββββββββββββββββββββ | |
| 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 ; | |
| background:none ; | |
| -webkit-text-fill-color:#D4A000 ; | |
| } | |
| body.light #heroPrice{ | |
| color:#D4A000 ; | |
| background:none ; | |
| -webkit-text-fill-color:#D4A000 ; | |
| } | |
| 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);background:var(--gold-d)} | |
| .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} | |
| } | |