/* fool_trades: liquid glass theme */
:root{--bg:#06070a;--text:#FFFFFF;--muted:#b4bdca;--dim:#7d8898;
--win:#FFFFFF;--loss:#FF3B30;--yellow:#FFD700;--gold:#D4AF37;--blue:#4FC3F7;
--glass:rgba(22,26,34,.46);--glass-2:rgba(30,35,46,.55);--glass-solid:rgba(18,21,28,.92);--edge:rgba(255,255,255,.14);
--blur:22px;--sat:170%;--r:24px;--r-sm:16px;
--shadow:0 10px 30px -12px rgba(0,0,0,.65),0 2px 6px -2px rgba(0,0,0,.4);
--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}html{background:var(--bg)}
html,body{margin:0;color:var(--text);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
body{min-height:100vh;background:transparent}
a{color:inherit;text-decoration:none}img{max-width:100%}
.num,.mono,td.n,th.n{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.win{color:var(--win)}.loss{color:var(--loss)}.flat{color:var(--muted)}.y{color:var(--yellow)}.gold{color:var(--gold)}.blue{color:var(--blue)}.dim{color:var(--dim)}

/* ---------- background: drifting light blobs (radial gradients, no filter = cheap) ---------- */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
 background:radial-gradient(120% 80% at 50% 0%,#0c1119 0%,#06070a 60%)}
.bg i{position:absolute;border-radius:50%;opacity:.55;will-change:transform}
.bg .b1{width:70vmax;height:70vmax;left:-18vmax;top:-22vmax;background:radial-gradient(circle,rgba(212,175,55,.55) 0%,rgba(212,175,55,0) 62%);animation:d1 38s ease-in-out infinite alternate}
.bg .b2{width:65vmax;height:65vmax;right:-20vmax;top:8vmax;background:radial-gradient(circle,rgba(79,195,247,.42) 0%,rgba(79,195,247,0) 62%);animation:d2 44s ease-in-out infinite alternate}
.bg .b3{width:50vmax;height:50vmax;left:20vmax;bottom:-26vmax;background:radial-gradient(circle,rgba(255,59,48,.22) 0%,rgba(255,59,48,0) 62%);animation:d3 52s ease-in-out infinite alternate}
.bg .b4{width:40vmax;height:40vmax;right:10vmax;bottom:-10vmax;background:radial-gradient(circle,rgba(255,215,0,.22) 0%,rgba(255,215,0,0) 62%);animation:d1 60s ease-in-out infinite alternate-reverse}
.bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,7,10,0) 0%,rgba(6,7,10,.35) 100%)}
@keyframes d1{to{transform:translate3d(14vmax,10vmax,0) scale(1.12)}}
@keyframes d2{to{transform:translate3d(-16vmax,12vmax,0) scale(.9)}}
@keyframes d3{to{transform:translate3d(-10vmax,-14vmax,0) scale(1.15)}}

/* ---------- glass primitive ---------- */
.glass{position:relative;isolation:isolate;background:var(--glass);border-radius:var(--r);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(255,255,255,.03);
 -webkit-backdrop-filter:blur(var(--blur)) saturate(var(--sat));backdrop-filter:blur(var(--blur)) saturate(var(--sat))}
/* specular gradient edge */
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:1;
 background:linear-gradient(140deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.08) 28%,rgba(255,255,255,.02) 55%,rgba(255,255,255,.16) 100%);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
/* lens sheen following the pointer (CSS vars set by app.js) */
.glass::after,.btn::after,.dayrow::after,.tcard::after,.timg::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;
 background:radial-gradient(220px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.12),rgba(255,255,255,0) 70%)}
@media(hover:hover){.glass:hover::after,.btn:hover::after,.dayrow:hover::after,.tcard:hover::after,.timg:hover::after{opacity:1}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .glass,nav,.brand{background:var(--glass-solid)}
}
.glass>*{position:relative;z-index:2}

/* ---------- top bar: brand pill + floating pill nav ---------- */
.top{position:sticky;top:0;z-index:10;padding:12px 16px 0;pointer-events:none}
.topin{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.top a,.top nav{pointer-events:auto}
.brand{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;font:700 15px var(--mono)}
.brand img{width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 1px rgba(212,175,55,.8),0 0 16px rgba(212,175,55,.35)}
nav{display:flex;gap:2px;padding:5px;border-radius:999px;position:relative}
nav a{position:relative;z-index:2;padding:9px 16px;border-radius:999px;color:var(--muted);font-size:14px;font-weight:500;white-space:nowrap;transition:color .2s,background .25s,box-shadow .25s,transform .15s}
nav a:hover{color:var(--text)}
nav a.on{color:var(--text);background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.07));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 0 0 1px rgba(255,255,255,.10),0 4px 14px -6px rgba(0,0,0,.6)}
nav a:active{transform:scale(.96)}
/* mobile: bottom tab bar */
@media(max-width:700px){
 .top{padding:10px 12px 0}
 .topin{justify-content:flex-start}
 .top nav.glass{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom));width:min(420px,calc(100% - 24px));justify-content:space-between;padding:6px;z-index:20;--blur:26px}
 nav a{flex:1;text-align:center;padding:12px 6px;font-size:13.5px}
 main{padding-bottom:110px!important}
 .foot{padding-bottom:110px!important}
}

main{max-width:1160px;margin:0 auto;padding:22px 16px 60px}
h1{font-size:32px;line-height:1.12;margin:6px 0 8px;letter-spacing:-.8px;font-weight:700}
h2{font:600 11.5px var(--mono);text-transform:uppercase;letter-spacing:1.8px;color:var(--blue);margin:34px 4px 12px;display:flex;align-items:center;gap:10px}
h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent)}
.sub{color:var(--muted);font-size:14.5px}
.card{padding:18px}
.grid{display:grid;gap:12px}.g3{grid-template-columns:repeat(3,1fr)}.g6{grid-template-columns:repeat(6,1fr)}.g2{grid-template-columns:1fr 1fr}
@media(max-width:900px){.g6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.g3,.g2{grid-template-columns:1fr}.g6{grid-template-columns:repeat(2,1fr)}h1{font-size:27px}}

/* ---------- hero panel ---------- */
.hero-panel{border-radius:30px;padding:28px 28px 18px;margin-top:10px;--blur:28px;background:linear-gradient(160deg,rgba(40,44,56,.48),rgba(16,19,26,.42))}
.hero{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}
.hero .av{width:120px;height:120px;border-radius:50%;box-shadow:0 0 0 2px rgba(212,175,55,.85),0 0 0 8px rgba(212,175,55,.10),0 0 60px rgba(212,175,55,.30)}
.hero h1{font-size:46px;letter-spacing:-1.4px;margin:0 0 10px;background:linear-gradient(180deg,#fff 30%,#cfd5de);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .tag{font:500 13px var(--mono);color:var(--gold);letter-spacing:.6px}
.hero p{color:var(--muted);font-size:17px;max-width:600px;margin:0 0 18px}
.hero-curve{margin-top:22px}
@media(max-width:640px){.hero-panel{padding:20px 16px 12px;border-radius:26px}.hero{grid-template-columns:1fr;gap:14px}.hero .av{width:78px;height:78px}.hero h1{font-size:33px}}

/* ---------- buttons ---------- */
.btns{display:flex;gap:10px;flex-wrap:wrap}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;font-weight:600;font-size:15px;cursor:pointer;color:var(--text);
 background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 1px rgba(255,255,255,.12),0 6px 18px -8px rgba(0,0,0,.7);
 -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-1px) scale(1.02);background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.07))}
.btn:active{transform:scale(.96)}
.btn.primary{color:#0a0a0a;background:linear-gradient(180deg,#ffffff,#dfe3ea);box-shadow:inset 0 1px 0 #fff,0 8px 26px -8px rgba(255,255,255,.45)}
.btn.primary::after{background:radial-gradient(160px circle at var(--mx,50%) var(--my,0%),rgba(255,215,0,.35),transparent 70%)}
.btn.sm{min-height:38px;padding:0 14px;font-size:13.5px}
.btn.on{color:#0a0a0a;background:linear-gradient(180deg,#fff,#dfe3ea)}
.btn[disabled]{opacity:.35;pointer-events:none}.btn svg{width:18px;height:18px;position:relative}

/* ---------- stats ---------- */
.stat{padding:16px;border-radius:22px}
.stat .k{font:500 10.5px var(--mono);color:var(--blue);text-transform:uppercase;letter-spacing:1.3px}
.stat .v{font:600 23px var(--mono);margin-top:6px;font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.stat .v.y{text-shadow:0 0 18px rgba(255,215,0,.35)}
.stat .s{color:var(--dim);font:12px var(--mono);margin-top:3px}

/* ---------- chart ---------- */
.chartbox{padding:16px 14px 6px;border-radius:26px}
.chartbox.inner{padding:14px 10px 4px;border-radius:22px;background:rgba(0,0,0,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 0 1px rgba(255,255,255,.06)}
.chartbox svg{width:100%;height:auto;display:block}
.chartbox .hd{display:flex;justify-content:space-between;align-items:baseline;padding:0 6px 6px;gap:8px;flex-wrap:wrap}
.chartbox .hd .num{font-size:20px;font-weight:600;text-shadow:0 0 22px rgba(255,215,0,.45)}
#eqtip{min-height:22px;padding:2px 6px 8px;font:13px var(--mono);color:var(--muted)}

/* ---------- socials / posts ---------- */
.soc{display:flex;align-items:center;gap:14px;padding:16px 18px;min-height:76px;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.soc svg{width:26px;height:26px;flex:none}.soc b{display:block}.soc small{color:var(--muted);font-family:var(--mono)}
.post{display:flex;flex-direction:column;gap:12px;justify-content:space-between;min-height:136px;transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.post .q{font-size:16.5px;font-weight:500;line-height:1.4}.post .m{display:flex;align-items:center;gap:8px;color:var(--muted);font:12.5px var(--mono)}.post .m svg{width:14px;height:14px}
@media(hover:hover){.soc:hover,.post:hover{transform:translateY(-2px) scale(1.01)}}
.soc:active,.post:active{transform:scale(.98)}
.about p{color:#dde2e9;margin:0 0 12px;max-width:760px}
.aff{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(212,175,55,.16),rgba(22,26,34,.45))}.aff b{color:var(--gold)}

/* ---------- journal lists (no per-row blur: performance) ---------- */
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0 14px}
select{min-height:40px;border-radius:999px;padding:0 14px;color:var(--text);font:14px var(--sans);border:0;
 background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 0 0 1px rgba(255,255,255,.12)}
select option{background:#12151c}
.scroll{overflow-x:auto;border-radius:var(--r);background:rgba(14,17,23,.62);box-shadow:var(--shadow),inset 0 0 0 1px var(--edge)}
table.tt{width:100%;border-collapse:collapse;font-size:13.5px;white-space:nowrap}
.tt th{font:500 10.5px var(--mono);text-transform:uppercase;letter-spacing:1.2px;color:var(--blue);text-align:right;padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;background:rgba(16,19,26,.96)}
.tt td{text-align:right;padding:10px 10px;border-bottom:1px solid rgba(255,255,255,.045)}.tt .l{text-align:left}
.tt tbody tr{cursor:pointer;transition:background .15s}.tt tbody tr:hover{background:rgba(255,255,255,.06)}
.cards{display:none}
@media(max-width:760px){.desk{display:none}.cards{display:grid;gap:8px}}
.tcard,.dayrow,.timg{position:relative;overflow:hidden;background:rgba(18,21,28,.62);border-radius:var(--r-sm);box-shadow:0 6px 18px -10px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px rgba(255,255,255,.07);transition:transform .18s cubic-bezier(.2,.8,.2,1),background .2s}
.tcard{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:13px 15px}
.tcard .r{font:600 17px var(--mono);text-align:right}.tcard small{color:var(--muted);font:12.5px var(--mono);grid-column:1/-1}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.timg{display:block;border-radius:20px}.timg img{display:block;width:100%;aspect-ratio:1024/529;object-fit:cover;background:#0b0f15}
.timg .b{display:flex;justify-content:space-between;padding:10px 14px;font:13px var(--mono)}
.days{display:grid;gap:8px}
.dayrow{display:grid;grid-template-columns:130px 1fr auto;gap:12px;align-items:center;padding:13px 16px;min-height:56px}
.dayrow .d{font:600 14px var(--mono)}.dayrow .pl{font:600 15px var(--mono);text-align:right}
@media(hover:hover){.tcard:hover,.dayrow:hover,.timg:hover{background:rgba(34,39,50,.7);transform:translateY(-1px)}}
.tcard:active,.dayrow:active,.timg:active{transform:scale(.985)}
@media(max-width:520px){.dayrow{grid-template-columns:1fr auto}.dayrow .sub{grid-column:1/-1;grid-row:2;font-size:13px}}
.heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px}
.heat a{aspect-ratio:1;border-radius:11px;display:grid;place-items:center;font:600 11px var(--mono);color:#000;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 3px 10px -4px rgba(0,0,0,.6);transition:transform .15s}
.heat a:hover{transform:scale(1.1)}
.shot{display:block;width:100%;border-radius:22px;cursor:zoom-in;background:#0b0f15;box-shadow:var(--shadow),0 0 0 1px rgba(255,255,255,.1)}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.big{font:700 32px var(--mono);letter-spacing:-.5px}
.crumb{font:13px var(--mono);color:var(--dim)}.crumb a{color:var(--blue)}
.pn{display:flex;gap:6px;margin-top:8px;justify-content:flex-end}
dl.kv{display:grid;grid-template-columns:auto 1fr;gap:7px 18px;margin:0;font-size:14px}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0;text-align:right;font-family:var(--mono)}
.path{font:12.5px var(--mono);line-height:1.9;color:#d4dae3;word-break:break-word}
.entry{margin:12px 0;padding:18px 20px}.entry h3{margin:8px 0 8px;font-size:17.5px}
.pill{display:inline-block;font:500 10.5px var(--mono);text-transform:uppercase;letter-spacing:1px;padding:4px 10px;border-radius:999px;color:var(--blue);margin-right:6px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.pill.gold{color:var(--gold)}
.md p{margin:0 0 10px;color:#dde2e9}.md ul,.md ol{margin:0 0 10px;padding-left:20px;color:#dde2e9}.md h4{margin:14px 0 6px;color:var(--gold);font-size:14px}
.md table{border-collapse:collapse;font:12.5px var(--mono);display:block;overflow-x:auto;margin:6px 0 12px;white-space:nowrap}.md td,.md th{border-bottom:1px solid rgba(255,255,255,.06);padding:6px 8px;text-align:left}.md th{color:var(--blue);font-weight:500}
.md td:last-child{white-space:normal;min-width:280px}
.empty,.loading{padding:40px;text-align:center;color:var(--dim)}
.foot{max-width:1160px;margin:0 auto;padding:26px 16px 44px;text-align:center;color:var(--dim);font-size:13px}
.foot .s{display:flex;gap:10px;justify-content:center;margin-bottom:12px}
.foot .s a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 0 0 1px rgba(255,255,255,.1)}
.foot svg{width:19px;height:19px;fill:var(--muted)}
#lightbox{position:fixed;inset:0;background:rgba(4,5,8,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;place-items:center;z-index:30;padding:12px;cursor:zoom-out}
#lightbox[hidden]{display:none}#lightbox img{max-height:96vh;border-radius:16px}

/* ---------- mobile performance + accessibility ---------- */
@media(max-width:700px){:root{--blur:16px;--sat:150%}.stat{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(22,26,34,.66)}.bg i{opacity:.5}}
@media(prefers-reduced-motion:reduce){.bg i{animation:none}*,*::before,*::after{transition:none!important}}
@media(prefers-reduced-transparency:reduce){.glass,nav,.brand,.btn{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--glass-solid)}}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:12px}
