:root {
  --bg: #080b0f;
  --bg-soft: #0c1118;
  --panel: #10161e;
  --panel-2: #141c26;
  --line: #25303c;
  --line-soft: #1b242f;
  --text: #f2f5f7;
  --muted: #8c98a5;
  --muted-2: #64717e;
  --green: #5af0a1;
  --green-deep: #103826;
  --red: #ff6878;
  --red-deep: #3b1720;
  --cyan: #69d7ff;
  --yellow: #f2b84b;
  --accent: #8bd450;
  --radius: 18px;
  --shadow: 0 24px 80px rgba(0, 0, 0, .32);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
button { color: inherit; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.is-hidden, [hidden] { display: none !important; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.page-grid { position: fixed; inset: 0; pointer-events: none; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, black, transparent 78%); z-index: -1; }

.site-header { position: sticky; top: 0; z-index: 40; border-bottom: 1px solid rgba(37, 48, 60, .75); background: rgba(8, 11, 15, .82); backdrop-filter: blur(18px); }
.header-inner { height: 72px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 13px; font-weight: 800; letter-spacing: .06em; }
.brand-mark { display: inline-grid; place-items: center; min-width: 42px; height: 34px; padding: 0 7px; color: #17100a; background: var(--yellow); border-radius: 7px; font: 900 15px/1 "SFMono-Regular", Consolas, monospace; letter-spacing: -.08em; box-shadow: 0 0 28px rgba(242,184,75,.16); }
.brand-text { font-size: 13px; }
.main-nav { display: flex; align-items: center; gap: 32px; color: var(--muted); font-size: 13px; font-weight: 650; }
.main-nav a:hover { color: var(--text); }
.main-nav .nav-admin { padding: 9px 14px; border: 1px solid var(--line); border-radius: 8px; color: #c7d0d8; }
.main-nav .nav-admin:hover { border-color: #465565; }
.mobile-menu { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); place-content: center; gap: 6px; }
.mobile-menu span { display: block; width: 18px; height: 1px; background: var(--text); }

.hero { min-height: 630px; padding-block: 105px 90px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 78px; }
.eyebrow, .section-index, .panel-label { color: var(--green); font: 700 11px/1.2 "SFMono-Regular", Consolas, monospace; letter-spacing: .17em; text-transform: uppercase; }
.signal-dot { display: inline-block; width: 7px; height: 7px; margin-right: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(90,240,161,.08), 0 0 18px rgba(90,240,161,.7); }
.hero h1 { max-width: 720px; margin: 24px 0 20px; font-size: clamp(44px, 6.1vw, 78px); line-height: .98; letter-spacing: -.055em; }
.hero-copy > p { max-width: 620px; margin: 0; color: #a9b3bd; font-size: 18px; line-height: 1.75; }
.hero-actions, .link-row, .heading-actions, .form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.hero-actions { margin-top: 34px; }
.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 0 19px; border: 1px solid transparent; border-radius: 9px; cursor: pointer; font-size: 13px; font-weight: 750; transition: transform .18s, background .18s, border-color .18s; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--green); color: #06100b; box-shadow: 0 12px 35px rgba(90, 240, 161, .12); }
.button-primary:hover { background: #7af5b4; }
.button-ghost { background: rgba(17, 23, 31, .8); border-color: var(--line); color: #d6dde3; }
.button-ghost:hover { background: var(--panel-2); border-color: #3c4a59; }
.button-wide { width: 100%; }
.button-small { min-height: 38px; padding-inline: 14px; font-size: 12px; }

.hero-console { position: relative; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(19,27,36,.94), rgba(10,14,19,.95)); box-shadow: var(--shadow); overflow: hidden; }
.hero-console::before { content: ""; position: absolute; width: 240px; height: 240px; right: -90px; top: -110px; border-radius: 50%; background: rgba(90,240,161,.08); filter: blur(55px); }
.console-head { height: 50px; padding: 0 19px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line-soft); color: var(--muted); font: 700 10px/1 monospace; letter-spacing: .16em; }
.console-live { color: var(--green); }
.console-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.console-grid > div { min-height: 118px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.console-grid > div:nth-child(2n) { border-right: 0; }
.console-grid span { color: var(--muted-2); font: 700 10px/1 monospace; letter-spacing: .13em; }
.console-grid strong { font-size: 34px; line-height: 1; letter-spacing: -.04em; }
.console-grid strong small { margin-left: 5px; color: var(--muted); font-size: 13px; font-weight: 600; letter-spacing: 0; }
.console-grid .small-value { font: 750 17px/1.2 "SFMono-Regular", Consolas, monospace; letter-spacing: -.03em; }
.console-line { height: 48px; display: flex; align-items: center; padding-inline: 22px; overflow: hidden; }
.console-line span { width: 100%; height: 18px; background: linear-gradient(90deg, transparent 0 2%, var(--green) 2% 2.4%, transparent 2.4% 10%, var(--green) 10% 10.4%, transparent 10.4% 18%, var(--green) 18% 18.4%, transparent 18.4% 25%, var(--green) 25% 25.4%, transparent 25.4%), linear-gradient(178deg, transparent 47%, rgba(90,240,161,.5) 48% 52%, transparent 53%); opacity: .45; }
.hero-console > p { margin: 0; padding: 0 22px 19px; color: var(--muted); font: 11px/1.5 monospace; }
.prompt { color: var(--green); }

.servers-section { padding-block: 92px 110px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 38px; }
.section-heading h2 { margin: 11px 0 0; font-size: clamp(32px, 4vw, 48px); letter-spacing: -.04em; line-height: 1.05; }
.section-heading > p { width: 360px; max-width: 100%; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.section-heading.compact { margin-bottom: 30px; }
.server-toolbar { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.search-box { position: relative; width: min(440px, 100%); }
.search-box input { width: 100%; height: 48px; padding: 0 48px 0 16px; border: 1px solid var(--line); border-radius: 10px; background: #0c1117; color: var(--text); font-size: 13px; }
.search-box input::placeholder { color: var(--muted-2); }
.search-key { position: absolute; right: 13px; top: 11px; width: 25px; height: 25px; display: grid; place-content: center; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); font: 11px monospace; }
.filter-group { display: flex; gap: 5px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: #0c1117; }
.filter-button { min-width: 84px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); cursor: pointer; font-size: 12px; font-weight: 700; }
.filter-button.active { background: var(--panel-2); color: var(--text); box-shadow: inset 0 0 0 1px var(--line-soft); }
.server-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.server-card { --game-accent: var(--accent); position: relative; min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(150deg, rgba(17,23,31,.96), rgba(11,15,20,.96)); overflow: hidden; transition: border-color .2s, transform .2s; }
.server-card::before { content: ""; position: absolute; left: 0; top: 22px; bottom: 22px; width: 2px; background: var(--game-accent); opacity: .72; }
.server-card:hover { transform: translateY(-2px); border-color: #3a4755; }
.category-sandbox { --game-accent: #8bd450; }
.category-survival { --game-accent: #ffb84d; }
.category-shooter { --game-accent: #ff5d70; }
.category-roleplay { --game-accent: #c77dff; }
.category-simulation, .category-racing { --game-accent: #5edfff; }
.category-voice { --game-accent: #7f9cff; }
.server-banner { height: 116px; margin: -22px -22px 20px; border-bottom: 1px solid var(--line); overflow: hidden; }
.server-banner img { width: 100%; height: 100%; object-fit: cover; opacity: .68; filter: saturate(.75); }
.card-topline, .card-footer, .server-address, .card-title-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.game-chip { max-width: 68%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--game-accent); font: 700 10px/1.3 "SFMono-Regular", Consolas, monospace; letter-spacing: .09em; text-transform: uppercase; }
.status-badge { display: inline-flex; align-items: center; gap: 7px; width: max-content; color: var(--muted); font: 750 10px/1 "SFMono-Regular", Consolas, monospace; letter-spacing: .08em; }
.status-badge > span { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.status-badge.online { color: var(--green); }
.status-badge.online > span { box-shadow: 0 0 10px rgba(90,240,161,.65); }
.status-badge.offline { color: var(--red); }
.card-title-row { align-items: flex-start; margin-top: 22px; }
.card-title-row h3 { margin: 0; font-size: 21px; line-height: 1.25; letter-spacing: -.025em; }
.card-title-row h3 a:hover { color: var(--game-accent); }
.card-title-row p { min-height: 42px; margin: 9px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.featured-mark { display: grid; place-content: center; min-width: 35px; height: 22px; border: 1px solid rgba(90,240,161,.25); border-radius: 5px; color: var(--green); background: rgba(90,240,161,.06); font: 700 9px monospace; }
.status-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin: 22px 0 0; padding: 16px 0; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.status-metrics > div { min-width: 0; padding: 0 14px; border-right: 1px solid var(--line-soft); }
.status-metrics > div:first-child { padding-left: 0; }
.status-metrics > div:last-child { padding-right: 0; border-right: 0; }
.status-metrics dt { margin-bottom: 6px; color: var(--muted-2); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.status-metrics dd { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #dbe2e7; font: 650 13px "SFMono-Regular", Consolas, monospace; }
.capacity-track { height: 3px; margin: 18px 0; border-radius: 4px; background: #202a34; overflow: hidden; }
.capacity-track span { display: block; height: 100%; background: var(--game-accent); box-shadow: 0 0 14px color-mix(in srgb, var(--game-accent) 60%, transparent); }
.fill-0 { width: 0; }.fill-1 { width: 10%; }.fill-2 { width: 20%; }.fill-3 { width: 30%; }.fill-4 { width: 40%; }.fill-5 { width: 50%; }.fill-6 { width: 60%; }.fill-7 { width: 70%; }.fill-8 { width: 80%; }.fill-9 { width: 90%; }.fill-10 { width: 100%; }
.server-address { padding: 13px 14px; border: 1px solid var(--line-soft); border-radius: 9px; background: rgba(5,8,11,.5); }
.server-address > div { min-width: 0; }
.server-address span { display: block; margin-bottom: 4px; color: var(--muted-2); font: 700 8px monospace; letter-spacing: .12em; }
.server-address code { display: block; overflow: hidden; text-overflow: ellipsis; color: #dbe5ec; font-size: 12px; white-space: nowrap; }
.server-address button, .table-actions button, .table-actions a { border: 0; background: transparent; color: var(--green); cursor: pointer; font-size: 11px; font-weight: 750; }
.card-footer { margin-top: 17px; color: var(--muted-2); font-size: 10px; }
.card-footer a { color: #b9c3cc; font-weight: 700; }
.card-footer a:hover { color: var(--game-accent); }
.card-footer a span { margin-left: 5px; }
.empty-state, .no-results { padding: 70px 24px; border: 1px dashed var(--line); border-radius: var(--radius); text-align: center; color: var(--muted); }
.empty-state h3 { margin: 12px 0 6px; color: var(--text); }
.empty-code { color: var(--red); font: 700 11px monospace; letter-spacing: .15em; }

.how-section { padding: 95px 0 110px; border-top: 1px solid var(--line-soft); background: #0a0e13; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--line); overflow: hidden; }
.steps-grid article { min-height: 230px; padding: 32px; background: var(--bg-soft); }
.steps-grid article > span { color: var(--green); font: 700 12px monospace; }
.steps-grid h3 { margin: 48px 0 10px; font-size: 20px; }
.steps-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.site-footer { border-top: 1px solid var(--line-soft); background: #070a0d; }
.footer-inner { min-height: 150px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.footer-inner > div { display: flex; align-items: center; gap: 16px; }
.footer-inner p { margin: 0; color: var(--muted-2); font-size: 12px; }

.toast-stack { position: fixed; right: 24px; top: 88px; z-index: 80; display: grid; gap: 10px; }
.toast, .alert { padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: #131a22; box-shadow: var(--shadow); color: #dce3e9; font-size: 12px; }
.toast-success, .alert-success { border-color: rgba(90,240,161,.3); }
.toast-error, .alert-error { border-color: rgba(255,104,120,.35); }

/* Detail page */
.detail-hero { padding-top: 68px; }
.back-link { display: inline-block; color: var(--muted); font-size: 12px; font-weight: 700; }
.back-link:hover { color: var(--text); }
.detail-heading { padding: 58px 0 60px; display: grid; grid-template-columns: 1fr 280px; gap: 70px; align-items: end; }
.detail-heading h1 { margin: 15px 0; font-size: clamp(42px, 7vw, 76px); line-height: 1; letter-spacing: -.055em; }
.detail-heading > div:first-child > p { max-width: 730px; margin: 0; color: #a2adb8; font-size: 16px; line-height: 1.75; }
.detail-live-card { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.detail-live-card > strong { display: block; margin-top: 24px; font-size: 42px; line-height: 1; }
.detail-live-card strong small { margin-left: 6px; color: var(--muted); font-size: 12px; font-weight: 600; }
.detail-live-card > p { margin: 14px 0 0; color: var(--muted-2); font-size: 10px; }
.detail-content { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 20px; padding-bottom: 110px; }
.detail-main { display: grid; gap: 20px; }
.detail-sidebar { display: grid; align-content: start; gap: 20px; }
.panel { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(17,23,31,.97), rgba(11,15,20,.98)); }
.panel h2 { margin: 11px 0 24px; font-size: 25px; letter-spacing: -.03em; }
.large-address { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px; border: 1px solid #31404f; border-radius: 10px; background: #080c10; }
.large-address code { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: 15px; color: #e6edf2; }
.large-address button { border: 0; background: transparent; color: var(--green); cursor: pointer; font-size: 12px; font-weight: 750; white-space: nowrap; }
.prose { margin-top: 22px; color: #a6b0ba; font-size: 14px; line-height: 1.85; white-space: normal; }
.link-row { margin-top: 24px; }
.metadata-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 0; background: var(--line-soft); border: 1px solid var(--line-soft); border-radius: 10px; overflow: hidden; }
.metadata-grid div { padding: 18px; background: #0d1218; }
.metadata-grid dt { color: var(--muted-2); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.metadata-grid dd { margin: 7px 0 0; color: #dce4ea; font-size: 13px; }
.rules-list { margin: 0; padding: 0; list-style: none; counter-reset: rules; display: grid; gap: 10px; }
.rules-list li { counter-increment: rules; position: relative; padding: 15px 16px 15px 51px; border: 1px solid var(--line-soft); border-radius: 9px; color: #b8c2ca; font-size: 13px; }
.rules-list li::before { content: counter(rules, decimal-leading-zero); position: absolute; left: 15px; color: var(--green); font: 700 10px monospace; }
.live-data-panel dl { margin: 0; }
.live-data-panel dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--line-soft); }
.live-data-panel dl > div:last-child { border-bottom: 0; }
.live-data-panel dt { color: var(--muted); font-size: 12px; }
.live-data-panel dd { margin: 0; text-align: right; color: #dde4ea; font: 650 12px monospace; }
.text-online { color: var(--green) !important; }
.text-offline { color: var(--red) !important; }
.history-strip { height: 68px; display: flex; align-items: end; gap: 2px; }
.history-strip span { flex: 1; min-width: 2px; border-radius: 2px 2px 0 0; }
.history-strip .up { height: 78%; background: rgba(90,240,161,.62); }
.history-strip .down { height: 28%; background: rgba(255,104,120,.75); }
.history-legend { display: flex; gap: 15px; margin-top: 14px; color: var(--muted-2); font-size: 10px; }
.history-legend span { display: flex; align-items: center; gap: 6px; }
.history-legend i { width: 6px; height: 6px; border-radius: 50%; }
.history-legend .up { background: var(--green); }.history-legend .down { background: var(--red); }
.muted { color: var(--muted); font-size: 12px; }
.error-page { min-height: 72vh; display: grid; place-content: center; justify-items: start; }
.error-code { color: var(--green); font: 700 13px monospace; letter-spacing: .15em; }
.error-page h1 { margin: 16px 0 8px; font-size: clamp(38px, 6vw, 68px); letter-spacing: -.05em; }
.error-page p { margin: 0 0 28px; color: var(--muted); }

/* Admin shell */
.admin-body { background: #090c11; }
.admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 50; width: 250px; padding: 25px 17px 20px; display: flex; flex-direction: column; border-right: 1px solid var(--line); background: rgba(9,12,17,.97); }
.admin-brand { padding: 0 9px 24px; border-bottom: 1px solid var(--line-soft); }
.admin-nav { display: grid; gap: 5px; margin-top: 25px; }
.admin-nav a { height: 45px; padding: 0 11px; display: flex; align-items: center; gap: 12px; border: 1px solid transparent; border-radius: 8px; color: var(--muted); font-size: 12px; font-weight: 650; }
.admin-nav a:hover { color: var(--text); background: var(--panel); }
.admin-nav a.active { border-color: rgba(90,240,161,.17); background: rgba(90,240,161,.07); color: var(--green); }
.nav-icon { width: 23px; color: var(--muted-2); font: 700 10px monospace; }
.admin-sidebar-footer { margin-top: auto; padding: 17px 10px 0; border-top: 1px solid var(--line-soft); }
.admin-sidebar-footer > span { display: block; color: var(--muted-2); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.admin-sidebar-footer strong { display: block; margin: 4px 0 10px; font-size: 12px; }
.text-button { padding: 0; border: 0; background: none; color: var(--red); cursor: pointer; font-size: 11px; font-weight: 700; }
.admin-main { min-height: 100vh; margin-left: 250px; }
.admin-topbar { height: 62px; padding: 0 28px; display: flex; align-items: center; justify-content: flex-end; border-bottom: 1px solid var(--line); background: rgba(9,12,17,.72); }
.system-indicator { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.system-indicator span { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px rgba(90,240,161,.6); }
.sidebar-toggle { display: none; border: 1px solid var(--line); border-radius: 7px; background: var(--panel); padding: 7px 10px; cursor: pointer; font-size: 11px; }
.admin-flashes { padding: 20px 28px 0; }
.admin-content { width: min(1400px, calc(100% - 56px)); margin-inline: auto; padding: 45px 0 80px; }
.narrow-content { width: min(960px, calc(100% - 56px)); }
.admin-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 32px; }
.admin-page-heading .back-link { margin-bottom: 20px; display: block; }
.admin-page-heading h1 { margin: 10px 0 7px; font-size: clamp(32px, 4vw, 44px); letter-spacing: -.045em; line-height: 1.05; }
.admin-page-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 20px; }
.admin-stat-grid article { min-height: 140px; padding: 20px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.admin-stat-grid article > span { color: var(--muted); font-size: 11px; }
.admin-stat-grid strong { margin-top: 12px; font-size: 34px; line-height: 1; letter-spacing: -.04em; }
.admin-stat-grid small { margin-top: auto; color: var(--muted-2); font-size: 9px; }
.admin-panel { border: 1px solid var(--line); border-radius: 13px; background: var(--panel); overflow: hidden; }
.admin-module-spacing > .admin-panel + .admin-panel,
.admin-module-spacing > .server-form + .admin-panel { margin-top: 24px; }
.admin-panel-head { min-height: 78px; padding: 17px 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.admin-panel-head h2 { margin: 5px 0 0; font-size: 19px; }
.table-count { color: var(--muted-2); font: 10px monospace; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; min-width: 920px; }
.admin-table th { padding: 13px 16px; border-bottom: 1px solid var(--line-soft); color: var(--muted-2); font-size: 9px; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.admin-table td { padding: 15px 16px; border-bottom: 1px solid var(--line-soft); color: #ccd4da; font-size: 12px; vertical-align: middle; }
.admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table tbody tr:hover { background: rgba(255,255,255,.012); }
.server-table-name { display: flex; align-items: center; gap: 11px; }
.game-initial { width: 34px; height: 34px; display: grid; place-content: center; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 8px; background: #0b1015; color: var(--green); font: 750 12px monospace; }
.server-table-name strong, .server-table-name small, .cell-subtext { display: block; }
.server-table-name strong { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
.server-table-name small, .cell-subtext { margin-top: 3px; color: var(--muted-2); font-size: 9px; }
.table-code { font-size: 10px; }
.visibility { display: inline-flex; padding: 5px 8px; border: 1px solid var(--line); border-radius: 6px; font-size: 9px; }
.visibility.published { border-color: rgba(90,240,161,.2); color: var(--green); background: rgba(90,240,161,.04); }
.visibility.hidden { color: var(--muted); }
.actions-cell { text-align: right !important; }
.table-actions { display: flex; justify-content: flex-end; gap: 11px; }
.table-actions form { margin: 0; }
.table-actions a, .table-actions button { padding: 2px; color: #b9c3cb; }
.table-actions a:hover, .table-actions button:hover { color: var(--green); }
.table-actions .danger-link:hover { color: var(--red); }
.admin-empty { padding: 65px 25px; text-align: center; }
.admin-empty h3 { margin: 0; }.admin-empty p { color: var(--muted); font-size: 12px; }.admin-empty .button { margin-top: 13px; }

/* Admin forms */
.server-form { display: grid; gap: 16px; }
.form-section { padding: 27px; border: 1px solid var(--line); border-radius: 13px; background: var(--panel); }
.form-section-heading { display: flex; align-items: flex-start; gap: 14px; padding-bottom: 23px; margin-bottom: 24px; border-bottom: 1px solid var(--line-soft); }
.form-section-heading > span { width: 31px; height: 31px; display: grid; place-content: center; flex: 0 0 auto; border: 1px solid rgba(90,240,161,.23); border-radius: 7px; color: var(--green); background: rgba(90,240,161,.05); font: 700 10px monospace; }
.form-section-heading h2 { margin: 0 0 3px; font-size: 18px; }
.form-section-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.form-grid { display: grid; gap: 17px; margin-bottom: 17px; }
.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.three-columns { grid-template-columns: 1.4fr .6fr .6fr; }
.four-columns { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.five-columns { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.field { display: grid; gap: 8px; margin-bottom: 17px; }
.form-grid .field { margin-bottom: 0; }
.field > span { color: #aeb8c1; font-size: 11px; font-weight: 700; }
.field > span small { color: var(--muted-2); font-weight: 500; }
.field-wide { grid-column: 1 / -1; }
.field input, .field select, .field textarea, .custom-meta-row input { width: 100%; border: 1px solid var(--line); border-radius: 8px; background: #0b1016; color: var(--text); font-size: 12px; transition: border-color .15s; }
.field input, .field select, .custom-meta-row input { height: 43px; padding: 0 12px; }
.field textarea { padding: 12px; resize: vertical; line-height: 1.65; }
.field input::placeholder, .field textarea::placeholder, .custom-meta-row input::placeholder { color: #4e5a66; }
.field input:focus, .field select:focus, .field textarea:focus, .custom-meta-row input:focus { outline: 0; border-color: #4a6357; box-shadow: 0 0 0 3px rgba(90,240,161,.05); }
.form-note { padding: 12px 14px; border-left: 2px solid var(--cyan); border-radius: 0 7px 7px 0; background: rgba(105,215,255,.04); color: var(--muted); font-size: 10px; line-height: 1.6; }
.form-note strong { color: var(--cyan); }
.custom-game-box { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; padding: 17px; margin-bottom: 18px; border: 1px dashed #3b4855; border-radius: 10px; }
.custom-game-box .field { margin: 0; }
.custom-meta-list { display: grid; gap: 9px; margin: 8px 0 13px; }
.custom-meta-row { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 9px; }
.custom-meta-row button { border: 1px solid var(--line); border-radius: 7px; background: #121820; color: var(--red); cursor: pointer; font-size: 10px; }
.publish-grid { display: grid; grid-template-columns: 1fr 1fr 150px; gap: 14px; align-items: center; }
.toggle-field { min-height: 69px; padding: 13px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
.toggle-field input { position: absolute; opacity: 0; }
.toggle-field > span { width: 35px; height: 20px; padding: 3px; flex: 0 0 auto; border-radius: 20px; background: #2a333d; transition: background .2s; }
.toggle-field > span::after { content: ""; display: block; width: 14px; height: 14px; border-radius: 50%; background: #8a949e; transition: transform .2s, background .2s; }
.toggle-field input:checked + span { background: rgba(90,240,161,.22); }
.toggle-field input:checked + span::after { transform: translateX(15px); background: var(--green); }
.toggle-field strong, .toggle-field small { display: block; }.toggle-field strong { font-size: 11px; }.toggle-field small { color: var(--muted-2); font-size: 9px; }
.order-field { margin: 0; }
.form-actions { justify-content: flex-end; padding-top: 10px; }
.alert ul { margin: 8px 0 0; padding-left: 20px; }

/* Login */
.admin-login-body { min-height: 100vh; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(430px, .82fr) 1.18fr; }
.login-card { width: min(430px, calc(100% - 48px)); margin: auto; }
.login-brand { margin-bottom: 72px; }
.login-intro h1 { margin: 12px 0 10px; font-size: 40px; line-height: 1.05; letter-spacing: -.045em; }
.login-intro p { margin: 0 0 28px; color: var(--muted); font-size: 13px; }
.stack-form { display: grid; gap: 15px; }
.stack-form label { display: grid; gap: 8px; }
.stack-form label span { color: #adb7c0; font-size: 11px; font-weight: 700; }
.stack-form input { height: 46px; padding: 0 13px; border: 1px solid var(--line); border-radius: 8px; background: #0c1117; color: var(--text); }
.login-back { margin-top: 25px; }
.login-aside { display: grid; place-items: center; border-left: 1px solid var(--line); background: radial-gradient(circle at 55% 45%, rgba(90,240,161,.09), transparent 35%), #0b0f14; overflow: hidden; }
.terminal-art { width: min(580px, 72%); padding: 0 27px 27px; border: 1px solid #2d3945; border-radius: 13px; background: rgba(6,9,12,.88); box-shadow: 0 40px 110px rgba(0,0,0,.5); transform: perspective(1000px) rotateY(-6deg) rotateX(2deg); }
.terminal-bar { height: 49px; margin: 0 -27px 25px; padding-left: 18px; display: flex; align-items: center; gap: 7px; border-bottom: 1px solid var(--line); }
.terminal-bar span { width: 7px; height: 7px; border-radius: 50%; background: #38434e; }
.terminal-art p { display: grid; grid-template-columns: 30px 1fr auto; color: #8795a2; font: 12px/2.2 "SFMono-Regular", Consolas, monospace; }
.terminal-art p:first-of-type { display: block; color: #bdc8d0; }.terminal-art b { color: var(--green); }.terminal-art i { color: var(--green); font-style: normal; }.terminal-art em { color: #5d6a76; font-style: normal; }
.terminal-art .cursor-line { display: flex; align-items: center; }.cursor-line span { width: 7px; height: 14px; margin-left: 6px; background: var(--green); opacity: .7; }

/* Kanapeczkowy Rust Control */
.rust-index-stack, .rust-module-stack { display: grid; gap: 24px; }
.rust-index-stack .admin-panel, .rust-module-stack .form-section { margin: 0; }
.admin-panel-head > div > p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.panel-step { color: var(--muted-2); font: 700 9px monospace; letter-spacing: .12em; }
.rust-inline-form { padding: 22px 24px 24px; display: grid; grid-template-columns: 1.2fr 1.2fr auto; gap: 14px; align-items: end; }
.rust-inline-form .field { margin: 0; }.rust-inline-form .button { height: 43px; }
.rust-instance-grid { padding: 22px 24px 24px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.rust-instance-card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(145deg,#111820,#0a0f14); transition: border-color .15s, transform .15s, background .15s; }
.rust-instance-card:hover { border-color: #4c5c6c; transform: translateY(-2px); background: linear-gradient(145deg,#151e28,#0b1117); }
.rust-instance-card > header { display: flex; justify-content: space-between; align-items: center; }
.rust-instance-card > header small { color: var(--muted-2); font: 10px monospace; }
.rust-instance-name { margin-top: 22px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 13px; align-items: center; }
.rust-instance-name > span { width: 34px; height: 34px; display: grid; place-content: center; border: 1px solid rgba(90,240,161,.22); border-radius: 8px; color: var(--green); background: rgba(90,240,161,.05); font: 700 10px monospace; }
.rust-instance-name h3 { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; }
.rust-instance-name p { margin: 4px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 10px; }
.rust-instance-name > b { color: var(--muted-2); font-size: 18px; transition: transform .15s, color .15s; }.rust-instance-card:hover .rust-instance-name > b { color: var(--green); transform: translateX(3px); }
.rust-instance-card dl, .kit-card dl { margin: 20px 0 0; padding-top: 15px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; border-top: 1px solid var(--line); }
.rust-instance-card dl div, .kit-card dl div { min-width: 0; }.rust-instance-card dt, .kit-card dt { color: var(--muted-2); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }.rust-instance-card dd, .kit-card dd { margin: 5px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 10px monospace; }
.rust-heading p { display: flex; align-items: center; gap: 10px; }
.credential-box { margin-bottom: 22px; padding: 24px; display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 18px; align-items: end; border: 1px solid rgba(242,184,75,.42); border-radius: 12px; background: rgba(242,184,75,.055); }
.credential-box h2 { margin: 7px 0; font-size: 20px; }.credential-box p { margin: 0; color: var(--muted); font-size: 11px; }.credential-box label span { display: block; margin-bottom: 7px; color: #d1a959; font-size: 9px; text-transform: uppercase; }.credential-box code { display: block; padding: 12px; overflow: auto; border: 1px solid rgba(242,184,75,.22); border-radius: 8px; background: #0a0d10; color: #ffd77c; font-size: 10px; }
.rust-section-nav { position: sticky; top: 64px; z-index: 8; margin-bottom: 22px; padding: 6px; display: flex; gap: 4px; overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; background: rgba(10,14,19,.92); backdrop-filter: blur(14px); }
.rust-section-nav a { padding: 9px 12px; flex: 0 0 auto; border-radius: 6px; color: var(--muted); font-size: 10px; font-weight: 750; }.rust-section-nav a:hover { background: #171e27; color: var(--text); }
.rust-stats { margin-bottom: 22px; }.admin-stat-grid .stat-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; }
.rust-settings-form { gap: 22px; }.simple-toggle { min-height: 53px; }.simple-toggle > strong { font-size: 11px; }
.rust-module-stack { margin-top: 24px; }
.rust-module-section { scroll-margin-top: 120px; }
.module-counter { margin-left: auto; align-self: center; color: var(--muted-2); font: 700 9px monospace; white-space: nowrap; }
.rate-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }.rate-grid .field { margin: 0; }.number-prefix { display: grid; grid-template-columns: 38px 1fr; }.number-prefix b { display: grid; place-items: center; border: 1px solid var(--line); border-right: 0; border-radius: 8px 0 0 8px; background: #111820; color: var(--green); font: 700 12px monospace; }.number-prefix input { border-radius: 0 8px 8px 0; }
.toggle-row { margin-bottom: 18px; display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }.toggle-row .field { margin: 0; }.compact-field { align-self: stretch; }
.tab-editor { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }.tab-editor article { padding: 15px; border: 1px solid var(--line); border-radius: 9px; background: #0b1016; }.tab-editor .field:last-child { margin-bottom: 0; }
.kit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.kit-grid:empty { display: none; }
.kit-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 11px; background: #0b1016; }.kit-card-top, .kit-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.kit-card-top code { color: #aeb8c1; font-size: 10px; }.kit-state { color: var(--muted-2); font: 700 8px monospace; letter-spacing: .12em; }.kit-state.is-active { color: var(--green); }.kit-card h3 { margin: 13px 0 6px; font-size: 16px; }.kit-card > p { min-height: 34px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }.kit-card dl { grid-template-columns: repeat(3,minmax(0,1fr)); }
.kit-item-preview { min-height: 52px; margin-top: 14px; display: flex; align-items: center; gap: 6px; }.kit-item-preview > span { position: relative; width: 46px; height: 46px; display: grid; place-content: center; border: 1px solid var(--line-soft); border-radius: 8px; background: #111821; overflow: hidden; }.kit-item-preview img { width: 40px; height: 40px; object-fit: contain; }.kit-item-preview b { position: absolute; right: 3px; bottom: 2px; padding: 1px 3px; border-radius: 3px; background: rgba(6,9,12,.88); color: #dce4ea; font: 700 8px monospace; }.kit-item-preview .kit-more { color: var(--muted); font: 700 10px monospace; }
.kit-card-actions { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line-soft); }.kit-card-actions form { margin: 0; }.kit-card-actions form button { border: 0; background: transparent; }
.kit-builder { margin-top: 18px; border: 1px dashed #3c4855; border-radius: 11px; background: rgba(8,12,16,.42); }.kit-builder[open] { border-style: solid; border-color: #354351; }.kit-builder > summary { padding: 17px 19px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--green); cursor: pointer; list-style: none; font-size: 11px; font-weight: 750; }.kit-builder > summary::-webkit-details-marker { display: none; }.kit-builder > summary span { display: flex; align-items: center; gap: 10px; }.kit-builder > summary b { width: 24px; height: 24px; display: grid; place-content: center; border: 1px solid rgba(90,240,161,.25); border-radius: 6px; }.kit-builder > summary small { color: var(--muted-2); font-size: 9px; font-weight: 500; }
.kit-builder-form { padding: 22px; border-top: 1px solid var(--line); }.kit-basics { grid-template-columns: 1fr 1.2fr 1fr; }.kit-basics .simple-toggle { align-self: end; }
.kit-composer { display: grid; grid-template-columns: minmax(380px,.9fr) minmax(460px,1.1fr); gap: 16px; align-items: start; }.kit-selection-panel, .item-browser { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 10px; background: #090e14; }.kit-composer-head { min-height: 44px; margin-bottom: 14px; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }.kit-composer-head h3 { margin: 5px 0 0; font-size: 15px; }.kit-composer-head > span { color: var(--muted-2); font: 9px monospace; }.catalog-source { padding: 5px 7px; border: 1px solid var(--line); border-radius: 5px; }.catalog-source.is-live { border-color: rgba(90,240,161,.22); color: var(--green); }
.item-browser-tools { display: grid; grid-template-columns: minmax(0,1fr) 180px; gap: 9px; }.item-browser-tools .field { margin: 0; }
.item-catalog { max-height: 520px; margin-top: 12px; padding-right: 4px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; overflow-y: auto; scrollbar-color: #354250 #0a0f15; }.item-catalog-card { min-width: 0; min-height: 62px; padding: 8px; display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 9px; align-items: center; border: 1px solid var(--line-soft); border-radius: 8px; background: #101720; color: var(--text); cursor: pointer; text-align: left; }.item-catalog-card:hover { border-color: #40505f; background: #141d27; }.item-catalog-card > span:nth-child(2) { min-width: 0; }.item-catalog-card strong, .item-catalog-card code { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.item-catalog-card strong { font-size: 10px; }.item-catalog-card code { margin-top: 3px; color: var(--muted-2); font-size: 8px; }.item-catalog-card > b { color: var(--green); font-size: 17px; }.item-icon { position: relative; width: 44px; height: 44px; display: grid; place-content: center; border-radius: 7px; background: #0a0f14; overflow: hidden; }.item-icon img { position: relative; z-index: 1; width: 40px; height: 40px; object-fit: contain; }.item-icon i { position: absolute; inset: 0; display: grid; place-content: center; color: #556271; font: 700 10px monospace; font-style: normal; }.item-icon.no-image img { display: none; }
.selected-items { display: grid; gap: 8px; }.kit-empty, .catalog-empty, .module-empty { margin: 0; padding: 24px; border: 1px dashed var(--line); border-radius: 8px; color: var(--muted-2); font-size: 10px; text-align: center; }.selected-item-row { padding: 9px; display: grid; grid-template-columns: 42px minmax(90px,1fr) 76px 92px 32px; gap: 8px; align-items: end; border: 1px solid var(--line-soft); border-radius: 8px; background: #101720; }.selected-item-row .item-icon { width: 42px; height: 42px; grid-column: 1; grid-row: 1; }.selected-item-name { min-width: 0; align-self: center; grid-column: 2; grid-row: 1; }.selected-item-name strong, .selected-item-name code { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.selected-item-name strong { font-size: 10px; }.selected-item-name code { color: var(--muted-2); font-size: 8px; }.selected-item-row label { display: grid; gap: 4px; color: var(--muted-2); font-size: 8px; }.selected-item-row label:nth-of-type(1) { grid-column: 3; grid-row: 1; }.selected-item-row label:nth-of-type(2) { grid-column: 4; grid-row: 1; }.selected-item-row label:nth-of-type(3) { grid-column: 2 / 5; grid-row: 2; }.selected-item-row input, .selected-item-row select { width: 100%; height: 34px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; background: #090e14; color: var(--text); font-size: 9px; }.selected-item-row > button { width: 32px; height: 34px; grid-column: 5; grid-row: 1; border: 1px solid rgba(255,104,120,.22); border-radius: 6px; background: rgba(255,104,120,.05); color: var(--red); cursor: pointer; }.kit-builder-actions { padding-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line-soft); }.kit-builder-actions p { margin: 0; color: var(--muted); font-size: 10px; }
.rust-module-form { margin-bottom: 18px; display: grid; grid-template-columns: 1.1fr 1fr 1fr auto; gap: 12px; align-items: end; }.rust-module-form .field { margin: 0; }.rust-module-form .button { min-height: 43px; }
.role-list { display: grid; gap: 8px; }.role-list article { padding: 12px 14px; display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: #0b1016; }.role-list strong, .role-list code { display: block; }.role-list code { margin-top: 4px; color: var(--muted); font-size: 9px; }.role-list article > span { color: var(--cyan); font: 700 9px monospace; }.role-list button { border: 0; background: transparent; }
.action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.action-grid form { padding: 17px; border: 1px solid var(--line); border-radius: 10px; background: #0b1016; }.command-log { margin-top: 18px; }.command-log > div { padding: 11px 0; display: grid; grid-template-columns: 1fr auto 120px; gap: 12px; border-top: 1px solid var(--line); align-items: center; }.command-log code { color: #bac5ce; font-size: 10px; }.command-log small { color: var(--muted-2); text-align: right; }.command-status { font: 700 8px monospace; text-transform: uppercase; }.status-completed,.status-ready,.status-success { color: var(--green); }.status-failed,.status-cancelled { color: var(--red); }.status-queued,.status-delivered,.status-generating,.status-checking,.status-retrying,.status-configuration_required,.status-running { color: var(--yellow); }.audit-log { margin-top: 0; }
.agent-key-row { padding: 17px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border: 1px solid rgba(255,104,120,.18); border-radius: 10px; background: rgba(255,104,120,.025); }.agent-key-row > div { min-width: 0; }.agent-key-row span { display: block; margin-bottom: 6px; color: var(--muted-2); font-size: 9px; text-transform: uppercase; }.agent-key-row code { display: block; overflow: hidden; text-overflow: ellipsis; color: #dfe6eb; font-size: 11px; }.agent-key-row p { margin: 7px 0 0; color: var(--muted); font-size: 10px; }
.global-save-bar { margin-top: 24px; padding: 17px 19px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid rgba(90,240,161,.25); border-radius: 12px; background: linear-gradient(90deg,rgba(90,240,161,.06),rgba(16,22,30,.96)); }.global-save-bar strong, .global-save-bar span { display: block; }.global-save-bar strong { font-size: 13px; }.global-save-bar span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.button-danger { border-color: rgba(255,104,120,.4); background: rgba(255,104,120,.1); color: #ff8490; }
.subsection-heading { margin: 24px 0 14px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.subsection-heading h3 { margin: 5px 0 0; font-size: 15px; }.subsection-heading small, .subsection-heading > span { color: var(--muted-2); font: 9px monospace; }
.feature-strip { display: flex; flex-wrap: wrap; gap: 7px; }.feature-strip span { padding: 7px 9px; border: 1px solid rgba(105,215,255,.18); border-radius: 6px; background: rgba(105,215,255,.04); color: var(--cyan); font: 700 8px monospace; letter-spacing: .06em; }
.kit-cover { position: relative; height: 104px; margin: -18px -18px 16px; display: grid; place-content: center; border-radius: 10px 10px 0 0; background: radial-gradient(circle at 70% 25%,rgba(242,184,75,.18),transparent 45%),linear-gradient(140deg,#1b1710,#0d1218); overflow: hidden; }.kit-cover > img { width: 100%; height: 100%; object-fit: cover; opacity: .82; }.kit-cover > strong { color: rgba(242,184,75,.8); font: 800 30px monospace; letter-spacing: .08em; }.kit-cover .kit-state { position: absolute; left: 12px; top: 12px; padding: 5px 7px; border-radius: 4px; background: rgba(7,10,13,.82); }
.stack-workspace { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(460px,1.1fr); gap: 16px; margin: 18px 0; align-items: start; }.stack-workspace > section { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 10px; background: #090e14; }.stack-workspace .subsection-heading { margin-top: 0; }.stack-category-grid { margin-bottom: 20px; }.compact-catalog { max-height: 440px; }
.stack-override-list { display: grid; gap: 8px; }.stack-override-list > div { padding: 9px; display: grid; grid-template-columns: 44px minmax(100px,1fr) 130px 34px; gap: 10px; align-items: center; border: 1px solid var(--line-soft); border-radius: 8px; background: #101720; }.stack-override-list code { overflow: hidden; text-overflow: ellipsis; color: #d5dde3; font-size: 10px; }.stack-override-list label { display: grid; grid-template-columns: auto 74px; gap: 7px; align-items: center; color: var(--muted); font-size: 9px; }.stack-override-list input { width: 74px; height: 34px; padding: 0 7px; border: 1px solid var(--line); border-radius: 6px; background: #090e14; color: var(--text); }.stack-override-list button { width: 34px; height: 34px; border: 1px solid rgba(255,104,120,.22); border-radius: 6px; background: rgba(255,104,120,.05); color: var(--red); cursor: pointer; }
.reward-settings-form { grid-template-columns: 1.2fr .75fr .75fr 1.1fr .65fr auto; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #0b1016; }.reward-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.reward-card { min-width: 0; padding: 14px; display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 16px; border: 1px solid var(--line); border-radius: 10px; background: #0b1016; }.reward-day { min-height: 126px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(242,184,75,.2); border-radius: 8px; background: linear-gradient(160deg,rgba(242,184,75,.13),rgba(242,184,75,.02)); }.reward-day span { color: var(--muted); font: 700 8px monospace; letter-spacing: .12em; }.reward-day strong { margin-top: 6px; color: var(--yellow); font: 800 32px monospace; }.reward-card h3 { margin: 9px 0 4px; font-size: 15px; }.reward-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }.reward-card .kit-item-preview { min-height: 40px; margin-top: 10px; }.reward-card .kit-item-preview > span { width: 38px; height: 38px; }.reward-card .kit-item-preview img { width: 34px; height: 34px; }
.module-settings-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)); padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #0b1016; }
.module-settings-grid .toggle-field { margin: 0; }
.log-filter-tabs { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 7px; }
.log-filter-tabs a { padding: 8px 10px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 7px; background: #0b1016; color: var(--muted); font: 700 9px monospace; text-transform: uppercase; }
.log-filter-tabs a:hover, .log-filter-tabs a.active { border-color: rgba(90,240,161,.3); background: rgba(90,240,161,.06); color: var(--green); }
.log-filter-tabs b { min-width: 20px; padding: 2px 5px; border-radius: 10px; background: #171f28; color: #d9e2e8; text-align: center; }

@media (max-width: 1050px) {
  .hero { grid-template-columns: 1fr; gap: 52px; padding-top: 80px; }
  .hero-copy { max-width: 800px; }.hero-console { width: min(680px, 100%); }
  .detail-content { grid-template-columns: 1fr; }.detail-sidebar { grid-template-columns: repeat(2, 1fr); }
  .admin-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .publish-grid { grid-template-columns: 1fr 1fr; }.order-field { grid-column: 1 / -1; }.four-columns, .five-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rate-grid { grid-template-columns: repeat(3,1fr); }.kit-grid { grid-template-columns: repeat(2,1fr); }.credential-box { grid-template-columns: 1fr 1fr; }.credential-box > div { grid-column: 1 / -1; }
  .kit-composer { grid-template-columns: 1fr; }.item-catalog { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .stack-workspace { grid-template-columns: 1fr; }.reward-settings-form { grid-template-columns: repeat(3,1fr); }.module-settings-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 780px) {
  .shell { width: min(100% - 28px, 1180px); }
  .main-nav { position: fixed; left: 14px; right: 14px; top: 80px; padding: 18px; display: none; flex-direction: column; align-items: stretch; gap: 8px; border: 1px solid var(--line); border-radius: 12px; background: #0d1218; box-shadow: var(--shadow); }
  .main-nav.is-open { display: flex; }.main-nav a { padding: 9px; }.mobile-menu { display: grid; }
  .brand-text { font-size: 11px; }.hero { min-height: auto; padding: 70px 0 75px; }.hero h1 { font-size: 48px; }.hero-copy > p { font-size: 15px; }
  .section-heading, .server-toolbar, .admin-page-heading { align-items: flex-start; flex-direction: column; }.server-toolbar, .search-box { width: 100%; }.filter-group { width: 100%; }.filter-button { flex: 1; min-height: 38px; }
  .server-grid, .steps-grid { grid-template-columns: 1fr; }.steps-grid article { min-height: 190px; }.steps-grid h3 { margin-top: 32px; }
  .footer-inner { padding-block: 35px; flex-direction: column; align-items: flex-start; justify-content: center; }.footer-inner > div { align-items: flex-start; flex-direction: column; }
  .detail-heading { grid-template-columns: 1fr; gap: 28px; padding-top: 38px; }.detail-live-card { max-width: 340px; }.detail-sidebar { grid-template-columns: 1fr; }
  .metadata-grid { grid-template-columns: 1fr; }.large-address { align-items: stretch; flex-direction: column; }.large-address button { align-self: flex-start; }
  .admin-sidebar { transform: translateX(-100%); transition: transform .2s; }.admin-sidebar.is-open { transform: none; }.admin-main { margin-left: 0; }.admin-topbar { justify-content: space-between; }.sidebar-toggle { display: block; }
  .admin-content, .narrow-content { width: calc(100% - 28px); padding-top: 30px; }.admin-stat-grid { grid-template-columns: 1fr 1fr; }
  .two-columns, .three-columns, .four-columns, .five-columns, .custom-game-box, .publish-grid { grid-template-columns: 1fr; }.field-wide, .order-field { grid-column: auto; }
  .custom-meta-row { grid-template-columns: 1fr; }.custom-meta-row button { min-height: 37px; }
  .login-shell { grid-template-columns: 1fr; }.login-aside { display: none; }.login-brand { margin-bottom: 52px; }
  .rust-inline-form, .rust-module-form, .module-settings-grid, .rust-instance-grid, .tab-editor, .action-grid { grid-template-columns: 1fr; }.rate-grid { grid-template-columns: repeat(2,1fr); }.kit-grid { grid-template-columns: 1fr; }.credential-box { grid-template-columns: 1fr; }.credential-box > div { grid-column: auto; }.rust-section-nav { top: 58px; }
  .reward-grid { grid-template-columns: 1fr; }.reward-settings-form { grid-template-columns: 1fr 1fr; }
  .item-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }.selected-item-row { grid-template-columns: 42px minmax(130px,1fr) 80px 94px 32px; }.agent-key-row { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 520px) {
  .hero h1 { font-size: 41px; }.hero-actions .button { width: 100%; }.console-grid > div { min-height: 100px; padding: 17px; }.console-grid strong { font-size: 28px; }
  .server-card { padding: 18px; }.status-metrics > div { padding-inline: 9px; }.server-address { align-items: flex-start; flex-direction: column; }
  .admin-stat-grid { grid-template-columns: 1fr; }.form-section { padding: 20px; }.heading-actions { width: 100%; }.heading-actions .button, .heading-actions form { width: 100%; }.heading-actions form .button { width: 100%; }
  .login-card { width: calc(100% - 32px); }.login-intro h1 { font-size: 34px; }
  .rate-grid, .toggle-row, .item-browser-tools, .item-catalog { grid-template-columns: 1fr; }.rust-inline-form, .rust-instance-grid { padding-inline: 14px; }.rust-instance-card dl { grid-template-columns: repeat(2,1fr); row-gap: 16px; }.form-section-heading { flex-wrap: wrap; }.module-counter { width: 100%; margin-left: 45px; }.kit-builder-form { padding: 14px; }.kit-builder > summary { align-items: flex-start; flex-direction: column; }.kit-composer { display: block; }.item-browser { margin-top: 14px; }.selected-item-row { grid-template-columns: 38px minmax(0,1fr) 32px; align-items: center; }.selected-item-row .item-icon { grid-column: 1; grid-row: 1; }.selected-item-name { grid-column: 2; grid-row: 1; }.selected-item-row label:nth-of-type(1), .selected-item-row label:nth-of-type(2), .selected-item-row label:nth-of-type(3) { grid-column: 1 / -1; grid-row: auto; }.selected-item-row > button { grid-column: 3; grid-row: 1; }.kit-builder-actions, .global-save-bar { align-items: stretch; flex-direction: column; }.global-save-bar .button { width: 100%; }.role-list article { grid-template-columns: 1fr auto; }.role-list article form { grid-column: 1 / -1; }.command-log > div { grid-template-columns: 1fr auto; }.command-log small { grid-column: 1 / -1; text-align: left; }
  .stack-workspace { display: block; }.stack-workspace .item-browser { margin-top: 14px; }.stack-override-list > div { grid-template-columns: 40px minmax(0,1fr) 34px; }.stack-override-list label { grid-column: 1 / -1; grid-row: 2; }.stack-override-list button { grid-column: 3; grid-row: 1; }.reward-settings-form { grid-template-columns: 1fr; }.reward-card { grid-template-columns: 58px minmax(0,1fr); }.reward-day { min-height: 110px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Rust Automation: public wipe card, Event Director and Wipe Controller */
.public-wipe-panel { overflow: hidden; position: relative; }
.public-wipe-panel::after { background: radial-gradient(circle, rgba(85,231,165,.12), transparent 68%); content: ""; height: 260px; pointer-events: none; position: absolute; right: -100px; top: -120px; width: 260px; }
.public-wipe-heading { align-items: flex-end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 24px; position: relative; z-index: 1; }
.public-wipe-heading h2 { margin-bottom: 5px; }.public-wipe-heading p { color: var(--muted); margin: 0; }.public-wipe-heading > strong { color: var(--green); font-size: clamp(1.05rem,2vw,1.45rem); text-align: right; }
.wipe-public-grid { display: grid; gap: 1px; grid-template-columns: repeat(4,1fr); margin: 0 0 20px; overflow: hidden; position: relative; z-index: 1; }
.wipe-public-grid div { background: rgba(11,18,25,.8); display: grid; gap: 8px; min-height: 86px; padding: 18px; }.wipe-public-grid span { color: var(--muted); font-size: .69rem; letter-spacing: .11em; text-transform: uppercase; }.wipe-public-grid b { font-size: .93rem; }
.wipe-map-link { align-items: center; background: rgba(85,231,165,.08); border: 1px solid rgba(85,231,165,.2); color: var(--text); display: grid; gap: 5px 16px; grid-template-columns: 90px 1fr auto; padding: 15px 18px; position: relative; text-decoration: none; z-index: 1; }.wipe-map-link span { color: var(--green); font-family: var(--mono); font-size: .7rem; letter-spacing: .12em; }.wipe-map-link b { color: var(--green); font-size: 1.25rem; }
.wipe-map-preview { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); overflow: hidden; position: relative; z-index: 1; border: 1px solid var(--line); border-radius: 12px; background: #091017; }
.wipe-map-image { min-height: 330px; position: relative; overflow: hidden; background: #060a0d; }.wipe-map-image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; transition: transform .25s; }.wipe-map-image:hover img { transform: scale(1.015); }.wipe-map-image::after { content: ""; position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(transparent,rgba(3,7,10,.88)); }.wipe-map-image span { position: absolute; z-index: 1; left: 18px; bottom: 16px; color: var(--green); font: 700 .7rem var(--mono); letter-spacing: .08em; }
.wipe-map-placeholder { min-height: 280px; padding: 32px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: radial-gradient(circle at 50% 35%,rgba(85,231,165,.08),transparent 42%),repeating-linear-gradient(0deg,transparent,transparent 29px,rgba(255,255,255,.025) 30px),repeating-linear-gradient(90deg,transparent,transparent 29px,rgba(255,255,255,.025) 30px),#080e13; }.wipe-map-placeholder i { width: 36px; height: 36px; margin-bottom: 18px; border: 2px solid rgba(85,231,165,.16); border-top-color: var(--green); border-radius: 50%; animation: map-preview-spin 1.2s linear infinite; }.wipe-map-placeholder span { color: var(--green); font: 700 .66rem var(--mono); letter-spacing: .14em; }.wipe-map-placeholder strong { margin-top: 10px; font-size: 1rem; }.wipe-map-placeholder small { max-width: 330px; margin-top: 8px; color: var(--muted); line-height: 1.55; }
.wipe-map-facts { padding: 24px; display: flex; flex-direction: column; }.wipe-map-facts h3 { margin: 8px 0 20px; }.wipe-map-facts dl,.map-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 0 0 20px; }.wipe-map-facts dl div,.map-detail-grid div { min-width: 0; padding: 12px; background: rgba(255,255,255,.025); }.wipe-map-facts dt,.map-detail-grid dt { color: var(--muted-2); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }.wipe-map-facts dd,.map-detail-grid dd { margin: 6px 0 0; overflow: hidden; text-overflow: ellipsis; color: var(--text); font: 700 .78rem var(--mono); }.wipe-map-facts .wipe-map-link { margin-top: auto; }
.admin-map-preview { display: grid; grid-template-columns: minmax(300px,.85fr) minmax(0,1.15fr); margin-bottom: 22px; overflow: hidden; border: 1px solid rgba(85,231,165,.18); border-radius: 12px; background: #090f15; }.admin-map-visual { min-height: 280px; position: relative; overflow: hidden; background: #060a0d; }.admin-map-visual > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }.admin-map-visual .wipe-map-placeholder { height: 100%; min-height: 280px; }.admin-map-details { min-width: 0; padding: 22px; }.admin-map-details > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }.admin-map-details h3 { margin: 7px 0 0; }.map-detail-grid { margin-top: 18px; }.map-preview-error,.map-preview-help { padding: 10px 12px; border-radius: 7px; font-size: 10px; line-height: 1.55; }.map-preview-error { border: 1px solid rgba(255,104,120,.2); background: rgba(255,104,120,.05); color: #ff9ba5; }.map-preview-help { border: 1px solid rgba(242,184,75,.2); background: rgba(242,184,75,.05); color: #d9b96d; }.admin-map-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; }.admin-map-actions > small { color: var(--muted-2); }.admin-map-actions > div { display: flex; align-items: center; gap: 8px; }.admin-map-actions form { margin: 0; }
@keyframes map-preview-spin { to { transform: rotate(360deg); } }
.event-definition-grid,.event-schedule-grid,.wipe-run-grid { display: grid; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); }.event-definition-card,.event-schedule-card,.wipe-status-card { background: rgba(8,15,21,.62); border: 1px solid var(--line); border-radius: 12px; padding: 18px; }.event-definition-card > header,.event-schedule-card > header { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 16px; }.event-definition-card h3,.event-schedule-card h3 { margin: 0; }.event-definition-card p,.event-schedule-card p { color: var(--muted); margin: 4px 0 0; }.event-quick-run { align-items: center; display: flex; gap: 10px; }.event-dot { background: var(--green); border-radius: 99px; box-shadow: 0 0 14px currentColor; height: 8px; width: 8px; }.event-dot.red { background: #ff5c6b; }.event-dot.amber { background: #f2b84b; }.event-dot.blue { background: #5d9dea; }
.weekday-picker { display: flex; flex-wrap: wrap; gap: 7px; }.weekday-picker label { cursor: pointer; }.weekday-picker input { opacity: 0; position: absolute; }.weekday-picker span { background: var(--surface-deep); border: 1px solid var(--line); border-radius: 6px; display: block; font-size: .72rem; min-width: 36px; padding: 9px; text-align: center; }.weekday-picker input:checked + span { background: rgba(85,231,165,.16); border-color: rgba(85,231,165,.5); color: var(--green); }
.wipe-controller-banner { align-items: center; background: linear-gradient(110deg,rgba(242,184,75,.11),rgba(85,231,165,.07)); border: 1px solid rgba(242,184,75,.24); border-radius: 12px; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 18px; padding: 18px; }.wipe-controller-banner strong { display: block; margin-bottom: 4px; }.wipe-controller-banner p { color: var(--muted); margin: 0; }.wipe-danger-zone { background: rgba(255,72,90,.055); border-color: rgba(255,72,90,.24); }.wipe-run-log { display: grid; gap: 1px; margin-top: 18px; }.wipe-run-log > div { align-items: center; background: rgba(8,15,21,.55); display: grid; gap: 10px; grid-template-columns: 1fr auto auto; padding: 12px 14px; }
@media (max-width:900px) { .wipe-public-grid,.event-definition-grid,.event-schedule-grid,.wipe-run-grid { grid-template-columns: 1fr 1fr; }.public-wipe-heading,.wipe-controller-banner { align-items: flex-start; flex-direction: column; }.public-wipe-heading > strong { text-align: left; }.wipe-map-preview,.admin-map-preview { grid-template-columns: 1fr; }.wipe-map-image { min-height: 380px; }.admin-map-visual { min-height: 360px; } }
@media (max-width:620px) { .wipe-public-grid,.event-definition-grid,.event-schedule-grid,.wipe-run-grid { grid-template-columns: 1fr; }.wipe-map-link { grid-template-columns: 1fr auto; }.wipe-map-link span { grid-column: 1/-1; }.wipe-map-image,.admin-map-visual { min-height: 260px; }.wipe-map-facts,.admin-map-details { padding: 17px; }.admin-map-details > header,.admin-map-actions { align-items: flex-start; flex-direction: column; }.admin-map-actions > div { width: 100%; flex-wrap: wrap; } }
#admins > .form-section-heading > span,#actions > .form-section-heading > span,#audit > .form-section-heading > span,#agent-key > .form-section-heading > span { font-size: 0; }
#admins > .form-section-heading > span::after { content: "12"; font-size: 10px; }#actions > .form-section-heading > span::after { content: "13"; font-size: 10px; }#audit > .form-section-heading > span::after { content: "14"; font-size: 10px; }#agent-key > .form-section-heading > span::after { content: "15"; font-size: 10px; }

/* Job Manager */
.job-manager-page { display: grid; gap: 24px; }.job-manager-page > .admin-page-heading,.job-manager-page > .admin-stat-grid { margin-bottom: 0; }
.job-worker-grid { padding: 22px 24px 24px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.job-worker-grid > .admin-empty { grid-column: 1/-1; }
.job-worker-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 11px; background: linear-gradient(145deg,#111820,#0a0f14); }.job-worker-card > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.job-worker-kind { width: 34px; height: 26px; display: grid; place-content: center; border: 1px solid rgba(90,240,161,.18); border-radius: 6px; color: var(--green); font: 700 8px var(--mono); }.job-worker-card h3 { margin: 18px 0 5px; font-size: 16px; }.job-worker-card > p { margin: 0; color: var(--muted); font-size: 10px; }.job-worker-card dl { margin: 17px 0 0; padding-top: 14px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; border-top: 1px solid var(--line-soft); }.job-worker-card dt { color: var(--muted-2); font-size: 8px; text-transform: uppercase; }.job-worker-card dd { margin: 5px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 9px var(--mono); }.job-worker-card > a { margin-top: 14px; display: inline-block; color: var(--green); font-size: 10px; }.job-worker-error { margin-top: 13px; padding: 8px 10px; display: block; border-radius: 6px; background: rgba(255,104,120,.06); color: #ff9ba5; line-height: 1.5; }
.job-filter-bar { padding: 18px 24px; display: grid; grid-template-columns: 1fr 1fr 1.2fr auto; gap: 12px; align-items: end; border-bottom: 1px solid var(--line-soft); }.job-filter-bar .field { margin: 0; }.job-filter-bar .button { height: 43px; }
.job-table { min-width: 1050px; }.job-name { min-width: 280px; display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 11px; align-items: center; }.job-name > span { padding: 6px; border: 1px solid var(--line); border-radius: 5px; color: var(--cyan); font: 700 8px var(--mono); text-align: center; }.job-name strong,.job-name small { display: block; }.job-name small { max-width: 380px; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted-2); font-size: 9px; }
@media (max-width:1050px) { .job-worker-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.job-filter-bar { grid-template-columns: 1fr 1fr; }.job-filter-bar .button { width: 100%; } }
@media (max-width:620px) { .job-worker-grid { grid-template-columns: 1fr; padding-inline: 14px; }.job-filter-bar { grid-template-columns: 1fr; padding-inline: 14px; }.job-worker-card dl { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* Game Hub 3.0: community, leaderboards and operation centers */
.admin-sidebar { overflow-y: auto; }.admin-sidebar-footer { margin-top: 22px; }.admin-sidebar-footer > span { display: block; }
.community-section,.leaderboard-home,.news-section,.faq-section { padding-block: 72px; }.community-live-grid,.profile-detail-grid,.compare-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }.community-panel,.public-leaderboard,.profile-detail-grid>section,.compare-grid>article,.admin-card { border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#101720,#090e13);padding:22px; }.live-row { display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line-soft); }.live-row:last-child{border:0}.live-row strong,.live-row small{display:block}.live-row small,.live-row time{margin-top:5px;color:var(--muted);font-size:10px}.live-row time{white-space:nowrap;color:var(--green);font-family:var(--mono)}
.leaderboard-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.leaderboard-home-grid>article{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#0a1016}.leaderboard-home-grid header{display:flex;justify-content:space-between;padding:15px;border-bottom:1px solid var(--line);color:var(--green);font:700 10px var(--mono)}.leaderboard-home-grid article>a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line-soft);color:var(--text);font-size:11px}.leaderboard-home-grid article>a:hover{background:rgba(85,231,165,.05)}.leaderboard-home-grid article>a b{color:var(--amber)}.leaderboard-home-grid article>a strong{color:var(--green);font-family:var(--mono)}.leaderboard-home-grid article>p{padding:18px;color:var(--muted);font-size:10px}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.news-grid article{min-height:220px;padding:24px;border:1px solid var(--line);border-radius:12px;background:#0b1118}.news-grid article>span{color:var(--green);font:700 9px var(--mono);letter-spacing:.12em}.news-grid h3{margin:28px 0 10px;font-size:19px}.news-grid p{color:var(--muted);line-height:1.7}.news-grid time{display:block;margin-top:22px;color:var(--muted-2);font-size:9px}.faq-list{display:grid;gap:9px}.faq-list details{border:1px solid var(--line);border-radius:9px;background:#0b1118}.faq-list summary{cursor:pointer;padding:18px 20px;font-weight:700}.faq-list details p{margin:0;padding:0 20px 20px;color:var(--muted);line-height:1.7}
.page-intro{padding:90px 0 44px}.page-intro h1{margin:13px 0 8px;font-size:clamp(42px,6vw,74px)}.page-intro p{color:var(--muted)}.leaderboard-page,.player-profile-page{padding-bottom:100px}.leaderboard-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-bottom:22px}.leaderboard-filters label{display:grid;gap:8px;color:var(--muted);font-size:10px}.leaderboard-filters select{height:46px}.public-leaderboard{padding:0;overflow:hidden}.public-leaderboard>header,.leaderboard-row{display:grid;grid-template-columns:80px minmax(180px,1fr) minmax(180px,.8fr) 150px;gap:15px;align-items:center}.public-leaderboard>header{padding:14px 20px;background:#101821;color:var(--muted);font:700 9px var(--mono)}.leaderboard-row{padding:15px 20px;border-top:1px solid var(--line-soft);color:var(--text)}.leaderboard-row:hover{background:rgba(85,231,165,.04)}.leaderboard-row>strong{color:var(--amber)}.leaderboard-row>small{color:var(--muted)}.leaderboard-row>b{text-align:right;color:var(--green);font:700 14px var(--mono)}
.profile-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:26px}.profile-stat-grid article{min-height:110px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#0b1118}.profile-stat-grid span{color:var(--muted);font-size:9px;text-transform:uppercase}.profile-stat-grid strong{display:block;margin-top:15px;font-size:21px}.profile-detail-grid{margin-bottom:26px}.profile-detail-grid h2{margin:10px 0 20px}.detail-bar{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:11px}.detail-bar b{color:var(--green);font-family:var(--mono)}
.map-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:20px}.map-center-image{width:100%;max-height:380px;object-fit:cover;border-radius:8px;margin-bottom:15px}.compare-grid{padding:20px}.compare-grid article dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.compare-grid article dl div{padding:11px;background:rgba(255,255,255,.025)}.compare-grid dt{color:var(--muted);font-size:9px}.compare-grid dd{margin:6px 0 0}.permission-catalog{max-height:360px;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:9px}.permission-catalog>p{grid-column:1/-1}.permission-catalog label{padding:9px;background:#0a1016;font-size:10px}.inline-form{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0}.inline-form input,.inline-form select{min-width:120px}.inline-action-form{margin:14px 0}.check-grid{display:flex;flex-wrap:wrap;gap:14px;padding:12px 0}.check-grid label{color:var(--muted);font-size:11px}
@media(max-width:1050px){.leaderboard-home-grid,.profile-stat-grid{grid-template-columns:repeat(2,1fr)}.news-grid,.map-center-grid{grid-template-columns:repeat(2,1fr)}.permission-catalog{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.community-live-grid,.profile-detail-grid,.compare-grid,.news-grid,.map-center-grid{grid-template-columns:1fr}.leaderboard-home-grid,.profile-stat-grid{grid-template-columns:1fr}.leaderboard-filters{grid-template-columns:1fr}.public-leaderboard>header{display:none}.leaderboard-row{grid-template-columns:55px minmax(0,1fr) auto}.leaderboard-row>small{grid-column:2}.permission-catalog{grid-template-columns:1fr}.live-row{align-items:flex-start;flex-direction:column}.community-section,.leaderboard-home,.news-section,.faq-section{padding-block:50px}}

/* Rust Update Agent — manual full-run test */
.update-agent-actions { overflow: hidden; }
.update-agent-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line-soft); }
.update-agent-action-grid > article { min-height: 190px; padding: 24px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; background: var(--panel); }
.update-agent-action-grid strong { display: block; margin-bottom: 8px; font-size: 14px; }
.update-agent-action-grid p { max-width: 620px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.update-agent-action-grid small { display: block; margin-top: 10px; color: var(--muted-2); font-size: 9px; line-height: 1.6; }
.update-test-state { max-width: 620px; padding-left: 10px; border-left: 2px solid var(--line); }
.update-test-state.is-ready { border-left-color: var(--green); color: var(--green); }
.update-test-state.is-blocked { border-left-color: var(--yellow); color: #ffd172; }
.update-test-state strong { display: inline; margin: 0; font-size: inherit; }
.update-agent-action-grid form { flex: 0 0 auto; }
.update-test-action { background: linear-gradient(115deg, rgba(242,184,75,.07), var(--panel) 58%) !important; }
.button-warning { border-color: rgba(242,184,75,.38); background: rgba(242,184,75,.12); color: #ffd172; }
.button-warning:hover { border-color: rgba(242,184,75,.65); background: rgba(242,184,75,.18); }
.button:disabled { cursor: not-allowed; opacity: .38; transform: none; }
@media (max-width: 900px) {
  .update-agent-action-grid { grid-template-columns: 1fr; }
  .update-agent-action-grid > article { align-items: stretch; flex-direction: column; min-height: 0; }
  .update-agent-action-grid form, .update-agent-action-grid .button { width: 100%; }
}

.status-scheduled,.status-updating,.status-verifying { color: var(--yellow); }
.status-degraded { color: #ff9b72; }
.update-manifest-path { display: block; margin-top: 5px; color: var(--muted-2); font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }

/* Rust Update Agent 3.0.9 */
.update-runtime-auto{margin-top:16px;padding:14px 16px;border:1px solid rgba(85,231,165,.18);border-radius:9px;background:rgba(85,231,165,.035)}
.update-runtime-auto strong{display:block;margin-bottom:5px;color:var(--green);font-size:11px}
.update-runtime-auto p{margin:0;color:var(--muted);font-size:10px;line-height:1.65}
.update-runtime-auto code,.amp-credentials-body code{font-family:var(--mono);color:#d6e0e9}
.amp-credentials-box{margin-top:16px;border:1px solid var(--line);border-radius:10px;background:#0a1016;overflow:hidden}
.amp-credentials-box>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;cursor:pointer;list-style:none;font-weight:700}
.amp-credentials-box>summary::-webkit-details-marker{display:none}
.amp-credentials-box>summary small{color:var(--muted-2);font-size:9px;font-weight:500;text-align:right}
.amp-credentials-body{padding:0 17px 17px;border-top:1px solid var(--line)}
.amp-credentials-body>p{margin:14px 0;color:var(--muted);font-size:10px;line-height:1.65}
@media(max-width:720px){.amp-credentials-box>summary{align-items:flex-start;flex-direction:column}.amp-credentials-box>summary small{text-align:left}}

/* Game Hub 3.0.10 — polished content and panel-user forms */
.admin-panel-form {
  padding: 24px;
}
.admin-panel-form > .field,
.admin-panel-form > .form-grid {
  margin-bottom: 0;
}
.admin-panel-form-actions {
  margin-top: 2px;
  padding-top: 6px;
}
.admin-panel-form-actions .button {
  min-width: 190px;
}
.content-editor-form,
.user-create-form {
  gap: 20px;
}
.content-toggle-field {
  min-height: 69px;
  margin: 0;
}
.content-record-list {
  margin: 0;
  padding: 0 24px 24px;
}
.content-record-list > div {
  border: 1px solid var(--line-soft);
  border-radius: 8px;
}
.user-admin-table {
  min-width: 1120px;
}
.user-account-actions {
  min-width: 520px;
}
.user-account-form,
.user-password-form {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(130px, .8fr) auto auto;
  gap: 8px;
  align-items: center;
}
.user-password-form {
  grid-template-columns: minmax(220px, 1fr) auto;
  margin-top: 9px;
}
.user-account-form input,
.user-account-form select,
.user-password-form input {
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #0b1016;
  color: var(--text);
  font-size: 11px;
}
.user-account-form input:focus,
.user-account-form select:focus,
.user-password-form input:focus {
  outline: 0;
  border-color: #4a6357;
  box-shadow: 0 0 0 3px rgba(90,240,161,.05);
}
.user-active-check {
  min-height: 38px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--muted);
  background: #0b1016;
  font-size: 10px;
  white-space: nowrap;
}
.user-active-check input {
  width: auto;
  height: auto;
  margin: 0;
}
.user-account-form .button,
.user-password-form .button {
  min-height: 38px;
  white-space: nowrap;
}

@media (max-width: 780px) {
  .admin-panel-form {
    padding: 20px;
  }
  .admin-panel-form-actions,
  .admin-panel-form-actions .button {
    width: 100%;
  }
  .content-record-list {
    padding: 0 20px 20px;
  }
}

/* Game Hub 3.0.12 — non-blocking Rust update phases */
.update-job-phase {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 0.68rem;
    letter-spacing: 0.04em;
}
