/* Cacheable shell presentation overrides. */
:root{--bg:#07111f;--panel:#0d1b2d;--ink:#f3f8ff;--muted:#9eb6cf;--line:rgba(164,207,255,.18);--gold:#ffd166;--gold-2:#ffe6a3;--cyan:#35d8ff;--blue-2:#6cc8ff;--shadow:0 24px 70px rgba(0,8,24,.44);--soft-shadow:0 16px 42px rgba(0,8,24,.32);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{min-height:100%;background-color:#07111f}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;color:var(--ink);background-color:#07111f;background:linear-gradient(135deg,rgba(53,216,255,.13) 0%,transparent 30%),linear-gradient(210deg,rgba(255,209,102,.08) 0%,transparent 24%),linear-gradient(160deg,#061020 0%,#0c1e35 46%,#081729 100%)}button,input,select{font:inherit}button{cursor:pointer}body.app-booting .app-shell,body.app-booting .bottom-banner-ad,body.app-booting .site-footer,body.app-booting .adblock-gate,body.app-booting .route-loader{visibility:hidden}html[data-stored-session="true"] body.app-booting .route-loader{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}body.app-booting.app-boot-timeout .route-loader{visibility:visible}html[data-route="home"] body.app-booting .app-shell,html[data-route="bitcoin-lightning-faucet"] body.app-booting .app-shell,html[data-route="crypto-boss-game"] body.app-booting .app-shell,html[data-route="traffic-exchange"] body.app-booting .app-shell,html[data-route="free-traffic-exchange"] body.app-booting .app-shell{visibility:visible}.app-shell{flex:1 0 auto;display:flex;flex-direction:column;width:min(1760px,100%);margin:0 auto;padding:14px}.app-shell>main{flex:1 0 auto}html[data-route="home"] .app-shell,html[data-route="home"] body:not(.is-authenticated) .app-shell,html[data-route="bitcoin-lightning-faucet"] body:not(.is-authenticated) .app-shell,html[data-route="crypto-boss-game"] body:not(.is-authenticated) .app-shell,html[data-route="traffic-exchange"] body:not(.is-authenticated) .app-shell,html[data-route="free-traffic-exchange"] body:not(.is-authenticated) .app-shell{width:100%;max-width:none;padding:0}.topbar{z-index:20;display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:18px;padding:10px;border:1px solid rgba(164,207,255,.16);border-radius:8px;background:rgba(7,17,31,.78);box-shadow:var(--soft-shadow)}html[data-route="home"] .topbar,html[data-route="bitcoin-lightning-faucet"] body:not(.is-authenticated) .topbar,html[data-route="crypto-boss-game"] body:not(.is-authenticated) .topbar,html[data-route="traffic-exchange"] body:not(.is-authenticated) .topbar,html[data-route="free-traffic-exchange"] body:not(.is-authenticated) .topbar{display:none}.hero-band{position:relative;display:grid;grid-template-columns:minmax(360px,760px) minmax(320px,390px);justify-content:center;align-items:center;gap:34px;min-height:clamp(600px,78svh,760px);padding:34px 64px 42px;border:1px solid rgba(111,199,255,.2);border-left:0;border-right:0;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;filter:saturate(1.1) contrast(1.05) hue-rotate(178deg)}.hero-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,12,25,.08),rgba(5,16,31,.56) 46%,rgba(5,13,24,.92)),linear-gradient(180deg,rgba(6,20,38,.08),rgba(6,16,31,.76))}.hero-copy,.hero-signup{position:relative;z-index:1}.home-splash-hero .hero-copy,.lightning-faucet-hero .hero-copy,.crypto-game-hero .hero-copy,.traffic-hero .hero-copy{justify-self:end;max-width:760px}.home-splash-hero .hero-signup,.traffic-hero .hero-signup{justify-self:start}.splash-brand-line{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;padding:8px 12px 8px 8px;border:1px solid rgba(164,207,255,.2);border-radius:8px;background:rgba(8,24,43,.58)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:#03101f;background:linear-gradient(135deg,var(--cyan),var(--blue-2) 54%,var(--gold));box-shadow:0 12px 30px rgba(53,216,255,.25)}.brand-mark svg,.primary-action svg,.secondary-action svg{width:24px;height:24px}.splash-brand-line strong,.splash-brand-line small{display:block}.splash-brand-line small,.hero-subcopy,.muted,.timer-line{color:var(--muted)}.eyebrow{margin:0 0 8px;color:var(--cyan);font-size:.76rem;font-weight:800;text-transform:uppercase}h1,h2,p{margin-top:0}h1,.h1-like{max-width:820px;margin:0 0 14px;font-size:4.85rem;line-height:1.04;letter-spacing:0;text-wrap:balance;text-shadow:0 18px 44px rgba(0,8,24,.34);font-weight:800}h2{margin-bottom:0;font-size:1.25rem}.hero-subcopy{max-width:650px;margin-bottom:0;font-size:1.04rem;line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 14px;border:0;border-radius:7px;color:var(--ink);font-weight:850}.hero-actions .primary-action,.hero-actions .secondary-action{width:auto;min-width:170px;text-decoration:none}.primary-action{color:#03101f;background:linear-gradient(135deg,var(--cyan),var(--blue-2));box-shadow:0 12px 28px rgba(53,216,255,.2)}.secondary-action{border:1px solid var(--line);background:rgba(164,207,255,.08)}.hero-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:720px;margin-top:20px}.hero-proof-grid div{min-height:86px;padding:14px;border:1px solid rgba(111,199,255,.22);border-radius:8px;background:rgba(8,24,43,.66)}.hero-proof-grid strong{display:block;color:var(--gold-2);font-size:1.6rem}.hero-proof-grid span{display:block;margin-top:4px;color:var(--muted)}.action-card,.hero-signup{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(18,43,72,.92),rgba(9,25,45,.94)),var(--panel);box-shadow:var(--soft-shadow)}.hero-signup{border-color:rgba(53,216,255,.28);background:rgba(8,24,43,.9);box-shadow:var(--shadow)}.section-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.reward-pill{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid rgba(53,216,255,.28);border-radius:999px;color:var(--cyan);font-size:.78rem;font-weight:900;background:rgba(53,216,255,.1)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.single-column-form{grid-template-columns:1fr}label{display:grid;gap:6px;color:#b9d6f5;font-size:.88rem}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:rgba(4,15,29,.76);padding:0 12px}.review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.view-panel{display:none}html[data-route="home"] .view-panel:not([data-panel="home"]){display:none!important}.auth-only{display:none!important}body.is-authenticated .guest-only,html[data-route="home"][data-stored-session="true"] .home-splash-hero .guest-only{display:none!important}body.is-authenticated .auth-only,html[data-route="home"][data-stored-session="true"] .home-splash-hero .auth-only{display:revert!important}body.is-authenticated .primary-action.auth-only,body.is-authenticated .secondary-action.auth-only{display:inline-flex!important}@media(max-width:980px){.hero-band{grid-template-columns:1fr;min-height:auto;align-items:start;padding:28px 18px 34px}.home-splash-hero .hero-copy,.home-splash-hero .hero-signup,.traffic-hero .hero-copy,.traffic-hero .hero-signup{justify-self:stretch;max-width:none}h1,.h1-like{font-size:3.45rem}.hero-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){h1,.h1-like{font-size:2.45rem}.hero-proof-grid,.form-grid,.review-actions{grid-template-columns:1fr}.hero-actions .primary-action,.hero-actions .secondary-action{width:100%}}

html[data-route="home"] .home-redesign-hero{grid-template-columns:minmax(440px,800px) minmax(330px,420px);align-items:center;gap:clamp(24px,4vw,48px);min-height:clamp(520px,70svh,660px);padding:clamp(24px,4vw,48px) clamp(20px,6vw,78px)}
      html[data-route="home"] .home-redesign-hero::before{content:"";position:absolute;inset:auto 6% 7% 8%;height:36%;border-radius:50%;background:radial-gradient(circle at 30% 40%,rgba(53,216,255,.22),transparent 42%),radial-gradient(circle at 76% 36%,rgba(255,209,102,.18),transparent 40%);filter:blur(18px);opacity:.86;z-index:1;pointer-events:none}
      html[data-route="home"] .home-redesign-hero .hero-copy{display:grid;gap:14px;justify-self:center}
      html[data-route="home"] .home-redesign-hero h1{max-width:780px;margin:0;font-size:clamp(2.9rem,4.65vw,5.1rem);line-height:1}
      html[data-route="home"] .home-redesign-hero .hero-subcopy{max-width:720px;font-size:clamp(.98rem,1.05vw,1.1rem);line-height:1.48}
      html[data-route="home"] .home-redesign-hero .hero-actions{margin-top:4px}
      html[data-route="home"] .home-hero-reward-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:790px}
      html[data-route="home"] .home-hero-reward-strip div{min-height:78px;padding:12px;border:1px solid rgba(111,199,255,.24);border-radius:8px;background:linear-gradient(180deg,rgba(18,54,91,.56),rgba(4,15,29,.58)),rgba(8,24,43,.58)}
      html[data-route="home"] .home-hero-reward-strip strong,html[data-route="home"] .home-hero-reward-strip span{display:block}
      html[data-route="home"] .home-hero-reward-strip strong{color:var(--gold-2);font-size:clamp(1.05rem,1.45vw,1.38rem);line-height:1}
      html[data-route="home"] .home-hero-reward-strip span{margin-top:6px;color:var(--muted);line-height:1.25}
      html[data-route="home"] #apiStatus{min-width:86px}
      @media(max-width:980px){html[data-route="home"] .home-redesign-hero{grid-template-columns:1fr;gap:22px;padding:26px 18px 34px}html[data-route="home"] .home-redesign-hero .hero-copy{justify-self:stretch}html[data-route="home"] .home-redesign-hero h1{font-size:clamp(2.85rem,9vw,4.6rem)}}
      @media(max-width:640px){html[data-route="home"] .home-hero-reward-strip{grid-template-columns:1fr}}

[hidden]{display:none!important}
      /* A returning player has an auth token, but the static shell is parsed
         before /api/me confirms it. Never expose the guest/legacy navigation
         in that gap: page content may fail open, account chrome may not. */
      html:not([data-stored-session="true"]) body:not(.is-authenticated) .nav-tabs .tab-button.auth-only:not(.admin-only):not(.moderator-only){display:flex!important}
      body:not(.is-moderator) .nav-tabs .tab-button.moderator-only{display:none!important}
      html:not([data-stored-session="true"]) body:not(.is-authenticated) .view-panel.auth-only.is-active:not([data-panel="admin"]){display:block!important}
      html[data-stored-session="true"] body:not(.is-authenticated) #primaryNav,
      html[data-stored-session="true"] body:not(.is-authenticated) .mobile-menu-toggle{visibility:hidden!important;pointer-events:none!important}
      html[data-route="profile"] .view-panel:not([data-panel="profile"]){display:none!important}
      html[data-route="profile"] .view-panel[data-panel="profile"].is-active{display:block}
      html[data-route="battlepass"] .view-panel:not([data-panel="battlepass"]){display:none!important}
      html[data-route="battlepass"] .view-panel[data-panel="battlepass"]{display:block!important}
      .campaign-world-map-scroll{overflow-x:auto;overflow-y:hidden}
      .campaign-treasure-map{position:relative;width:min(100%,2300px);min-width:1780px;aspect-ratio:2/1;overflow:hidden}
      .campaign-map-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
      .campaign-map-art{z-index:0;object-fit:cover}
      .campaign-map-route{display:none}
      .campaign-map-marker{z-index:3;background:transparent;border:0;box-shadow:none;color:transparent}
      .campaign-map-marker.is-active{z-index:6}
      .campaign-map-dot{display:none}
      .campaign-map-summary-panel{position:relative;z-index:7}

body.site-maintenance .topbar{display:none!important}body.site-maintenance main{min-height:100vh;padding:clamp(24px,7vh,90px) 18px 130px}.site-maintenance-page{width:min(760px,100%);margin:0 auto}.site-maintenance-card{position:relative;overflow:hidden;padding:clamp(28px,6vw,58px);border:1px solid rgba(102,213,255,.45);border-radius:28px;background:radial-gradient(circle at 50% 0,rgba(42,185,255,.22),transparent 42%),linear-gradient(145deg,rgba(13,50,82,.96),rgba(4,16,32,.98));box-shadow:0 28px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12);text-align:center}.site-maintenance-card:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 90deg,transparent,rgba(112,218,255,.15),transparent 35%);animation:maintenance-orbit 12s linear infinite}.site-maintenance-card>*{position:relative}.site-maintenance-sigil{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 20px;border:1px solid rgba(143,229,255,.55);border-radius:25px;background:rgba(5,25,47,.78);box-shadow:0 0 32px rgba(52,196,255,.23),inset 0 0 22px rgba(52,196,255,.12);color:#8ce5ff;font-size:38px}.site-maintenance-card h2{margin:0;color:#fff;font-size:clamp(30px,5vw,52px);line-height:1}.site-maintenance-card p{max-width:570px;margin:18px auto 0;color:#c7e5f5;font-size:clamp(15px,2vw,18px);line-height:1.6}.site-maintenance-chat-note{display:inline-flex;gap:8px;align-items:center;margin-top:26px;padding:11px 15px;border:1px solid rgba(123,223,255,.28);border-radius:999px;background:rgba(7,29,49,.72);color:#d7f3ff;font-weight:800}.site-maintenance-chat-note i{width:9px;height:9px;border-radius:50%;background:#68e6a7;box-shadow:0 0 12px #68e6a7}@keyframes maintenance-orbit{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.site-maintenance-card:before{animation:none}}
