/* BITCAT mobile interface — dedicated layout, not a scaled desktop version */
.mobile-actionbar{display:none}

@media (max-width:820px){
  :root{--mobile-pad:18px;--mobile-radius:18px}
  html{scroll-padding-top:74px;-webkit-text-size-adjust:100%;background:#020d0f}
  body{min-width:0;background:
    radial-gradient(circle at 50% 2%,rgba(93,245,255,.10),transparent 26rem),
    linear-gradient(180deg,#031214 0,#020c0e 45%,#031012 100%);padding-bottom:calc(72px + env(safe-area-inset-bottom));}
  body,main,.section,.hero{width:100%;max-width:100%;overflow-x:clip}
  .noise{opacity:.075;mix-blend-mode:screen}
  .scanlines{opacity:.055;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(143,255,255,.04) 6px)}
  .cursor-field{display:none!important}

  /* top navigation */
  .topbar,.topbar.scrolled{height:68px;padding:0 14px 0 16px;grid-template-columns:auto 1fr auto;gap:10px;border-bottom:1px solid rgba(93,245,255,.12);background:rgba(2,14,16,.86);backdrop-filter:blur(20px) saturate(145%);box-shadow:0 10px 34px rgba(0,0,0,.18)}
  .brand{gap:8px;min-width:0}
  .brand img{width:39px;height:31px;filter:drop-shadow(0 0 12px rgba(93,245,255,.36))}
  .brand b{font-size:.78rem;letter-spacing:.16em}
  .brand small{display:none}
  .desktop-nav,.icon-link{display:none!important}
  .top-actions{justify-self:end;gap:7px}
  .mini-cta{height:38px;padding:0 13px;border-radius:10px;font-size:.64rem;box-shadow:0 0 18px rgba(93,245,255,.12)}
  .menu-btn{display:block;width:40px;height:38px;border-radius:10px;padding:8px 9px;background:rgba(93,245,255,.035)}
  .menu-btn span{height:1.5px;margin:4.5px 0}

  /* full-screen mobile menu */
  .mobile-menu{padding:calc(78px + env(safe-area-inset-top)) 12px calc(86px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 10%,rgba(93,245,255,.10),transparent 36%),rgba(1,9,10,.94);backdrop-filter:blur(24px)}
  .mobile-menu-panel{height:auto;max-height:calc(100dvh - 178px);overflow:auto;margin:0;border-radius:20px;border-color:rgba(93,245,255,.22);padding:8px;background:linear-gradient(180deg,rgba(8,31,34,.96),rgba(3,16,18,.98));box-shadow:0 30px 90px rgba(0,0,0,.56)}
  .mobile-menu-head{height:52px;padding:0 10px 0 12px}
  .mobile-menu-head button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;font-size:1.4rem}
  .mobile-menu-panel>a{min-height:60px;grid-template-columns:40px 1fr auto;border-radius:12px;padding:0 13px;margin:2px 0;border-top:0;background:rgba(255,255,255,.015);border:1px solid transparent}
  .mobile-menu-panel>a:active{border-color:rgba(93,245,255,.24);background:rgba(93,245,255,.06)}
  .mobile-menu-panel>a b{font-size:.61rem}
  .mobile-menu-panel>a span{font-size:.88rem;letter-spacing:.04em}

  /* hero: purpose-built phone composition */
  .hero{min-height:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:96px var(--mobile-pad) 54px;background:
    radial-gradient(circle at 50% 35%,rgba(93,245,255,.085),transparent 33%),
    linear-gradient(180deg,rgba(4,25,27,.40),transparent 70%)}
  .hero-grid{background-size:34px 34px;opacity:.52;mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.55) 66%,transparent 100%)}
  .hero-beam{width:130vw;opacity:.10}
  .beam-a{top:26%;left:-24%;transform:rotate(-10deg)}
  .beam-b{top:55%;right:-32%;transform:rotate(8deg)}
  .hero::after{height:90px}
  .hero-copy{width:100%;max-width:none;text-align:left}
  .eyebrow{font-size:.56rem;letter-spacing:.13em;gap:8px;margin-bottom:14px}
  .eyebrow i{width:6px;height:6px}
  .hero h1{font-size:clamp(3.55rem,16.8vw,5.9rem);line-height:.83;letter-spacing:-.075em;margin:0 0 18px;max-width:100%}
  .hero h1 em{-webkit-text-stroke-width:1px;text-shadow:0 0 24px rgba(93,245,255,.13)}
  .hero-lead{font-size:.96rem;line-height:1.63;max-width:35rem;color:#92b3b6}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:23px 0 12px}
  .btn{width:100%;min-height:52px;border-radius:12px;padding:0 14px;font-size:.65rem;letter-spacing:.07em;gap:10px}
  .btn.primary{box-shadow:0 10px 28px rgba(0,0,0,.22),0 0 22px rgba(93,245,255,.13)}
  .contract{min-height:50px;width:100%;max-width:none;border-radius:12px;padding:0 12px;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;background:rgba(5,28,31,.72);box-shadow:inset 0 0 0 1px rgba(93,245,255,.025)}
  .contract code{font-size:.61rem}
  .contract button{display:block;height:31px;border-radius:8px;padding:0 10px;font-size:.56rem}
  .signal-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
  .signal-strip span{min-height:38px;padding:0 10px;border:1px solid rgba(93,245,255,.10);border-radius:10px;background:rgba(5,27,29,.38);font-size:.53rem;letter-spacing:.06em}

  .hero-visual{min-height:0;height:auto;margin:20px -8px 0;padding:8px 0 0;display:block;overflow:visible}
  .cat-stage{width:min(100%,430px);left:auto;transform:none;margin:0 auto;aspect-ratio:1.08/1;perspective:none}
  .cat-halo{width:68%;height:68%;filter:blur(14px);opacity:.88}
  .wire-cat{width:91%;animation:mobileFloat 5.2s ease-in-out infinite;filter:drop-shadow(0 0 15px rgba(93,245,255,.28)) drop-shadow(0 18px 30px rgba(0,0,0,.24))}
  .orbit{opacity:.62;animation-duration:42s}
  .orbit-2{animation-duration:62s}
  .orbit-3{display:none}
  .bit-chip{min-width:96px;padding:8px 9px;border-radius:10px;background:rgba(3,18,20,.82);backdrop-filter:blur(12px);box-shadow:0 10px 28px rgba(0,0,0,.20)}
  .bit-chip b{font-size:.62rem}
  .bit-chip span{font-size:.44rem;margin-top:3px}
  .chip-a{left:3%;top:17%}
  .chip-b{right:2%;top:31%}
  .chip-c{left:8%;bottom:13%}
  .terminal-caption{position:relative;left:auto;right:auto;bottom:auto;margin:-3px 14px 0;padding:10px 12px;border:1px solid rgba(93,245,255,.10);border-radius:10px;grid-template-columns:auto 1fr;color:#638a8e;font-size:.49rem;background:rgba(4,20,22,.56)}
  .terminal-caption b{display:none}
  .scroll-cue{display:none}

  /* sections */
  .section{padding:74px var(--mobile-pad);max-width:none}
  .section+ .section{border-top:1px solid rgba(93,245,255,.055)}
  .section-number{position:relative;top:auto;right:auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:24px;margin-bottom:16px;border:1px solid rgba(93,245,255,.18);border-radius:999px;background:rgba(93,245,255,.045);color:#74b7bb;font:850 .56rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;opacity:1}
  .section-head,.section-head.split{display:block;max-width:none;margin-bottom:28px}
  .section-head.split>p{margin-top:16px}
  .kicker{font-size:.55rem;letter-spacing:.12em;gap:8px}
  .section-head h2,.birthday h2,.pump h2{font-size:clamp(2.55rem,12.6vw,4rem);line-height:.90;letter-spacing:-.055em;margin:10px 0 16px}
  .section-head h2 em,.birthday h2 em,.pump h2 em{-webkit-text-stroke-width:1px}
  .section-head>p:last-child,.section-head.split>p,.birthday-copy>p,.pump-copy>p{font-size:.93rem;line-height:1.68;color:#8aafb2}

  /* origin */
  .origin-grid{display:grid;grid-template-columns:1fr;gap:10px;border:0;background:transparent}
  .origin-card{min-height:0;padding:20px;border:1px solid var(--line)!important;border-radius:16px;background:linear-gradient(145deg,rgba(93,245,255,.04),transparent),rgba(4,19,21,.70);overflow:hidden}
  .card-top,.pane-head{font-size:.52rem;letter-spacing:.08em}
  .ascii-card pre{font-size:clamp(.82rem,4.5vw,1.05rem);line-height:1.42;margin:34px 0 28px;white-space:pre;transform:translateX(-4px)}
  .ascii-meta{grid-template-columns:1fr 1fr;gap:8px}
  .ascii-meta span{padding:10px;border:1px solid rgba(93,245,255,.08);border-radius:10px;background:rgba(0,0,0,.10)}
  .ascii-meta span:last-child{grid-column:1/-1}
  .history-card{display:block;text-align:left}
  .pulse-ring{width:118px;height:118px;margin:2px 0 24px;box-shadow:0 0 0 16px rgba(93,245,255,.024),0 0 0 32px rgba(93,245,255,.010),inset 0 0 42px rgba(93,245,255,.05)}
  .history-card h3{font-size:1.55rem;margin:8px 0 10px}
  .history-card p:last-child{font-size:.91rem;line-height:1.68}

  /* decoder */
  .decoder{grid-template-columns:1fr;border:0;background:transparent;gap:10px}
  .decoder-pane{min-height:0;padding:16px;border:1px solid var(--line)!important;border-radius:16px;background:#041517;overflow:hidden}
  .decoder textarea{height:152px;margin:15px 0 10px;padding:13px;border-radius:10px;font-size:.64rem;line-height:1.5}
  .decoder-actions,.proof-links{display:grid;grid-template-columns:1fr;gap:7px}
  .decoder-actions button,.proof-links a{min-height:46px;border-radius:10px;font-size:.57rem}
  .output-pane pre{min-height:185px;margin:10px -4px;font-size:clamp(.79rem,4.2vw,1rem);line-height:1.5;overflow:hidden}

  /* BTC loop */
  .loop-visual{display:grid;grid-template-columns:1fr;gap:0;margin-top:28px}
  .node{min-height:0;padding:20px;border-radius:16px;gap:20px;background:linear-gradient(145deg,rgba(93,245,255,.055),transparent),#06191b}
  .node>span{font-size:.54rem}
  .node b{font-size:1.45rem}
  .node small{font-size:.56rem}
  .flow{height:64px;width:1px;margin:0 auto;border-left:1px solid var(--line);border-top:0;display:block}
  .flow i{left:-3px;top:auto;animation:flowV 2.4s linear infinite}
  .flow span{left:12px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:.46rem}
  .mechanic-note{margin-top:14px;padding:14px;border-radius:12px;font-size:.72rem;line-height:1.55;background:rgba(247,147,26,.035)}

  /* anniversary */
  .birthday{padding-top:74px}
  .birthday-shell{grid-template-columns:1fr;padding:0;border:0;background:none;box-shadow:none;gap:22px}
  .birthday-copy{padding:20px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at 70% 15%,rgba(93,245,255,.07),transparent 36%),rgba(5,23,25,.72)}
  .birthday-copy .kicker{margin-bottom:6px}
  .birthday h2{font-size:clamp(3rem,14vw,4.6rem);line-height:.86;margin:8px 0 17px}
  .birthday-copy>p{font-size:.91rem;line-height:1.66;margin-bottom:20px}
  .date-ledgers{grid-template-columns:1fr 1fr;gap:8px}
  .date-ledgers div{min-height:94px;padding:14px 12px;border-radius:12px}
  .date-ledgers span{font-size:.48rem}
  .date-ledgers b{font-size:1.12rem;margin-top:8px}
  .date-ledgers small{font-size:.52rem;line-height:1.35}
  .countdown-wrap{padding:14px;border-radius:18px;background:linear-gradient(180deg,rgba(6,27,29,.94),rgba(3,14,15,.98));box-shadow:0 22px 50px rgba(0,0,0,.22)}
  .countdown-label{font-size:.49rem;margin-bottom:11px;letter-spacing:.10em}
  .countdown-label b{font-size:.66rem}
  .countdown{grid-template-columns:1fr 1fr;gap:7px}
  .countdown>div{min-height:104px;padding:14px 8px;border-radius:12px}
  .countdown strong{font-size:clamp(2rem,11vw,2.9rem)}
  .countdown span{font-size:.45rem}
  .birthday-status{font-size:.52rem;line-height:1.5;padding:11px 4px 0}

  /* timeline becomes true vertical mobile timeline */
  .timeline-track{display:block;padding:6px 0 0 0;margin-left:2px}
  .timeline-line{display:block;position:absolute;left:20px;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(var(--cyan),rgba(93,245,255,.12),var(--btc));opacity:.32}
  .timeline-line span{display:none}
  .time-event{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;text-align:left;justify-items:stretch;column-gap:14px;min-height:118px;padding:0 0 22px;position:relative}
  .time-event time{grid-column:2;grid-row:1;color:#76a7aa;font-size:.57rem;margin:0 0 6px}
  .time-dot{grid-column:1;grid-row:1/3;width:42px;height:42px;margin:0;border-radius:12px;background:#061719;z-index:2;box-shadow:0 0 0 5px var(--bg)}
  .time-event.major .time-dot{box-shadow:0 0 0 5px var(--bg),0 0 22px rgba(93,245,255,.14)}
  .time-event>div:last-child{grid-column:2;grid-row:2;padding:0 0 18px;border-bottom:1px solid rgba(93,245,255,.07)}
  .time-event b{font-size:1rem}
  .time-event small{font-size:.52rem;margin-top:4px}
  .time-event p{font-size:.78rem;line-height:1.48;margin:9px 0 0}

  /* trade */
  .pump-shell{grid-template-columns:1fr;gap:16px;padding:0;border:0;background:none}
  .pump-copy{padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(93,245,255,.045),rgba(0,0,0,.02)),#051719}
  .pump-badge{display:inline-flex;border-radius:999px;padding:8px 10px;font-size:.50rem}
  .pump-copy h2{margin-top:13px}
  .pump-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:20px}
  .ref-disclosure{display:block;margin-top:12px;font-size:.52rem;line-height:1.5}
  .pump-terminal{border-radius:18px;overflow:hidden;box-shadow:0 22px 50px rgba(0,0,0,.23),inset 0 0 60px rgba(93,245,255,.025)}
  .terminal-top{padding:12px 13px;font-size:.50rem}
  .terminal-token{padding:15px 13px}
  .terminal-token img{width:52px;height:40px}
  .terminal-token strong{font-size:.92rem}
  .terminal-token small{font-size:.52rem}
  .terminal-token>b{font-size:.58rem!important}
  .terminal-chart{height:142px}
  .terminal-stats{grid-template-columns:1fr 1fr}
  .terminal-stats span{padding:11px 10px}
  .terminal-stats span:nth-child(2){border-right:0}
  .terminal-stats span:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);border-right:0}
  .pump-terminal>a{height:52px;font-size:.58rem}

  /* gallery */
  .gallery-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;gap:9px}
  .gallery-item,.gallery-item:first-child,.gallery-item:nth-child(4){grid-row:auto;grid-column:auto;height:auto;aspect-ratio:4/3;border-radius:16px}
  .gallery-item:nth-child(2){aspect-ratio:1/1}
  .gallery-item img{object-fit:cover}
  .gallery-label{left:13px;right:13px;bottom:12px;align-items:end}
  .gallery-label b{font-size:.66rem}
  .gallery-label span{max-width:45%;font-size:.45rem}
  .gallery-note{grid-template-columns:1fr;gap:5px;border-radius:12px;padding:12px 13px}
  .gallery-note span,.gallery-note b{font-size:.52rem}
  .gallery-note i{display:none}

  /* community and sources */
  .community-shell{padding:44px 18px 24px;border-radius:18px;background:radial-gradient(circle at 50% 17%,rgba(93,245,255,.10),transparent 32%),#051719}
  .community-shell>img{width:116px;height:78px;margin-bottom:10px}
  .community-shell h2{font-size:clamp(2.7rem,13vw,4rem);line-height:.9;margin:13px 0 28px}
  .community-links a{grid-template-columns:1fr auto;gap:12px;align-items:center;min-height:58px;padding:12px 3px}
  .community-links span{font-size:.50rem}
  .community-links b{font-size:.68rem;text-align:right}
  .sources{padding-top:40px;padding-bottom:46px}
  .source-grid{grid-template-columns:1fr;border-radius:14px;overflow:hidden}
  .source-grid div{padding:16px;border-right:0;border-bottom:1px solid var(--line)}
  .source-grid div:last-child{border-bottom:0}
  .source-grid span{font-size:.50rem}
  .source-grid a{font-size:.72rem;word-break:break-word}
  .risk-note{font-size:.61rem;line-height:1.55;margin-top:12px}

  /* footer */
  footer{grid-template-columns:1fr;padding:30px var(--mobile-pad) calc(92px + env(safe-area-inset-bottom));gap:18px}
  .footer-brand img{width:46px;height:34px}
  .footer-links{justify-content:flex-start;gap:18px}
  .footer-ca{max-width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
  .footer-ca code{font-size:.52rem}

  /* fixed thumb-friendly action bar */
  .mobile-actionbar{position:fixed;z-index:240;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));height:58px;display:grid;grid-template-columns:minmax(0,1fr) 52px 52px 52px;gap:6px;padding:6px;border:1px solid rgba(93,245,255,.18);border-radius:17px;background:rgba(3,17,19,.88);backdrop-filter:blur(22px) saturate(150%);box-shadow:0 18px 55px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.025)}
  .mobile-actionbar>a,.mobile-actionbar>button{min-width:0;border:1px solid rgba(93,245,255,.12);border-radius:11px;background:rgba(93,245,255,.035);color:#c8f7f8;text-decoration:none;display:flex;align-items:center;justify-content:center;font:850 .60rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}
  .mobile-actionbar .mobile-trade{justify-content:space-between;padding:0 14px;background:var(--cyan);border-color:var(--cyan);color:#001416;font-size:.64rem}
  .mobile-actionbar>button{cursor:pointer}

  /* touch and animation behavior */
  .btn,.contract,.mobile-menu-panel>a,.gallery-item,.community-links a,.mobile-actionbar>*{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .reveal{opacity:0;transform:translateY(16px) scale(.995);transition:opacity .55s ease,transform .65s cubic-bezier(.16,1,.3,1)}
  .reveal.seen{opacity:1;transform:none}
  .origin-card,.decoder-pane,.node,.birthday-copy,.countdown-wrap,.pump-copy,.pump-terminal,.gallery-item,.community-shell{position:relative}
  .origin-card::before,.decoder-pane::before,.node::before,.birthday-copy::before,.countdown-wrap::before,.pump-copy::before,.pump-terminal::before,.community-shell::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(93,245,255,.32),transparent);pointer-events:none}
  @keyframes mobileFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-9px,0)}}
}

@media (max-width:430px){
  :root{--mobile-pad:15px}
  .topbar,.topbar.scrolled{padding-left:13px;padding-right:11px}
  .brand img{width:35px}
  .mini-cta{padding:0 11px;font-size:.60rem}
  .hero{padding-top:90px}
  .hero h1{font-size:clamp(3.35rem,17vw,4.75rem)}
  .hero-actions{grid-template-columns:1fr}
  .hero-actions .secondary{display:none}
  .contract{grid-template-columns:auto minmax(0,1fr) auto}
  .contract code{font-size:.56rem}
  .signal-strip span{padding:0 8px;font-size:.49rem}
  .cat-stage{width:108%;margin-left:-4%}
  .bit-chip{min-width:86px;padding:7px 8px}
  .chip-a{left:6%}.chip-b{right:5%}.chip-c{left:11%}
  .section{padding-top:66px;padding-bottom:66px}
  .section-head h2,.pump h2{font-size:clamp(2.45rem,13vw,3.35rem)}
  .birthday h2{font-size:clamp(2.85rem,14.5vw,3.75rem)}
  .date-ledgers{grid-template-columns:1fr}
  .date-ledgers div{min-height:84px}
  .countdown strong{font-size:clamp(1.9rem,11vw,2.55rem)}
  .mobile-actionbar{grid-template-columns:minmax(0,1fr) 48px 48px 48px;left:8px;right:8px}
  .community-links a{grid-template-columns:1fr}
  .community-links b{text-align:left}
}

@media (max-width:360px){
  .hero h1{font-size:3.05rem}
  .eyebrow{font-size:.50rem}
  .mini-cta{display:none}
  .cat-stage{width:112%;margin-left:-6%}
  .bit-chip{transform:scale(.92)}
  .contract button{padding:0 7px}
  .mobile-actionbar{grid-template-columns:minmax(0,1fr) 44px 44px 44px}
}

@media (max-width:820px) and (prefers-reduced-motion:reduce){
  .wire-cat,.orbit,.live-dot,.eyebrow i,.countdown-label i{animation:none!important}
}
