:root {
  --bg: #0b0b12;
  --panel: #12121c;
  --panel-2: #181724;
  --line: #302d41;
  --ink: #f7f5ee;
  --muted: #9c98aa;
  --purple: #a98cff;
  --green: #38f2a0;
  --yellow: #f4c95d;
  --danger: #ff6f91;
  font-family: "Courier New", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color: var(--ink);
  background: var(--bg);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--bg); color: var(--ink); overflow-x: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
.scanlines { pointer-events: none; position: fixed; inset: 0; z-index: 100; opacity: .045; background: repeating-linear-gradient(to bottom, transparent 0, transparent 3px, #fff 4px); }

.topbar { height: 72px; padding: 0 clamp(18px, 3vw, 48px); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; position: relative; z-index: 20; background: rgba(11,11,18,.92); backdrop-filter: blur(14px); }
.brand { color: var(--ink); text-decoration: none; display: inline-flex; align-items: center; gap: 12px; width: max-content; font-weight: 900; letter-spacing: -.06em; font-size: 1.15rem; }
.brand-mark { width: 28px; height: 32px; border: 2px solid var(--purple); background: #201c31; padding: 4px; display: grid; gap: 3px; box-shadow: 3px 3px 0 #08080d; }
.brand-mark i { display: block; height: 4px; background: var(--green); }
.brand-mark i:nth-child(2) { background: var(--yellow); }
.brand-mark i:nth-child(3) { width: 60%; background: var(--purple); }
.network-pill { justify-self: center; color: var(--muted); font-size: .75rem; letter-spacing: .08em; border: 1px solid var(--line); padding: 9px 12px; background: #0d0d15; }
.network-pill span { display: inline-block; width: 7px; height: 7px; margin-right: 7px; background: var(--green); box-shadow: 0 0 10px var(--green); }
.wallet-button { justify-self: end; border: 1px solid var(--purple); background: #191626; color: var(--ink); padding: 11px 15px; cursor: pointer; font-weight: 800; font-size: .78rem; box-shadow: 3px 3px 0 #342653; transition: transform .15s, box-shadow .15s; }
.wallet-button:hover { transform: translate(-2px,-2px); box-shadow: 5px 5px 0 #342653; }
.wallet-led { display: inline-block; width: 7px; height: 7px; background: var(--danger); margin-right: 8px; }
.wallet-button.connected .wallet-led { background: var(--green); box-shadow: 0 0 8px var(--green); }

main { width: min(1440px, 100%); margin: 0 auto; }
.launch-console { display: grid; grid-template-columns: .82fr 1.34fr .76fr; min-height: calc(100vh - 72px); border-inline: 1px solid var(--line); }
.intro-panel, .agent-console { padding: clamp(28px, 3.4vw, 58px) clamp(22px, 3vw, 44px); }
.intro-panel { display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); background: radial-gradient(circle at 0 25%, rgba(169,140,255,.12), transparent 32%), var(--panel); }
.eyebrow { color: var(--green); font-size: .72rem; font-weight: 800; letter-spacing: .1em; margin: 0 0 20px; }
h1, h2 { margin: 0; letter-spacing: -.08em; line-height: .91; }
h1 { font-size: clamp(2.7rem, 3vw, 4.8rem); }
h1 span { color: var(--purple); text-shadow: 5px 5px 0 #27203a; }
.lede { max-width: 42rem; color: #cbc7d4; line-height: 1.6; font-size: 1rem; margin: 28px 0; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.primary-button, .ghost-button, .launch-button { min-height: 46px; border: 0; cursor: pointer; font-weight: 900; font-size: .78rem; letter-spacing: .02em; }
.primary-button { background: var(--green); color: #07110c; padding: 0 18px; box-shadow: 4px 4px 0 #17653f; }
.primary-button:hover { filter: brightness(1.08); }
.primary-button.full { width: 100%; }
.ghost-button { background: transparent; color: var(--muted); border: 1px solid var(--line); padding: 0 16px; }
.floor-stats { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); margin: 48px 0 0; padding-top: 20px; }
.floor-stats div + div { border-left: 1px solid var(--line); padding-left: 16px; }
.floor-stats dt { font-size: .65rem; color: var(--muted); margin-bottom: 8px; }
.floor-stats dd { margin: 0; color: var(--yellow); font-size: 1.15rem; font-weight: 900; }

.server-room { background: #0f0f17; padding: 18px; display: flex; flex-direction: column; min-width: 0; }
.room-label, .room-footer { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: .68rem; letter-spacing: .08em; }
.room-label { padding: 0 2px 14px; }
.live-copy { color: var(--green); }
.room-window { position: relative; flex: 1; min-height: 520px; display: grid; place-items: center; overflow: hidden; border: 1px solid #3a364a; background: #25262a; box-shadow: inset 0 0 70px #050509; }
.room-window::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(115deg, rgba(169,140,255,.08), transparent 42%, rgba(56,242,160,.04)); }
.room-window img { width: 100%; height: 100%; object-fit: cover; object-position: center; image-rendering: pixelated; filter: saturate(.9) contrast(1.04) brightness(.84); }
.room-window img { mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 724'%3E%3Cpath fill='white' d='M0 0H900V724H260V590H0Z'/%3E%3C/svg%3E"); mask-size:cover; mask-position:center; mask-repeat:no-repeat; }
.room-footer { padding: 13px 2px 0; }
.room-footer span:first-child { color: var(--green); }
.hotspot { position: absolute; z-index: 4; width: 38px; height: 38px; border: 1px solid var(--purple); color: var(--ink); background: rgba(11,11,18,.9); cursor: pointer; display: grid; place-items: center; font-size: .72rem; font-weight: 900; box-shadow: 0 0 0 0 rgba(169,140,255,.5); }
.hotspot:hover, .hotspot.is-active { background: var(--purple); color: #100c18; animation: pulse 1.8s infinite; }
.hotspot-one { left: 25%; bottom: 24%; }
.hotspot-two { left: 43%; bottom: 17%; }
.hotspot-three { right: 18%; bottom: 11%; }
.hotspot::after { content: ""; position: absolute; width: 1px; height: 28px; background: var(--purple); bottom: -28px; }
.signal { position: absolute; z-index: 3; width: 6px; height: 6px; background: var(--green); box-shadow: 0 0 12px var(--green); animation: blink 1.3s steps(2,end) infinite; }
.signal-a { left: 32%; top: 42%; }
.signal-b { right: 30%; top: 64%; animation-delay: .45s; }

.agent-console { border-left: 1px solid var(--line); background: linear-gradient(180deg, #151421, #0f0f17); display: flex; flex-direction: column; justify-content: center; }
.console-head { display: flex; justify-content: space-between; color: var(--muted); font-size: .67rem; letter-spacing: .08em; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.console-state { color: var(--green); }
.console-state i { display: inline-block; width: 6px; height: 6px; background: var(--green); margin-right: 6px; }
.agent-identity { display: flex; gap: 16px; align-items: center; padding: 25px 0; }
.agent-identity p { color: var(--muted); font-size: .65rem; margin: 0 0 7px; }
.agent-identity h2 { font-size: clamp(1.6rem, 2.1vw, 2.8rem); overflow-wrap: anywhere; }
.agent-identity span { display: inline-block; color: var(--yellow); margin-top: 8px; font-weight: 900; }
.rack-sprite { width: 94px; height: 94px; flex: 0 0 94px; background-repeat: no-repeat; background-position: 0 0; image-rendering: pixelated; filter: drop-shadow(5px 8px 0 rgba(0,0,0,.28)); }
.rack-1 { background-image: url('./assets/server-1.png'); background-size: 188px 188px; }
.rack-2 { background-image: url('./assets/server-2.png'); background-size: contain; background-position: center; }
.rack-3 { background-image: url('./assets/server-3.png'); background-size: contain; background-position: center; }
.agent-copy { color: #bdb8c8; font-size: .85rem; line-height: 1.6; min-height: 66px; }
.checklist { border: 1px solid var(--line); margin-top: 10px; }
.checklist div { display: flex; justify-content: space-between; gap: 12px; padding: 11px; font-size: .66rem; }
.checklist div + div { border-top: 1px solid var(--line); }
.checklist span { color: var(--muted); }
.checklist b { color: var(--green); }
.meter { height: 7px; background: #262334; margin: 15px 0 22px; overflow: hidden; }
.meter span { display: block; height: 100%; background: linear-gradient(90deg,var(--purple),var(--green)); transition: width .35s ease; }
.launch-button { width: 100%; background: var(--purple); color: #100c18; box-shadow: 4px 4px 0 #4b3b79; }
.launch-button:hover { filter: brightness(1.08); }
.microcopy { color: #6e697b; text-align: center; font-size: .61rem; }

.floor-section { border: 1px solid var(--line); border-top: 0; padding: clamp(34px, 5vw, 72px) clamp(20px, 4vw, 58px); background: #0d0d15; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.section-heading .eyebrow { margin-bottom: 12px; }
.section-heading h2, .protocol-section h2 { font-size: clamp(2.2rem, 4vw, 4.8rem); }
.filters { display: flex; gap: 8px; }
.filter { border: 1px solid var(--line); background: #11111a; color: var(--muted); padding: 10px 13px; cursor: pointer; font-size: .72rem; }
.filter.is-active { background: var(--yellow); color: #17130a; border-color: var(--yellow); font-weight: 900; }
.agent-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.agent-card { min-width: 0; text-align: left; background: var(--panel); color: var(--ink); border: 1px solid var(--line); padding: 18px; cursor: pointer; transition: transform .16s, border-color .16s, background .16s; }
.agent-card:hover, .agent-card.is-selected { transform: translateY(-4px); border-color: var(--purple); background: #171523; }
.agent-card-top { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.agent-card .rack-sprite { width: 74px; height: 74px; flex-basis: 74px; }
.agent-status { color: var(--green); font-size: .64rem; border: 1px solid #23583e; background: #10251b; padding: 6px 7px; }
.agent-status.building { color: var(--yellow); border-color: #66552a; background: #272212; }
.agent-card h3 { margin: 18px 0 4px; font-size: 1.14rem; letter-spacing: -.05em; }
.agent-card .ticker { color: var(--purple); font-size: .75rem; font-weight: 900; }
.agent-card p { color: var(--muted); min-height: 42px; font-size: .73rem; line-height: 1.45; }
.card-meter { height: 4px; background: #292637; margin: 15px 0 9px; }
.card-meter span { display: block; height: 100%; background: var(--green); }
.card-foot { display: flex; justify-content: space-between; color: #7f7a8e; font-size: .63rem; }

.activity-strip { display: grid; grid-template-columns: auto 1fr; border: 1px solid var(--line); border-top: 0; height: 52px; overflow: hidden; background: var(--yellow); color: #17130a; }
.activity-title { padding: 18px 24px; font-weight: 900; font-size: .74rem; border-right: 2px solid #17130a; }
.ticker-window { overflow: hidden; display: flex; align-items: center; }
.ticker-track { width: max-content; white-space: nowrap; animation: ticker 28s linear infinite; font-size: .72rem; font-weight: 700; }
.ticker-track span { margin-right: 56px; }

.protocol-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 7vw, 110px); padding: clamp(60px, 9vw, 130px) clamp(20px, 5vw, 72px); border-inline: 1px solid var(--line); background: radial-gradient(circle at 95% 90%, rgba(56,242,160,.08), transparent 25%); }
.sequence { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.sequence li { display: grid; grid-template-columns: 64px 1fr; gap: 18px; border-bottom: 1px solid var(--line); padding: 24px 0; }
.sequence li > span { color: var(--purple); font-weight: 900; }
.sequence b { color: var(--ink); }
.sequence p { color: var(--muted); margin: 8px 0 0; font-size: .85rem; line-height: 1.45; }

footer { max-width: 1440px; margin: 0 auto; border: 1px solid var(--line); display: flex; justify-content: space-between; gap: 18px; padding: 22px clamp(18px,4vw,58px); color: #757181; font-size: .65rem; }
.toast { position: fixed; z-index: 80; left: 50%; bottom: 28px; transform: translate(-50%, 24px); padding: 13px 18px; background: var(--ink); color: #111019; font-weight: 900; font-size: .72rem; opacity: 0; pointer-events: none; transition: .2s ease; box-shadow: 5px 5px 0 var(--purple); }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
dialog { width: min(480px, calc(100% - 28px)); border: 1px solid var(--purple); padding: 0; color: var(--ink); background: #11101a; box-shadow: 10px 10px 0 #352b52; }
dialog::backdrop { background: rgba(4,4,8,.8); backdrop-filter: blur(4px); }
.launch-dialog { position: relative; padding: 32px; }
.launch-dialog h2 { font-size: 2.3rem; margin-bottom: 12px; }
.launch-dialog > p:not(.eyebrow) { color: var(--muted); line-height: 1.5; font-size: .86rem; }
.dialog-close { position: absolute; right: 14px; top: 12px; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 1.7rem; }
.dialog-rack { height: 140px; display: grid; place-items: center; background: #20202a; border: 1px solid var(--line); margin: 22px 0; }
.dialog-summary { border: 1px solid var(--line); margin: 22px 0; }
.dialog-summary div { display: flex; justify-content: space-between; padding: 12px; font-size: .68rem; }
.dialog-summary div + div { border-top: 1px solid var(--line); }
.dialog-summary span { color: var(--muted); }
.dialog-summary b { color: var(--green); }

.mega-room { border: 1px solid var(--line); border-top: 0; padding: clamp(24px,4vw,58px); background: #101019; }
.hall-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.hall-heading h2 { font-size:clamp(2.3rem,4.5vw,5rem); }
.hall-heading p:last-child { color:var(--muted); font-size:.875rem; line-height:1.8; }
.hall-heading p span { color:var(--purple); padding:0 6px; }
.hall-viewport { overflow-x:auto; border:1px solid #454557; background:#171a23; }
.hall-floor { min-width:960px; padding:0 36px 30px; background-color:#242b36; background-image:linear-gradient(#343d4a 1px,transparent 1px),linear-gradient(90deg,#343d4a 1px,transparent 1px); background-size:48px 48px; box-shadow:inset 0 0 90px #070a12; }
.hall-wall { margin:0 -36px 36px; min-height:90px; border-bottom:8px solid #10131d; background:linear-gradient(180deg,#3c4050,#252938); box-shadow:0 8px 0 #45495a,0 16px 0 #161923; display:flex; align-items:center; justify-content:space-between; padding:24px 36px; color:#c2bed3; font-size:.875rem; letter-spacing:.08em; }
.hall-wall span:last-child { color:var(--green); }
.cluster-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:64px 34px; padding:30px 0 55px; }
.server-cluster { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:18px 4px 8px; border:1px solid #566075; background:#1a222d99; box-shadow:8px 12px 0 #11172280; }
.server-cluster { --sector:#84bfff; border-color:var(--sector); box-shadow:inset 0 0 28px #080b1455,8px 12px 0 #11172280; }
.server-cluster:nth-child(1) { --sector:#7eade1; background-color:#24344a; background-image:linear-gradient(#6c93c52b 2px,transparent 2px),linear-gradient(90deg,#6c93c52b 2px,transparent 2px); background-size:32px 32px; }
.server-cluster:nth-child(2) { --sector:#73c4b2; background-color:#1c3537; background-image:repeating-linear-gradient(0deg,transparent 0 6px,#070f1b77 6px 9px),repeating-linear-gradient(90deg,transparent 0 6px,#6bbca72b 6px 9px); }
.server-cluster:nth-child(3) { --sector:#b197e8; background-color:#342c48; background-image:repeating-linear-gradient(135deg,transparent 0 18px,#b197e820 18px 22px,transparent 22px 40px); }
.server-cluster:nth-child(4) { --sector:#d5ae6e; background-color:#3c3429; background-image:linear-gradient(90deg,transparent 47%,#d5ae6e45 47% 49%,#10151d 49% 51%,#d5ae6e45 51% 53%,transparent 53%),repeating-linear-gradient(0deg,transparent 0 46px,#b3976a22 46px 48px); }
.server-cluster:nth-child(5) { --sector:#8aafc1; background-color:#253640; background-image:conic-gradient(#8aafc11c 25%,transparent 0 50%,#8aafc11c 0 75%,transparent 0); background-size:40px 40px; }
.server-cluster:nth-child(6) { --sector:#d58b9b; background-color:#3b2935; background-image:linear-gradient(#c97f9426 2px,transparent 2px),linear-gradient(90deg,#c97f9426 2px,transparent 2px),linear-gradient(90deg,#0d142155 2px,transparent 2px); background-size:64px 32px,64px 32px,16px 16px; }
.server-cluster:nth-child(7) { --sector:#9cbb78; background-color:#303b2b; background-image:repeating-linear-gradient(90deg,transparent 0 24px,#9cbb7838 24px 27px,#101a1e88 27px 30px,transparent 30px 48px); }
.server-cluster:nth-child(8) { --sector:#7bcad3; background-color:#1d3541; background-image:linear-gradient(90deg,transparent 47%,#7bcad342 47% 53%,transparent 53%),linear-gradient(transparent 48%,#7bcad32b 48% 52%,transparent 52%); background-size:80px 80px; }
.server-cluster:nth-child(9) { --sector:#c49576; background-color:#3a302e; background-image:repeating-linear-gradient(0deg,transparent 0 30px,#c495762b 30px 32px),repeating-linear-gradient(90deg,transparent 0 30px,#c495762b 30px 32px),repeating-linear-gradient(45deg,transparent 0 5px,#0a101b22 5px 7px); }
.server-cluster:nth-child(10) { --sector:#aaa5dd; background-color:#2c304b; background-image:linear-gradient(90deg,#aaa5dd30 2px,transparent 2px),linear-gradient(#aaa5dd30 2px,transparent 2px); background-size:16px 64px; }
.server-cluster:nth-child(11) { --sector:#c6c27b; background-color:#383a2a; background-image:repeating-linear-gradient(90deg,transparent 0 8px,#111b1c66 8px 12px),repeating-linear-gradient(0deg,transparent 0 28px,#c6c27b3b 28px 32px); }
.server-cluster:nth-child(12) { --sector:#89a4dc; background-color:#27344c; background-image:linear-gradient(45deg,transparent 46%,#89a4dc30 46% 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,#89a4dc30 46% 54%,transparent 54%); background-size:48px 48px; }
.server-cluster:nth-child(n) { --sector:#7f92af; background-color:#202a38; background-image:linear-gradient(#63779412 1px,transparent 1px),linear-gradient(90deg,#63779412 1px,transparent 1px); background-size:24px 24px; border-color:#47566c; }
.cluster-label { position:absolute; top:-11px; left:10px; padding:4px 8px; background:#111624; color:var(--sector); border:1px solid var(--sector); font-size:.75rem; }
.roaming-agent { position:absolute; z-index:3; width:64px; height:84px; left:12px; bottom:12px; pointer-events:none; animation:agent-patrol var(--travel-time) linear infinite; animation-delay:var(--phase); contain:paint; }
.agent-character { position:relative; z-index:1; display:block; width:64px; height:64px; margin-top:12px; background:url('./assets/agents-atlas.png') 0 0 / 200% 200% no-repeat; image-rendering:pixelated; filter:drop-shadow(0 0 3px #6edbff33); }
.character-1 .agent-character { background-position:100% 0; }
.character-2 .agent-character { background-position:0 100%; }
.character-3 .agent-character { background-position:100% 100%; }
.character-4 .agent-character,.character-5 .agent-character,.character-6 .agent-character,.character-7 .agent-character { background-image:url('./assets/agents-atlas-2.png'); }
.character-4 .agent-character { background-position:0 0; }
.character-5 .agent-character { background-position:100% 0; }
.character-6 .agent-character { background-position:0 100%; }
.character-7 .agent-character { background-position:100% 100%; }
.agent-ground-shadow { position:absolute; left:18px; bottom:11px; width:30px; height:8px; border-radius:50%; background:#060b14a8; }
.is-walking .agent-character { transform-origin:center bottom; animation:agent-step .42s steps(2,end) infinite; }
.is-floating { bottom:calc(50% - 58px); }
.is-floating .agent-character { animation:agent-float 2.6s ease-in-out infinite; animation-delay:var(--phase); }
.is-floating .agent-ground-shadow { animation:agent-shadow 2.6s ease-in-out infinite; animation-delay:var(--phase); }
@keyframes agent-patrol { 0%,100% { left:12px; } 45%,55% { left:calc(100% - 76px); } }
@keyframes agent-step { 0%,100% { transform:translateY(0) rotate(-3deg); } 50% { transform:translateY(-3px) rotate(3deg); } }
@keyframes agent-float { 0%,100% { transform:translateY(-8px); } 50% { transform:translateY(-20px); } }
@keyframes agent-shadow { 0%,100% { transform:scale(1); opacity:.8; } 50% { transform:scale(.65); opacity:.4; } }
.hall-server { min-width:0; border:1px solid transparent; background:transparent; cursor:pointer; color:#bcb7ce; padding:0 0 8px; display:flex; flex-direction:column; align-items:center; }
.hall-sprite { display:block; width:96px; height:112px; background:url('./assets/server-1.png') 0 0 / 256px 256px no-repeat; image-rendering:pixelated; filter:drop-shadow(7px 8px 2px #080b12a0); transition:filter .18s,transform .18s; }
.bay-number { font-size:.75rem; background:#111624; padding:3px 10px; border:1px solid #3f485b; }
.hall-server:hover .hall-sprite,.hall-server[aria-pressed='true'] .hall-sprite { transform:translateY(-5px); filter:drop-shadow(0 0 9px #a98cff99); }
.hall-server[aria-pressed='true'] .bay-number { color:#100c18; background:var(--purple); border-color:var(--purple); }
.hall-server:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
.hall-exit { color:#9ca8b8; border:2px dashed #69768b; width:max-content; margin:auto; padding:12px 28px; font-size:.875rem; letter-spacing:.12em; }
.hall-status { display:flex; justify-content:space-between; gap:18px; padding:22px 0 0; color:var(--green); font-size:.875rem; line-height:1.6; }
.hall-status span:last-child { color:var(--muted); }
@media(max-width:760px) { .hall-heading { align-items:start; flex-direction:column; gap:12px; } .hall-heading .eyebrow { margin-bottom:14px; } .hall-status { flex-direction:column; } .hall-viewport { scrollbar-color:var(--purple) #171a23; } }

.server-cluster.activity-open { z-index:5; }
.cluster-telemetry { position:absolute; z-index:6; left:8px; right:8px; bottom:34px; padding:16px; background:#101520f5; border:1px solid var(--sector); box-shadow:6px 8px 0 #060911a8; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .16s,transform .16s,visibility .16s; pointer-events:none; color:#f0f1f8; }
.activity-open .cluster-telemetry { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.telemetry-head { display:flex; flex-wrap:wrap; gap:7px; justify-content:space-between; align-items:center; border-bottom:1px solid #384353; padding-bottom:12px; font-size:.875rem; }
.telemetry-head b { color:var(--sector); }
.telemetry-head > span { font-size:.75rem; color:var(--green); }
.telemetry-load { display:flex; justify-content:space-between; margin-top:12px; font-size:.75rem; color:#bac4d5; }
.telemetry-meter { height:4px; background:#333d4d; margin:8px 0 12px; }
.telemetry-meter > span { display:block; height:100%; background:var(--sector); transition:width .4s; }
.cluster-telemetry ul { padding:0; margin:0; list-style:none; }
.cluster-telemetry li { display:grid; grid-template-columns:22px 1fr 5px; gap:7px; align-items:start; padding:7px 0; font-size:.875rem; line-height:1.3; border-top:1px solid #26303e; }
.cluster-telemetry li > span:first-child { color:var(--sector); font-size:.75rem; }
.cluster-telemetry li i { width:5px; height:5px; background:var(--green); margin-top:6px; }
.telemetry-foot { margin-top:12px; color:#a3b0c3; font-size:.75rem; line-height:1.5; }

.hall-viewport { overflow:visible; border:0; background:transparent; }
.hall-floor { min-width:0; padding:0; background:none; box-shadow:none; }
.cluster-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 20px; padding:12px 0; }
.server-cluster:nth-child(n) { display:block; padding:24px 0 0; background:#151b27; border:1px solid #344155; box-shadow:none; min-width:0; }
.room-scene { display:block; width:100%; padding:0; border:0; background:transparent; color:var(--ink); cursor:pointer; text-align:left; }
.room-scene > img { display:block; width:100%; height:auto; image-rendering:pixelated; }
.room-caption { display:block; padding:16px 18px; border-top:1px solid #344155; font-size:.875rem; color:#d9e0ec; }
.room-caption small { display:block; margin-top:8px; color:#92a0b5; font-size:.75rem; }
.room-scene:focus-visible { outline:2px solid var(--green); outline-offset:-3px; }
.server-cluster.activity-open { border-color:var(--purple); }
.server-cluster .roaming-agent { width:48px; height:64px; bottom:28%; left:25%; animation-name:room-agent-patrol; }
.server-cluster .agent-character { width:48px; height:48px; margin-top:8px; }
.server-cluster .agent-ground-shadow { width:22px; left:14px; bottom:9px; }
.server-cluster .is-floating { bottom:30%; }
@keyframes room-agent-patrol { 0%,100% { left:24%; } 45%,55% { left:40%; } }
.cluster-telemetry { bottom:74px; }
.coming-room { position:relative; border:1px dashed #5e587d; background:#161423; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:14px; min-height:320px; text-align:center; padding:24px; }
.coming-number { position:absolute; left:16px; top:16px; color:#a89ec7; font-size:.75rem; }
.coming-plus { color:var(--purple); font-size:7rem; line-height:1; text-shadow:4px 4px 0 #33274b; }
.coming-room b { font-size:1rem; color:#ddd4f4; letter-spacing:.08em; }
.coming-room > span:last-child { color:#948ca6; font-size:.75rem; line-height:1.6; }
@media(max-width:1000px) { .cluster-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .cluster-grid { grid-template-columns:1fr; gap:24px; } .coming-room { min-height:300px; } }

.mind-section { border:1px solid var(--line); border-top:0; padding:clamp(24px,4vw,58px); background:#11131e; scroll-margin-top:20px; }
.mind-heading { display:flex; justify-content:space-between; align-items:start; gap:24px; margin-bottom:28px; }
.mind-heading h2 { font-size:clamp(1.8rem,3.5vw,3.8rem); overflow-wrap:anywhere; }
.mind-heading p:last-child { color:#a8b1c6; line-height:1.6; font-size:.875rem; max-width:700px; }
.mind-state { border:1px solid var(--yellow); color:var(--yellow); padding:10px; font-size:.875rem; white-space:nowrap; }
.mind-state[data-state='AWAKE'] { border-color:var(--green); color:var(--green); }
.mind-layout { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.mind-balances { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.mind-balances > div { padding:18px; border:1px solid #334056; background:#171e2c; }
.mind-balances span { display:block; font-size:.75rem; color:#b0b9cc; margin-bottom:10px; }
.mind-balances b { color:var(--green); font-size:1.6rem; }
.wake-track { padding:18px 0; color:#d1c4f0; font-size:.875rem; }
.wake-track progress { display:block; width:100%; height:10px; margin-top:12px; accent-color:var(--purple); }
.mind-controls { display:flex; flex-wrap:wrap; gap:10px; }
.mind-controls button { border:1px solid #59617e; background:#262139; color:#e0d8f3; padding:12px; cursor:pointer; font-size:.875rem; }
.mind-controls button:first-child { background:var(--green); color:#07110c; font-weight:bold; }
.mind-controls button:disabled { opacity:.4; cursor:not-allowed; }
.mind-note { color:#a5acc0; font-size:.8125rem; line-height:1.6; }
.fee-rules { border-top:1px solid #384056; margin-top:24px; padding-top:16px; }
.fee-rules h3,.mind-feed h3 { font-size:.875rem; letter-spacing:.04em; }
.fee-rules p { color:#a8b2c7; line-height:1.6; font-size:.875rem; }
.fee-rules b { color:var(--yellow); }
.mind-feed { background:#0c1019; border:1px solid #384056; padding:20px; }
.mind-feed h3 { display:flex; justify-content:space-between; margin-top:0; }
.mind-feed h3 span { color:var(--yellow); }
.mind-feed ol { list-style:none; margin:0; padding:0; max-height:480px; overflow:auto; }
.mind-feed li { padding:16px 0; border-top:1px solid #2c3344; }
.mind-feed li b { font-size:.75rem; color:var(--purple); }
.mind-feed li p { font-size:.875rem; line-height:1.6; color:#c2cbdd; margin:8px 0 0; }
.mind-selected:nth-child(n) { border-color:var(--green); }
#createCoinForm label { display:block; font-size:.875rem; margin:18px 0; color:#c2cbdd; }
#createCoinForm input,#createCoinForm select,#createCoinForm textarea { width:100%; display:block; margin-top:8px; padding:12px; border:1px solid #59617e; background:#0c1019; color:#f2eff9; font:inherit; }
#createCoinForm textarea { min-height:96px; resize:vertical; }
#createCoinDialog { max-height:90vh; overflow:auto; }
@media(max-width:760px) { .mind-layout { grid-template-columns:1fr; } .mind-heading { flex-direction:column; } }

.agent-card { display:flex; flex-direction:column; padding:24px; }
.token-heading { display:flex; align-items:center; gap:16px; }
.token-heading h3 { margin:0 0 8px; font-size:1.3rem; }
.token-logo { display:grid; place-items:center; flex:0 0 64px; height:64px; border:2px solid var(--token-color); background:#1f2131; color:var(--token-color); font-size:1.65rem; font-weight:bold; box-shadow:4px 4px 0 #080a11; }
.token-logo svg { width:48px; height:48px; display:block; }
.token-logo-0 { background:#271b41; }
.token-logo-1 { background:#102e32; }
.token-logo-2 { background:#352c16; }
.token-logo-3 { background:#361c28; }
.token-logo-4 { background:#1c3022; }
.token-logo-5 { background:#192a46; }
.agent-card .token-description { font-size:.875rem; line-height:1.6; min-height:0; margin:24px 0 18px; }
.token-reason { padding:16px; border:1px solid #39354b; border-left:3px solid var(--token-color); background:#1b1928; margin-bottom:22px; }
.token-reason > span { display:block; color:var(--token-color); font-size:.75rem; line-height:1.5; }
.token-reason small { display:block; color:#8f899f; font-size:.75rem; margin-top:4px; }
.agent-card .token-reason p { font-size:.875rem; line-height:1.6; min-height:0; margin:12px 0 0; color:#c2bdcf; }
.token-card-bottom { margin-top:auto; border-top:1px solid var(--line); padding-top:18px; display:flex; justify-content:space-between; align-items:end; gap:16px; }
.server-assignment { display:flex; flex-direction:column; align-items:start; gap:8px; }
.server-assignment .rack-sprite { flex:0 0 68px; width:68px; height:68px; }
.server-assignment > span:last-child { color:#9d96ad; font-size:.75rem; }
.token-agent-meta { min-width:0; flex:1; text-align:right; padding-bottom:2px; }
.token-agent-meta > span { display:block; color:#9d96ad; font-size:.75rem; }
.token-agent-meta b { display:block; font-size:.875rem; color:#d2c5f1; margin:8px 0; overflow-wrap:anywhere; }
.token-agent-meta .card-meter { margin:12px 0; }

@keyframes blink { 50% { opacity: .2; } }
@keyframes pulse { 70% { box-shadow: 0 0 0 12px rgba(169,140,255,0); } }
@keyframes ticker { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; } }

@media (max-width: 1120px) {
  .launch-console { grid-template-columns: 1fr 1.3fr; }
  .agent-console { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1.2fr; gap: 20px 44px; }
  .agent-console .console-head { grid-column: 1 / -1; }
  .agent-console .agent-identity { grid-row: 2 / 5; }
  .agent-console .agent-copy { margin-top: 22px; }
  .agent-console .microcopy { margin: 0; }
}
@media (max-width: 760px) {
  .topbar { grid-template-columns: 1fr auto; height: 64px; }
  .network-pill { display: none; }
  .wallet-button { padding: 9px 10px; }
  .launch-console { display: block; }
  .intro-panel { min-height: 540px; border-right: 0; }
  .server-room { min-height: 570px; border-top: 1px solid var(--line); }
  .room-window { min-height: 480px; }
  .agent-console { display: flex; border-left: 0; }
  .agent-grid { grid-template-columns: 1fr 1fr; }
  .protocol-section { grid-template-columns: 1fr; }
  footer { flex-direction: column; }
}
@media (max-width: 520px) {
  .brand span:last-child { display: none; }
  .wallet-button { font-size: .67rem; }
  .intro-panel { min-height: auto; padding-block: 52px; }
  h1 { font-size: 2.75rem; }
  .floor-stats { margin-top: 34px; }
  .floor-stats dt { min-height: 26px; }
  .server-room { min-height: 470px; padding: 10px; }
  .room-window { min-height: 380px; }
  .room-footer span:last-child { display: none; }
  .agent-console { display: flex; }
  .section-heading { align-items: start; flex-direction: column; }
  .agent-grid { grid-template-columns: 1fr; }
  .filters { width: 100%; }
  .filter { flex: 1; }
  .activity-title { padding-inline: 12px; }
}
