/* V2: larger, readable type and a brighter olive / champagne surface system. */
:root{--sidebar-width:248px}
body{font-size:16px;line-height:1.7}
.sidebar{padding-inline:20px}
.logo{gap:12px;margin-inline:8px}
.logo-word{font-size:12px;letter-spacing:1.8px}
.logo-word small{font-size:12px;letter-spacing:0}
.sidebar-caption{font-size:12px;padding-inline:14px}
nav.main a{font-size:16px;min-height:54px}
.network-card{padding:14px 10px;gap:8px}
.network-card b{font-size:12px}
.network-card small{font-size:12px}
.network-arrow{display:none}
.sidebar-note{font-size:12px;padding-inline:9px}
.sidebar-note small{font-size:11px;letter-spacing:1.7px}
.topbar{background:#1b211aef}
.btn{font-size:15px;min-height:48px}
.btn.small{font-size:14px;min-height:42px}
.page-intro h1{font-size:32px}
.page-intro p{font-size:15px;margin-top:7px}
.page-intro .intro-side{font-size:13px}
.hero-main{min-height:356px;padding:34px;background:radial-gradient(ellipse at 90% 15%,#65704a50,transparent 65%),linear-gradient(115deg,#35422f,#2b3528);border-color:#59664a;isolation:isolate}
.hero-copy{max-width:69%}
.hero-kicker{font-size:12px;letter-spacing:1.4px;margin-bottom:20px}
.hero-main h2{font-size:clamp(34px,2.9vw,49px)}
.hero-copy>p{font-size:15px;line-height:1.9;max-width:380px;margin-top:16px}
.hero-actions{gap:10px;margin-top:25px}
.hero-actions .btn{font-size:14px;min-height:46px;padding:11px 15px}
.hero-actions .btn.ghost{border-color:#7c8b68;color:#eef1df}
.hero-lottery{padding:22px 22px 14px;background:radial-gradient(ellipse at 50% 20%,#88733f2e,transparent 80%),var(--panel);position:relative;isolation:isolate}
.fan-heading .eyebrow{font-size:11px;letter-spacing:1.5px}
.fan-heading .badge{font-size:12px}
.home-hero .fan-stage{height:250px}
.home-hero .fan-card{width:148px;height:185px;bottom:22px}
.home-hero .fan-card strong{font-size:43px;margin-top:30px}
.fan-card-top{font-size:12px}
.fan-card-top>span{font-size:11px}
.fan-tier{font-size:12px}
.fan-amount{font-size:12px}
.fan-toggle{font-size:14px;min-height:48px;gap:10px}
.prize-fan.expanded .fan-card.selected{z-index:6}
.prize-fan.expanded .fan-card:focus-visible{z-index:7}
.stats-strip{padding-block:28px}
.stat-label{font-size:13px;margin-bottom:8px;line-height:1.6}
.stat-label .icon{width:15px;height:15px}
.stat-value{font-size:27px}
.stat-value small{font-size:13px;display:block;margin:5px 0 0;line-height:1.6}
.stat-value.mono{font-size:23px;letter-spacing:-.7px}
.section-heading h2{font-size:24px}
.section-heading .sub{font-size:13px}
.filter-tab{font-size:14px;min-height:44px;padding-inline:14px}
.catalog-types{gap:16px}
.type-check{font-size:14px;gap:7px;min-height:44px}
.check-box{width:18px;height:18px}
.check-box .icon{width:14px;height:14px}
.catalog-summary{font-size:13px}
.catalog-progress{width:30px;height:30px}
.game-card{padding:18px 18px 19px}
.game-card h3{font-size:18px;line-height:1.5}
.game-card-meta{font-size:13px;color:var(--dim);flex-wrap:wrap;gap:4px 8px}
.game-card-meta b{font-size:13px}
.game-index{font-size:11px}
.badge{font-size:12px}
.badge.quiet{font-size:12px}
.card-arrow{bottom:51px}
.snap-card{flex-basis:43%;min-width:270px}
.snap-card h3{font-size:16px}
.snap-card p{font-size:14px}
.timeline-bottom>span{font-size:12px}
.chain-receipt{flex-wrap:wrap}
.chain-receipt b{font-size:14px}
.chain-receipt small{font-size:12px}
.chain-receipt a{font-size:13px}
.feature-hero{background:radial-gradient(ellipse at 85% 30%,#7d8c5540,transparent 62%),linear-gradient(120deg,#34412e,#293325);border-color:#59664a}
.feature-orb>span{font-size:11px;letter-spacing:0}
.lottery-summary{background:radial-gradient(ellipse at 80% 20%,#9b824540,transparent 65%),#333e2c;border-color:#59664a}
.lottery-summary .sub{font-size:15px}
.lottery-summary .pool-amount{line-height:1.4}
.game-overview{background:radial-gradient(ellipse at 65% 40%,#89936238,transparent 70%),#303c29;border-color:#59664a}
.game-overview>p{font-size:14px}
.game-live{gap:14px;flex-wrap:wrap}
.game-live>span{font-size:12px}
.game-overview .game-art{right:8%;top:40px}
.asset-balance{background:radial-gradient(ellipse at 95% 10%,#92a05e40,transparent 70%),#33412b;border-color:#64744e}
.rule-note{font-size:14px;line-height:1.9}
.empty-state p{font-size:14px}
.empty-state h3{font-size:16px}
.login-note{flex-wrap:wrap}
.login-note p{font-size:14px}
.row>label,label.field-label{font-size:15px;flex-wrap:wrap;gap:5px 12px}
input.txt{font-size:16px}
.copyrow input{font-size:14px}
.wheel-caption{gap:10px;flex-wrap:wrap;font-size:13px}
.quick button{min-height:44px;font-size:13px}
.kv{font-size:15px}
.panel .sub{font-size:15px}
.panel .eyebrow{font-size:12px}
.claim-card{background:linear-gradient(120deg,#424d35,#303c28)}
.draw-clock{margin-top:22px;flex-wrap:wrap}
.draw-clock>span{font-size:14px}
footer p{font-size:12px;color:var(--dim)}
.footer-brand small{font-size:10px}
.toast{font-size:15px}

/* The glow follows the pointer while independent layers preserve card / orbit animations. */
.hero-main::before,.home-hero>.hero-lottery::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(400px circle at var(--hero-glow-x,75%) var(--hero-glow-y,40%),#ecd39325,transparent 70%);opacity:var(--hero-light,0);transition:opacity .5s}
.hero-main::after{content:"";position:absolute;right:0;inset-block:0;width:48%;z-index:-1;pointer-events:none;background-image:linear-gradient(#e7d6a709 1px,transparent 1px),linear-gradient(90deg,#e7d6a709 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse at 60% 45%,#0009,transparent 70%);transform:translate(var(--hero-grid-x,0px),var(--hero-grid-y,0px))}
.hash-visual{z-index:1;right:-5px}
.hash-parallax{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform:perspective(750px) translate3d(var(--hero-dx,0px),var(--hero-dy,0px),0) rotateX(var(--hero-rx,0deg)) rotateY(var(--hero-ry,0deg));transform-style:preserve-3d}
.hash-cube-frame{position:relative;transform:translateZ(28px)}
.hash-cube{width:128px;height:128px;box-shadow:inset 2px 3px 3px #f9eed38a,inset -5px -6px 10px #414c30,14px 22px 38px #11190d60}
.hash-cube .icon{width:80px;height:80px}
.hash-cube::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--hero-glow-x,30%) var(--hero-glow-y,25%),#fff7d353,transparent 75%);pointer-events:none}
.hash-orbit{width:270px;height:270px;border-color:#cbd5ac35;transform:translateZ(-18px) rotate(calc(-25deg + var(--hero-orbit,0deg))) scaleY(.65)}
.hash-orbit.two{width:218px;height:218px;border-color:#cbd5ac2b;transform:translateZ(8px) rotate(calc(38deg - var(--hero-orbit,0deg))) scaleY(.8)}
.hash-tag{left:auto;bottom:25px;font-size:10px;white-space:nowrap;background:#35402be8;border-color:#74835b;color:#e2eacb;transform:translateZ(14px) rotate(-6deg)}
.hash-sparks{position:absolute;inset:10% 4%;transform:translateZ(42px);pointer-events:none}
.hash-sparks i{position:absolute;width:4px;height:4px;background:var(--gold);border-radius:1px;transform:rotate(45deg);box-shadow:0 0 14px #e5c68155}
.hash-sparks i:nth-child(1){left:16%;top:30%}
.hash-sparks i:nth-child(2){right:18%;top:21%;width:3px;height:3px;background:var(--green)}
.hash-sparks i:nth-child(3){left:30%;bottom:22%;width:3px;height:3px}
.hash-sparks i:nth-child(4){right:9%;bottom:35%;width:5px;height:5px;background:var(--green)}
.home-hero>.hero-lottery .fan-stage{transform:perspective(900px) translate3d(var(--hero-grid-x,0px),var(--hero-grid-y,0px),0) rotateX(var(--hero-rx,0deg)) rotateY(var(--hero-ry,0deg))}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .hash-cube{animation:block-drift 5.5s ease-in-out infinite}
  .hash-sparks i{animation:block-spark 4s ease-in-out infinite alternate}
  .hash-sparks i:nth-child(2){animation-delay:-1.4s}.hash-sparks i:nth-child(3){animation-delay:-2.8s}.hash-sparks i:nth-child(4){animation-delay:-.7s}
}
@keyframes block-drift{0%,100%{transform:translateY(0) rotate(-14deg)}50%{transform:translateY(-9px) rotate(-10deg)}}
@keyframes block-spark{from{opacity:.4;translate:0 3px}to{opacity:1;translate:0 -5px}}

@media(min-width:1700px){.hero-main{min-height:390px;padding:38px}.hero-main h2{font-size:50px}.home-hero .fan-stage{height:284px}.home-hero .fan-card{width:164px;height:205px}.home-hero .fan-card strong{font-size:48px;margin-top:38px}}
@media(min-width:1001px) and (max-width:1350px){.home-hero{grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr)}.hero-copy{max-width:73%}.hero-main{padding:26px}.hero-main h2{font-size:36px}.hero-actions{gap:8px}.hero-actions .btn{font-size:13px;padding-inline:12px}.hash-visual{right:-25px;width:36%}.games{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1200px){:root{--sidebar-width:216px}.sidebar{padding-inline:12px}.logo-word{font-size:11px;letter-spacing:.8px}.logo-word small{font-size:11px}.network-card{gap:7px}.network-card b{font-size:11px}.strip-stat{padding-inline:14px}.stat-value.mono{font-size:19px}.metric-card{padding:16px}.topbar-right{gap:15px}}
@media(min-width:761px) and (max-width:1000px){.hero-main{min-height:340px}.hero-main h2{font-size:40px}.hero-copy>p{font-size:15px}.hero-copy{max-width:71%}.hash-visual{right:5px;width:34%}.home-hero .hero-lottery{display:none}.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.strip-stat:nth-child(3){padding-left:3px}.strip-stat:nth-child(2){border:0}.games{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start;flex-wrap:wrap}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lottery-layout{grid-template-columns:1fr}.lottery-layout .hero-lottery{display:block}.two-col{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){
  :root{--sidebar-width:0px}
  body{font-size:16px}
  .topbar{height:72px;padding-inline:18px;gap:12px;background:#1b211af5}
  .breadcrumb{font-size:14px;gap:0}
  .chain-chip{font-size:11px;gap:5px}
  .topbar-right{gap:10px}
  .top-right .btn{font-size:12px;min-height:40px;padding:8px 11px}
  .top-right .btn .icon{width:15px;height:15px}
  .user-chip .user-info>b{font-size:12px}
  .user-chip small{font-size:11px}
  .wrap{padding:22px 18px 30px}
  .page-intro h1{font-size:28px}
  .page-intro p{font-size:14px;line-height:1.8}
  .page-intro .intro-side{font-size:12px}
  .hero-main{padding:26px 22px;min-height:326px;align-items:flex-start}
  .hero-copy{max-width:none;width:100%}
  .hero-main h2{font-size:34px;line-height:1.35;max-width:81%;letter-spacing:-1.2px}
  .hero-copy>p{font-size:14px;line-height:1.9;margin-top:18px;max-width:80%}
  .hero-kicker{display:none}
  .hero-actions{margin-top:24px;flex-wrap:nowrap;gap:9px}
  .hero-actions .btn{font-size:13px;min-height:46px;gap:7px;padding:11px 13px}
  .hash-visual{right:0;top:-20px;bottom:60px;width:33%;transform:scale(.72);transform-origin:center}
  .hash-cube{width:108px;height:108px}
  .hash-cube .icon{width:65px;height:65px}
  .hash-orbit{width:220px;height:220px}.hash-orbit.two{width:180px;height:180px}
  .hash-tag{display:none}
  .stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 0;padding:23px 0}
  .strip-stat{padding:0 18px;min-width:0}
  .strip-stat:nth-child(odd){padding-left:2px}
  .strip-stat:nth-child(even){padding-right:0;border:0}
  .stat-label{font-size:12px;gap:6px;margin-bottom:7px}
  .stat-label .icon{width:13px;height:13px}
  .stat-value{font-size:25px;line-height:1.35}
  .stat-value small{font-size:12px;line-height:1.6;margin-top:5px;white-space:normal}
  .stats-strip .block-stat .stat-value{font-size:19px;line-height:1.8;letter-spacing:-.8px}
  .section-heading{gap:9px;flex-wrap:wrap;align-items:flex-start}
  .section-heading h2{font-size:22px}
  .section-heading .sub{font-size:12px}
  .catalog{margin-top:24px}
  .catalog-tools{gap:10px}
  .filter-tab{font-size:12px;min-height:44px;padding-inline:10px}
  .catalog-summary{font-size:12px;gap:5px;padding-top:0;min-height:44px}
  .catalog-progress{width:27px;height:27px}
  .catalog-types{font-size:14px;gap:24px}
  .type-check{font-size:14px;min-height:44px}
  .games{gap:12px}
  .game-card{padding:14px 13px 16px}
  .game-card h3{font-size:16px;line-height:1.65}
  .game-card-meta,.game-card-meta b{font-size:12px;line-height:1.7}
  .game-card-top{gap:5px;flex-wrap:wrap}
  .game-index{font-size:10px}
  .game-card .badge{font-size:11px;padding:2px 5px}
  .game-art{height:100px}
  .timeline-panel{padding:20px 17px}
  .timeline-panel .section-heading h2{font-size:19px}
  .timeline-panel .eyebrow{font-size:11px}
  .snap-card{flex-basis:90%;min-width:0;padding:18px 15px;gap:12px}
  .snap-card h3{font-size:15px}
  .snap-card p{font-size:13px}
  .timeline-bottom>span{font-size:11px}
  .chain-receipt{padding:16px;gap:12px}
  .chain-receipt b{font-size:13px}
  .chain-receipt small{font-size:12px}
  .chain-receipt a{font-size:12px}
  .panel,.two-col>.panel{padding:23px 20px}
  .panel h2{font-size:21px}
  .panel .sub{font-size:14px}
  .panel .eyebrow{font-size:11px}
  .feature-hero{padding:28px 23px;min-height:268px}
  .feature-hero h2{font-size:29px}
  .feature-hero-copy{max-width:78%}
  .feature-hero .eyebrow{font-size:11px}
  .feature-hero p.sub{font-size:14px}
  .feature-orb{width:95px;height:95px;margin-right:-35px}
  .feature-orb>span{font-size:9px;bottom:10px}
  .feature-orb strong{font-size:30px}
  .feature-orb strong small{font-size:15px}
  .metric-card{padding:18px 16px}
  .metric-card .stat-label{font-size:12px}
  .metric-card .stat-value{font-size:25px}
  .metric-card .stat-value small{font-size:12px}
  .row>label,label.field-label{font-size:14px}
  input::placeholder{font-size:15px}
  input.amt{font-size:28px}
  .amount-field>span{font-size:13px}
  .quick{flex-wrap:wrap;gap:7px}
  .quick button{font-size:12px;min-height:44px;padding-inline:4px}
  .rule-note{font-size:13px}
  .kv{font-size:14px;gap:13px}
  .btn{font-size:15px;min-height:48px}
  .login-note{gap:12px;padding:16px}
  .login-note p{font-size:14px}
  .login-note .btn{font-size:13px;min-height:44px}
  .empty-state h3{font-size:15px}
  .empty-state p{font-size:13px}
  .game-overview{padding:26px 23px;min-height:290px}
  .game-overview>p{font-size:14px;max-width:63%}
  .game-overview .game-art{right:2%;top:55px;transform:scale(1.35)}
  .game-live .count{font-size:25px}
  .game-live>span{font-size:12px}
  .choice .o{font-size:13px}
  .wheel-caption,.wheel-tick b{font-size:12px}
  .bet-summary>span{font-size:14px}
  .bet-summary small.sub{font-size:12px}
  .lottery-summary{padding:28px 23px;min-height:310px}
  .lottery-summary .eyebrow{font-size:11px}
  .lottery-summary .sub{font-size:14px}
  .lottery-layout .hero-lottery{padding:22px 20px 12px}
  .lottery-layout .fan-stage{height:254px}
  .lottery-layout .fan-card{width:132px;height:190px}
  .lottery-layout .fan-card strong{margin-top:30px}
  .lottery-layout .fan-tier{white-space:normal;line-height:1.5}
  .lottery-layout .prize-fan.expanded .fan-card-0{transform:translateX(calc(-50% - 53px)) translateY(-4px) rotate(-16deg)}
  .lottery-layout .prize-fan.expanded .fan-card-2{transform:translateX(calc(-50% + 53px)) translateY(-4px) rotate(16deg)}
  .fan-toggle{font-size:14px;min-height:48px}
  .draw-clock>span{font-size:13px}
  .draw-clock>b{font-size:23px}
  .draw-history summary{font-size:14px}
  .draw-history-body{font-size:13px}
  .copyrow{flex-wrap:wrap}
  .copyrow input{flex-basis:100%;font-size:13px;padding:13px}
  .copyrow .btn{font-size:14px;flex:1;min-height:46px}
  .invite-code>span{font-size:13px}
  .asset-chips>a{font-size:13px}
  .record-head{font-size:14px;flex-wrap:wrap}
  .record-time{font-size:12px}
  .record-result{font-size:15px}
  .record-chain{font-size:12px}
  .toast{font-size:14px}
  .mobile-nav{background:#252e22f7;padding:9px 5px calc(9px + env(safe-area-inset-bottom));border-color:#56634a}
  .mobile-nav a{font-size:11px;gap:5px;min-height:50px;white-space:nowrap}
  .mobile-nav a .icon{width:21px;height:21px}
  footer{padding-bottom:calc(110px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:12px}
  footer p{font-size:12px}
  .footer-brand small{font-size:9px}
  .modal .sub{font-size:14px}
}
@media(max-width:370px){
  .topbar{padding-inline:14px}
  .topbar-right{gap:7px}
  .breadcrumb{font-size:13px}
  .top-right .btn{font-size:12px;padding-inline:10px}
  .user-chip .user-info>b{max-width:50px}
  .wrap{padding-inline:14px}
  .hero-main{padding:24px 19px;min-height:320px}
  .hero-main h2{font-size:30px;max-width:88%}
  .hero-copy>p{font-size:13px;max-width:83%}
  .hero-actions{gap:7px}
  .hero-actions .btn{font-size:12px;padding:11px 10px;gap:5px}
  .hash-visual{right:-1px;width:30%;transform:scale(.58)}
  .filter-tabs{width:100%;justify-content:space-between}
  .filter-tab{font-size:13px;flex:1}
  .catalog-summary{min-height:34px}
  .catalog-types{order:2;width:auto;gap:18px}
  .game-card{padding:13px 11px 15px}
  .game-card h3{font-size:15px}
  .game-card-meta,.game-card-meta b{font-size:12px}
  .game-card-top{gap:4px}
  .game-index{font-size:10px}
  .section-heading h2{font-size:21px}
  .feature-hero-copy{max-width:83%}
  .feature-orb{margin-right:-48px}
  .panel,.two-col>.panel{padding:22px 17px}
  .game-layout .quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .quick button{white-space:nowrap}
  .lottery-layout .fan-card{width:114px;height:184px;padding-inline:10px}
  .lottery-layout .prize-fan.expanded .fan-card-0{transform:translateX(calc(-50% - 39px)) translateY(-4px) rotate(-12deg)}
  .lottery-layout .prize-fan.expanded .fan-card-2{transform:translateX(calc(-50% + 39px)) translateY(-4px) rotate(12deg)}
  .mobile-nav a{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .hash-parallax,.home-hero>.hero-lottery .fan-stage,.hero-main::after{transform:none}
  .hero-main::before,.home-hero>.hero-lottery::before{display:none}
}
