/* FinDendro leaderboard. Fin AI house structure; the accent is a heartwood-to-sapwood gradient. Knows is heartwood teal and Says is rust, everywhere on the page. */ :root{ --ink:#10201c; --soft:#4b5c58; --muted:#7f8d89; --line:rgba(14,84,70,.1); --paper:#fcfcfa; --paper-2:#f3f6f1; --ring:0 0 0 1px rgba(14,84,70,.08),0 1px 2px rgba(10,50,40,.04),0 10px 28px -18px rgba(14,84,70,.22); --g:linear-gradient(90deg,#0a5d55,#2c9a6e 58%,#d9962b); --g-soft:linear-gradient(90deg,rgba(10,125,116,.08),rgba(217,150,43,.1)); --knows:#0a7d74; --says:#d9622b; --chance:#8d9894; --vendor:#5d6a66; --wood:#efe6d3; --serif:'Newsreader',Georgia,serif; --brand:'Fraunces','Newsreader',Georgia,serif; --sans:'Inter',system-ui,-apple-system,sans-serif; --mono:'JetBrains Mono',ui-monospace,Menlo,monospace; --wrap:1180px; --ease:cubic-bezier(.22,1,.36,1); } *{box-sizing:border-box} [hidden]{display:none!important} html{scroll-behavior:smooth;scroll-padding-top:74px} body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased} h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;letter-spacing:-.02em;margin:0;text-wrap:balance} p{margin:0;color:var(--soft)} a{color:inherit;text-decoration:none} button{font:inherit;color:inherit;background:none;border:0;cursor:pointer} :focus-visible{outline:2px solid var(--knows);outline-offset:2px} svg text{font-family:var(--sans)} ::selection{background:#0a5d55;color:#fff} figure{margin:0} .wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-inline:32px} .glow{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(66vw 80vh at 18% 12%,rgba(10,125,116,.07),transparent 70%),radial-gradient(60vw 70vh at 88% 30%,rgba(217,150,43,.08),transparent 70%)} .edge{position:fixed;top:50%;z-index:45;pointer-events:none;display:flex;align-items:center;gap:18px;white-space:nowrap} .edge-l{left:24px;transform:translate(-50%,-50%) rotate(-90deg)} .edge-r{right:24px;transform:translate(50%,-50%) rotate(90deg)} .edge .e-name{font:600 11px var(--sans);letter-spacing:.42em;text-transform:uppercase;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent} .edge::before,.edge::after{content:"";display:block;width:8vh;height:1px;background:linear-gradient(90deg,transparent,rgba(10,125,116,.26))} .edge::after{background:linear-gradient(90deg,rgba(10,125,116,.26),transparent)} @media (max-width:1320px){.edge{display:none}} .progress{position:fixed;inset:0 0 auto 0;height:2px;z-index:60;transform-origin:0 50%;transform:scaleX(0);background:var(--g)} .header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .4s var(--ease),box-shadow .4s} .header.scrolled{background:rgba(252,252,250,.82);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 1px 0 var(--line)} .nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:14px} .brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.2rem;font-weight:500;white-space:nowrap} .brand img{height:24px;width:auto} .brand-sep{color:var(--muted);font-weight:400} .brand-fd{font-family:var(--brand);font-size:1.02rem;font-weight:600;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent} .nav-right{display:flex;align-items:center;gap:10px} .links{display:flex;gap:2px} .links a{font-size:.88rem;color:var(--soft);padding:7px 13px;border-radius:999px;transition:background .25s,color .25s} .links a:hover{background:var(--paper-2);color:var(--ink)} .links a.active{background:var(--g-soft);color:var(--ink)} .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.92rem;font-weight:500;padding:10px 20px;border-radius:999px;background:var(--ink);color:#fff;transition:box-shadow .3s,transform .2s,background .2s} .btn:hover{box-shadow:0 10px 30px -12px rgba(10,125,116,.65);transform:translateY(-1px)} .btn--sm{padding:7px 15px;font-size:.84rem} .btn--lg{padding:14px 27px;font-size:1rem} .btn--ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)} .btn--ghost:hover{background:var(--paper-2)} .reveal{transition:opacity .75s var(--ease),transform .75s var(--ease)} .js .reveal:not(.in){opacity:0;transform:translateY(16px)} .hero{position:relative;padding-top:118px;overflow:hidden} .hero-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:54px;align-items:center;padding-bottom:40px} .hero-grid>*{min-width:0} .award{display:inline-flex;align-items:center;gap:9px;font-size:.84rem;color:var(--soft);padding:5px 14px 5px 6px;border-radius:999px;background:#fff;box-shadow:var(--ring)} .award b{font-weight:500;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent} .medal{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;background:#e9f1ea;overflow:hidden} .medal canvas{width:22px;height:22px;image-rendering:pixelated} .wordmark{font-family:var(--brand);font-weight:600;font-size:clamp(3.6rem,8.3vw,6.3rem);letter-spacing:-.025em;line-height:1;margin-top:20px;padding-bottom:.08em;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent} .hero-sub{font-family:var(--serif);font-size:clamp(1.4rem,2.5vw,1.8rem);line-height:1.24;color:var(--ink);margin-top:10px} .hero-sub em{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em} .lead{margin-top:16px;max-width:33em;font-size:1.02rem} .rotator{display:inline-block;color:var(--ink);font-weight:500;border-bottom:1.5px solid var(--knows);padding-inline:2px;min-width:7.4em;text-align:center;transition:opacity .25s,filter .25s} .rotator.off{opacity:0;filter:blur(5px)} .stats{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:24px} .stat b{display:block;font:500 2.05rem/1.1 var(--serif);font-variant-numeric:tabular-nums} .stat span{font-size:.78rem;color:var(--muted)} .ctas{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap} .hero-viz{background:rgba(255,255,255,.86);border-radius:20px;box-shadow:var(--ring);padding:20px 22px 18px} .hero-viz figcaption{display:flex;justify-content:space-between;gap:10px;font:500 .72rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)} .hero-viz figcaption a{font:500 .86rem var(--sans);letter-spacing:0;text-transform:none;background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent} .xs-chips,.pick{display:flex;flex-wrap:wrap;gap:6px} .xs-chips{margin-top:12px} .chip{font-size:.8rem;padding:5px 12px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);transition:background .2s,color .2s} .chip:hover{color:var(--ink)} .chip[aria-selected="true"]{background:var(--ink);color:#fff;box-shadow:none} .xs-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;margin-top:6px} .xs{position:relative;max-width:330px;margin:0 auto;width:100%} .xs-side{font-size:.72rem;color:var(--muted);line-height:1.25;width:64px} .xs-side b{display:block;font:500 1.15rem var(--serif);letter-spacing:-.01em} .xs-side--l{text-align:right}.xs-side--l b{color:var(--says)} .xs-side--r b{color:var(--knows)} .xs-ends{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px;border-top:1px solid var(--line);padding-top:11px;font-size:.72rem;color:var(--muted);line-height:1.3} .xs-ends b{display:block;font:500 1rem var(--serif);color:var(--ink);font-variant-numeric:tabular-nums} .hero-claim{margin-top:12px;font:400 1.08rem var(--serif);color:var(--ink);text-align:center} .hero-claim em{color:var(--says)} .ticker{border-block:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.6);padding-block:11px} .ticker-track{display:flex;width:max-content;gap:44px;animation:tick 42s linear infinite} .ticker:hover .ticker-track{animation-play-state:paused} .tk{font-size:.84rem;white-space:nowrap;color:var(--soft);font-variant-numeric:tabular-nums} .tk i{font:500 .74rem var(--mono);color:var(--muted);font-style:normal;margin-right:7px} .tk b{font-weight:500;color:var(--ink);margin-right:8px} .tk u{text-decoration:none;color:var(--knows);font-weight:500}.tk s{text-decoration:none;color:var(--says);font-weight:500} @keyframes tick{to{transform:translateX(-50%)}} .section{padding-block:76px} .section--tint{background:linear-gradient(180deg,rgba(243,246,241,.85),rgba(243,246,241,.45))} .sec-head{margin-bottom:28px} .kicker{display:inline-flex;align-items:center;gap:10px;font:500 .74rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--knows)} .kicker::before{content:"";width:26px;height:1.5px;background:var(--g)} h2{font-size:clamp(2rem,4.1vw,3rem);margin-top:9px;max-width:21em} h2 em{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em} .note{margin-top:11px;max-width:45em;font-size:.97rem} .card{background:#fff;border-radius:16px;box-shadow:var(--ring);padding:22px 24px} .card h3{font-size:1.22rem} .game{display:grid;grid-template-columns:1.12fr 1fr;gap:16px;align-items:stretch} .game>*{min-width:0} .q-card,.a-card{background:#fff;border-radius:18px;box-shadow:var(--ring);padding:24px 26px;display:flex;flex-direction:column} .q-top{display:flex;justify-content:space-between;gap:10px;font:500 .72rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)} .q-text{font:400 1.32rem/1.32 var(--serif);color:var(--ink);margin-top:12px;min-height:5.3em} .q-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px} .q-opt{padding:13px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);text-align:left;font-size:1rem;font-variant-numeric:tabular-nums;transition:background .18s,box-shadow .18s;background:#fff;min-height:50px;display:flex;justify-content:space-between;align-items:center;gap:8px} .q-opt:hover:not(:disabled){background:var(--paper-2)} .q-opt:disabled{cursor:default;color:var(--soft)} .q-opt.you{box-shadow:inset 0 0 0 2px var(--ink);color:var(--ink)} .q-opt.right{background:#e3f2ee;box-shadow:inset 0 0 0 2px var(--knows);color:var(--ink);font-weight:500} .q-opt small{font:500 .68rem var(--mono);color:var(--muted)} .q-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:16px} .a-head{display:flex;justify-content:space-between;gap:10px;font:500 .72rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)} .a-score{letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums} .a-rows{display:flex;flex-direction:column;margin-top:8px} .a-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:11px 0;border-bottom:1px solid var(--line)} .a-row:last-child{border-bottom:0} .a-m{font-weight:500;font-size:.95rem} .a-v{text-align:right;font-variant-numeric:tabular-nums;font-size:.95rem} .a-s{font:400 1.02rem var(--serif);color:var(--soft);min-height:1.5em} .a-s.know{color:var(--knows)}.a-s.deny{color:var(--says)} .a-tally{text-align:right;font:500 .72rem var(--mono);color:var(--muted);align-self:center} .a-v.ok{color:var(--knows);font-weight:500}.a-v.no{color:var(--muted);text-decoration:line-through} .wait{color:var(--muted)} .a-punch{margin-top:auto;padding-top:12px;font:400 1.14rem/1.3 var(--serif);color:var(--ink)} .board{background:#fff;border-radius:18px;box-shadow:var(--ring);overflow:hidden} .scroll{overflow-x:auto} table.lb{border-collapse:collapse;width:100%;font-size:.94rem;font-variant-numeric:tabular-nums;min-width:960px} .lb th{font:500 .74rem var(--sans);color:var(--muted);text-align:center;padding:14px 8px;border-bottom:1px solid var(--line);white-space:nowrap;user-select:none} .lb th[data-k]{cursor:pointer}.lb th[data-k]:hover,.lb th.on{color:var(--ink)} .lb .left{text-align:left} .lb td{padding:8px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap} .lb tbody tr.row{cursor:pointer;transition:background .15s} .lb tbody tr.row:hover{background:var(--paper-2)} .lb tr.detail td{background:var(--paper-2);padding:0;white-space:normal;text-align:left} .pos{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;font:500 .78rem var(--mono);color:var(--muted)} .pos.p1{background:linear-gradient(145deg,#f6d77a,#d9a42b);color:#3e2c00}.pos.p2{background:linear-gradient(145deg,#e4e8ec,#b4bdc6);color:#2c3540}.pos.p3{background:linear-gradient(145deg,#e9bd91,#bf7f45);color:#3c2109} .mname{font-weight:500}.mv{color:var(--muted);font-size:.78rem;margin-left:7px} .tag{font:500 .66rem var(--mono);color:var(--soft);background:var(--paper-2);border-radius:6px;padding:1px 6px;margin-left:7px} .heat{display:inline-block;min-width:52px;padding:6px 8px;border-radius:9px} .ci{color:var(--muted);font-size:.78rem;margin-left:4px} .na{color:var(--muted)} .late{color:var(--says);font-weight:500} .chev{color:var(--muted);transition:transform .25s;display:inline-block} tr.open .chev{transform:rotate(90deg)} .dt{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:26px;padding:18px 26px 22px} .dt>*{min-width:0} .dt h4{font:500 .72rem var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 8px} .dt p{font-size:.92rem} .dt-line{display:flex;justify-content:space-between;gap:10px;font-size:.9rem;padding:3px 0;font-variant-numeric:tabular-nums} .dt-line b{font-weight:500} .keys{display:flex;justify-content:space-between;gap:36px;margin-top:14px;font-size:.84rem} .keys p{font-size:.84rem}.keys b{color:var(--ink);font-weight:500} .ramp-key{white-space:nowrap} .ramp{display:inline-block;width:82px;height:9px;border-radius:5px;background:linear-gradient(90deg,#f1f4ee,#0a7d74);margin-left:7px;vertical-align:middle} .legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.8rem;color:var(--soft)} .legend span{display:inline-flex;align-items:center;gap:7px} .mk{width:11px;height:11px;display:inline-block} .mk--k{background:var(--knows);border-radius:50%} .mk--c{background:var(--says);transform:rotate(45deg) scale(.85)} .mk--s{width:0;height:0;border-inline:6px solid transparent;border-bottom:11px solid var(--ink)} .mk--v{border:2px solid var(--vendor);background:#fff} .band{width:22px;height:11px;background:rgba(217,98,43,.2);border-radius:2px;display:inline-block} .ln{width:18px;height:2.5px;border-radius:2px;display:inline-block}.ln--k{background:var(--knows)}.ln--c{background:var(--says)} .tick{height:13px;border-left:1.5px dashed var(--chance);display:inline-block} .cal #calendar{margin-top:8px} .big{margin-top:16px} .big-top{display:flex;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;align-items:center} .chart{margin-top:8px} .big .note{margin-top:6px;font-size:.92rem} .fam{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px} .fam h3{margin-bottom:12px} .fam-sub{display:flex;gap:16px;font-size:.76rem;color:var(--muted);margin-bottom:6px} .fam-sub span{display:inline-flex;align-items:center;gap:6px} .fam-sub i{width:9px;height:9px;border-radius:50%;display:inline-block} .fr{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:center;padding:7px 0;font-size:.82rem} .fr-b{display:grid;gap:3px} .fb{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:7px;align-items:center;font-size:.76rem;color:var(--soft);font-variant-numeric:tabular-nums} .fb i{display:block;height:7px;border-radius:0 4px 4px 0} .fb.k i{background:var(--knows)}.fb.c i{background:var(--says)} .prompt-line{display:flex;gap:14px;align-items:center;padding:13px 18px;background:#fff;border-radius:14px;box-shadow:var(--ring);margin-bottom:16px} .sw{position:relative;flex:none;width:46px;height:26px;border-radius:999px;background:#d7dfda;transition:background .25s} .sw i{position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.25)} .sw[aria-checked="true"]{background:var(--knows)} .sw[aria-checked="true"] i{transform:translateX(20px)} #dateCode{font:400 .88rem var(--mono);color:var(--muted);transition:color .3s} #dateCode.on{color:var(--ink)} .decl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px} .hb{margin-top:12px;display:grid;gap:11px} .hb-r{display:grid;grid-template-columns:104px minmax(0,1fr) 40px;gap:10px;align-items:center;font-size:.86rem} .hb-t{height:12px;background:var(--paper-2);border-radius:0 6px 6px 0;position:relative} .hb-t i{position:absolute;inset:0 auto 0 0;background:var(--knows);border-radius:0 6px 6px 0;transition:width .7s var(--ease),background .4s} .hb-v{text-align:right;font-variant-numeric:tabular-nums;font-weight:500} table.pit{min-width:680px} .pit td{padding-block:9px} .forest{position:relative;display:block;width:200px;height:16px} .forest s{position:absolute;top:0;bottom:0;border-left:1.5px dashed var(--chance)} .forest i{position:absolute;top:7px;height:2px;background:var(--knows);border-radius:2px} .forest b{position:absolute;top:4px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--knows)} .how{display:grid;grid-template-columns:1fr 1.25fr;gap:32px;align-items:start} .how>*{min-width:0} .eg-q{font:400 1.16rem/1.3 var(--serif);color:var(--ink)} .eg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:14px;font-size:.92rem;font-variant-numeric:tabular-nums} .eg-grid span{padding:8px 11px;border-radius:9px;box-shadow:inset 0 0 0 1px var(--line)} .eg-grid .eg-h{box-shadow:none;padding:0 2px;font-size:.78rem;color:var(--muted)} .eg-grid .eg-hit{background:#e3f2ee} .m-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px} .m-grid h3{font-size:1.16rem;margin-bottom:5px} .m-grid p{font-size:.92rem} .foot{border-top:1px solid var(--line);padding-block:24px;font-size:.84rem;color:var(--muted)} .foot-in{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap} .foot a:hover{color:var(--ink)} .foot-links{display:flex;flex-wrap:wrap;gap:6px 22px} .paper-links{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:16px;font-size:.88rem} .paper-links a{color:var(--soft);border-bottom:1px solid var(--line)} .paper-links a:hover{color:var(--ink)} .tip{position:fixed;z-index:70;pointer-events:none;background:#10201c;color:#fff;font-size:.78rem;line-height:1.45;padding:7px 10px;border-radius:8px;max-width:250px;opacity:0;transition:opacity .12s;left:0;top:0;font-variant-numeric:tabular-nums} .tip.show{opacity:1}.tip b{font-weight:600} @keyframes grow{from{opacity:0}} .grow{animation:grow .3s both} @media (max-width:960px){ .wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))} .links{display:none} .hero{padding-top:88px} .hero-grid,.game,.fam,.decl,.how,.dt{grid-template-columns:minmax(0,1fr)} .hero-grid{gap:26px} .section{padding-block:48px} .keys{flex-direction:column;gap:8px} .xs-side{width:50px} .q-text{min-height:0} } @media (max-width:480px){.nav-data{display:none}.m-grid{grid-template-columns:minmax(0,1fr)}.xs-ends{grid-template-columns:repeat(2,1fr)}} @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} .reveal,.js .reveal:not(.in){opacity:1;transform:none;transition:none} .ticker-track,.grow{animation:none} }