:root {
  color-scheme: dark;
  --bg: #061009;
  --bg-deep: #020704;
  --surface: #0d1d11;
  --surface-raised: #122719;
  --surface-soft: rgba(225,255,213,.055);
  --line: rgba(213,255,194,.13);
  --line-strong: rgba(158,233,110,.38);
  --text: #f4ffef;
  --muted: #aebda9;
  --green: #9ee96e;
  --green-bright: #c5ff9e;
  --green-dark: #173c21;
  --warm: #ffbd7a;
  --shadow: 0 24px 80px rgba(0,0,0,.34);
  --radius: 24px;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--text);
  background: radial-gradient(circle at 10% 8%,rgba(87,178,62,.12),transparent 32rem),linear-gradient(180deg,#08130b,var(--bg-deep));
  font-family: Inter, Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
::selection { color: #07110a; background: var(--green); }
:focus-visible { outline: 3px solid var(--green-bright); outline-offset: 4px; }
.skip-link { position:fixed; top:10px; left:10px; z-index:1000; padding:10px 14px; border-radius:10px; color:var(--bg); background:var(--green); transform:translateY(-160%); transition:transform .2s ease; }
.skip-link:focus { transform:none; }

.site-header {
  position:fixed; top:16px; left:50%; z-index:100; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:22px;
  width:min(calc(100% - 32px),var(--max)); min-height:68px; padding:9px 10px 9px 13px;
  border:1px solid var(--line); border-radius:22px; background:rgba(5,15,8,.82);
  box-shadow:0 14px 45px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(18px) saturate(125%); transform:translateX(-50%);
}
.brand { display:inline-flex; align-items:center; gap:11px; min-width:max-content; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(158,233,110,.28); border-radius:14px; background:linear-gradient(145deg,rgba(158,233,110,.16),rgba(61,120,50,.06)); }
.frog-logo { width:34px; height:34px; filter:drop-shadow(0 5px 8px rgba(0,0,0,.25)); }
.brand-copy { font-size:16px; font-weight:900; letter-spacing:.18em; line-height:1; text-transform:uppercase; }
.brand-copy small { display:block; margin-top:6px; color:var(--green); font-size:9px; letter-spacing:.16em; }
.site-nav { display:flex; align-items:center; justify-content:center; gap:3px; }
.nav-link { position:relative; padding:11px 13px; border-radius:11px; color:var(--muted); font-size:13px; font-weight:700; text-decoration:none; transition:color .2s,background .2s; }
.nav-link:hover { color:var(--text); background:var(--surface-soft); }
.nav-link.active { color:var(--text); background:rgba(158,233,110,.1); }
.nav-link.active::after { content:""; position:absolute; right:13px; bottom:5px; left:13px; height:2px; border-radius:2px; background:var(--green); box-shadow:0 0 10px rgba(158,233,110,.55); }
.header-actions { display:flex; align-items:center; gap:8px; }
.donate-link,.primary-button,.secondary-button,.copy-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:0 18px; border:0; border-radius:14px; color:#09180c; background:var(--green); box-shadow:0 12px 30px rgba(87,183,51,.15); font-size:13px; font-weight:850; text-decoration:none; cursor:pointer; transition:transform .2s,background .2s,border-color .2s,box-shadow .2s; }
.donate-link:hover,.primary-button:hover,.copy-button:hover { background:var(--green-bright); transform:translateY(-1px); box-shadow:0 15px 34px rgba(87,183,51,.22); }
.donate-link:active,.primary-button:active,.secondary-button:active { transform:translateY(1px); }
.secondary-button { border:1px solid var(--line); color:var(--text); background:rgba(255,255,255,.045); box-shadow:none; }
.secondary-button:hover { border-color:var(--line-strong); background:rgba(158,233,110,.09); }
.button-icon { width:18px; height:18px; }
.menu-button { display:none; width:46px; height:46px; padding:0; border:1px solid var(--line); border-radius:14px; color:var(--text); background:var(--surface-soft); cursor:pointer; }
.menu-button span { display:block; width:20px; height:2px; margin:5px auto; border-radius:2px; background:currentColor; transition:.22s ease; }
.site-header.menu-open .menu-button span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.site-header.menu-open .menu-button span:nth-child(2) { opacity:0; }
.site-header.menu-open .menu-button span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.menu-overlay { position:fixed; inset:0; z-index:90; visibility:hidden; opacity:0; background:rgba(1,5,2,.76); backdrop-filter:blur(5px); transition:.22s; }
.menu-overlay.open { visibility:visible; opacity:1; }

/* Home */
.home-hero { position:relative; isolation:isolate; display:flex; min-height:100vh; min-height:100svh; overflow:hidden; background:#08130b; }
.hero-background { position:absolute; inset:-3%; z-index:-4; width:106%; max-width:none; height:106%; object-fit:cover; object-position:center; animation:hero-breathe 18s ease-in-out infinite alternate; }
.hero-shade { position:absolute; inset:0; z-index:-3; background:radial-gradient(circle at 76% 36%,rgba(146,255,91,.16),transparent 28%),linear-gradient(90deg,rgba(3,12,6,.96) 0%,rgba(5,17,8,.82) 48%,rgba(4,12,6,.25) 100%),linear-gradient(180deg,rgba(2,8,4,.35),transparent 42%,rgba(2,9,4,.9)); }
.hero-grid,.page-grid { position:absolute; inset:0; z-index:-2; opacity:.1; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(90deg,#000,transparent 82%); }
.home-inner { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); align-items:end; gap:clamp(38px,7vw,100px); width:min(calc(100% - 48px),var(--max)); margin:auto; padding:150px 0 100px; }
.hero-content { align-self:center; max-width:780px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; padding:9px 13px; border:1px solid var(--line); border-radius:999px; color:#dfffd0; background:rgba(226,255,213,.07); font-size:11px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; backdrop-filter:blur(10px); }
.live-dot { position:relative; width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 12px var(--green); }
.live-dot::after { content:""; position:absolute; inset:-4px; border:1px solid var(--green); border-radius:inherit; animation:ping 1.8s ease-out infinite; }
.hero-title { max-width:760px; margin:24px 0; font-size:clamp(4rem,8.8vw,7.8rem); font-weight:900; letter-spacing:-.065em; line-height:.86; text-transform:uppercase; text-wrap:balance; text-shadow:0 16px 50px rgba(0,0,0,.3); }
.hero-title span { display:block; color:var(--green); }
.hero-lead { max-width:620px; margin:0; color:rgba(240,255,233,.76); font-size:clamp(16px,1.4vw,19px); line-height:1.72; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero-actions .primary-button,.hero-actions .secondary-button { min-height:56px; padding:0 22px; border-radius:16px; }
.ip-button > span { display:grid; line-height:1.15; text-align:left; }
.ip-button small { color:rgba(5,20,8,.65); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.server-passport { position:relative; overflow:hidden; padding:26px; border:1px solid rgba(207,255,184,.2); border-radius:24px; background:linear-gradient(150deg,rgba(18,40,23,.8),rgba(5,16,8,.72)); box-shadow:var(--shadow); backdrop-filter:blur(16px); }
.server-passport::before { content:""; position:absolute; top:-70px; right:-55px; width:170px; height:170px; border-radius:50%; background:rgba(158,233,110,.11); filter:blur(8px); }
.passport-top { display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.passport-state { display:flex; align-items:center; gap:7px; color:#dfffd0; }
.passport-state i { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 10px var(--green); }
.passport-address { display:block; margin:24px 0 22px; font-size:clamp(1.8rem,3vw,2.8rem); letter-spacing:-.05em; line-height:1; overflow-wrap:anywhere; }
.passport-grid { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); }
.passport-grid div { padding:16px 10px; border-right:1px solid var(--line); }
.passport-grid div:first-child { padding-left:0; }.passport-grid div:last-child { border:0; padding-right:0; }
.passport-grid span,.passport-grid strong { display:block; }
.passport-grid span { color:var(--muted); font-size:10px; }.passport-grid strong { margin-top:3px; font-size:13px; }
.passport-link { display:flex; justify-content:space-between; margin-top:20px; color:var(--green); font-size:13px; font-weight:800; text-decoration:none; }
.scroll-cue { position:absolute; bottom:22px; left:50%; display:flex; align-items:center; gap:12px; color:rgba(235,255,227,.62); font-size:10px; font-weight:800; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; transform:translateX(-50%); }
.scroll-cue i { width:6px; height:6px; border-right:1px solid var(--green); border-bottom:1px solid var(--green); transform:rotate(45deg); }
.home-section { padding:110px 0; }
.section-shell { width:min(calc(100% - 40px),var(--max)); margin:0 auto; }
.feature-section { background:radial-gradient(circle at 80% 10%,rgba(158,233,110,.075),transparent 28rem); }
.section-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); align-items:end; gap:50px; margin-bottom:50px; }
.section-kicker { color:var(--green); font-size:11px; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.section-heading h2,.community-banner h2 { margin:12px 0 0; font-size:clamp(2.5rem,6vw,5.6rem); letter-spacing:-.06em; line-height:.92; text-transform:uppercase; }
.section-heading h2 span { color:var(--green); }
.section-heading p,.community-banner p { margin:0; color:var(--muted); font-size:17px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.feature-card { position:relative; min-height:310px; padding:30px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg,rgba(18,38,23,.78),rgba(7,18,10,.76)); }
.feature-card::after { content:""; position:absolute; right:-40px; bottom:-60px; width:150px; height:150px; border-radius:50%; background:rgba(158,233,110,.06); }
.feature-index { position:absolute; top:26px; right:27px; color:rgba(225,255,213,.25); font-size:12px; font-weight:900; letter-spacing:.12em; }
.info-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:48px; border:1px solid rgba(158,233,110,.23); border-radius:15px; color:var(--green); background:rgba(158,233,110,.07); }
.info-icon svg { width:22px; height:22px; }
.feature-card h3,.info-card h2 { margin:0 0 10px; font-size:22px; letter-spacing:-.03em; }
.feature-card p,.info-card p { margin:0; color:var(--muted); font-size:15px; }
.community-section { padding-top:30px; }
.community-banner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; padding:clamp(28px,5vw,52px); overflow:hidden; border:1px solid var(--line-strong); border-radius:30px; background:radial-gradient(circle at 10% 0%,rgba(158,233,110,.16),transparent 25rem),linear-gradient(145deg,#122719,#09160c); box-shadow:var(--shadow); }
.community-banner h2 { font-size:clamp(2rem,4.5vw,4rem); }
.community-banner p { margin-top:12px; }
.community-orb { display:grid; place-items:center; width:82px; height:82px; border:1px solid var(--line-strong); border-radius:25px; background:rgba(158,233,110,.1); }
.community-orb .frog-logo { width:54px; height:54px; }
.community-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }

/* Inner pages */
.inner-page { padding-top:100px; }
.page-hero { position:relative; isolation:isolate; overflow:hidden; border-bottom:1px solid var(--line); }
.page-hero::before { content:""; position:absolute; inset:0; z-index:-3; opacity:.2; background:url("../images/frogly-bg.jpg") center 55%/cover no-repeat; }
.page-hero::after { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(4,13,7,.97),rgba(5,16,8,.76)),linear-gradient(180deg,transparent,var(--bg)); }
.page-hero-inner { width:min(calc(100% - 40px),var(--max)); margin:0 auto; padding:64px 0 58px; }
.page-kicker { color:var(--green); font-size:11px; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.page-title { max-width:980px; margin:13px 0 16px; font-size:clamp(3rem,7vw,5.8rem); font-weight:900; letter-spacing:-.06em; line-height:.92; text-transform:uppercase; }
.page-description { max-width:720px; margin:0; color:var(--muted); font-size:clamp(16px,1.5vw,18px); }
.content-shell { width:min(calc(100% - 40px),var(--max)); margin:0 auto; }

/* Server */
.server-main { padding:50px 0 100px; }
.server-dashboard { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr); overflow:hidden; border:1px solid var(--line-strong); border-radius:28px; background:linear-gradient(145deg,rgba(18,39,23,.93),rgba(7,18,10,.9)); box-shadow:var(--shadow); }
.server-connect { padding:clamp(28px,5vw,52px); }
.server-address-label,.panel-label { color:var(--muted); font-size:11px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.server-address { margin:14px 0 12px; font-size:clamp(2.5rem,6vw,5rem); font-weight:900; letter-spacing:-.065em; line-height:1; overflow-wrap:anywhere; }
.server-summary { max-width:650px; margin:0; color:var(--muted); }
.server-buttons { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.status-card { display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:clamp(28px,4vw,42px); border-left:1px solid var(--line); background:rgba(158,233,110,.045); }
.status-line { display:flex; align-items:center; gap:10px; }
.status-indicator { width:11px; height:11px; border-radius:50%; color:#a5b1a2; background:currentColor; box-shadow:0 0 14px currentColor; }
.status-indicator.online { color:var(--green); }.status-indicator.offline { color:#ff796f; }
.status-text { font-size:14px; font-weight:800; }
.status-players { margin:34px 0; }
.online-value { display:block; font-size:clamp(4rem,7vw,6.4rem); font-weight:900; letter-spacing:-.075em; line-height:.82; }
.online-max { color:#778674; font-size:.35em; letter-spacing:-.03em; }
.players-label { display:block; margin-top:12px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.status-caption { margin:0; color:var(--muted); font-size:13px; }
.server-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:20px; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--line); }
.panel { position:relative; padding:clamp(24px,4vw,38px); background:linear-gradient(145deg,rgba(17,36,21,.9),rgba(8,19,11,.9)); }
.info-card { min-height:210px; }
.info-card .info-icon { margin-bottom:30px; }
.community-panel { display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; margin-top:20px; overflow:hidden; border:1px solid var(--line); border-radius:24px; }
.community-panel h2 { margin:8px 0 9px; font-size:clamp(1.8rem,4vw,3.2rem); letter-spacing:-.045em; }
.community-panel p { max-width:650px; margin:0; color:var(--muted); }

/* Rules */
.rules-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:52px; align-items:start; padding:54px 0 100px; }
.rules-nav { position:sticky; top:108px; padding:16px; border:1px solid var(--line); border-radius:20px; background:rgba(11,27,15,.9); box-shadow:0 18px 50px rgba(0,0,0,.22); }
.rules-nav-title { margin:0 0 12px; padding:0 9px; color:var(--muted); font-size:10px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.rules-nav a { display:block; padding:12px 13px; border-radius:11px; color:var(--muted); font-size:13px; font-weight:750; line-height:1.45; text-decoration:none; transition:.2s; }
.rules-nav a:hover,.rules-nav a.active { color:var(--text); background:rgba(158,233,110,.1); }
.rules-nav a.active { box-shadow:inset 3px 0 var(--green); }
.rules-note { margin-top:14px; padding:14px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.6; }
.rules-content { min-width:0; }
.rule-category { scroll-margin-top:125px; margin-bottom:64px; }
.category-heading { display:flex; align-items:flex-end; gap:16px; margin-bottom:20px; }
.category-number { color:var(--green); font-size:clamp(2.4rem,5vw,4.2rem); font-weight:900; letter-spacing:-.07em; line-height:.8; }
.category-heading h2 { margin:0; font-size:clamp(1.5rem,3vw,2.2rem); letter-spacing:-.03em; }
.rule-list { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:rgba(11,27,15,.72); }
.rule-card { display:grid; grid-template-columns:64px minmax(0,1fr); gap:18px; padding:24px; border-bottom:1px solid var(--line); }
.rule-card:last-child { border-bottom:0; }
.rule-number { display:grid; place-items:center; align-self:start; min-height:40px; border:1px solid rgba(158,233,110,.24); border-radius:11px; color:var(--green); background:rgba(158,233,110,.07); font-size:13px; font-weight:900; }
.rule-copy p { max-width:800px; margin:0; color:#dce8d8; font-size:16px; line-height:1.72; }
.punishment { margin-top:13px; color:#ffd0a1; font-size:13px; font-weight:750; line-height:1.55; }

.site-footer { margin-top:0; border-top:1px solid var(--line); background:rgba(2,8,4,.65); }
.footer-inner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; width:min(calc(100% - 40px),var(--max)); margin:0 auto; padding:34px 0; color:var(--muted); font-size:13px; }
.footer-brand { color:var(--text); font-weight:900; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }.footer-brand span { color:var(--green); font-size:10px; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px; }.footer-links a { text-decoration:none; }.footer-links a:hover { color:var(--green); }

.reveal { opacity:1; transform:none; }
.js-ready .reveal { opacity:0; transform:translateY(16px); transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1); }
.js-ready .reveal.visible { opacity:1; transform:none; }
.toast { position:fixed; right:20px; bottom:20px; z-index:200; padding:13px 17px; border:1px solid var(--line-strong); border-radius:14px; color:var(--text); background:rgba(9,24,13,.96); box-shadow:var(--shadow); font-size:13px; font-weight:800; opacity:0; transform:translateY(16px); pointer-events:none; transition:.25s; }.toast.show { opacity:1; transform:none; }
.error-page { display:grid; place-items:center; min-height:100svh; padding:24px; text-align:center; background:linear-gradient(rgba(2,8,4,.65),rgba(2,8,4,.93)),url("../images/frogly-bg.jpg") center/cover; }
.error-card { width:min(100%,640px); padding:clamp(34px,7vw,72px); border:1px solid var(--line-strong); border-radius:28px; background:rgba(8,22,12,.88); box-shadow:var(--shadow); backdrop-filter:blur(18px); }.error-code { margin:0; color:var(--green); font-size:clamp(5rem,22vw,10rem); font-weight:900; letter-spacing:-.09em; line-height:.75; }.error-card h1 { margin:30px 0 10px; font-size:clamp(1.8rem,6vw,2.8rem); letter-spacing:-.05em; }.error-card p { margin:0 0 28px; color:var(--muted); }

@keyframes hero-breathe { from { transform:scale(1); } to { transform:scale(1.025); } }
@keyframes ping { from { opacity:.8; transform:scale(.5); } to { opacity:0; transform:scale(2); } }

@media (max-width:980px) {
  .site-header { grid-template-columns:1fr auto; }
  .site-nav { position:absolute; top:calc(100% + 10px); right:0; left:0; display:grid; gap:5px; padding:14px; border:1px solid var(--line); border-radius:20px; background:rgba(5,16,8,.98); box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.22s; }
  .site-header.menu-open .site-nav { opacity:1; visibility:visible; transform:none; }
  .nav-link { padding:14px; }.nav-link.active::after { right:auto; width:38px; }
  .header-actions { grid-column:2; grid-row:1; }.menu-button { display:block; }
  .home-inner { grid-template-columns:1fr; align-items:center; gap:38px; padding-bottom:90px; }
  .hero-content { margin-top:20px; }.server-passport { max-width:620px; }
  .scroll-cue { display:none; }
  .rules-layout { grid-template-columns:1fr; gap:30px; }.rules-nav { position:relative; top:0; display:grid; grid-template-columns:repeat(2,1fr); }.rules-nav-title,.rules-note { grid-column:1/-1; }
  .server-dashboard { grid-template-columns:1fr; }.status-card { border-top:1px solid var(--line); border-left:0; }
  .footer-inner { grid-template-columns:1fr auto; }.footer-inner > span { grid-column:1/-1; grid-row:2; }
}

@media (max-width:720px) {
  .site-header { top:10px; width:calc(100% - 20px); min-height:64px; padding:8px 9px 8px 11px; border-radius:19px; }.brand-mark { width:46px; height:46px; }.brand-copy { font-size:14px; }.donate-link { width:46px; min-height:46px; padding:0; }.donate-link span { display:none; }
  .inner-page { padding-top:82px; }.home-hero { min-height:auto; }.home-inner { width:calc(100% - 32px); padding:124px 0 60px; }.hero-background { animation:none; object-position:62% center; }.hero-title { font-size:clamp(3.4rem,16vw,5.6rem); line-height:.88; }.hero-shade { background:linear-gradient(90deg,rgba(3,12,6,.92),rgba(4,14,7,.5)),linear-gradient(180deg,rgba(2,8,4,.3),transparent 30%,rgba(2,9,4,.94)); }
  .passport-grid { grid-template-columns:1fr; }.passport-grid div { padding:12px 0; border-right:0; border-bottom:1px solid var(--line); }.passport-grid div:last-child { border-bottom:0; }
  .home-section { padding:72px 0; }.section-heading { grid-template-columns:1fr; gap:22px; margin-bottom:32px; }.section-heading h2 { font-size:clamp(2.5rem,12vw,4.2rem); }.feature-grid { grid-template-columns:1fr; }.feature-card { min-height:0; }.community-section { padding-top:0; }.community-banner { grid-template-columns:1fr; }.community-orb { width:68px; height:68px; }.community-actions { justify-content:flex-start; }
  .page-hero-inner { padding:50px 0 48px; }.page-title { font-size:clamp(2.8rem,13vw,4.5rem); }
  .server-main { padding:34px 0 70px; }.server-grid { grid-template-columns:1fr; }.info-card { min-height:0; }.community-panel { grid-template-columns:1fr; }.community-actions { justify-content:flex-start; }
  .rules-layout { padding:34px 0 70px; }.rules-nav { display:flex; overflow-x:auto; padding:10px; scroll-snap-type:x mandatory; scrollbar-width:thin; }.rules-nav-title,.rules-note { display:none; }.rules-nav a { flex:0 0 auto; scroll-snap-align:start; }.rule-category { margin-bottom:52px; }.rule-card { grid-template-columns:1fr; gap:13px; padding:20px; }.rule-number { width:58px; }.rule-copy p { font-size:15px; }
  .footer-inner { display:flex; align-items:flex-start; flex-direction:column; }.footer-links { justify-content:flex-start; }
}

@media (max-width:440px) {
  .brand-copy small { display:none; }.hero-actions,.server-buttons,.community-actions { display:grid; }.hero-actions > *,.server-buttons > *,.community-actions > * { width:100%; }.page-hero-inner,.content-shell,.section-shell { width:calc(100% - 28px); }.server-connect,.status-card,.panel { padding:22px; }.server-dashboard,.community-panel { border-radius:20px; }
}

@media (max-height:700px) and (min-width:721px) { .home-inner { padding-top:120px; padding-bottom:70px; }.hero-title { font-size:clamp(3.6rem,8vw,6rem); }.scroll-cue { display:none; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }.js-ready .reveal { opacity:1; transform:none; } }
@media print { :root { color-scheme:light; }.site-header,.menu-overlay,.page-hero,.rules-nav,.site-footer,.toast { display:none!important; } body { color:#111; background:#fff; font-size:11pt; }.inner-page { padding:0; }.rules-layout { display:block; padding:0; }.rule-category { break-inside:avoid; margin-bottom:26px; }.rule-list { border-color:#bbb; background:#fff; }.rule-card { break-inside:avoid; border-color:#ddd; }.rule-copy p { color:#111; }.punishment { color:#7a3d00; } }
