/* The world beyond the gateway: a cinematic, personal game menu. */
.site-header { padding: 28px max(5vw,24px); }
.brand img { width: 228px; height: 76px; filter: drop-shadow(0 4px 12px #0007); }
.header-actions { gap: 32px; }
.site-header .effects-toggle { font-size: 14px; color: #c6cecf; }
.site-header .header-join { border: 1px solid #e7e7d92b; background: #0b161d70; padding: 12px 20px; font-size: 14px; backdrop-filter: blur(12px); }
.site-header .header-join span { color: #e3c890; padding-left: 18px; }
.home-hero { min-height: 820px; height: 100svh; max-height: 1200px; display: flex; align-items: center; }
.home-hero .world-scene { background-image: url('assets/noahs-world-hero.png'); background-position: center; }
.home-hero .world-scene:before, .home-hero .world-scene:after { display: none; }
.home-hero .world-shade { background: linear-gradient(90deg,#061019e6 0%,#07111eb8 25%,#07132235 57%,transparent 76%),linear-gradient(0deg,#090f15 0%,#090f1515 24%,transparent 77%,#07101c60); }
.home-hero .torch-glow { display: none; }
.home-hero .hero-content { width: min(1320px,90%); margin: 0 auto; padding: 130px 0 112px; text-align: left; }
.hero-kicker { display: flex; align-items: center; gap: 14px; margin: 0 0 24px; color: #d4be8f; font-size: 12px; font-weight: 700; letter-spacing: 2.6px; }
.home-hero h1 { max-width: 650px; font-size: clamp(60px,6.5vw,98px); font-family: 'Arial Black',Arial,sans-serif; letter-spacing: -4.5px; line-height: 1.01; font-weight: 900; text-shadow: 0 5px 28px #0004; color: #fff9ea; }
.home-hero h1 > span { display: inline-block; color: #e7c785; }
.home-hero .hero-description { font-size: 17px; line-height: 1.8; color: #c6cdd0; margin: 25px 0 32px; text-shadow: 0 2px 12px #0006; }
.home-hero .game-button { min-width: 286px; min-height: 64px; padding: 15px 23px; justify-content: flex-start; gap: 14px; border: 1px solid #b1d78c; background: linear-gradient(140deg,#82ac53,#567d35); box-shadow: inset 0 1px #d4e7b47a,inset 0 -4px #385324,0 5px 0 #182b18,0 12px 35px #0005; color: #f4f7e9; font-size: 16px; letter-spacing: .2px; font-weight: 700; }
.home-hero .game-button > span { margin-left: auto; padding-left: 22px; font-size: 23px; }
.home-hero .game-button svg { width: 16px; height: 16px; }
.home-hero .game-button:hover { transform: translateY(-2px); filter: brightness(1.13); box-shadow: inset 0 1px #d4e7b47a,inset 0 -4px #385324,0 7px 0 #182b18,0 14px 40px #0005; }
.home-hero .copy-address { width: 286px; justify-content: space-between; margin: 24px 0 0; border: 0; border-bottom: 1px solid #e4ddbb29; background: transparent; padding: 8px 0 15px; font-size: 17px; text-align: left; color: #e4e9de; }
.address-copy { display: flex; flex-direction: column; gap: 4px; }
.home-hero .address-label { font-size: 10px; color: #87999e; letter-spacing: 1.7px; }
.home-hero .copy-address > svg { width: 20px; height: 20px; margin-top: 18px; color: #acbdab; }
.home-hero .copy-address:hover { color: #d7eabd; border-bottom-color: #a2bd87; }
.home-hero .copy-feedback { max-width: 410px; color: #bdd49f; font-size: 13px; }
.noah-nameplate { position: absolute; right: 13%; bottom: 19%; z-index: 2; padding: 15px 22px 18px; background: #f3ecd6; color: #263023; border: 4px solid #293025; box-shadow: inset 4px 4px #fff9e8, inset -4px -4px #c9bf9b, 4px 0 #121a15, -4px 0 #121a15, 0 -4px #121a15, 0 4px #121a15, 4px 8px #0005; }
.noah-nameplate:before, .noah-nameplate:after { content: ''; position: absolute; clip-path: polygon(0 100%,0 67%,33% 67%,33% 33%,67% 33%,67% 0,100% 0,100% 100%); }
.noah-nameplate:before { width: 32px; height: 28px; right: 26px; top: -32px; background: #121a15; }
.noah-nameplate:after { width: 24px; height: 24px; right: 30px; top: -24px; background: #f3ecd6; }
.noah-nameplate .speech-speaker { display: block; color: #55723b; font: 700 11px/1.4 monospace; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 5px; }
.noah-nameplate p { margin: 0; font: 700 17px/1.45 monospace; letter-spacing: -.3px; text-shadow: 1px 1px #fff9e8; }
.home-hero .hero-bottom { inset-inline: max(5vw,24px); bottom: 30px; }
.home-hero .world-note { color: #91a09e; font-size: 10px; letter-spacing: 1.9px; }
.home-hero .scroll-link { position: static; transform: none; flex-direction: row; color: #c0c9c5; font-size: 12px; letter-spacing: .5px; gap: 16px; }
.home-hero .scroll-link span { font-size: 20px; color: #d3bd8d; }
.join-section { padding: 82px max(5vw,24px) 96px; background: #090f15; }
.join-inner { max-width: 1120px; grid-template-columns: 1fr 1.05fr; gap: 100px; align-items: start; }
.join-heading .overline { margin: 0 0 24px; color: #a6b58f; font-size: 11px; letter-spacing: 2px; }
.join-heading h2 { font-size: clamp(36px,3.8vw,54px); letter-spacing: -1.6px; line-height: 1.1; }
.join-heading h2 span { color: #d6bb80; }
.join-heading > p:last-child { color: #92a0a3; font-size: 16px; line-height: 1.85; margin: 22px 0 0; }
.join-copy { padding: 0; }
.join-steps { flex-direction: column; gap: 0; margin: 0 0 26px; }
.join-steps li { gap: 20px; padding: 17px 0; align-items: center; border-bottom: 1px solid #cddcc715; font-size: 16px; }
.join-steps li:first-child { padding-top: 0; }
.join-steps li > span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #d0bc8829; color: #cfb882; background: #d0bc8807; font-size: 12px; }
.join-steps li > div { display: block; }
.join-steps small { display: block; font-size: 13px; color: #89999b; margin: 2px 0 0; }
.server-box { background: #121d22; border: 1px solid #b3c59b30; border-left: 3px solid #9ead79; padding: 16px 18px; }
.server-box label { color: #91a299; font-size: 10px; }
.server-box input { color: #e3eacb; font-size: clamp(18px,2vw,24px); }
.copy-button { color: #c8d9aa; border-color: #b3c59b30; background: #b3c59b0c; }
.server-help { font-size: 12px; color: #819197; }
.site-footer { padding: 22px max(5vw,24px) 28px; }
.footer-brand { display: block; }
.footer-brand img { display: block; width: 160px; height: auto; }
.site-footer .replay-button { font-size: 13px; color: #9caba7; }
.site-footer > p { font-size: 11px; color: #687d81; }
@media (min-width:1600px) { .home-hero .hero-content { width: 84%; max-width: 1520px; }.site-header { padding-inline: 8%; }.home-hero .hero-bottom { inset-inline:8%; } }
@media (max-width:1050px) {
  .home-hero .hero-content { width: 88%; }
  .home-hero h1 { font-size: clamp(56px,7.4vw,78px); letter-spacing:-3px; }
  .home-hero .world-shade { background: linear-gradient(90deg,#061019ee,#07111e99 44%,#07132200 80%),linear-gradient(0deg,#090f15,transparent 40%); }
  .noah-nameplate { right: 7%; bottom: 17%; }
  .join-inner { gap: 55px; }
}
@media (max-width:700px) {
  .site-header { padding: 16px 22px; }
  .brand img { width: 178px; height: 60px; }
  .header-actions { gap: 12px; }
  .site-header .header-join { display: none; }
  .site-header .effects-toggle { font-size: 18px; }
  .home-hero { height: auto; min-height: 930px; max-height: none; align-items: flex-end; }
  .home-hero .world-scene { background-size: auto 730px; background-position: 80% top; background-color: #090f15; }
  .home-hero .world-shade { background: linear-gradient(0deg,#090f15 0%,#090f15 23%,#09121de6 40%,#07111e10 66%,#07111e33 100%); }
  .home-hero .hero-content { width: 100%; padding: 440px 26px 96px; }
  .hero-kicker { font-size: 10px; letter-spacing: 1.7px; gap: 10px; margin-bottom: 18px; }
  .home-hero h1 { font-size: clamp(44px,11.5vw,70px); letter-spacing: -2.8px; }
  .home-hero .hero-description { font-size: 15px; margin: 20px 0 24px; }
  .home-hero .game-button, .home-hero .copy-address { width: 100%; max-width: 360px; }
  .home-hero .game-button { min-width: 0; min-height: 60px; }
  .home-hero .copy-address { font-size: 17px; }
  .noah-nameplate { display: block; top: 326px; right: 26px; bottom: auto; padding: 10px 16px 13px; }
  .noah-nameplate p { font-size: 14px; }
  .home-hero .hero-bottom { inset-inline: 26px; bottom: 22px; justify-content: flex-start; }
  .home-hero .world-note { display: none; }
  .home-hero .scroll-link { font-size: 12px; }
  .join-section { padding: 48px 26px 60px; }
  .join-inner { grid-template-columns: 1fr; gap: 34px; }
  .join-copy { grid-row: auto; }
  .join-heading h2 { font-size: 40px; }
  .join-heading .overline { font-size: 10px; margin-bottom: 20px; }
  .join-heading > p:last-child { font-size: 15px; margin-top: 18px; }
  .join-steps li { font-size: 15px; }
  .server-box { padding: 14px; gap: 12px; }
  .server-box input { font-size: clamp(16px,4.6vw,23px); }
  .server-help { font-size: 12px; }
  .site-footer { padding: 22px 26px; gap: 18px; }
  .footer-brand img { width: 135px; }
  .site-footer .replay-button { font-size: 12px; }
}
@media (max-height:700px) and (min-width:701px) {
  .home-hero { min-height: 740px; }
  .home-hero .hero-content { padding-top: 140px; padding-bottom: 84px; }
  .home-hero h1 { font-size: 67px; }
}

/* Solid pixel lettering for the gateway title. */
@font-face { font-family: 'Noah Pixel'; src: url('assets/fonts/PressStart2P-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
.entry .entry-content .overline { top: 10%; font-size: 11px; }
.entry .entry-content h2 { top: 16%; width: 95%; font-family: 'Noah Pixel', monospace; font-size: clamp(24px,4.3vw,62px); font-weight: 400; line-height: 1.42; letter-spacing: 0; color: #fff3d5; background: none; -webkit-text-fill-color: currentColor; text-shadow: 0 3px 0 #35412c,0 6px 0 #080e0a; }
.entry .entry-content h2 > span { display: block; color: #badf79; background: none; -webkit-text-fill-color: currentColor; }
.entry .entry-content > #entry-description { top: 39%; margin: 0; font-size: 14px; }
@media (max-width:700px) {
  .entry .entry-content .overline { top: 15%; font-size: 10px; }
  .entry .entry-content h2 { top: auto; bottom: 66%; font-size: clamp(24px,5.5vw,36px); }
  .entry .entry-content > #entry-description { top: 35%; font-size: 13px; }
}
@media (max-height:750px) {
  .entry .entry-content .overline { display: none; }
  .entry .entry-content h2 { top: 16%; bottom: auto; font-size: clamp(22px,3.2vw,36px); line-height: 1.3; }
  .entry .entry-content > #entry-description { top: 36%; font-size: 12px; }
}

/* Minecraft menu controls: stone faces, pixel type and pressed block edges. */
body :is(.site-header,.entry-header,.home-hero,.site-footer,.server-box) :is(.game-button,.header-join,.effects-toggle,.skip-intro,.replay-button,.copy-address,.copy-button,.scroll-link) {
  --button-face: #535e54;
  --button-light: #89957e;
  --button-shade: #303b30;
  border: 2px solid #111a13;
  border-radius: 0;
  background: var(--button-face);
  color: #fff7df;
  box-shadow: inset 3px 3px 0 var(--button-light),inset -3px -4px 0 var(--button-shade),0 4px 0 #070e0a;
  padding: 12px 18px;
  min-height: 48px;
  font-family: 'Noah Pixel',monospace;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  text-shadow: 2px 2px 0 #192319;
  backdrop-filter: none;
  transition: transform .08s,filter .12s,box-shadow .08s;
}
body :is(.site-header,.entry-header,.home-hero,.site-footer,.server-box) :is(.game-button,.header-join,.effects-toggle,.skip-intro,.replay-button,.copy-address,.copy-button,.scroll-link):hover {
  filter: brightness(1.15);
  transform: translateY(-1px);
  color: #fffbe8;
  box-shadow: inset 3px 3px 0 var(--button-light),inset -3px -4px 0 var(--button-shade),0 5px 0 #070e0a;
}
body :is(.site-header,.entry-header,.home-hero,.site-footer,.server-box) :is(.game-button,.header-join,.effects-toggle,.skip-intro,.replay-button,.copy-address,.copy-button,.scroll-link):active {
  transform: translateY(3px);
  box-shadow: inset 3px 3px 0 var(--button-shade),inset -2px -2px 0 var(--button-light),0 1px 0 #070e0a;
}
body .home-hero .game-button { --button-face:#65923d;--button-light:#a9cb6b;--button-shade:#375625;min-height:64px;font-size:12px;gap:14px; }
body .home-hero .game-button > span,body .site-header .header-join > span { font-family:monospace;font-size:23px;color:#eef4d8; }
body .home-hero .copy-address { --button-face:#28362e;--button-light:#4d6049;--button-shade:#142219;padding:14px 17px;gap:12px; }
.home-hero .copy-address .address-label { font:400 8px/1.6 'Noah Pixel',monospace;letter-spacing:0;color:#b4c2a1;text-shadow:none; }
.home-hero .address-copy > span:last-child { font:700 16px/1.6 monospace;letter-spacing:0; }
body .home-hero .copy-address > svg { width:19px;height:19px;margin-top:16px;flex-shrink:0;color:#d4dfc5; }
body .server-box .copy-button { padding:10px;width:48px;height:48px;flex-shrink:0; }
body .site-header .effects-toggle[aria-pressed='false'] { --button-face:#39433e;--button-light:#627064;--button-shade:#242e28;color:#bbc4b4; }
body .home-hero .scroll-link { min-height:44px;font-size:9px;padding:9px 14px;gap:15px; }
body .home-hero .scroll-link > span { color:#ede4c7; }
body .site-footer .replay-button { font-size:9px;padding:12px 14px; }
body .entry-header .skip-intro { font-size:10px; }
.entry .unlock-button .lock-frame { border:3px solid #171b12;background:#665331;box-shadow:inset 4px 4px #b39958,inset -4px -4px #3d311b,0 5px #10170e;outline-color:#bba365;outline-offset:4px; }
.entry .unlock-button:hover .lock-frame { background:#78613a;box-shadow:inset 4px 4px #d0b775,inset -4px -4px #49391f,0 6px #10170e; }
.entry .unlock-button:active .lock-frame { transform:translateY(3px);box-shadow:inset 4px 4px #49391f,inset -3px -3px #b39958,0 2px #10170e; }
.entry .unlock-label { font:400 11px/1.7 'Noah Pixel',monospace;letter-spacing:0;text-shadow:2px 2px #172011; }
.entry.is-unlocking .unlock-button .lock-frame { border-color:#b9d777;background:#41562e; }
.server-box { border:3px solid #111a13;box-shadow:inset 3px 3px #060e0b,inset -2px -2px #506047;background:#1b2921; }
.server-box label { font:400 9px/1.6 'Noah Pixel',monospace;letter-spacing:0; }
.join-steps li > span { font-family:'Noah Pixel',monospace;font-size:10px;border:2px solid #182217;box-shadow:inset 2px 2px #596044,inset -2px -2px #080f0a;background:#293425; }
@media(max-width:700px) {
  body .site-header .effects-toggle { width:46px;height:46px;padding:9px;font-size:17px; }
  .entry .entry-header { padding-inline:16px;gap:10px; }
  .entry-header .brand img { width:clamp(88px,28vw,140px);height:auto; }
  body .entry-header .skip-intro { font-size:8px;min-height:44px;padding:11px 10px;white-space:nowrap; }
  body .home-hero .game-button { font-size:11px; }
  .entry .unlock-label { font-size:9px; }
  body .home-hero .copy-address { padding-inline:13px; }
  .home-hero .address-copy > span:last-child { font-size:15px; }
}

/* One pixel typeface across all readable interface text. */
:root { --body:'Noah Pixel',monospace;--display:'Noah Pixel',monospace; }
body * { font-family:'Noah Pixel',monospace !important;font-weight:400 !important; }
body { font-size:12px;line-height:1.9; }
.home-hero h1 { font-size:clamp(34px,3.8vw,58px);line-height:1.45;letter-spacing:-1px; }
.home-hero .hero-description { max-width:570px;font-size:12px;line-height:2.1; }
.hero-kicker { font-size:9px;letter-spacing:.4px;line-height:1.9; }
.home-hero .address-copy > span:last-child { font-size:11px;line-height:1.8; }
.home-hero .copy-feedback { font-size:10px;line-height:1.9; }
.home-hero .world-note { font-size:8px;letter-spacing:0; }
.noah-nameplate p { font-size:13px;line-height:1.8;letter-spacing:0; }
.noah-nameplate .speech-speaker { font-size:9px;letter-spacing:1px; }
.join-heading h2 { font-size:clamp(20px,2.4vw,32px);line-height:1.6;letter-spacing:-.5px; }
.join-heading .overline { font-size:9px;letter-spacing:0;line-height:1.9; }
.join-heading > p:last-child { font-size:11px;line-height:2.1; }
.join-steps li { font-size:11px;line-height:1.9; }
.join-steps small { font-size:9px;line-height:1.9; }
.server-box input { font-size:clamp(11px,1.3vw,14px);line-height:2; }
.server-help,.join-feedback { font-size:9px;line-height:1.9; }
.copy-button-text { display:none; }
.site-footer > p { font-size:8px;line-height:2; }
.entry .entry-content > #entry-description { font-size:10px;line-height:1.9; }
.entry .unlock-hint { font-size:9px;line-height:1.9; }
.entry-footer,.entry-footer > span:last-child { font-size:8px;letter-spacing:0;line-height:1.9; }
.entry .entry-status,.journey-caption { font-size:9px;line-height:1.9;letter-spacing:0; }
@media(max-width:700px) {
  .home-hero h1 { font-size:clamp(24px,6.4vw,38px);line-height:1.5;letter-spacing:-.6px; }
  .hero-kicker { font-size:8px;letter-spacing:0; }
  .home-hero .hero-description { font-size:10px;line-height:2.2; }
  .home-hero .address-copy > span:last-child { font-size:10px; }
  .noah-nameplate p { font-size:11px; }
  .join-heading h2 { font-size:clamp(18px,4.8vw,24px); }
  .join-heading > p:last-child { font-size:10px; }
  .join-heading .overline { font-size:8px; }
  .join-steps li { font-size:10px; }
  .join-steps small { font-size:8px; }
  .server-box { flex-wrap:wrap; }
  .server-box > div { flex:1 1 100%; }
  .server-box input { font-size:11px; }
  body .server-box .copy-button { width:100%;display:flex;align-items:center;justify-content:center;gap:12px; }
  .copy-button-text { display:inline;font-size:9px; }
  .entry .entry-content > #entry-description { font-size:8px; }
  .entry .unlock-hint { font-size:8px; }
  .entry-footer,.entry-footer > span:last-child { font-size:7px; }
}
@media(max-height:700px) and (min-width:701px) { .home-hero h1 { font-size:clamp(34px,3.8vw,52px); } }
