:root {
  --bg: #0a0a08;
  --panel: #131310;
  --panel-2: #1a1a16;
  --ink: #f1f1e9;
  --muted: #9b9b91;
  --line: rgba(241, 241, 233, .14);
  --line-strong: rgba(241, 241, 233, .3);
  --acid: #e34f52;
  --online: #65d18a;
  --red: #ff6767;
  --max: 1420px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--bg);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body::selection { color: #090a07; background: var(--acid); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
[hidden] { display: none !important; }
.skip-link { position: fixed; left: 12px; top: -60px; z-index: 100; padding: 12px 18px; color: #090a07; background: var(--acid); }
.skip-link:focus { top: 12px; }

.site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 88px;
  padding: 0 clamp(22px, 4vw, 72px);
  border-bottom: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(180deg, rgba(6,6,5,.78), rgba(6,6,5,.1));
}
.site-header.app-header { position: relative; background: #0a0a08; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 188px; }
.brand img { width: 32px; height: 38px; object-fit: contain; }
.brand span { display: flex; flex-direction: column; line-height: 1; }
.brand b { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 25px; letter-spacing: .07em; font-weight: 400; }
.brand small { margin-top: 5px; color: #b8bec7; font-size: 9px; font-weight: 800; letter-spacing: .22em; }
.desktop-nav { display: flex; align-items: center; gap: clamp(20px, 3vw, 46px); }
.desktop-nav a { color: rgba(255,255,255,.7); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: color .2s ease; }
.desktop-nav a:hover { color: var(--ink); }
.header-login {
  padding: 13px 18px;
  border: 1px solid rgba(255,255,255,.35);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
  transition: .2s ease;
}
.header-login:hover { color: #fff; border-color: var(--acid); background: var(--acid); }
.button-reset { color: inherit; background: transparent; cursor: pointer; }

.hero { position: relative; min-height: min(930px, 100vh); overflow: hidden; background: #0b0b09; }
.hero-media {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, rgba(6,6,5,.92) 0%, rgba(6,6,5,.42) 38%, rgba(6,6,5,.14) 68%, rgba(6,6,5,.48) 100%),
    linear-gradient(0deg, #0a0a08 0%, transparent 32%, rgba(0,0,0,.14) 100%),
    url('/loading/bg1.png');
  background-position: center;
  background-size: cover;
  filter: saturate(.7) contrast(1.05);
  transform: scale(1.01);
}
.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .14;
  background: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(0,0,0,.45) 4px);
  pointer-events: none;
}
.hero-copy {
  position: relative;
  z-index: 2;
  width: min(670px, calc(100% - 44px));
  padding-top: clamp(180px, 25vh, 260px);
  margin-left: clamp(22px, 6vw, 104px);
}
.eyebrow { margin: 0 0 18px; color: var(--acid); font-size: 11px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.hero h1,
.section-intro h2,
.progress-copy h2,
.rules-callout h2,
.rules-hero h1,
.section-title-row h2 {
  margin: 0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-weight: 400;
  letter-spacing: .015em;
  text-transform: uppercase;
}
.hero h1 { font-size: clamp(74px, 10vw, 164px); line-height: .82; text-shadow: 0 8px 34px rgba(0,0,0,.6); }
.hero-punch { margin: 30px 0 0; font-size: clamp(22px, 2.3vw, 36px); font-weight: 900; letter-spacing: -.03em; }
.hero-lead { max-width: 620px; margin: 14px 0 0; color: rgba(255,255,255,.76); font-size: clamp(16px, 1.35vw, 20px); line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 54px; padding: 0 22px; border: 1px solid var(--line-strong); font-size: 12px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; border-color: var(--acid); background: #c83f42; }
.button-primary:hover { background: #e45a5d; }
.button-ghost { background: rgba(7,7,6,.48); backdrop-filter: blur(8px); }
.button-ghost:hover { border-color: var(--ink); background: rgba(7,7,6,.7); }
.button-light { color: #fff; border-color: rgba(255,255,255,.75); background: transparent; }
.button-light:hover { color: #111; background: #fff; }

.server-bar {
  position: absolute;
  z-index: 3;
  right: clamp(22px, 4vw, 72px);
  bottom: 34px;
  left: clamp(22px, 4vw, 72px);
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(120px, .45fr) minmax(250px, .9fr) auto;
  align-items: stretch;
  border: 1px solid rgba(255,255,255,.3);
  background: rgba(8,8,7,.78);
  backdrop-filter: blur(14px);
}
.server-state, .server-stat, .server-join { min-height: 82px; padding: 18px 22px; border-right: 1px solid var(--line); }
.server-state, .server-stat { display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.status { color: #f6cf7b; font-size: 12px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.status i { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #f6cf7b; box-shadow: 0 0 14px currentColor; }
.status.online { color: var(--online); }
.status.online i { background: var(--online); }
.status.offline { color: var(--red); }
.status.offline i { background: var(--red); }
.server-address, .server-stat span { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.server-stat strong { overflow: hidden; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.server-join { display: flex; align-items: center; gap: 28px; border-right: 0; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.server-join span { color: var(--acid); font-size: 22px; }
.server-join:hover { color: #fff; background: var(--acid); }
.server-join:hover span { color: #fff; }

.mechanics { max-width: var(--max); padding: 120px clamp(22px, 4vw, 72px); margin: 0 auto; }
.section-intro { display: grid; grid-template-columns: 1.2fr .8fr; column-gap: 7vw; align-items: end; margin-bottom: 55px; }
.section-intro .eyebrow { grid-column: 1 / -1; }
.section-intro h2, .progress-copy h2 { font-size: clamp(54px, 7vw, 105px); line-height: .88; }
.section-intro > p:last-child, .progress-copy > p { margin: 0 0 6px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.mechanic-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; }
.mechanic-card { grid-column: span 5; position: relative; overflow: hidden; min-height: 430px; border: 1px solid var(--line); background: var(--panel); }
.mechanic-card.mechanic-large { grid-column: span 7; }
.mechanic-card.mechanic-wide { grid-column: span 7; }
.mechanic-card.inventory-card { grid-column: span 8; min-height: 560px; }
.mechanic-card:last-child { grid-column: span 4; }
.mechanic-card img { width: 100%; height: auto; aspect-ratio: 46 / 13; object-fit: contain; background: #090a0c; filter: saturate(.78) contrast(1.06); transition: transform .45s ease, filter .45s ease; }
.mechanic-card:hover img { transform: scale(1.025); filter: saturate(1) contrast(1.02); }
.mechanic-large img, .mechanic-wide img { height: auto; }
.inventory-card img { height: auto; aspect-ratio: auto; object-position: top left; }
.mechanic-copy { padding: 25px 28px 30px; }
.mechanic-copy > span { color: var(--acid); font-size: 10px; font-weight: 900; letter-spacing: .15em; }
.mechanic-copy h3 { margin: 10px 0 9px; font-size: clamp(24px, 2.2vw, 38px); line-height: 1; letter-spacing: -.035em; }
.mechanic-copy p { max-width: 680px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.58; }

.progress-section { display: grid; grid-template-columns: 1fr 1fr; max-width: var(--max); padding: 120px clamp(22px, 4vw, 72px); margin: 0 auto; border-top: 1px solid var(--line); }
.progress-copy { padding-right: clamp(30px, 7vw, 120px); }
.progress-copy > p { margin-top: 30px; }
.text-link { display: inline-block; margin-top: 28px; padding-bottom: 6px; border-bottom: 2px solid var(--acid); font-size: 13px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.profile-preview { align-self: center; padding: clamp(28px, 4vw, 54px); border: 1px solid var(--line-strong); background: var(--panel); box-shadow: 18px 18px 0 #060605; }
.preview-head { display: flex; justify-content: space-between; margin-bottom: 62px; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .15em; }
.preview-head i { color: var(--acid); font-style: normal; }
.profile-preview > strong { font-size: 27px; }
.xp-track { height: 10px; margin: 18px 0 42px; background: #303029; }
.xp-track span { display: block; width: 64%; height: 100%; background: var(--acid); }
.preview-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.preview-grid div { min-height: 96px; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.preview-grid small, .dashboard-stat small { display: block; margin-bottom: 11px; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.preview-grid b { font-size: 14px; }

.news-section { max-width: var(--max); padding: 90px clamp(22px, 4vw, 72px) 120px; margin: 0 auto; border-top: 1px solid var(--line); }
.section-title-row h2 { font-size: clamp(52px, 6vw, 88px); }
.news-list { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 45px; border-top: 1px solid var(--line); }
.news-list article { min-height: 240px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.news-list article:first-child { border-left: 1px solid var(--line); }
.news-list time { color: var(--acid); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.news-list h3 { margin: 34px 0 12px; font-size: 25px; }
.news-list p { margin: 0; color: var(--muted); line-height: 1.6; }
.rules-callout { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding: clamp(45px, 7vw, 100px) max(clamp(22px, 7vw, 110px), calc((100vw - var(--max))/2 + 72px)); color: #fff; background: #b9343a; }
.rules-callout .eyebrow { color: #ffd1d3; }
.rules-callout h2 { max-width: 900px; font-size: clamp(46px, 6.4vw, 96px); line-height: .9; }
.rules-callout p:last-child { max-width: 720px; margin: 22px 0 0; font-size: 17px; line-height: 1.55; }

footer { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 140px; padding: 30px clamp(22px, 4vw, 72px); color: var(--muted); border-top: 1px solid var(--line); background: #070706; font-size: 12px; }
.brand-small { color: var(--ink); }
.brand-small b { font-size: 21px; }
footer > div { display: flex; gap: 24px; }
footer a:hover { color: var(--ink); }

/* Prelaunch */
.prelaunch-body { min-height: 100%; background: #080807; }
.prelaunch-header { position: absolute; }
.prelaunch-account, .signed-account { display: flex; align-items: center; gap: 12px; }
.signed-account img { width: 38px; height: 38px; border: 1px solid var(--line-strong); object-fit: cover; }
.signed-account span { display: flex; flex-direction: column; gap: 4px; max-width: 180px; }
.signed-account b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.signed-account small { color: var(--acid); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.prelaunch-shell { overflow: hidden; }
.prelaunch-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 390px); gap: clamp(40px, 8vw, 130px); align-items: end; min-height: min(850px, 100vh); padding: 170px max(clamp(22px, 7vw, 110px), calc((100vw - var(--max))/2 + 72px)) 90px; }
.prelaunch-hero-media { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(6,6,5,.9),rgba(6,6,5,.28) 60%,rgba(6,6,5,.7)),linear-gradient(0deg,#080807 0%,transparent 48%),url('/loading/bg1.png') center/cover no-repeat; filter: saturate(.55) contrast(1.1); }
.prelaunch-hero-media::after { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(227,79,82,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(227,79,82,.35) 1px,transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(90deg,#000,transparent 70%); }
.prelaunch-copy, .prelaunch-access { position: relative; z-index: 1; }
.prelaunch-copy { max-width: 820px; }
.prelaunch-copy h1, .polls-heading h2 { margin: 0; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-weight: 400; letter-spacing: .012em; text-transform: uppercase; }
.prelaunch-copy h1 { font-size: clamp(62px, 7.7vw, 124px); line-height: .86; }
.prelaunch-copy > p:not(.eyebrow):not(.launch-date) { max-width: 680px; margin: 25px 0 0; color: #c4c4ba; font-size: 18px; line-height: 1.65; }
.launch-countdown { display: grid; grid-template-columns: repeat(4, minmax(72px, 128px)); margin-top: 38px; border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); }
.launch-countdown div { padding: 17px 18px; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); background: rgba(8,8,7,.72); }
.launch-countdown strong { display: block; font-size: clamp(28px, 3vw, 44px); line-height: 1; }
.launch-countdown span { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.launch-date { margin: 13px 0 0; color: var(--muted); font-size: 11px; }
.prelaunch-access { padding: 30px; border: 1px solid rgba(255,255,255,.28); background: rgba(9,9,8,.82); backdrop-filter: blur(12px); }
.prelaunch-access > span { color: var(--acid); font-size: 9px; font-weight: 900; letter-spacing: .18em; }
.prelaunch-access > strong { display: block; margin-top: 32px; font-size: 28px; line-height: 1.05; text-transform: uppercase; }
.prelaunch-access > p { margin: 14px 0 28px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.prelaunch-access .button { width: 100%; }
.community-polls { max-width: var(--max); padding: 105px clamp(22px, 4vw, 72px) 130px; margin: 0 auto; }
.polls-heading { display: grid; grid-template-columns: 1fr minmax(280px, 480px); gap: 50px; align-items: end; padding-bottom: 45px; border-bottom: 1px solid var(--line); }
.polls-heading h2 { font-size: clamp(58px, 7vw, 100px); line-height: .86; }
.polls-heading > p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.poll-list { display: grid; gap: 18px; margin-top: 22px; }
.poll-empty { padding: 55px; color: var(--muted); border: 1px solid var(--line); background: var(--panel); text-align: center; }
.community-poll { padding: clamp(24px, 4vw, 44px); border: 1px solid var(--line); background: var(--panel); }
.poll-head { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: start; padding-bottom: 28px; }
.poll-state { color: var(--acid); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.poll-head h3 { max-width: 850px; margin: 11px 0 0; font-size: clamp(28px, 3.5vw, 50px); line-height: 1; letter-spacing: -.035em; }
.poll-head p { max-width: 800px; margin: 13px 0 0; color: var(--muted); line-height: 1.6; }
.poll-meta { min-width: 90px; padding-left: 25px; border-left: 1px solid var(--line); text-align: right; }
.poll-meta strong { display: block; font-size: 34px; }
.poll-meta span { color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.poll-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.poll-option { position: relative; display: grid; grid-template-columns: minmax(0, 210px) 1fr; min-height: 145px; overflow: hidden; border: 1px solid var(--line); background: #0d0d0b; cursor: pointer; transition: border-color .2s ease, transform .2s ease; }
.poll-option:hover { border-color: var(--line-strong); transform: translateY(-2px); }
.poll-option.selected { border-color: var(--acid); box-shadow: inset 0 0 0 1px var(--acid); }
.poll-option > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.poll-option:has(input:focus-visible) { outline: 2px solid var(--ink); outline-offset: 3px; }
.poll-option > img { width: 100%; height: 100%; min-height: 145px; object-fit: cover; background: #070706; }
.poll-option-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 21px; }
.poll-option-copy b { font-size: 20px; line-height: 1.15; }
.poll-result { display: block; height: 4px; margin-top: 18px; background: #303029; }
.poll-result i { display: block; height: 100%; background: var(--acid); }
.poll-option-copy small { margin-top: 7px; color: var(--muted); font-size: 10px; }
.poll-map-link { align-self: flex-start; margin-top: 15px; padding-bottom: 3px; color: var(--acid); border-bottom: 1px solid var(--acid); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.poll-submit { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; min-height: 50px; margin-top: 5px; color: #fff; border: 0; background: var(--acid); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.poll-submit:disabled { opacity: .55; cursor: wait; }
.poll-notice { grid-column: 1 / -1; min-height: 16px; margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.poll-closed .poll-option, .poll-scheduled .poll-option { cursor: default; }
.poll-closed .poll-option:hover, .poll-scheduled .poll-option:hover { transform: none; }
.prelaunch-footer > a:last-child { color: var(--acid); font-weight: 900; text-transform: uppercase; }

/* Rules */
.rules-shell { max-width: var(--max); padding: 75px clamp(22px, 4vw, 72px) 120px; margin: 0 auto; }
.rules-hero { display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: 40px; min-height: 420px; padding-bottom: 54px; }
.rules-hero .eyebrow { grid-column: 1 / -1; align-self: end; margin-bottom: -15px; }
.rules-hero h1 { font-size: clamp(72px, 9vw, 136px); line-height: .82; }
.rules-hero > p:not(.eyebrow) { align-self: center; max-width: 540px; margin: 20px 0 0; color: var(--muted); font-size: 18px; line-height: 1.65; }
.source-link { grid-column: 2; justify-self: start; margin-top: -40px; padding-bottom: 5px; border-bottom: 1px solid var(--acid); color: var(--acid); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.rules-toolbar { position: sticky; z-index: 8; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 18px 20px; border: 1px solid var(--line-strong); background: rgba(10,10,8,.94); backdrop-filter: blur(12px); }
.rule-search { display: flex; align-items: center; gap: 18px; flex: 1; }
.rule-search span, .rule-counter { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.rule-search input { width: min(100%, 620px); padding: 12px 0; color: var(--ink); border: 0; border-bottom: 1px solid var(--line-strong); outline: 0; background: transparent; font-size: 16px; }
.rule-search input:focus { border-color: var(--acid); }
.rules-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(30px, 5vw, 80px); padding-top: 54px; }
.rules-nav { position: sticky; top: 100px; align-self: start; display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.rules-nav a { display: grid; grid-template-columns: 32px 1fr; gap: 12px; padding: 15px 4px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 12px; line-height: 1.35; }
.rules-nav a span { color: var(--acid); font-size: 10px; }
.rules-nav a:hover { color: var(--ink); }
.rules-content { min-width: 0; }
.rule-section { padding: 0 0 88px; scroll-margin-top: 92px; }
.rule-section-heading { margin-bottom: 22px; padding-bottom: 22px; border-bottom: 3px solid var(--ink); }
.rule-section-heading span { color: var(--acid); font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.rule-section-heading h2 { max-width: 900px; margin: 9px 0 0; font-size: clamp(34px, 5vw, 68px); line-height: .98; letter-spacing: -.045em; }
.rule-subheading { margin: 50px 0 16px; padding: 16px 18px; color: #fff; background: var(--acid); font-size: 18px; text-transform: uppercase; }
.rule-card { display: grid; grid-template-columns: 76px 1fr; gap: 14px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.rule-code { color: var(--acid); font-family: Impact, Haettenschweiler, sans-serif; font-size: 25px; letter-spacing: .04em; }
.rule-card h3 { margin: 1px 0 9px; font-size: 20px; }
.rule-card p { max-width: 920px; margin: 0; color: #c2c2b9; font-size: 15px; line-height: 1.65; }
.rule-notes { margin-top: 17px; padding: 14px 17px; border-left: 3px solid var(--acid); background: rgba(227,79,82,.07); }
.rule-notes strong { display: block; margin-bottom: 7px; color: var(--acid); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.rule-notes p + p { margin-top: 7px; }
.empty-state { padding: 50px; color: var(--muted); border: 1px solid var(--line); }

/* Dashboard and admin */
.app-shell, .admin-shell, .document-shell { max-width: 1260px; min-height: 72vh; padding: 70px clamp(22px, 4vw, 64px) 110px; margin: 0 auto; }
.loading-state { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 430px; color: var(--muted); }
.loader-mark { display: grid; width: 66px; height: 66px; place-items: center; color: #fff; background: var(--acid); font-family: Impact, sans-serif; font-size: 32px; clip-path: polygon(50% 0, 94% 18%, 88% 76%, 50% 100%, 12% 76%, 6% 18%); }
.login-card, .error-card { max-width: 650px; padding: 42px; margin: 70px auto; border: 1px solid var(--line-strong); background: var(--panel); }
.login-card h1, .error-card h1 { margin: 0 0 16px; font-size: 42px; }
.login-card p, .error-card p { color: var(--muted); line-height: 1.6; }
.dashboard-hero { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; padding-bottom: 42px; border-bottom: 1px solid var(--line); }
.dashboard-avatar { width: 112px; height: 112px; border: 1px solid var(--line-strong); object-fit: cover; background: var(--panel); }
.dashboard-name h1 { margin: 4px 0 8px; font-size: clamp(38px, 6vw, 72px); line-height: .95; letter-spacing: -.05em; }
.dashboard-name p { margin: 0; color: var(--muted); }
.role-badge, .owner-badge { padding: 9px 12px; color: #fff; background: var(--acid); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.dashboard-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 34px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.dashboard-stat { min-height: 145px; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
.dashboard-stat b { font-size: clamp(20px, 2.6vw, 33px); }
.dashboard-panel { margin-top: 34px; padding: 30px; border: 1px solid var(--line); background: var(--panel); }
.dashboard-panel h2 { margin: 0 0 20px; }
.level-track { height: 12px; background: #303029; }
.level-track span { display: block; height: 100%; background: var(--acid); }
.level-caption { display: flex; justify-content: space-between; margin-top: 10px; color: var(--muted); font-size: 12px; }
.admin-link { color: var(--acid); font-weight: 900; text-transform: uppercase; }
.admin-top { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 36px; }
.admin-top h1 { margin: 0; font-size: clamp(48px, 8vw, 92px); line-height: .85; text-transform: uppercase; }
.admin-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 34px; }
.metric-card { padding: 25px; border: 1px solid var(--line); background: var(--panel); }
.metric-card small { color: var(--muted); font-size: 10px; letter-spacing: .12em; }
.metric-card strong { display: block; margin-top: 12px; font-size: 36px; }
.admin-section { margin-top: 22px; padding: 28px; border: 1px solid var(--line); background: var(--panel); }
.admin-section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.admin-section h2 { margin: 0; }
.admin-form { display: grid; grid-template-columns: minmax(160px, .6fr) minmax(250px, 1fr) auto; gap: 10px; }
.admin-form input, .admin-form textarea, .admin-form select, .admin-search { min-height: 46px; padding: 11px 13px; color: var(--ink); border: 1px solid var(--line-strong); outline: 0; background: #0d0d0b; }
.admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus, .admin-search:focus { border-color: var(--acid); }
.admin-form button, .small-button { padding: 0 17px; color: #fff; border: 0; background: var(--acid); font-size: 11px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.data-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table th, .data-table td { padding: 13px 10px; border-bottom: 1px solid var(--line); text-align: left; }
.data-table th { color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.data-table td { color: #d0d0c7; }
.danger-button { padding: 7px 10px; color: #ffcaca; border: 1px solid rgba(255,103,103,.4); background: transparent; cursor: pointer; }
.announcement-list { display: grid; gap: 10px; margin-top: 20px; }
.announcement-item { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 18px; border: 1px solid var(--line); }
.announcement-item h3 { margin: 0 0 7px; }
.announcement-item p { margin: 0; color: var(--muted); line-height: 1.5; }
.announcement-item time { color: var(--acid); font-size: 10px; }
.notice { margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.launch-mode { padding: 9px 11px; color: #fff; border: 1px solid var(--line-strong); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.launch-mode.mode-open { color: var(--online); border-color: rgba(101,209,138,.5); }
.launch-mode.mode-scheduled { color: #f6cf7b; border-color: rgba(246,207,123,.5); }
.launch-mode.mode-closed { color: var(--red); border-color: rgba(255,103,103,.5); }
.settings-form { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 24px; }
.admin-field { display: flex; flex-direction: column; gap: 7px; }
.admin-field > span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.admin-field input, .admin-field textarea, .admin-field select { width: 100%; min-height: 46px; padding: 11px 13px; color: var(--ink); border: 1px solid var(--line-strong); outline: 0; background: #0d0d0b; resize: vertical; }
.admin-field input:focus, .admin-field textarea:focus, .admin-field select:focus { border-color: var(--acid); }
.field-wide { grid-column: 1 / -1; }
.settings-form > .small-button { justify-self: start; min-height: 46px; }
.poll-admin-form { margin-top: 24px; padding: 24px; border: 1px solid var(--line); background: #0d0d0b; }
.poll-option-editors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.poll-option-editor { display: grid; gap: 8px; padding: 16px; border: 1px solid var(--line); background: var(--panel); }
.option-editor-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.poll-option-editor > input, .upload-field input { width: 100%; min-height: 42px; padding: 10px 12px; color: var(--ink); border: 1px solid var(--line-strong); outline: 0; background: #090908; }
.poll-option-editor > input:focus { border-color: var(--acid); }
.upload-field { display: grid; gap: 7px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.poll-form-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 16px; }
.poll-form-actions .small-button { min-height: 42px; }
.admin-poll-list { display: grid; gap: 10px; margin-top: 24px; }
.admin-poll-item { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 20px; border: 1px solid var(--line); }
.admin-poll-item h3 { margin: 7px 0; font-size: 22px; }
.admin-poll-item p { margin: 0; color: var(--muted); line-height: 1.5; }
.admin-poll-options { margin-top: 11px !important; font-size: 11px; }
.admin-poll-actions { display: flex; flex-wrap: wrap; align-content: flex-start; justify-content: flex-end; gap: 7px; max-width: 260px; }
.security-section > .danger-button { margin-top: 18px; }

/* Privacy / text pages */
.document-hero { max-width: 900px; padding: 40px 0 50px; }
.document-hero h1 { margin: 0; font-size: clamp(54px, 8vw, 96px); }
.document-hero > p:last-child { color: var(--muted); font-size: 18px; line-height: 1.6; }
.legal-copy { max-width: 900px; }
.legal-copy section { padding: 28px 0; border-top: 1px solid var(--line); }
.legal-copy h2 { margin: 0 0 13px; font-size: 25px; }
.legal-copy p, .legal-copy li { color: #c2c2b9; line-height: 1.7; }

@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .site-header { min-height: 74px; }
  .header-login { padding: 11px 13px; font-size: 9px; }
  .hero { min-height: 880px; }
  .hero-media { background-position: 57% center; }
  .hero-copy { padding-top: 160px; margin-left: 24px; }
  .server-bar { grid-template-columns: 1fr 1fr; right: 20px; bottom: 22px; left: 20px; }
  .server-state { grid-column: 1 / -1; }
  .server-map { border-right: 0; }
  .server-join { grid-column: 1 / -1; min-height: 58px; border-top: 1px solid var(--line); }
  .section-intro, .progress-section, .rules-hero { grid-template-columns: 1fr; }
  .section-intro > p:last-child { margin-top: 30px; }
  .mechanic-card, .mechanic-card.mechanic-large, .mechanic-card.mechanic-wide, .mechanic-card.inventory-card, .mechanic-card:last-child { grid-column: span 12; }
  .mechanic-card { min-height: 0; }
  .inventory-card img { height: auto; }
  .progress-section { gap: 55px; }
  .rules-callout { align-items: flex-start; flex-direction: column; }
  .rules-layout { grid-template-columns: 1fr; }
  .rules-nav { position: static; display: grid; grid-template-columns: 1fr 1fr; }
  .rules-hero .eyebrow, .source-link { grid-column: 1; }
  .source-link { margin-top: 0; }
  .dashboard-grid { grid-template-columns: 1fr 1fr; }
  .admin-form { grid-template-columns: 1fr; }
  .admin-form button { min-height: 46px; }
  .data-table { display: block; overflow-x: auto; }
  .prelaunch-hero { grid-template-columns: 1fr; min-height: 980px; padding-top: 150px; }
  .prelaunch-access { max-width: 520px; }
  .polls-heading { grid-template-columns: 1fr; gap: 22px; }
  .poll-options { grid-template-columns: 1fr; }
  .poll-option-editors { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .brand small { display: none; }
  .brand { min-width: 0; }
  .site-header { padding: 0 16px; }
  .hero h1 { font-size: 72px; }
  .hero-punch { font-size: 24px; }
  .hero-lead { font-size: 15px; }
  .hero-actions .button { width: 100%; }
  .server-map { display: none; }
  .server-bar { grid-template-columns: 1.25fr .75fr; }
  .mechanics, .progress-section, .news-section, .rules-shell { padding-right: 18px; padding-left: 18px; }
  .mechanics { padding-top: 80px; padding-bottom: 80px; }
  .mechanic-card img, .mechanic-large img, .mechanic-wide img { height: auto; }
  .mechanic-copy { padding: 21px; }
  .progress-section { padding-top: 80px; padding-bottom: 80px; }
  .profile-preview { padding: 24px; box-shadow: 8px 8px 0 #060605; }
  .preview-grid { grid-template-columns: 1fr; }
  .news-list { grid-template-columns: 1fr; }
  .news-list article, .news-list article:first-child { border-left: 1px solid var(--line); }
  .rules-toolbar { align-items: stretch; flex-direction: column; gap: 10px; }
  .rule-search { align-items: stretch; flex-direction: column; gap: 8px; }
  .rules-nav { grid-template-columns: 1fr; }
  .rule-card { grid-template-columns: 54px 1fr; }
  .dashboard-hero { grid-template-columns: auto 1fr; }
  .dashboard-hero .role-badge { grid-column: 1 / -1; justify-self: start; }
  .dashboard-avatar { width: 82px; height: 82px; }
  .dashboard-grid, .admin-metrics { grid-template-columns: 1fr; }
  .admin-top { align-items: flex-start; flex-direction: column; }
  footer { align-items: flex-start; flex-direction: column; }
  .prelaunch-account .signed-account { display: none; }
  .prelaunch-hero { min-height: 920px; padding: 130px 18px 55px; }
  .prelaunch-copy h1 { font-size: 54px; }
  .prelaunch-copy > p:not(.eyebrow):not(.launch-date) { font-size: 15px; }
  .launch-countdown { grid-template-columns: 1fr 1fr; }
  .community-polls { padding: 75px 18px 90px; }
  .poll-head { grid-template-columns: 1fr; }
  .poll-meta { padding: 0; border: 0; text-align: left; }
  .poll-option { grid-template-columns: 1fr; }
  .poll-option > img { height: auto; aspect-ratio: 16 / 9; }
  .settings-form { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .admin-poll-item { grid-template-columns: 1fr; }
  .admin-poll-actions { justify-content: flex-start; max-width: none; }
  .poll-form-actions { align-items: stretch; flex-direction: column; }
  .poll-form-actions button { min-height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Steam sign-in */
.login-body { min-height: 100vh; overflow: hidden; background: #070706; }
.login-backdrop { position: fixed; inset: -24px; background: linear-gradient(90deg,rgba(5,5,4,.94),rgba(5,5,4,.6) 50%,rgba(5,5,4,.88)),linear-gradient(0deg,rgba(7,7,6,.94),transparent 55%),url('/loading/bg1.png') center/cover no-repeat; filter: grayscale(.45) contrast(1.08); transform: scale(1.03); animation: login-drift 16s ease-in-out infinite alternate; }
.login-backdrop::before { content: ""; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(227,79,82,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(227,79,82,.32) 1px,transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg,#000,transparent 78%); }
.login-backdrop::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(0,0,0,.35) 4px); opacity: .22; }
.login-header { position: fixed; z-index: 5; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; height: 88px; padding: 0 clamp(22px,4vw,72px); border-bottom: 1px solid rgba(255,255,255,.14); background: linear-gradient(180deg,rgba(5,5,4,.8),transparent); }
.login-close { display: grid; width: 42px; height: 42px; place-items: center; color: #b7b7ad; border: 1px solid var(--line-strong); font-size: 25px; line-height: 1; transition: color .2s ease,border-color .2s ease,transform .2s ease; }
.login-close:hover { color: #fff; border-color: var(--acid); transform: rotate(4deg); }
.login-stage { position: relative; z-index: 2; display: grid; min-height: 100vh; padding: 118px 24px 70px; place-items: center; }
.auth-gate { position: relative; display: grid; grid-template-columns: minmax(360px,.95fr) minmax(420px,1.05fr); width: min(1080px,100%); min-height: 590px; overflow: hidden; border: 1px solid rgba(255,255,255,.28); background: rgba(10,10,8,.9); box-shadow: 0 35px 100px rgba(0,0,0,.55),12px 12px 0 rgba(227,79,82,.12); animation: gate-enter .75s cubic-bezier(.2,.75,.2,1) both; }
.auth-gate::before,.auth-gate::after { content: ""; position: absolute; z-index: 4; width: 54px; height: 54px; pointer-events: none; }
.auth-gate::before { top: -1px; left: -1px; border-top: 3px solid var(--acid); border-left: 3px solid var(--acid); }
.auth-gate::after { right: -1px; bottom: -1px; border-right: 3px solid var(--acid); border-bottom: 3px solid var(--acid); }
.auth-visual { position: relative; display: grid; overflow: hidden; min-height: 590px; isolation: isolate; border-right: 1px solid var(--line); background: linear-gradient(145deg,rgba(227,79,82,.11),transparent 42%),linear-gradient(180deg,#11110e,#090908); place-items: center; }
.auth-visual::before { content: ""; position: absolute; inset: 7%; z-index: -2; opacity: .055; background: url('/assets/sentinel-task-force.png') center/contain no-repeat; filter: blur(.3px); animation: auth-watermark 7s ease-in-out infinite alternate; }
.auth-visual::after { content: ""; position: absolute; top: -25%; bottom: -25%; left: 12%; z-index: 4; width: 2px; opacity: .75; background: linear-gradient(transparent,var(--acid),transparent); box-shadow: 0 0 28px rgba(227,79,82,.65); transform: rotate(13deg); animation: auth-beam 4.2s ease-in-out infinite; }
.auth-visual-index { position: absolute; top: 23px; left: 28px; color: rgba(255,255,255,.14); font-family: Impact,Haettenschweiler,sans-serif; font-size: 72px; line-height: 1; letter-spacing: .04em; }
.auth-slash { position: absolute; z-index: -1; width: 135px; height: 520px; background: linear-gradient(180deg,transparent,rgba(227,79,82,.42) 32%,rgba(227,79,82,.08) 74%,transparent); transform: rotate(17deg) skewY(-8deg); animation: auth-slash-float 5.5s ease-in-out infinite alternate; }
.auth-slash-one { left: 31%; }
.auth-slash-two { left: 53%; opacity: .3; animation-delay: -2.7s; }
.auth-brand-scene { position: relative; z-index: 2; display: flex; align-items: center; flex-direction: column; }
.auth-logo { position: relative; display: grid; width: 170px; height: 195px; place-items: center; filter: drop-shadow(0 0 34px rgba(227,79,82,.3)); animation: auth-breathe 2.8s ease-in-out infinite; }
.auth-logo img { width: 154px; max-height: 188px; object-fit: contain; }
.auth-brand-scene strong { margin-top: 14px; color: #f1f1e9; font-family: Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-size: 52px; font-weight: 400; line-height: .9; letter-spacing: .11em; text-indent: .11em; }
.auth-brand-scene small { margin-top: 11px; color: var(--acid); font-size: 9px; font-weight: 900; letter-spacing: .4em; text-indent: .4em; }
.auth-checkline { position: absolute; right: 28px; bottom: 28px; z-index: 5; color: #85857c; font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.auth-checkline i { display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 12px rgba(227,79,82,.7); animation: auth-blink 1.8s ease-in-out infinite; }
.auth-visual-label { position: absolute; bottom: 28px; left: 30px; z-index: 5; color: #7e7e75; font-size: 8px; font-weight: 900; letter-spacing: .16em; }
.auth-copy { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(42px,6vw,84px); }
.auth-copy::before { content: "AUTH / 01"; position: absolute; top: 28px; right: 30px; color: #5d5d57; font-size: 8px; font-weight: 900; letter-spacing: .18em; }
.auth-copy h1 { margin: 0; font-family: Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-size: clamp(72px,7vw,112px); font-weight: 400; line-height: .79; letter-spacing: .01em; text-transform: uppercase; }
.auth-copy > p:not(.eyebrow):not(.auth-error) { max-width: 430px; margin: 28px 0 0; color: #bdbdb4; font-size: 16px; line-height: 1.65; }
.auth-error { margin: 22px 0 0; padding: 13px 15px; color: #ffd1d1; border-left: 3px solid var(--acid); background: rgba(227,79,82,.1); font-size: 13px; line-height: 1.45; }
.auth-steam-button { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 15px; align-items: center; min-height: 62px; padding: 0 20px; margin-top: 34px; overflow: hidden; color: #fff; border: 1px solid var(--acid); background: #c83f42; font-size: 12px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; transition: transform .2s ease,background .2s ease,box-shadow .2s ease; }
.auth-steam-button::before { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg,transparent 25%,rgba(255,255,255,.22) 48%,transparent 70%); transform: translateX(-120%); transition: transform .55s ease; }
.auth-steam-button:hover { background: #e0585b; box-shadow: 0 12px 32px rgba(227,79,82,.2); transform: translateY(-2px); }
.auth-steam-button:hover::before { transform: translateX(120%); }
.steam-mark { position: relative; z-index: 1; display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; font-size: 13px; }
.auth-steam-button > span { position: relative; z-index: 1; }
.auth-arrow { font-size: 22px; }
.auth-route { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 24px; border-top: 1px solid var(--line); }
.auth-route span { padding-top: 12px; color: #77776f; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.auth-route i { margin-right: 5px; color: var(--acid); font-style: normal; }
.login-footnote { position: fixed; z-index: 4; right: clamp(22px,4vw,72px); bottom: 20px; margin: 0; color: #77776f; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.auth-leaving .auth-logo { animation: auth-confirm .62s cubic-bezier(.2,.8,.2,1) both; }
.auth-leaving .auth-steam-button { pointer-events: none; animation: button-confirm .62s ease both; }
.auth-is-ready .auth-checkline i { background: var(--online); box-shadow: 0 0 12px rgba(101,209,138,.7); }
.auth-is-ready .auth-brand-scene small { color: var(--online); }

@keyframes gate-enter { from { opacity: 0; clip-path: inset(48% 0 48% 0); transform: translateY(18px); } to { opacity: 1; clip-path: inset(0 0 0 0); transform: translateY(0); } }
@keyframes login-drift { from { transform: scale(1.03) translate3d(-.6%,0,0); } to { transform: scale(1.06) translate3d(.6%,-.4%,0); } }
@keyframes auth-watermark { from { transform: scale(.94) translateY(5px); } to { transform: scale(1.02) translateY(-5px); } }
@keyframes auth-beam { 0%,12% { left: 4%; opacity: 0; } 25% { opacity: .7; } 76% { opacity: .7; } 92%,100% { left: 96%; opacity: 0; } }
@keyframes auth-slash-float { from { transform: translateY(-12px) rotate(17deg) skewY(-8deg); } to { transform: translateY(12px) rotate(17deg) skewY(-8deg); } }
@keyframes auth-breathe { 0%,100% { transform: scale(.98); filter: drop-shadow(0 0 18px rgba(227,79,82,.18)); } 50% { transform: scale(1.025); filter: drop-shadow(0 0 40px rgba(227,79,82,.4)); } }
@keyframes auth-blink { 0%,100% { opacity: .2; } 50% { opacity: 1; } }
@keyframes auth-confirm { 0% { transform: scale(1); } 55% { transform: scale(.88); } 100% { transform: scale(1.08); } }
@keyframes button-confirm { 50% { box-shadow: 0 0 0 10px rgba(227,79,82,.1); } }

@media (max-width: 820px) {
  .login-body { overflow: auto; }
  .login-stage { padding: 105px 16px 60px; }
  .auth-gate { grid-template-columns: 1fr; min-height: 0; }
  .auth-visual { min-height: 280px; border-right: 0; border-bottom: 1px solid var(--line); }
  .auth-visual::before { inset: 13%; }
  .auth-visual-index { top: 16px; left: 18px; font-size: 48px; }
  .auth-slash { width: 80px; height: 300px; }
  .auth-logo { width: 82px; height: 96px; }
  .auth-logo img { width: 74px; max-height: 94px; }
  .auth-brand-scene strong { margin-top: 7px; font-size: 30px; }
  .auth-brand-scene small { margin-top: 7px; font-size: 7px; }
  .auth-checkline { right: 17px; bottom: 17px; }
  .auth-visual-label { bottom: 17px; left: 18px; }
  .auth-copy { padding: 42px 28px 36px; }
  .auth-copy::before { top: 18px; right: 20px; }
  .auth-copy h1 { font-size: 72px; }
  .login-footnote { position: relative; right: auto; bottom: auto; z-index: 2; padding: 0 20px 24px; text-align: center; }
}

@media (max-width: 460px) {
  .login-header { height: 76px; padding: 0 16px; }
  .login-stage { padding-top: 92px; }
  .auth-copy { padding: 39px 21px 28px; }
  .auth-copy h1 { font-size: 62px; }
  .auth-route { grid-template-columns: 1fr; gap: 8px; }
  .auth-route span { padding-top: 8px; }
  .auth-steam-button { font-size: 10px; }
}
