* { box-sizing: border-box; }
body { --ticker-height: 32px; --available-height: calc(100svh - var(--ticker-height)); --board-width: min(100vw, calc(var(--available-height) * 4 / 3)); --board-height: calc(var(--board-width) * .75); --tile-width: calc(var(--board-width) / 6); --tile-height: calc(var(--tile-width) * .75); margin: 0; height: 100svh; padding-top: var(--ticker-height); display: grid; place-items: center; color: #111; background: #b8daf2 url("sky.jpg") repeat; background-size: var(--tile-width) var(--tile-height); background-position: calc((100vw - var(--board-width)) / 2) calc(var(--ticker-height) + (var(--available-height) - var(--board-height)) / 2); font-family: "Times New Roman", serif; overflow: hidden; }
.activity-bar { position: fixed; inset: 0 0 auto; height: var(--ticker-height); display: flex; align-items: center; z-index: 20; background: #eeece3; border-bottom: 2px ridge white; gap: 8px; }
.ticker-viewport { flex: 1; overflow: hidden; }
.ticker-track { display: flex; width: max-content; animation: ticker 70s linear infinite; }
.ticker-group { display: flex; flex-shrink: 0; align-items: center; min-width: 100vw; }
.ticker-group span { white-space: nowrap; margin-right: 48px; font-size: 17px; font-weight: bold; background: linear-gradient(90deg, #ba1825, #b95c00, #8b7300, #08753c, #065cb0, #7720a2); background-clip: text; -webkit-background-clip: text; color: transparent; }
@keyframes ticker { to { transform: translateX(-50%); } }
.sample-ad { display: flex; height: 100%; padding: 7%; flex-direction: column; justify-content: center; align-items: center; gap: 5%; text-align: center; }
.sample-ad small { font: bold clamp(8px, 1.1vw, 15px) Arial, sans-serif; }
.sample-ad strong { font: bold clamp(12px, 1.9vw, 29px)/1.02 Georgia, serif; }
.sample-ad > span { font: clamp(8px, .85vw, 12px)/1.15 Arial, sans-serif; }
.sample-ad em { font: 8px Arial, sans-serif; opacity: .65; }
.saas { background: #272053; color: #f7e7ff; }
.fog { background: #e0e6e8; color: #354c5d; }
.stealth { background: #141414; color: #e9e675; }
.burrito { background: #f1bd57; color: #5c2617; }
.ledger { position: relative; width: 100%; margin: 0 0 8px; font-size: 12px; }
.ledger:focus-visible { outline: 1px dotted #555; outline-offset: 2px; }
.ledger ol { list-style: none; margin: 0; padding: 0; max-height: 84px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
.ledger ol::-webkit-scrollbar { display: none; }
#bid-scrollbar { position: absolute; right: 0; top: 0; bottom: 0; width: 18px; background: #c4c0b5; border: 1px inset #eee; touch-action: none; cursor: pointer; }
#bid-scrollbar span { position: absolute; left: 3px; width: 10px; min-height: 16px; background: #d2d0c8; border: 2px outset #f7f6f1; }
#bid-scrollbar:focus-visible { outline: 1px dotted #555; outline-offset: 1px; }
.ledger li { display: flex; justify-content: space-between; align-items: center; gap: 14px; height: 28px; padding: 0 23px 0 0; }
.ledger li span:first-child { color: #615e56; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ledger li span:last-child { flex: 0 0 86px; text-align: left; font-variant-numeric: tabular-nums; }
.donor-label { display: block; margin-top: 16px; }
#donor-name { width: 100%; margin: 6px 0 10px; padding: 7px; border: 2px inset #eee; background: #fffef8; font: 14px Arial, sans-serif; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; color: #777; }
button:focus-visible, input:focus-visible { outline: 2px dotted #000080; outline-offset: 3px; }
main { position: relative; width: var(--board-width); height: var(--board-height); margin: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: repeat(6, minmax(0, 1fr)); }
.sky { display: contents; }
.billboard { grid-column: var(--ad-column); grid-row: var(--ad-row); display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; min-width: 0; min-height: 0; overflow: hidden; border: 0; padding: 0; position: relative; background: #aed6f2 url("sky.jpg") center / 100% 100%; }
.billboard::after { content: ""; position: absolute; inset: 0; border: 1px dotted transparent; pointer-events: none; }
.billboard:hover::after, .billboard:focus-visible::after { border-color: #55729d; }
.billboard .rent-label { position: absolute; bottom: 5px; left: 6px; padding: 2px 4px; font: 12px "Times New Roman", serif; color: #102e69; background: #e9f5ffce; opacity: 0; }
.billboard:hover .rent-label, .billboard:focus-visible .rent-label { opacity: 1; }
.billboard img { display: block; width: 100%; height: 100%; object-fit: contain; }
.purchase-label { display: block; padding: 5px; color: #ffffffed; font: clamp(10px, 1.55vw, 23px)/1.08 "Times New Roman", serif; text-shadow: 1px 2px 2px #243b66bb, 0 0 3px #243b6680; }
.horse-island { position: relative; grid-area: 2 / 2 / 6 / 6; width: 100%; height: 100%; margin: 0; min-width: 0; min-height: 0; }
.horse { display: block; width: 100%; height: 100%; object-fit: cover; }
.campaign-heading { position: absolute; top: 10%; left: 4%; width: 92%; margin: 0; text-align: center; font: bold clamp(24px, 3.5vw, 48px)/1.05 "Times New Roman", serif; background: linear-gradient(90deg, #c51220, #d94a00, #b48a00, #07863c, #0063ca, #7923a9); color: transparent; background-clip: text; -webkit-background-clip: text; filter: drop-shadow(3.5px 0 white) drop-shadow(-3.5px 0 white) drop-shadow(0 3.5px white) drop-shadow(0 -3.5px white); pointer-events: none; }
html[data-site="business"] .campaign-heading, html[data-site="prelaunch"] .campaign-heading { display: none; }
.business-panel { display: none; }
html[data-site="business"] body { --ticker-height: 0px; --dawn-color: #000; background: var(--dawn-color); transition: background-color 1s linear; }
html[data-site="business"] main { z-index: 1; }
html[data-site="business"] .billboard { background: var(--dawn-color); box-shadow: inset 0 0 0 1px #ffffff66; }
html[data-site="business"] .billboard:hover::after, html[data-site="business"] .billboard:focus-visible::after { border: 2px solid #eee; }
html[data-site="business"] .billboard:focus-visible { outline: 2px solid white; outline-offset: -4px; }
html[data-site="business"] .purchase-label { position: relative; z-index: 1; }
.night-background, .tile-stars { position: absolute; inset: 0; pointer-events: none; overflow: hidden; opacity: var(--star-opacity, 1); }
.night-background { position: fixed; z-index: 0; }
.tile-stars .pixel-star { zoom: .65; }
html[data-site="business"] .horse,
html[data-site="business"] .fund,
html[data-site="business"] .activity-bar,
html[data-site="business"] footer,
html[data-site="business"] #airspace,
html[data-site="business"] #sparks { display: none; }
html[data-site="business"] .business-panel { position: absolute; inset: 0; display: grid; place-items: center; background: var(--dawn-color); color: #fff; overflow: hidden; }
.business-copy { position: relative; z-index: 1; text-align: center; padding: 18px; text-shadow: 2px 2px #000, -2px -2px #000; }
.business-copy h1 { font: bold clamp(24px, 4vw, 56px)/1.05 "Times New Roman", serif; margin: 0 0 18px; }
.business-copy p { font: clamp(12px, 1.7vw, 20px)/1.3 "Times New Roman", serif; margin: 0; }
#business-stars { position: absolute; inset: 0; pointer-events: none; opacity: var(--star-opacity, 1); }
.launch-clock { margin-top: 28px; text-shadow: none; }
.business-copy .launch-clock p { font-size: clamp(11px, 1.2vw, 16px); margin: 0 0 8px; }
#countdown { display: flex; justify-content: center; gap: 6px; }
#countdown[hidden], #traffic-counter[hidden] { display: none; }
#traffic-counter strong { display: block; width: fit-content; max-width: 100%; margin: 0 auto 7px; padding: 7px 12px; border: 2px ridge #eee; color: #222; background: linear-gradient(#d2d0c8 49%, #8b8881 49%, #8b8881 51%, #c1bfb7 51%); font: bold clamp(20px, 3vw, 38px)/1.1 "Courier New", monospace; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#traffic-counter small { display: block; font-size: clamp(9px, 1.1vw, 14px); text-shadow: 1px 1px #000; }
#traffic-counter small + small { font-size: clamp(8px, .8vw, 11px); margin-top: 4px; }
.clock-unit { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.clock-unit strong { position: relative; display: block; min-width: 48px; padding: 6px; border: 2px solid; border-color: #f7f6f1 #77746d #77746d #f7f6f1; color: #222; background: linear-gradient(#d2d0c8 49%, #8b8881 49%, #8b8881 51%, #c1bfb7 51%); font: bold clamp(20px, 2.4vw, 32px)/1 "Courier New", monospace; font-variant-numeric: tabular-nums; transform-origin: center; }
.clock-unit small { font: 10px "Times New Roman", serif; }
@media (max-width: 900px) {
  .business-copy { padding: 12px; }
  .business-copy h1 { font-size: clamp(20px, 5.8vw, 36px); margin-bottom: 10px; }
  .launch-clock { margin-top: 16px; }
  .clock-unit strong { min-width: 38px; padding: 5px; font-size: 22px; }
}
@media (max-height: 450px) {
  .business-copy h1 { font-size: 18px; margin-bottom: 4px; }
  .business-copy p { font-size: 10px; }
  .launch-clock { margin-top: 7px; }
  .business-copy .launch-clock p { margin-bottom: 3px; font-size: 10px; }
  .clock-unit strong { font-size: 16px; padding: 2px; min-width: 30px; }
  .clock-unit { gap: 2px; }
  .clock-unit small { font-size: 8px; }
}
.pixel-star { position: absolute; width: 3px; height: 3px; background: currentColor; box-shadow: 0 -6px currentColor, 0 -3px currentColor, 0 3px currentColor, 0 6px currentColor, -6px 0 currentColor, -3px 0 currentColor, 3px 0 currentColor, 6px 0 currentColor; animation: twinkle 3s steps(3, end) infinite; }
@keyframes twinkle { 0%, 100% { opacity: .25; transform: scale(.5); } 45%, 65% { opacity: 1; transform: scale(1); } }
html[data-site="business"] .pixel-star { animation-name: quiet-twinkle; animation-timing-function: ease-in-out; }
@keyframes quiet-twinkle { 0%, 100% { opacity: .3; } 50% { opacity: .55; } }
.fund { position: absolute; left: 4%; right: 4%; bottom: 3%; text-align: left; color: #101c08; text-shadow: 0 1px 1px #dce9bc; }
.fund p { margin: 0 0 5px; font-weight: bold; font-size: clamp(15px, 1.6vw, 25px); line-height: 1.08; }
.fund p, .fund small { width: fit-content; max-width: 100%; background: linear-gradient(90deg, #c51220, #d94a00, #b48a00, #07863c, #0063ca, #7923a9); color: transparent; background-clip: text; -webkit-background-clip: text; filter: drop-shadow(1.5px 0 white) drop-shadow(-1.5px 0 white) drop-shadow(0 1.5px white) drop-shadow(0 -1.5px white); text-shadow: none; }
.meter { height: clamp(10px, 1.6vw, 25px); border: 2px solid; border-color: #85837d #f5f4ef #f5f4ef #85837d; padding: 2px; background: #d2d0c8; box-shadow: 1px 1px #625f59; }
.meter span { display: block; height: 100%; width: 0%; background: repeating-linear-gradient(90deg, #00ed22 0 13px, #c0ff98 13px 15px, transparent 15px 18px); }
.fund-bottom { display: flex; align-items: flex-start; justify-content: space-between; margin-top: 3px; gap: 4px; }
.fund small { font-size: clamp(12px, 1.1vw, 17px); font-weight: bold; }
.fund-actions { display: flex; gap: 6px; align-items: center; }
.old-button { background: #d2d0c8; border: 2px solid; border-color: #f7f6f1 #77746d #77746d #f7f6f1; box-shadow: 1px 1px #514e48; padding: 5px 13px; color: #292719; font: 13px "Times New Roman", serif; text-shadow: none; }
.old-button:active, .old-button[aria-pressed="true"] { border-color: #333 #fff #fff #333; background: #d4d4d4; }
.fund .old-button { font: 14px "Times New Roman", serif; padding: 3px 9px; border-width: 1px; }
.info-wrap { position: relative; display: inline-flex; }
.info { border: 1px solid #263817; border-radius: 50%; width: 20px; height: 20px; padding: 0; font: bold italic 14px Georgia, serif; background: #dce8b3; color: #263817; }
.tooltip { display: none; position: absolute; bottom: calc(100% + 8px); right: 0; width: min(250px, 70vw); padding: 9px; background: #ffffdf; border: 1px solid #111; box-shadow: 2px 2px #0005; font: 13px/1.35 Arial, sans-serif; text-shadow: none; z-index: 30; }
.info-wrap:hover .tooltip, .info-wrap:focus-within .tooltip { display: block; }
footer { position: fixed; top: calc(var(--ticker-height) + 10px); left: 10px; z-index: 15; }
#sound { font: 13px "Times New Roman", serif; padding: 4px 9px; border-width: 1px; }
.window { width: min(430px, calc(100% - 28px)); padding: 3px; border: 2px solid; border-color: #fffdf5 #55534d #55534d #fffdf5; background: #d5d1c6; color: #111; box-shadow: 2px 2px #555; font: 13px Arial, sans-serif; max-height: calc(100svh - 24px); }
.window::backdrop { background: #152c5a22; }
.title-bar { display: flex; align-items: center; justify-content: space-between; background: linear-gradient(90deg, #b42c38, #c86b32, #a38b31, #478454, #3c75ac, #785594); color: #fff; text-shadow: 1px 1px #0009; padding: 3px 4px; }
.title-bar h1 { margin: 0; font: bold 13px Arial, sans-serif; }
.title-bar button { background: #c0c0c0; color: #000; border: 2px solid; border-color: white #222 #222 white; padding: 0; width: 20px; height: 20px; font: bold 18px/14px Arial, sans-serif; }
.window-body { padding: 12px 15px 15px; }
.window-body p { margin: 0 0 12px; line-height: 1.4; }
.rules { font-size: 12px; }
.upload-well { border: 2px solid; border-color: #777 #fff #fff #777; background: #e4e4e4; position: relative; aspect-ratio: 4 / 3; width: 75%; margin: 16px auto; overflow: hidden; }
.upload-well label { display: flex; position: absolute; inset: 0; flex-direction: column; justify-content: center; align-items: center; gap: 10px; cursor: pointer; }
.upload-well label span { font-size: 42px; color: #000080; }
.upload-well small { font-size: 10px; }
.upload-well img { width: 100%; height: 100%; object-fit: contain; }
.upload-well:has(img:not([hidden])) label { opacity: 0; background: #e4e4e4dd; }
.upload-well:hover label, .upload-well:focus-within label { opacity: 1; }
#image-file { position: absolute; width: 100%; height: 100%; opacity: 0; cursor: pointer; inset: 0; }
.bid-line { display: flex; justify-content: space-between; align-items: center; margin: 12px 0 8px; }
#bid-amount { width: 100px; padding: 5px; border: 2px solid; border-color: #555 #fff #fff #555; font: 13px Arial, sans-serif; }
.bid-control { display: flex; align-items: center; gap: 5px; }
.bid-spinner { display: flex; border: 2px solid; border-color: #777 #fff #fff #777; background: white; }
.bid-spinner #bid-amount { width: 94px; border: 0; appearance: textfield; -moz-appearance: textfield; }
#bid-amount::-webkit-inner-spin-button, #bid-amount::-webkit-outer-spin-button { appearance: none; margin: 0; }
.bid-arrows { display: flex; flex-direction: column; width: 18px; }
.bid-arrows button { flex: 1; padding: 0; border: 1px solid; border-color: #fff #777 #777 #fff; color: #333; background: #d2d0c8; font: 11px/12px Arial, sans-serif; }
.connection-note { font-size: 11px; color: #444; }
#upload-status { color: #800000; font-size: 12px; }
.window-buttons { display: flex; justify-content: flex-end; gap: 10px; margin-top: 15px; }
html[data-site="business"] .window { color-scheme: dark; color: #f1f1f2; background: #303034; border-color: #919196 #111114 #111114 #919196; box-shadow: 3px 3px #0009; }
html[data-site="business"] .window::backdrop { background: #0008; }
html[data-site="business"] .title-bar { background: linear-gradient(90deg, #78343b, #735232, #646133, #345c43, #345374, #604671); }
html[data-site="business"] .upload-well { background: #202023; border-color: #111114 #77777d #77777d #111114; }
html[data-site="business"] .upload-well label span { color: #d0d5e8; }
html[data-site="business"] .upload-well:has(img:not([hidden])) label { background: #202023e8; }
html[data-site="business"] .bid-spinner { border-color: #111114 #77777d #77777d #111114; background: #202023; }
html[data-site="business"] #bid-amount { color: #f1f1f2; background: #202023; }
html[data-site="business"] .old-button, html[data-site="business"] .bid-arrows button, html[data-site="business"] .title-bar button { color: #f1f1f2; background: #505056; border-color: #99999f #19191d #19191d #99999f; }
html[data-site="business"] .old-button:disabled { color: #bcbcc3; }
html[data-site="business"] .ledger li span:first-child, html[data-site="business"] .connection-note { color: #c6c6cd; }
html[data-site="business"] #bid-scrollbar { background: #252528; border-color: #77777d; }
html[data-site="business"] #bid-scrollbar span { background: #606068; border-color: #a2a2aa #303034 #303034 #a2a2aa; }
html[data-site="business"] #upload-status { color: #ffb8b8; }
html[data-site="business"] .window :focus-visible { outline: 2px dotted #dddfff; outline-offset: 2px; }
.amounts { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
#custom-contribution { font: 12px Arial, sans-serif; }
#custom-amount { display: block; width: 100%; margin-top: 7px; padding: 7px; border: 2px solid; border-color: #777 #fff #fff #777; background: #fffef8; font: 14px Arial, sans-serif; }
#airspace { position: fixed; inset: 0; pointer-events: none; z-index: 21; overflow: hidden; }
.flyby { position: absolute; display: flex; align-items: center; width: 360px; height: 56px; transform: translate(-200vw, -200vh); transform-origin: 310px 28px; will-change: transform; }
.flyby[hidden] { display: none; }
.banner { width: 235px; height: 40px; line-height: 32px; border: 3px solid #eee; outline: 1px solid #111; background: #111; color: #fff; font-family: "Courier New", monospace; font-weight: bold; font-size: 18px; text-align: center; white-space: nowrap; image-rendering: pixelated; }
.rope { width: 23px; border-top: 1px solid #292929; flex-shrink: 0; }
.plane { background: none; border: none; padding: 0; width: 102px; height: 48px; pointer-events: auto; cursor: grab; touch-action: none; flex-shrink: 0; }
.plane:active { cursor: grabbing; }
.plane img { display: block; width: 102px; height: 48px; image-rendering: pixelated; pointer-events: none; user-select: none; }
.plane:focus-visible { outline: 2px dotted navy; }
#sparks { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 22; pointer-events: none; image-rendering: pixelated; }
.noscript { text-align: center; }
@media (max-width: 900px) {
  body { --board-width: min(100vw, calc(var(--available-height) * 15 / 19)); --board-height: calc(var(--board-width) * 19 / 15); --tile-width: calc(var(--board-width) / 5); }
  main { grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: var(--tile-height) var(--tile-height) minmax(0, 1fr) var(--tile-height) var(--tile-height); }
  .billboard { grid-column: var(--mobile-column); grid-row: var(--mobile-row); }
  .horse-island { grid-area: 3 / 1 / 4 / 6; }
  .fund { left: 4%; right: 4%; bottom: 3%; }
  .fund p { font-size: clamp(18px, 5vw, 25px); margin-bottom: 4px; }
  .fund small { font-size: clamp(13px, 3.8vw, 17px); }
  .fund .old-button { font-size: 16px; padding: 4px 12px; }
  .info { width: 24px; height: 24px; font-size: 16px; }
  .meter { height: 18px; }
  .purchase-label { font-size: clamp(10px, 2.8vw, 18px); }
}
/* At this ratio, four columns produce larger tiles than the five-column layout. */
@media (max-width: 900px) and (max-aspect-ratio: 30 / 43) {
  body { --board-width: min(100vw, calc(var(--available-height) * 24 / 43)); --board-height: calc(var(--board-width) * 43 / 24); --tile-width: calc(var(--board-width) / 4); }
  main { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(3, var(--tile-height)) minmax(0, 1fr) repeat(3, var(--tile-height)); }
  .billboard { grid-column: var(--tall-column); grid-row: var(--tall-row); }
  .horse-island { grid-area: 4 / 1 / 5 / 5; }
  .purchase-label { font-size: clamp(12px, 3.3vw, 18px); }
}
@media (max-height: 450px) {
  .fund p { font-size: 12px; margin-bottom: 2px; }
  .fund small { font-size: 10px; }
  .fund .old-button { font-size: 11px; padding: 2px 6px; }
  .fund-actions { gap: 4px; }
  .info { width: 17px; height: 17px; font-size: 11px; }
  .meter { height: 10px; padding: 1px; }
}
@media (prefers-reduced-motion: reduce) { .flyby { will-change: auto; } .ticker-track, .pixel-star, html[data-site="business"] .pixel-star { animation: none; } }
/* Shared prelaunch and legal surfaces. */
.prelaunch-panel { display: none; }
html[data-site="prelaunch"] body { --ticker-height: 0px; }
html[data-site="prelaunch"] .activity-bar,
html[data-site="prelaunch"] .horse,
html[data-site="prelaunch"] .fund,
html[data-site="prelaunch"] footer,
html[data-site="prelaunch"] #airspace,
html[data-site="prelaunch"] #sparks { display: none; }
html[data-site="prelaunch"] .horse-island { background: #f3f1e8; }
html[data-site="prelaunch"] .prelaunch-panel {
  display: flex; position: absolute; inset: 0; flex-direction: column; justify-content: space-between;
  padding: clamp(16px, 4vw, 54px); color: #162a25; font-family: Arial, sans-serif; text-align: left;
}
.prelaunch-brand { font-size: clamp(14px, 2vw, 24px); font-weight: 700; letter-spacing: -.05em; }
.prelaunch-panel small { font-size: clamp(9px, 1vw, 12px); letter-spacing: .08em; text-transform: uppercase; }
.prelaunch-panel h1 { margin: 12px 0; font-size: clamp(25px, 4.5vw, 64px); line-height: .98; letter-spacing: -.065em; }
.prelaunch-panel p { font-size: clamp(11px, 1.4vw, 17px); line-height: 1.5; }
.prelaunch-tag { display: inline-block; padding: 8px 12px; background: #d9e5d5; border-radius: 3px; font-size: clamp(10px, 1vw, 12px); }
.terms-link { position: fixed; right: 6px; bottom: 4px; z-index: 25; font: 11px Arial, sans-serif; color: #fff; text-shadow: 0 1px 2px #000, 1px 0 2px #000; }
.terms-link a { color: inherit; }
body.legal-page { height: auto; min-height: 100svh; overflow: auto; background: #eeece5; color: #242424; font: 16px/1.6 Arial, sans-serif; }
.legal-page main.terms-document { display: block; position: static; transform: none; width: auto; height: auto; max-width: 720px; margin: 0 auto; padding: 32px 24px; }
.terms-document h1 { font-size: 28px; }
.terms-document h2 { font-size: 18px; margin-top: 28px; }
.terms-document a { color: #243e81; }
