/* Landing additions: readable label sizes, the header mark only, app links, the LED strip, the contract + X row. */
.btn-label,.btn,.btn--small,.sound-toggle,.section-title,.footer .grid,.loader__btn-no-sound,.loader__copy,.home-team-member__position{font-size:12px!important}
.home-team-member__position{letter-spacing:.02em;text-transform:none!important;font-family:MonoWeb,monospace!important;font-weight:500!important}
.home-hero__btn-label{white-space:nowrap}
.body-copy{font-size:15px!important;line-height:1.5!important}
.loader__logo,.error-page__logo{display:none!important}
.header-logo__mark{border-radius:50%}
.h1,.h2,.h3,h1,h2,h3,.ff-title,.loader__title{text-transform:uppercase}
.header-logo__type{width:13rem!important;height:3.4rem!important;overflow:visible}
@font-face{font-display:swap;font-family:MonoWeb;font-weight:400 700;src:url(/fonts/jetbrainsmono.woff2) format("woff2")}

.dr-nav{position:fixed;z-index:81;top:2.8rem;right:13rem;display:flex;gap:2.4rem;opacity:0;transition:opacity .8s linear;pointer-events:none}
@media (min-width:1024px){.dr-nav{top:4.7rem;right:19rem}}
.dr-nav.on{opacity:1;pointer-events:auto}
.dr-nav a{font:700 12px/2rem TextWeb,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#eee;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.dr-nav a:first-child{color:#FF7A5C;border-bottom-color:#FF7A5C}
.dr-nav a:hover{color:#FF7A5C}

.dr-led{position:fixed;z-index:79;left:50%;transform:translateX(-58%);top:4.2rem;width:min(36vw,540px);height:30px;opacity:0;transition:opacity 1s linear;pointer-events:none}
.dr-led.on{opacity:1}
.dr-led canvas{display:block;width:100%;height:100%;border:1px solid rgba(183,198,212,.16);border-radius:3px;background:#050B16}
.dr-led-cap{position:absolute;left:8px;top:-9px;padding:0 6px;background:#000209;font:700 12px/16px TextWeb,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#8193A8}
.dr-led-cap i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#FF7A5C;margin-right:6px;vertical-align:1px}
@media (max-width:1023px){
  .dr-nav{top:8.2rem;left:2.8rem;right:auto;gap:1.8rem}
}

/* the gate's no-audio button is invisible until loading is done: it takes no clicks until then */
.loader__btn-no-sound:not(.loader__btn-no-sound--visible){pointer-events:none}
/* 'Enter with audio' stays dead until its 1s draw-in finishes; on a busy main thread (the scene compiling) that is 4-5s of a visible button that ignores clicks. Live as soon as loading is done. */
.loader:not(.fade-leave-active) .loader__btn-wrapper--disabled .loader__btn-loader--hidden~.btn{pointer-events:auto}

/* the hook: HTML over gate + scene, readable before any WebGL */
.loader__copy{display:none!important}
.home-hero__title,.home-hero__btn{visibility:hidden!important}
.dr-hero{position:fixed;z-index:95;left:6.4rem;bottom:5.6rem;max-width:min(940px,calc(100vw - 12.8rem));color:#EEF1F4;transition:opacity .35s linear}
.dr-hero{pointer-events:none;transition:none}
.dr-hero .dr-cta a,.dr-hero .dr-id a,.dr-hero .dr-id button{pointer-events:auto}
.dr-hero.off .dr-cta a,.dr-hero.off .dr-id a,.dr-hero.off .dr-id button{pointer-events:none}
.dr-k{margin:0 0 14px;font:700 12px/1 TextWeb,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#B7C6D4}
.dr-k b{color:#FF7A5C;font-family:MonoWeb,monospace;font-weight:500;margin-right:4px}
.dr-h{margin:0;font:700 clamp(28px,2.6vw,40px)/1.06 DisplayWeb,sans-serif;text-transform:uppercase;letter-spacing:-.02em;color:#EEF1F4}
.dr-h span{display:block;padding-left:clamp(24px,4.4vw,72px)}
.dr-sub{margin:18px 0 0;max-width:430px;font:500 15px/1.5 TextWeb,sans-serif;color:#B7C6D4}
.dr-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.dr-btn{display:inline-flex;align-items:center;height:44px;padding:0 22px;border:1px solid #FF7A5C;border-radius:5px;font:700 12px/1 TextWeb,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#EEF1F4;background:rgba(0,2,9,.35);transition:background .25s,color .25s}
.dr-btn.on,.dr-btn:hover{background:#FF7A5C;color:#1B0A05}
.dr-led-slot{display:none}
/* the contract (one click copies the full address) and the X button, under the hook */
.dr-id{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.dr-ca{display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 16px;border:1px solid rgba(183,198,212,.28);border-radius:5px;background:rgba(0,2,9,.55);color:#EEF1F4;cursor:pointer;font:500 13px/1 MonoWeb,monospace;transition:border-color .25s}
.dr-ca b{font:700 12px/1 TextWeb,sans-serif;letter-spacing:.05em;color:#FF7A5C}
.dr-ca-c{font:700 12px/1 TextWeb,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#8193A8;transition:color .25s}
.dr-ca:hover{border-color:#FF7A5C}.dr-ca:hover .dr-ca-c,.dr-ca.ok .dr-ca-c{color:#FF7A5C}
.dr-x{gap:9px;text-transform:none;letter-spacing:.01em;font-size:13px;white-space:nowrap}
.dr-x svg{flex:none;width:15px!important;height:15px!important;display:block}
.dr-x span,.dr-ca span,.dr-ca b{display:inline;white-space:nowrap}
@media (max-width:1023px){
  .dr-hero{left:2.4rem;right:2.4rem;bottom:3.2rem;max-width:none}
  .dr-h{font-size:clamp(24px,7vw,34px)}
  .dr-h span{padding-left:0}
  .dr-sub{font-size:14px;margin-top:12px}
  .dr-cta{margin-top:16px}
  .dr-btn{height:40px;padding:0 16px}
  .dr-hero .dr-ca{height:40px;padding:0 12px;gap:10px}
  .dr-ca-v .m{display:none}
  .dr-x{padding:0 14px}
  .dr-x .f{display:none}
  .dr-id{margin-top:10px;gap:8px}
  .dr-led-slot{display:block;position:relative;margin-top:22px;height:26px}
  .dr-led-slot .dr-led{position:static;transform:none;width:100%;height:26px;opacity:1}
  .dr-led-slot .dr-led-cap{top:-9px}
  /* during the gate the block sits at the top, compact, clear of the enter buttons */
  .dr-hero.gate{top:2.8rem;bottom:auto}
  .dr-hero.gate .dr-sub,.dr-hero.gate .dr-led-slot{display:none}
/* the contract (one click copies the full address) and the X button, under the hook */
.dr-id{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.dr-ca{display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 16px;border:1px solid rgba(183,198,212,.28);border-radius:5px;background:rgba(0,2,9,.55);color:#EEF1F4;cursor:pointer;font:500 13px/1 MonoWeb,monospace;transition:border-color .25s}
.dr-ca b{font:700 12px/1 TextWeb,sans-serif;letter-spacing:.05em;color:#FF7A5C}
.dr-ca-c{font:700 12px/1 TextWeb,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#8193A8;transition:color .25s}
.dr-ca:hover{border-color:#FF7A5C}.dr-ca:hover .dr-ca-c,.dr-ca.ok .dr-ca-c{color:#FF7A5C}
.dr-x{gap:9px;text-transform:none;letter-spacing:.01em;font-size:13px;white-space:nowrap}
.dr-x svg{flex:none;width:15px!important;height:15px!important;display:block}
.dr-x span,.dr-ca span,.dr-ca b{display:inline;white-space:nowrap}
}
/* phones: the full contract address gets its own row under the CA label and Copy */
@media (max-width:599px){
  .dr-hero .dr-ca{flex:1 1 100%;flex-wrap:wrap;height:auto;padding:6px 12px;gap:4px 10px}
  .dr-hero .dr-ca-c{margin-left:auto}
  .dr-hero .dr-ca-v{order:3;flex:1 1 100%;text-align:left;font-size:clamp(9px,2.8vw,12px);line-height:1.2}
}
