:root{--ink:#f2dff5;--dim:#c7a4cd;--line:#80508a;--acid:#e72abf;--pink:#ad78ff;font-family:"Courier New",monospace}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:320px;color:var(--ink);background:#100711 url('/assets/bg-dis-03.gif') center/360px;cursor:url('/assets/cursor.gif'),auto}.noise{position:fixed;inset:0;pointer-events:none;opacity:.08;background:url('/assets/bg-dis-03.gif') 0 0/270px}.terminal{position:relative;width:min(1080px,calc(100% - 28px));margin:auto;border-inline:1px solid var(--line);background:#1b1020 url('/assets/bg-rip-02.gif') center/360px}.mast{display:grid;grid-template-columns:76px minmax(0,1fr) 150px;gap:20px;padding:20px 26px;border-bottom:1px solid var(--line);overflow:hidden}.mark,.micro{color:var(--acid)}.mark{font-size:20px;font-weight:bold;line-height:.8;border-right:1px solid var(--line)}.banner{display:block;width:310px;height:58px;object-fit:contain;object-position:left;mix-blend-mode:screen}.micro{font-size:11px;margin:0 0 8px}h1,h2,p{margin-top:0}h1{font-size:25px;line-height:.95;margin-bottom:0}h2{font-size:20px;line-height:1;margin-bottom:12px}p{color:var(--dim);line-height:1.5}.live{font-size:10px;text-align:right;white-space:nowrap;color:var(--dim)}.live span{display:inline-block;width:8px;height:8px;background:var(--acid)}.live b{display:block;color:var(--ink);margin-top:7px}.live button{margin-top:10px}button,.download{border:1px solid var(--acid);background:var(--acid);color:#1a0820;padding:10px 13px;font:700 12px "Courier New",monospace;text-decoration:none;cursor:pointer}button:hover,.download:hover,nav a:hover{background:var(--pink);border-color:var(--pink);color:#180a1b}nav{display:flex;border-bottom:1px solid var(--line);overflow:auto}nav a{padding:12px 16px;color:var(--ink);font-size:12px;text-decoration:none;border-right:1px solid var(--line);white-space:nowrap}.login-grid{display:grid;grid-template-columns:180px 1fr;min-height:360px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.login-image{padding:30px;border-right:1px solid var(--line);display:flex;align-items:center}.login-image img{width:100%}.login-copy{padding:54px;max-width:600px}.static{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.08;pointer-events:none}.notice{min-height:18px;color:var(--pink);font-size:12px}.signal{display:grid;grid-template-columns:180px 1fr 180px;gap:20px;padding:26px;border-bottom:1px solid var(--line)}.signal img{width:160px;max-height:120px;object-fit:contain}.signal-readout{font-size:11px;line-height:1.7;color:var(--pink);text-align:right}.build-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.build{padding:28px}.build+.build{border-left:1px solid var(--line)}.current h2{color:var(--acid)}.next h2{color:var(--pink)}.meter{height:12px;border:1px solid var(--line);padding:2px;margin:22px 0 8px}.meter span{display:block;height:100%;background:var(--acid)}.next .meter span{background:var(--pink)}strong{font-size:22px}small{display:block;color:var(--dim);font-size:10px;margin-top:6px}.panel{padding:28px;border-bottom:1px solid var(--line)}.panel-head{display:flex;justify-content:space-between;color:var(--dim);font-size:11px;border-bottom:1px solid var(--line)}.module-list{display:grid;grid-template-columns:repeat(3,1fr)}.module{padding:18px;border-right:1px solid var(--line);min-height:160px}.module h2{font-size:15px}.installer{display:flex;justify-content:space-between;align-items:center;padding:28px;border-bottom:1px solid var(--line)}.about{display:flex;gap:18px;padding:18px 28px;font-size:11px}.about span{color:var(--pink)}.about p{margin:0}@media(max-width:680px){.mast{grid-template-columns:54px 1fr;padding:18px}.live,.login-image,.signal-readout{display:none}.banner{width:220px;height:46px}.login-grid,.signal,.build-grid{grid-template-columns:1fr}.login-copy{padding:34px 24px}.build+.build{border-left:0;border-top:1px solid var(--line)}.module-list{grid-template-columns:1fr}.module{border-right:0;border-bottom:1px solid var(--line)}.installer{align-items:flex-start;flex-direction:column}h1{font-size:22px}}
:root .mobile-downloads .installer{padding-inline:0;gap:24px;align-items:flex-start}
.mobile-downloads .installer>div{min-width:0}
.mobile-downloads code{display:block;overflow-wrap:anywhere;margin-top:12px;font-size:12px;color:var(--ink)}
.mobile-downloads summary{cursor:pointer;color:var(--pink)}
.mobile-downloads .download{flex-shrink:0}
.mobile-downloads a:focus-visible,.mobile-downloads summary:focus-visible{outline:2px solid var(--pink);outline-offset:4px}
@media(max-width:680px){.mobile-downloads .installer{gap:16px}}

.signal-grid { grid-template-columns: 180px minmax(0, 1fr); gap: 0; min-height: 280px; padding: 0; position: relative; overflow: hidden; }
.signal-image { flex-direction: column; justify-content: center; gap: 16px; padding: 14px; }
.signal-image img { width: 120px; max-height: 120px; object-fit: contain; }
.signal-readout { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 4px 6px; width: 100%; color: var(--pink); font-size: 9px; line-height: 1.25; text-align: left; white-space: nowrap; }
.signal-readout span { color: var(--acid); }
.signal-readout b { font-weight: normal; overflow: hidden; text-overflow: clip; }
.signal-grid .login-copy { padding: 56px 54px; }

.archived h2 { color: var(--dim); }
.archived .meter span { background: #705070; }

.live { display: flex; flex-direction: column; align-items: stretch; gap: 7px; white-space: normal; }
.live-state { display: flex; justify-content: flex-end; align-items: center; gap: 6px; white-space: nowrap; }
.live b { margin-top: 0; }
.live-actions { display: grid; gap: 6px; }
.live button { width: 100%; margin-top: 0; padding: 8px 6px; font-size: 10px; white-space: nowrap; }

@media (max-width: 680px) {
  #login .login-image { display: none; }
  .signal-grid { grid-template-columns: 1fr; }
  .signal-grid .login-image { display: flex; border-right: 0; border-bottom: 1px solid var(--line); padding: 24px; }
  .signal-grid .signal-readout { display: block; }
  .signal-grid .login-copy { padding: 34px 24px; }
}

.server-list { display: grid; grid-template-columns: 1fr; }
.server-card { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.server-card:last-child { border-bottom: 0; }
.server-icon { width: 72px; height: 72px; padding: 8px; border: 1px solid var(--line); object-fit: contain; }
.server-title { display: flex; align-items: center; gap: 10px; }
.server-title h2 { margin: 0; }
.server-state { padding: 4px 7px; border: 1px solid var(--line); color: var(--dim); font-size: 10px; }
.server-state.online { border-color: var(--acid); color: var(--acid); }
.server-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 9px; color: var(--dim); font-size: 11px; }
.server-health { margin-top: 14px; max-width: 420px; }
.server-telemetry { margin: 14px 0 0; color: var(--dim); font-size: 11px; }
.server-health .micro { margin: 0 0 7px; }
.health-meters { display: grid; gap: 7px; }
.health-meter { display: grid; gap: 3px; }
.health-label { display: flex; justify-content: space-between; gap: 16px; color: var(--dim); font-size: 10px; }
.health-label span:last-child { color: var(--ink); text-align: right; }
.health-track { height: 5px; overflow: hidden; border: 1px solid var(--line); background: #160a19; }
.health-fill { display: block; height: 100%; background: var(--pink); }
.server-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.server-actions button, .server-actions .download { white-space: nowrap; }
.server-message { grid-column: 2 / -1; min-height: 16px; margin: 0; color: var(--pink); font-size: 11px; }
.server-empty { padding: 20px 0; color: var(--dim); font-size: 12px; }
.setup-flow { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px dashed var(--line); }
.setup-step { padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.setup-step:nth-child(2n) { border-right: 0; }
.setup-step p:last-of-type { min-height: 54px; margin-bottom: 16px; font-size: 12px; }
.minecraft-bind { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.bind-identity { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 10px; border: 1px solid var(--line); background: #160a19; }
.identity-avatar { width: 48px; height: 48px; flex: 0 0 auto; border: 1px solid var(--line); image-rendering: pixelated; object-fit: cover; }
.identity-avatar-empty { background: #2a1030; }
.identity-copy { display: grid; min-width: 0; gap: 4px; }
.identity-copy .micro { margin: 0; }
.identity-copy strong, .identity-id { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.identity-id { color: var(--dim); font-size: 10px; }
.detected-account { width: min(560px, calc(100vw - 36px)); padding: 24px; border: 1px solid var(--pink); background: #120714 url("/assets/bg-rip-fast.webp"); color: var(--ink); box-shadow: 0 0 0 1px #000, 0 24px 80px #000; }
.detected-account::backdrop { background: rgba(0, 0, 0, .78); }
.detected-account h3 { margin: 0 0 14px; font-size: 16px; }
.detected-account .bind-identity { margin-bottom: 14px; }
.identity-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.dialog-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.dialog-actions button { margin: 0; }
.dialog-actions .dialog-cancel { background: transparent; border-color: var(--pink); color: var(--ink); }
.dialog-actions .dialog-cancel:hover { background: #35103b; }
.dialog-confirm:disabled { cursor: wait; opacity: .65; }
.dialog-notice { margin: 0; color: var(--pink); font-size: 12px; }
.account-state { grid-column: 1 / -1; padding: 20px; border-top: 1px dashed var(--line); }
.account-state h3 { margin: 0 0 14px; font-size: 16px; }
.account-state .bind-identity { max-width: 460px; margin-bottom: 14px; }
.account-state p { max-width: 620px; }
.server-map { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 18px; }
.server-map-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 0 0 12px; color: var(--dim); font-size: 11px; }
.server-map-head .micro { margin: 0; }
.server-map iframe { display: block; width: 100%; height: min(72vh, 720px); min-height: 440px; border: 1px solid var(--line); background: #080408; }

@media (max-width: 680px) {
  .server-card { grid-template-columns: 64px 1fr; gap: 14px; }
  .server-icon { width: 52px; height: 52px; }
  .server-actions, .server-message, .setup-flow { grid-column: 1 / -1; }
  .server-actions { justify-content: flex-start; }
  .setup-flow { grid-template-columns: 1fr; }
  .setup-step, .setup-step:nth-child(2n) { border-right: 0; }
  .identity-pair { grid-template-columns: 1fr; }
}
