:root{--bg:#0a0a0b;--bg2:#111113;--card:#141416;--line:#232327;--line2:#2e2e33;--tx:#ededef;--mu:#8b8b93;--mu2:#5f5f67;--ac:#3ee08f;--acd:rgba(62,224,143,.12);--warn:#f5a524;--red:#f2555a;--r:14px;--max:1200px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.55 Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.num{font-variant-numeric:tabular-nums}
/* nav */
.nav{position:sticky;top:0;z-index:30;background:rgba(10,10,11,.72);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;height:60px;gap:28px}
.brand{display:flex;align-items:center;gap:10px;font-weight:650;letter-spacing:-.01em}
.mark{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--ac),#1aa564);display:grid;place-items:center;color:#04160c;font-weight:800;font-size:14px}
.links{display:flex;gap:22px;font-size:14px;color:var(--mu)}.links a:hover,.links a.on{color:var(--tx)}
.nav .cta{margin-left:auto}
.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:9px;font:500 14px Inter,sans-serif;border:1px solid var(--line2);background:var(--bg2);color:var(--tx);cursor:pointer;transition:.15s}
.btn:hover{border-color:#44444b;background:#18181b}
.btn.pri{background:var(--ac);border-color:var(--ac);color:#04160c;font-weight:600}.btn.pri:hover{filter:brightness(1.08)}
/* hero */
.hero{position:relative;padding:84px 0 56px;text-align:center;overflow:hidden}
.hero:before{content:"";position:absolute;inset:-40% 10% auto;height:520px;background:radial-gradient(closest-side,rgba(62,224,143,.16),transparent);pointer-events:none}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid var(--line2);border-radius:99px;font-size:13px;color:var(--mu);background:var(--bg2)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--ac);box-shadow:0 0 0 4px var(--acd);animation:p 2s infinite}@keyframes p{50%{opacity:.4}}
.hero h1{position:relative;margin:22px 0 10px;font-size:clamp(44px,8vw,84px);line-height:1;letter-spacing:-.045em;font-weight:750}
.hero h1 .amt{background:linear-gradient(180deg,#fff 20%,#9fb8aa);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 small{display:block;font-size:.36em;letter-spacing:-.02em;color:var(--mu);font-weight:550;margin-top:12px}
.hero p.sub{max-width:560px;margin:14px auto 0;color:var(--mu);font-size:17px}
.stats{display:flex;justify-content:center;gap:12px;margin-top:32px;flex-wrap:wrap}
.stat{padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);text-align:left;min-width:132px}
.stat b{display:block;font-size:20px;letter-spacing:-.02em}.stat span{font-size:12px;color:var(--mu)}
/* sponsor */
.sponsor{display:flex;align-items:center;gap:16px;margin:8px 0 28px;padding:16px 18px;border:1px dashed var(--line2);border-radius:var(--r);background:linear-gradient(90deg,rgba(245,165,36,.05),transparent)}
.sponsor p{margin:0;color:var(--mu);font-size:14px;flex:1}.sponsor p b{color:var(--tx);font-weight:600}
.badge-sp{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--warn);border:1px solid rgba(245,165,36,.4);background:rgba(245,165,36,.08);padding:3px 7px;border-radius:6px;white-space:nowrap}
/* filters */
.bar{position:sticky;top:60px;z-index:20;background:rgba(10,10,11,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);margin:0 -24px;padding:12px 24px}
.bar-in{display:flex;gap:10px;align-items:center;overflow-x:auto;scrollbar-width:none}.bar-in::-webkit-scrollbar{display:none}
.seg{display:inline-flex;padding:3px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;flex:none}
.seg button{border:0;background:none;color:var(--mu);font:500 13px Inter,sans-serif;padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:.12s}
.seg button:hover{color:var(--tx)}.seg button.on{background:#232327;color:var(--tx);box-shadow:0 1px 0 rgba(255,255,255,.05) inset}
.pill{flex:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:99px;background:var(--bg2);color:var(--mu);font:500 13px Inter,sans-serif;cursor:pointer;white-space:nowrap}
.pill.on{color:var(--ac);border-color:rgba(62,224,143,.45);background:var(--acd)}
select.pill{appearance:none;-webkit-appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238b8b93' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}
.meta-row{display:flex;justify-content:space-between;align-items:center;margin:20px 0 14px;color:var(--mu);font-size:13px;gap:12px}
.meta-row b{color:var(--tx)}.linkbtn{background:none;border:0;color:var(--mu);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
/* grid & cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;padding-bottom:40px}
.card{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);transition:border-color .15s,transform .15s}
.card:hover{border-color:#3a3a40;transform:translateY(-1px)}
.card.sp{border-color:rgba(245,165,36,.45)}
.top{display:flex;align-items:center;gap:10px}
.fav{width:32px;height:32px;border-radius:8px;background:#1d1d21;border:1px solid var(--line2);display:grid;place-items:center;flex:none;overflow:hidden}.fav img{width:18px;height:18px}
.src{min-width:0;font-size:12.5px;color:var(--mu);line-height:1.3}.src b{display:block;color:#c9c9cf;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top .cd{margin-left:auto}
.cd{flex:none;font-size:12px;font-weight:600;padding:4px 8px;border-radius:7px;background:#1b1b1f;color:var(--mu);border:1px solid var(--line)}
.cd.soon{color:var(--warn);border-color:rgba(245,165,36,.35);background:rgba(245,165,36,.07)}.cd.urgent{color:var(--red);border-color:rgba(242,85,90,.35);background:rgba(242,85,90,.08)}
.card h3{margin:0;font-size:16px;line-height:1.35;font-weight:600;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card h3 a:after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.prize{display:flex;align-items:baseline;gap:8px;margin-top:auto}
.prize b{font-size:26px;letter-spacing:-.03em;font-weight:700;color:var(--ac)}.prize b.nc{color:var(--tx);font-size:18px}.prize span{font-size:12px;color:var(--mu)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:11.5px;font-weight:550;padding:3px 8px;border-radius:6px;background:#1c1c20;color:#b4b4bc;border:1px solid var(--line)}
.chip.t{color:#e5e5ea;background:#26262b}.chip.crypto{color:#a5b4fc;border-color:rgba(165,180,252,.25)}.chip.ai{color:#f0abfc;border-color:rgba(240,171,252,.25)}.chip.vibecoding{color:#7dd3fc;border-color:rgba(125,211,252,.25)}
.foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mu)}
.foot .go{color:var(--tx);font-weight:550;position:relative;z-index:1}.card:hover .go{color:var(--ac)}
.empty{grid-column:1/-1;text-align:center;padding:64px 20px;border:1px dashed var(--line2);border-radius:var(--r);color:var(--mu)}.empty h3{color:var(--tx);margin:12px 0 6px;font-size:17px}.empty .ic{font-size:30px}
.sk{height:210px;border-radius:var(--r);background:linear-gradient(90deg,#141416,#1a1a1d,#141416);background-size:200% 100%;animation:sh 1.2s infinite}@keyframes sh{to{background-position:-200% 0}}
/* newsletter */
.news{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;margin:24px 0 72px;padding:36px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(600px 200px at 0 0,rgba(62,224,143,.1),transparent),var(--bg2)}
.news h2{margin:0 0 8px;font-size:28px;letter-spacing:-.03em}.news p{margin:0;color:var(--mu)}
.news form{display:flex;gap:8px}.news small{display:block;margin-top:10px;color:var(--mu2);font-size:12px}
.input{flex:1;min-width:0;height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--tx);font:15px Inter,sans-serif;outline:none}.input:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--acd)}
.news .btn{height:44px}
/* footer */
footer{border-top:1px solid var(--line);padding:40px 0 48px;color:var(--mu);font-size:13.5px}
footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}footer h4{color:var(--tx);font-size:13px;margin:0 0 12px;font-weight:600}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}footer a:hover{color:var(--tx)}footer p{margin:12px 0 0;max-width:380px}
.legal{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--line);color:var(--mu2);font-size:12.5px}
/* pages */
.page{max-width:720px;margin:0 auto;padding:64px 24px 80px}
.page h1{font-size:44px;letter-spacing:-.04em;margin:14px 0 12px;line-height:1.05}.page .lead{color:var(--mu);font-size:17px;margin:0 0 36px}
.prose h2{font-size:18px;margin:32px 0 8px;letter-spacing:-.01em}.prose p{color:#b9b9c0;margin:0 0 12px}.prose a{color:var(--ac)}
.panel{border:1px solid var(--line);border-radius:16px;background:var(--bg2);padding:28px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}
.field label{display:block;font-size:13px;font-weight:550;margin-bottom:6px;color:#c9c9cf}.field .input,.field select{width:100%}
select.input{appearance:none;-webkit-appearance:none}
.check{display:flex;gap:10px;align-items:center;font-size:14px;color:#c9c9cf}.check input{accent-color:var(--ac);width:16px;height:16px}
.note{font-size:13px;color:var(--mu);margin-top:16px}
@media (max-width:760px){.wrap{padding:0 16px}.bar{margin:0 -16px;padding:10px 16px}.links{display:none}.hero{padding:56px 0 36px}.hero p.sub{font-size:15.5px}.stat{min-width:0;flex:1}.stats{gap:8px}.grid{grid-template-columns:1fr}
.news{grid-template-columns:1fr;padding:24px;gap:18px}.news form{flex-direction:column}.sponsor{flex-wrap:wrap}footer .wrap{grid-template-columns:1fr 1fr}footer .wrap>div:first-child{grid-column:1/-1}.fgrid{grid-template-columns:1fr}.page{padding:40px 16px 64px}.page h1{font-size:34px}}
.card,.src,.top{min-width:0}.grid>*{min-width:0}
@media (max-width:760px){.grid{grid-template-columns:minmax(0,1fr)}.stat b{font-size:18px}.stat span{font-size:11.5px}.sponsor{padding:14px}.sponsor .btn{width:100%;justify-content:center}.nav .btn{height:32px;padding:0 11px;font-size:13px}.prize b{font-size:24px}}
/* v2 */
.btn.lg{height:44px;padding:0 18px;font-size:15px;border-radius:11px}
.hero-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:22px 0 4px}
.search{flex:none;display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border:1px solid var(--line2);border-radius:99px;background:var(--bg);color:var(--mu);width:250px}
.search:focus-within{border-color:var(--ac);box-shadow:0 0 0 3px var(--acd)}
.search input{flex:1;min-width:0;border:0;background:none;color:var(--tx);font:14px Inter,sans-serif;outline:none}
.search kbd{font:11px Inter,sans-serif;color:var(--mu2);border:1px solid var(--line2);border-radius:5px;padding:0 5px}
.meta-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.mr-r{display:flex;gap:14px}
#rails{margin-top:8px}.rail{margin:28px 0 8px}.rail-h{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.rail-h h2{margin:0;font-size:19px;letter-spacing:-.02em}.rail-h span{color:var(--mu);font-size:13px;flex:1}
.rail-s{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.mini{scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card);transition:.15s}
.mini:hover{border-color:rgba(62,224,143,.45)}.mini-t{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--mu)}.mini-t>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini h4{margin:0;font-size:14px;line-height:1.35;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}.mini b{color:var(--ac);font-size:20px;letter-spacing:-.02em}
.card{cursor:pointer}.card.whale{border-color:rgba(62,224,143,.35);background:radial-gradient(400px 120px at 100% 0,rgba(62,224,143,.08),transparent),var(--card)}
.foot a.go{padding:4px 10px;border:1px solid var(--line2);border-radius:8px}.foot a.go:hover{background:var(--ac);color:#04160c;border-color:var(--ac)}
.chip.new{color:#04160c;background:var(--ac);border-color:var(--ac)}.chip.whale{color:#3ee08f;border-color:rgba(62,224,143,.35)}.chip.big{color:#fbbf24;border-color:rgba(251,191,36,.3)}.chip.ch{color:#d4d4d8;border-style:dashed}
.sponsor-c{border-style:dashed;border-color:rgba(245,165,36,.4);justify-content:center;cursor:default}.sponsor-c p{margin:0;color:var(--mu);font-size:14px}.sponsor-c .badge-sp{align-self:flex-start}
dialog#dlg{border:1px solid var(--line2);border-radius:18px;background:var(--bg2);color:var(--tx);padding:0;width:min(620px,calc(100vw - 24px));max-height:calc(100vh - 40px)}
dialog#dlg::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(3px)}
.dlg-in{position:relative;padding:28px}.dlg-in h2{margin:10px 0 12px;font-size:24px;line-height:1.25;letter-spacing:-.02em;padding-right:30px}.dlg-in .src{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mu)}
.dlg-prize{margin:20px 0;display:flex;flex-direction:column}.dlg-prize b{font-size:40px;color:var(--ac);letter-spacing:-.03em;line-height:1.1}.dlg-prize span{color:var(--mu);font-size:13px}
.dlg-in dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 22px}.dlg-in dt{font-size:12px;color:var(--mu2);text-transform:uppercase;letter-spacing:.06em}.dlg-in dd{margin:2px 0 0;font-size:14px}
.dlg-act{display:flex;gap:8px;flex-wrap:wrap}.fine{font-size:12px;color:var(--mu2);margin:16px 0 0}
.x{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:8px;border:1px solid var(--line2);background:var(--bg);color:var(--mu);font-size:20px;line-height:1;cursor:pointer}
.stickycta{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:14px;padding:10px 52px 10px 18px;width:min(860px,calc(100vw - 24px));border:1px solid rgba(62,224,143,.35);border-radius:14px;background:rgba(17,17,19,.95);backdrop-filter:blur(12px);box-shadow:0 10px 40px rgba(0,0,0,.5);font-size:14px}
.stickycta>span{flex:1}.stickycta form{display:flex;gap:6px}.stickycta .input{height:38px;width:200px;flex:none}.stickycta .btn{height:38px}.stickycta .x{top:50%;transform:translateY(-50%);right:10px}
.stickycta[hidden],#rails:empty{display:none}
.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);opacity:0;background:var(--ac);color:#04160c;font-weight:600;padding:9px 16px;border-radius:10px;transition:.2s;z-index:60;pointer-events:none}.toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:720px){.search{width:200px}.hide-m{display:none}.stickycta{flex-wrap:wrap;gap:8px;padding:10px 46px 10px 12px;bottom:8px}.stickycta form{width:100%}.stickycta .input{flex:1;width:auto}
.dlg-in{padding:22px 18px}.dlg-in dl{grid-template-columns:1fr}.dlg-act .btn{flex:1;justify-content:center}.rail-s{grid-auto-columns:78%}.stats .stat span{font-size:12px}.meta-row{flex-wrap:wrap}}
.dlg-in .src{padding-right:40px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:900px){.bar-in{flex-wrap:wrap;overflow:visible}}
@media(max-width:720px){.rail-h span{display:none}.rail-h h2{flex:1}.hero-cta .btn{flex:1;justify-content:center;max-width:280px}}
.fz{display:inline-block;margin-top:14px;opacity:.75;transition:opacity .15s}.fz:hover{opacity:1}.fz img{display:block;height:auto}
