@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{color-scheme:dark;--cyan:#72f9ee;--muted:#6b9297}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#040c10;color:#e6f4f4;font-family:'IBM Plex Mono',monospace}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}#battlefield{position:relative;height:100svh;min-height:740px;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#0c273040,transparent 65%)}#scene{position:absolute;inset:0;width:100%;height:100%}.grain{position:absolute;inset:0;pointer-events:none;opacity:.15;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#6df4ec0a 4px);z-index:4}header{position:absolute;top:0;width:100%;padding:30px 42px;display:flex;align-items:center;justify-content:space-between;z-index:5}.wordmark{display:flex;gap:12px;align-items:center;color:#e4f6f5;text-decoration:none;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:16px;letter-spacing:2px;line-height:1.05}.wordmark strong{font-size:21px;letter-spacing:1.7px}.wordmark svg{width:33px;height:39px;stroke:var(--cyan);stroke-width:2;fill:none}.top-status{font-size:12px;letter-spacing:1.4px;color:#95b6b7;display:flex;align-items:center;gap:12px}.top-status i{width:5px;height:5px;background:var(--cyan);border-radius:50%;box-shadow:0 0 10px var(--cyan);animation:blink 3s infinite}.divider{color:#365255;margin:0 10px}.sound{border:1px solid #294146;background:#0b171b8a;padding:12px 15px;color:#92aaad;font-size:12px;letter-spacing:1px;cursor:pointer}.sound:hover,.sound:focus-visible{border-color:var(--cyan);color:var(--cyan)}#sound-icon{font-size:16px;margin-right:8px}.heading{position:absolute;top:15%;left:50%;transform:translateX(-50%);text-align:center;width:95%;pointer-events:none}.eyebrow{font-size:12px;letter-spacing:4px;color:#8cb5b5;display:flex;align-items:center;justify-content:center;gap:18px}.eyebrow span{height:1px;width:36px;background:#467575}h1{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(44px,5.1vw,78px);line-height:.98;letter-spacing:2px;margin:19px 0 17px;font-weight:600}h1 em{font-style:normal;color:#90f6e9}.heading p{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#80a1a5;letter-spacing:1px}.side-label{position:absolute;top:51%;font-size:11px;letter-spacing:2px;color:#54777c;writing-mode:vertical-rl;z-index:2}.side-label b{font-weight:400;color:#8caeb0;margin-top:24px}.left-label{left:32px;transform:rotate(180deg)}.right-label{right:32px}.marker{position:absolute;z-index:3;transform:translate(-50%,-100%);border:0;background:transparent;color:var(--faction);cursor:pointer;padding:12px;display:flex;flex-direction:column;align-items:center;isolation:isolate;min-width:130px;transition:filter .2s}.marker .float{display:flex;flex-direction:column;align-items:center;animation:float 4.5s ease-in-out infinite;animation-delay:var(--delay)}.marker .icon-shell{position:relative;width:63px;height:63px;display:grid;place-items:center;background:linear-gradient(140deg,#173039e0,#050f13ee);border:1px solid color-mix(in srgb,var(--faction) 65%,transparent);border-radius:15px;box-shadow:0 0 25px color-mix(in srgb,var(--faction) 12%,transparent),inset 0 0 14px #ffffff08;transform:rotate(-5deg);transition:transform .2s,box-shadow .2s}.icon-shell:before,.icon-shell:after{content:'';position:absolute;left:12px;right:12px;height:2px;background:var(--faction);box-shadow:0 0 8px var(--faction)}.icon-shell:before{top:-1px}.icon-shell:after{bottom:-1px}.marker img{width:42px;height:42px;object-fit:contain;border-radius:8px;transform:rotate(5deg)}.marker .name{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:600;font-size:21px;letter-spacing:1.3px;margin-top:10px;color:#e9f6f4;text-shadow:0 2px 8px #000}.marker .id{font-size:10px;letter-spacing:2px;margin-top:4px;opacity:.8}.marker .stem{height:34px;width:1px;background:linear-gradient(var(--faction),transparent);box-shadow:0 0 5px var(--faction);margin-top:8px}.marker:hover,.marker:focus-visible{outline:none;filter:brightness(1.3)}.marker:hover .icon-shell,.marker:focus-visible .icon-shell{transform:rotate(0) translateY(-5px);box-shadow:0 0 35px color-mix(in srgb,var(--faction) 38%,transparent)}.marker:focus-visible .icon-shell{outline:2px solid white;outline-offset:5px}.marker.firing .icon-shell{animation:fire .4s ease-out}.marker.hit .icon-shell{animation:hit .4s ease-out}.table-caption{position:absolute;bottom:15%;width:100%;text-align:center;font-size:11px;letter-spacing:2.7px;color:#71aaa9;pointer-events:none}.crosshair{font-size:18px;margin-right:8px;color:var(--cyan)}footer{position:absolute;bottom:0;left:42px;right:42px;padding:22px 0 26px;border-top:1px solid #183338;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;color:#6b9297;z-index:5}.feed{display:flex;flex-direction:column;gap:9px;max-width:53%}.feed-title{font-size:10px;letter-spacing:2px;color:#537b80}.feed-title:before{content:'';display:inline-block;width:13px;height:5px;margin-right:8px;border-top:1px solid #69e5d7;border-bottom:1px solid #69e5d7}#feed-text{font-size:12px;color:#acc9c9}.total{letter-spacing:1px;white-space:nowrap}.total span{font-size:22px;color:var(--cyan);margin-right:10px}.footer-note{letter-spacing:1.3px}.footer-note span{margin:0 8px;color:var(--cyan)}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes blink{50%{opacity:.35}}@keyframes fire{50%{box-shadow:0 0 55px var(--faction);transform:translateY(-10px)}}@keyframes hit{25%{transform:translateX(4px)}50%{transform:translateX(-4px);filter:brightness(3)}75%{transform:translateX(2px)}}@media(min-width:1600px){.marker .icon-shell{width:74px;height:74px}.marker img{width:50px;height:50px}}@media(max-width:700px){#battlefield{min-height:760px}header{padding:23px 20px}.wordmark{font-size:12px}.wordmark strong{font-size:16px}.wordmark svg{width:25px}.top-status{display:none}.sound{padding:9px;font-size:10px}.heading{top:16%}h1{font-size:48px}.eyebrow{font-size:10px;letter-spacing:2px}.heading p{font-size:11px}.side-label{display:none}.marker{min-width:92px;padding:8px}.marker .icon-shell{width:47px;height:47px;border-radius:11px}.marker img{width:32px;height:32px}.marker .name{font-size:17px;letter-spacing:.7px;margin-top:7px}.marker .id{font-size:9px;letter-spacing:1px}.marker .stem{height:25px}.table-caption{bottom:19%;font-size:9px;letter-spacing:1px}footer{left:20px;right:20px;bottom:10px;align-items:flex-start;padding-top:16px}.footer-note{display:none}.feed{max-width:65%}#feed-text{font-size:10px;line-height:1.7}.total{font-size:9px;width:85px;white-space:normal;line-height:1.8}.total span{display:block;font-size:23px}.feed-title{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* The tabletop is the primary surface, with only a compact perimeter HUD. */
#battlefield{min-height:680px}.table-caption{bottom:13%}header{background:linear-gradient(#040c10a0,transparent)}@media(max-width:700px){#battlefield{min-height:720px}.table-caption{bottom:18%}.marker .stem{height:22px}}

.marker .icon-shell{background:linear-gradient(145deg,#1c3e46bb,#06191bbb);border-radius:10px;box-shadow:0 0 25px color-mix(in srgb,var(--faction) 17%,transparent),inset 0 0 20px color-mix(in srgb,var(--faction) 8%,transparent)}
.marker .icon-shell:after{height:100%;top:0;bottom:0;left:0;right:0;border-radius:inherit;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,#c2fff514 4px);box-shadow:none;pointer-events:none}
.marker:hover .name,.marker:focus-visible .name{color:var(--faction)}
.marker .id{font-size:12px;letter-spacing:1px}.table-caption{font-size:12px;letter-spacing:1.5px}.top-status{font-size:12px}
@media(max-width:700px){.marker .id{font-size:10px}.table-caption{font-size:10px;letter-spacing:.7px}.marker .name{font-size:18px}}

header{gap:24px;padding:26px 32px}.project-stats{display:flex;align-items:center;gap:25px;margin-right:auto}.project-stats>div,.project-stats>button{display:flex;flex-direction:column;gap:7px}.project-stats span{font-size:10px;letter-spacing:1.2px;color:#7c9a9e}.project-stats strong{font-size:14px;color:#d5fff4;font-weight:500}.project-stats button{border:0;border-left:1px solid #294146;background:none;padding:0 0 0 24px;text-align:left;cursor:pointer}.project-stats button:disabled{cursor:default}.project-stats button:not(:disabled):hover strong{color:#78ffe8}.project-stats button:focus-visible{outline:1px solid #78ffe8;outline-offset:7px}.top-status{font-size:10px;gap:8px}.top-status .divider,#clock{display:none}.pairing{position:absolute;left:50%;top:15%;transform:translateX(-50%);font-size:10px;letter-spacing:2px;text-align:center;color:#6c9396;white-space:nowrap}.pairing b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:20px;letter-spacing:3px;color:#99bdbd;font-weight:500;margin:7px 0}.pairing span{font-size:11px;letter-spacing:1px}.market-source{display:flex;flex-direction:column;gap:7px;font-size:11px}.market-source a{color:#a0c5c4;text-decoration:none}.market-source span{color:#678e92}.marker .id{font-size:13px;color:var(--faction);letter-spacing:.4px}.marker .id.stale{color:#d6ad72}@media(max-width:1150px){header{gap:16px;padding:24px}.project-stats{gap:17px}.project-stats button{padding-left:16px}.top-status{display:none}.footer-note{display:none}}@media(max-width:700px){header{flex-wrap:wrap;padding:20px;gap:20px}.wordmark{order:0}.sound{order:1;margin-left:auto}.project-stats{order:2;width:100%;justify-content:space-between;gap:12px;border-top:1px solid #234044;padding-top:15px}.project-stats span{font-size:9px}.project-stats strong{font-size:12px}.project-stats button{padding-left:12px}.pairing{top:23%;font-size:9px}.pairing b{font-size:17px;margin:4px 0}.pairing span{font-size:10px}.marker .id{font-size:11px}.market-source{position:absolute;top:-35px;left:0;right:0;flex-direction:row;justify-content:center;font-size:10px}.table-caption{bottom:20%}.marker .name{font-size:18px}}
@media(max-width:700px){.pairing{top:163px;font-size:8px;letter-spacing:.6px}.pairing b{display:inline;font-size:13px;margin:0 5px;letter-spacing:1px}.pairing span{font-size:9px}}

.brand-block{flex:0 0 auto;max-width:260px}.pair-credit{margin:11px 0 0;font-size:12px;line-height:1.5;color:#73999c;letter-spacing:0}.pair-credit strong{font-weight:500;color:#aec8c7}.pair-credit span{display:block}.pair-credit+.wordmark{margin:0}@media(max-width:1350px){.top-status{display:none}}@media(max-width:700px){.brand-block{order:0;max-width:245px}.pair-credit{font-size:11px;margin-top:7px}.pair-credit span{display:inline;margin-left:4px}.project-stats{padding-top:12px}header{gap:15px}.sound{align-self:flex-start}}

.buy-feed{min-width:200px;max-width:36%;text-align:right}.buy-feed .feed-title:before{border-color:#8ef2b5}#buy-feed-text{font-size:12px;color:#a9dbbf;line-height:1.7}@media(max-width:700px){footer{flex-wrap:wrap;gap:16px}.feed{max-width:58%}.buy-feed{min-width:0;width:100%;max-width:none;text-align:left;border-top:1px solid #19383b;padding-top:12px}.total{margin-left:auto}.table-caption{bottom:23%}}

.x-placeholder{display:flex;align-items:center;gap:8px;color:#91b7b8;text-decoration:none;font-size:12px;letter-spacing:1px;padding:11px 13px;border:1px solid #294146}.x-placeholder:hover,.x-placeholder:focus-visible{color:#7dffe9;border-color:#7dffe9}.x-placeholder:first-letter{font-size:17px;color:#7dffe9}@media(max-width:700px){.x-placeholder{font-size:10px;padding:9px 10px}.x-placeholder span{display:none}.sound{margin-left:0}}
/* Compact portrait composition: the table and its feeds stay inside the first viewport. */
@media(max-width:700px){
  #battlefield{height:100svh;min-height:0;overflow:hidden}
  header{padding:16px 18px;gap:11px}
  .brand-block{max-width:220px}
  .wordmark{gap:8px;font-size:10px;letter-spacing:1.4px}
  .wordmark strong{font-size:15px;letter-spacing:1.2px}
  .wordmark svg{width:24px;height:30px}
  .pair-credit{font-size:10px;margin-top:5px}
  .sound{padding:8px 10px;font-size:9px;letter-spacing:.7px}
  .project-stats{padding-top:10px;gap:9px}
  .project-stats span{font-size:8px;letter-spacing:.7px}
  .project-stats strong{font-size:11px}
  .project-stats button{padding-left:9px}
  .project-stats button strong{white-space:nowrap}
  .table-caption{bottom:18%;font-size:8px;letter-spacing:.45px;white-space:nowrap}
  footer{left:18px;right:18px;bottom:0;padding:10px 0 13px;display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;align-items:end}
  .feed,.buy-feed{width:auto;max-width:none;min-width:0;text-align:left}
  .buy-feed{border-top:0;padding-top:0}
  .feed-title{font-size:8px;letter-spacing:1.2px}
  #feed-text,#buy-feed-text{font-size:9px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .total{grid-column:1 / -1;grid-row:2;width:auto;margin:0;text-align:center;font-size:8px;line-height:1.2}
  .total span{display:inline;font-size:17px;margin-right:5px}
  .market-source{display:none}
}
@media(max-width:700px){
  /* Keep the hologram readable as a single tabletop instead of letting its rim collide with the HUD. */
  .table-caption{bottom:20%;z-index:6;background:#061418cc;padding:5px 10px;left:50%;width:max-content;transform:translateX(-50%);border:1px solid #24565b}
  footer{background:linear-gradient(180deg,#04101500 0%,#041015e8 22%,#041015f5 100%);border-top:1px solid #1c4145;padding:18px 0 13px;z-index:7}
  .feed,.buy-feed{padding-top:0}
  .feed-title{color:#82aaa9}
  .buy-feed .feed-title{color:#91d6af}
  #feed-text,#buy-feed-text{color:#c0d9d7}
  .total{border-top:1px solid #183b3e;padding-top:8px}
}
@media(max-width:700px){
  .marker{padding:6px;min-width:112px}
  .marker .icon-shell{width:48px;height:48px}
  .marker .name{font-size:17px;margin-top:6px}
  .marker .id{font-size:11px;margin-top:3px}
  .marker .stem{height:18px;margin-top:5px}
  .table-caption{bottom:19%;}
}
.marker{transition:left .75s cubic-bezier(.2,.8,.2,1),top .75s cubic-bezier(.2,.8,.2,1),filter .2s}
.marker .id{line-height:1.45;text-align:center}.marker .id .rank-label{color:#dceeed}.marker .id .volume-label{color:var(--faction)}
.marker .float{animation:float 4.5s ease-in-out infinite!important}
