:root {
  --bg: #050606;
  --bg-soft: #0d0e0e;
  --panel: #111313;
  --panel-2: #171919;
  --line: #252828;
  --line-strong: #363a3a;
  --text: #f4f5f4;
  --muted: #989d9c;
  --dim: #5f6463;
  --red: #ff3b3b;
  --green: #00e887;
  --orange: #ff9d32;
  --max: 1580px;
  --font-display: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
::selection { background: var(--text); color: var(--bg); }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 999; padding: .8rem 1rem; background: #fff; color: #000; }
.skip-link:focus { top: 1rem; }

.grid-bg {
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 200px 200px;
}

.alert-bar {
  min-height: 34px;
  padding: .45rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,.1);
  text-align: center;
  color: #dce1df;
  background: #111;
  font: 700 .72rem/1.4 var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.alert-bar.alert-green { box-shadow: inset 0 2px 0 rgba(0,232,135,.45); }
.alert-bar.alert-orange { box-shadow: inset 0 2px 0 rgba(255,157,50,.75); }
.alert-bar.alert-red { box-shadow: inset 0 2px 0 rgba(255,59,59,.8); }
.alert-pulse { display: inline-block; width: 7px; height: 7px; margin-right: .55rem; border-radius: 50%; background: var(--green); box-shadow: 0 0 14px var(--green); }
.alert-orange .alert-pulse { background: var(--orange); box-shadow: 0 0 14px var(--orange); }
.alert-red .alert-pulse { background: var(--red); box-shadow: 0 0 14px var(--red); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--line);
  background: rgba(3,4,4,.96);
  backdrop-filter: blur(14px);
}
.nav-shell { width: min(var(--max), calc(100% - 48px)); height: 88px; margin: 0 auto; display: flex; align-items: center; gap: 2rem; }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; gap: .85rem; }
.brand-logo { width: 52px; height: 52px; flex: 0 0 auto; border: 1px solid #4d5251; border-radius: 50%; object-fit: cover; filter: grayscale(1) contrast(1.16); }
.brand-copy { display: flex; flex-direction: column; }
.brand-copy strong { font: 900 1.35rem/1 var(--font-display); letter-spacing: .2em; }
.brand-copy small { margin-top: .45rem; color: var(--dim); font: 700 .58rem/1 var(--font-mono); letter-spacing: .25em; white-space: nowrap; }
.brand-copy small b { display: inline-block; width: 6px; height: 6px; margin-right: .45rem; border-radius: 50%; background: var(--green); }
.primary-nav { display: flex; align-items: stretch; align-self: stretch; gap: 2.3rem; margin-left: auto; }
.primary-nav a { position: relative; display: grid; place-items: center; color: #8d9190; font: 700 .72rem/1 var(--font-mono); letter-spacing: .2em; text-transform: uppercase; }
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 14px; height: 2px; background: var(--text); transition: right .2s ease; }
.primary-nav a:hover, .primary-nav a.active { color: var(--text); }
.primary-nav a:hover::after, .primary-nav a.active::after { right: 0; }
.primary-nav .staff-link { color: var(--red); }
.agent-card { position:relative; display: flex; align-items: center; gap: .65rem; padding: .55rem .75rem; border: 1px solid var(--line); }
.agent-card span:last-child { display: flex; flex-direction: column; }
.agent-card strong { font: 700 .62rem/1.2 var(--font-mono); letter-spacing: .15em; }
.agent-card small { color: var(--dim); font: .58rem/1.5 var(--font-mono); }
.agent-avatar { display: grid; place-items: center; width: 34px; height: 34px; background: #360d12; color: var(--red); font: 900 .8rem var(--font-mono); }
.agent-avatar-image { object-fit: cover; }
.agent-unread { position:absolute; top:-8px; right:-8px; display:grid; min-width:22px; height:22px; place-items:center; padding:0 5px; border:2px solid var(--bg); border-radius:20px; background:var(--red); color:#fff; font:800 .68rem var(--font-mono); }
.login-shortcut { margin-left: .2rem; padding: .65rem .9rem; border: 1px solid var(--line-strong); color: #c4c8c7; font: 700 .62rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.nav-toggle { display: none; padding: .5rem; border: 0; background: transparent; color: #fff; }
.nav-toggle span { display: block; width: 28px; height: 2px; margin: 5px 0; background: currentColor; }
.nav-toggle em { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.flash { position: fixed; z-index: 200; top: 110px; right: 24px; max-width: min(430px, calc(100% - 48px)); padding: 1rem 1.2rem; border: 1px solid var(--line-strong); background: #111; box-shadow: 0 20px 60px #000; font-weight: 700; }
.flash-success { border-left: 3px solid var(--green); }
.flash-error { border-left: 3px solid var(--red); }

.section-shell { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }
.hero { position: relative; min-height: 760px; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 48% 45%, transparent 0, rgba(5,6,6,.22) 42%, rgba(5,6,6,.72) 100%); }
.hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 7vw; width: min(var(--max), calc(100% - 48px)); min-height: 760px; margin: 0 auto; }
.hero-copy { align-self: center; max-width: 980px; padding: 4rem 0 5rem; }
.classified-badge { display: inline-block; margin-bottom: 2.2rem; padding: .58rem 1rem; border: 1px solid var(--line-strong); font: 700 .73rem/1 var(--font-mono); letter-spacing: .24em; text-transform: uppercase; }
.hero h1 { position: relative; z-index: 2; margin: 0; font: 950 clamp(5rem, 8.3vw, 9rem)/.76 var(--font-display); letter-spacing: -.04em; text-transform: uppercase; }
.hero h1 span { display: block; }
.hero h1 .muted-title { color: #959797; }
.mission { margin: 2.6rem 0 .15rem; color: #d5d7d6; font: 800 1rem/1.5 var(--font-display); text-transform: uppercase; }
.hero-intro { max-width: 670px; margin: 0; color: #a8adac; font-size: 1.08rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2.5rem; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: .85rem 1.7rem; border: 1px solid var(--line-strong); border-radius: 0; cursor: pointer; font: 800 .72rem/1.2 var(--font-mono); letter-spacing: .16em; text-align: center; text-transform: uppercase; transition: .18s ease; }
.button:hover { transform: translateY(-2px); }
.button-light { border-color: #fff; background: #fff; color: #090a0a; }
.button-light:hover { background: #dfe2e1; }
.button-dark { background: transparent; color: var(--text); }
.button-dark:hover { border-color: #fff; }
.button-danger { border-color: #5b1818; background: transparent; color: var(--red); }
.hero-emblem { --emblem-shift: 0px; --emblem-turn: 0deg; --emblem-scale: 1; position: absolute; z-index: 1; top: 50%; left: 49%; width: min(700px, 52vw); aspect-ratio: 1; transform: translate(-50%, calc(-50% + var(--emblem-shift))) rotate(var(--emblem-turn)) scale(var(--emblem-scale)); transform-origin: center; will-change: transform; pointer-events: none; }
.hero-emblem img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; opacity: .13; filter: grayscale(1) invert(1) contrast(1.35); mix-blend-mode: screen; }
.stats-rail { align-self: center; border-top: 1px solid var(--line); }
.stats-rail div { display: flex; min-height: 104px; flex-direction: column; align-items: flex-end; justify-content: center; border-bottom: 1px solid var(--line); }
.stats-rail span { color: var(--dim); font: 700 .63rem var(--font-mono); letter-spacing: .18em; text-transform: uppercase; }
.stats-rail strong { margin-top: .25rem; font: 900 1.8rem var(--font-display); }
.stats-rail .level-text { max-width: 100%; font-size: .95rem; text-align: right; }

.announcements-home { padding: 6rem 0 7rem; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: 2.4rem; }
.section-heading > div { display: flex; align-items: baseline; gap: 1.2rem; }
.section-number { color: var(--dim); font: .7rem var(--font-mono); letter-spacing: .18em; }
.section-heading h2 { margin: 0; font: 900 2.15rem var(--font-display); letter-spacing: .1em; text-transform: uppercase; }
.text-link { font: 700 .7rem var(--font-mono); letter-spacing: .16em; text-transform: uppercase; }
.text-link span { margin-left: .7rem; }
.announcement-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.announcement-card { min-height: 255px; padding: 2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.announcement-card h3 { margin: 1.5rem 0 .75rem; font: 800 1.35rem var(--font-display); letter-spacing: .04em; text-transform: uppercase; }
.announcement-card p { color: var(--muted); }
.card-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.card-meta time { color: var(--dim); font: .66rem var(--font-mono); }
.tag { display: inline-block; padding: .25rem .5rem; border: 1px solid var(--line-strong); color: #bbb; font: 700 .6rem var(--font-mono); letter-spacing: .14em; text-transform: uppercase; }
.tag-urgent { border-color: #6a2020; color: var(--red); }
.tag-evenement { border-color: #355a6d; color: #65c2ea; }
.tag-reglement { border-color: #756325; color: #e2c253; }
.protocol-band { border-top: 1px solid var(--line); background: #0c0d0d; }
.protocol-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.protocol-grid > div { min-height: 220px; padding: 2.8rem; border-right: 1px solid var(--line); }
.protocol-grid > div:first-child { border-left: 1px solid var(--line); }
.protocol-grid span, .eyebrow { color: var(--dim); font: 700 .65rem var(--font-mono); letter-spacing: .2em; text-transform: uppercase; }
.protocol-grid strong { display: block; margin: .8rem 0 .45rem; font: 900 1.8rem var(--font-display); text-transform: uppercase; }
.protocol-grid p { margin: 0; color: var(--muted); }

.page-masthead { display: flex; min-height: 235px; align-items: center; border-bottom: 1px solid var(--line); background: #0d0f0f; }
.page-masthead.compact { min-height: 200px; }
.page-masthead.centered { min-height: 310px; text-align: center; }
.page-masthead span { color: var(--dim); font: 700 .67rem var(--font-mono); letter-spacing: .22em; text-transform: uppercase; }
.page-masthead h1 { margin: .7rem 0 0; font: 950 clamp(3rem, 5vw, 5.4rem)/1 var(--font-display); letter-spacing: .04em; text-transform: uppercase; }
.page-masthead p { max-width: 740px; margin: 2rem auto 0; color: var(--muted); font-size: 1.05rem; }
.page-content { min-height: 600px; padding: 5rem 0 7rem; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 2.6rem; border-bottom: 1px solid var(--line); }
.filter-tabs a { position: relative; padding: 0 .3rem 1.2rem; color: var(--dim); font: 700 .74rem var(--font-mono); letter-spacing: .17em; text-transform: uppercase; }
.filter-tabs a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -1px; height: 2px; background: #fff; }
.filter-tabs a:hover, .filter-tabs a.active { color: #fff; }
.filter-tabs a.active::after { right: 0; }
.empty-state { margin-top: 0; padding: 4rem; border: 1px solid var(--line); background: #202222; color: var(--dim); text-align: center; font: 700 .75rem var(--font-mono); letter-spacing: .2em; }
.announcement-list { border-left: 1px solid var(--line); }
.announcement-row { display: grid; grid-template-columns: 80px 1fr; gap: 1.8rem; min-height: 220px; padding: 2.3rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(5,6,6,.84); }
.announcement-row img { grid-column: 1 / -1; width: 100%; max-height: 380px; object-fit: cover; }
.announcement-index { color: #2b2e2e; font: 900 3.8rem var(--font-display); }
.announcement-row h2 { margin: 1.1rem 0 .55rem; font: 900 1.65rem var(--font-display); text-transform: uppercase; }
.announcement-row p { max-width: 900px; margin: 0; color: var(--muted); }

.lore-layout { display: grid; grid-template-columns: 330px 1fr; min-height: 680px; border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.lore-nav { padding: 3rem 2rem; border-right: 1px solid var(--line); background: #0d0f0f; }
.lore-nav > span { display: block; margin-bottom: 1.3rem; color: var(--dim); font: 700 .65rem var(--font-mono); letter-spacing: .2em; text-transform: uppercase; }
.lore-nav button { display: flex; width: 100%; flex-direction: column; gap: .25rem; padding: .8rem 1rem; border: 0; border-left: 2px solid transparent; background: transparent; color: var(--dim); cursor: pointer; text-align: left; font: 700 .7rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.lore-nav button small { font-size: .55rem; opacity: .6; }
.lore-nav button:hover, .lore-nav button.active { border-left-color: #fff; background: #171919; color: #fff; }
.lore-documents { padding: 3.5rem; background: rgba(5,6,6,.88); }
.lore-document { display: none; position: relative; max-width: 1050px; }
.lore-document.active { display: block; animation: reveal .25s ease; }
@keyframes reveal { from { opacity: 0; transform: translateY(8px); } }
.document-topline { display: flex; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: var(--dim); font: .6rem var(--font-mono); letter-spacing: .18em; }
.lore-document h2 { margin: 2rem 0 .1rem; font: 900 2.4rem var(--font-display); letter-spacing: .04em; text-transform: uppercase; }
.document-subtitle { margin: 0 0 2.6rem; color: var(--dim); font: 700 .65rem var(--font-mono); letter-spacing: .18em; }
.lore-document > p:last-of-type { color: #b1b5b4; font-size: 1.05rem; line-height: 1.9; }
.redacted-line { display: flex; gap: .7rem; margin: 1rem 0 2rem; }
.redacted-line i { width: 70px; height: 14px; background: #e8eae9; }
.redacted-line i:nth-child(2) { width: 150px; }
.document-stamp { display: inline-block; margin-top: 3rem; padding: .6rem .8rem; border: 2px solid #3b1e1e; color: #7b2929; font: 900 .67rem var(--font-mono); letter-spacing: .2em; transform: rotate(-2deg); }

.scp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2rem; }
.scp-card { border: 1px solid var(--line); background: rgba(9,10,10,.94); }
.scp-card-head { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: .75rem 1rem; border-bottom: 1px solid var(--line); color: var(--dim); font: 700 .62rem var(--font-mono); letter-spacing: .14em; text-transform: uppercase; }
.class-mark { padding: .28rem .48rem; border: 1px solid currentColor; }
.class-mark.safe { color: var(--green); }
.class-mark.euclide { color: #d9b44b; }
.class-mark.keter { color: var(--red); }
.scp-placeholder { display: grid; height: 190px; place-items: center; border-bottom: 1px solid var(--line); color: #1f2222; background: radial-gradient(circle, #151717, #090a0a); font: 950 5rem var(--font-display); letter-spacing: -.04em; }
.scp-card > img { width: 100%; height: 190px; object-fit: cover; border-bottom: 1px solid var(--line); }
.scp-card-body { padding: 1.6rem; }
.scp-card-body > p:first-child { margin: 0; color: var(--dim); font: 700 .66rem var(--font-mono); letter-spacing: .17em; }
.scp-card h2 { margin: .45rem 0 1.4rem; font: 900 1.5rem var(--font-display); text-transform: uppercase; }
.scp-card h3 { margin-top: 1.5rem; font: 800 .78rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.scp-card p, .scp-card dd { color: var(--muted); }
.scp-card dl { display: grid; grid-template-columns: 100px 1fr; margin: 0; padding: .8rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.scp-card dt { color: var(--dim); font: .62rem var(--font-mono); text-transform: uppercase; }
.scp-card dd { margin: 0; font-size: .86rem; }
.scp-card details { margin-top: 1.3rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.scp-card summary { cursor: pointer; font: 700 .66rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }

.about-page > h2 { margin: 1rem 0; font: 900 2.4rem var(--font-display); letter-spacing: .05em; text-transform: uppercase; }
.lead { max-width: 1200px; color: var(--muted); font-size: 1.08rem; }
.rules-panel { margin-top: 3rem; padding: 2.8rem; border: 1px solid var(--line); background: rgba(5,6,6,.88); }
.rules-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 2.2rem; margin-top: 2rem; }
.rules-grid strong { font: 900 1.02rem var(--font-display); letter-spacing: .04em; text-transform: uppercase; }
.rules-grid p { color: var(--muted); }
.about-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1rem; padding: 3rem; border: 1px solid var(--line); background: #111313; }
.about-cta h2 { margin: .4rem 0 0; font: 900 2rem var(--font-display); text-transform: uppercase; }

.auth-page { display: grid; min-height: 680px; place-items: center; padding: 4rem 24px; }
.auth-card { width: min(560px, 100%); padding: 3rem; border: 1px solid var(--line-strong); background: rgba(7,8,8,.96); box-shadow: 0 30px 100px #000; }
.auth-card h1 { margin: .5rem 0 1rem; font: 900 2.4rem var(--font-display); text-transform: uppercase; }
.auth-card > p { color: var(--muted); }
.stack-form { display: grid; gap: 1.2rem; margin-top: 2rem; }
.form-error { margin: 1rem 0; padding: .8rem 1rem; border-left: 3px solid var(--red); background: #1c0b0b; color: #f1b9b9; }

.profile-layout { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.clearance-block, .profile-info { padding: 5rem 3rem; }
.clearance-block { border-right: 1px solid var(--line); }
.clearance-bars { display: flex; gap: .5rem; margin-top: 1.6rem; }
.clearance-bars i { width: 46px; height: 36px; background: #fff; }
.clearance-block p { color: var(--dim); font: .7rem var(--font-mono); }
.profile-info dl { display: grid; grid-template-columns: 160px 1fr; margin: 1.5rem 0 2rem; }
.profile-info dt, .profile-info dd { padding: .55rem 0; border-bottom: 1px solid var(--line); }
.profile-info dt { color: var(--dim); font: .66rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.profile-info dd { margin: 0; font-family: var(--font-mono); }
.status-active { color: var(--green); }
.profile-actions { display: flex; flex-wrap: wrap; gap: .8rem; }

.profile-title-row { display: flex; align-items: center; gap: 1.5rem; }
.profile-title-row h1 { margin-top: .2rem; }
.profile-title-row p { margin: .35rem 0 0; color: var(--dim); font-family: var(--font-mono); }
.profile-main-avatar { width: 96px; height: 96px; flex: 0 0 96px; border: 1px solid var(--line-strong); object-fit: cover; }
.profile-main-fallback { display: grid; place-items: center; background: #220d10; color: var(--red); font: 900 2.5rem var(--font-display); }
.member-profile { display: grid; grid-template-columns: 310px 1fr; min-height: 700px; border-right: 1px solid var(--line); border-left: 1px solid var(--line); }
.profile-sidebar { padding: 2.5rem 1.7rem; border-right: 1px solid var(--line); background: rgba(10,11,11,.96); }
.profile-sidebar dl { margin: 2rem 0; }
.profile-sidebar dt { margin-top: 1rem; color: var(--dim); font: 700 .62rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.profile-sidebar dd { margin: .25rem 0 0; color: #c6cac9; }
.role-stack { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.role-badge { display: inline-flex; padding: .34rem .55rem; border: 1px solid currentColor; font: 700 .6rem var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.role-red { color: #ff5555; }.role-orange { color: #ff9d32; }.role-gold { color: #d7bd67; }.role-green { color: #48d388; }.role-cyan { color: #46cbd2; }.role-blue { color: #6eaceb; }.role-purple { color: #b48de8; }.role-gray { color: #8c9291; }
.full-button { display: flex; width: 100%; margin-top: .7rem; }
.profile-main { padding: 2.5rem; }
.profile-card { margin-bottom: 1.2rem; padding: 2rem; border: 1px solid var(--line); background: rgba(7,8,8,.94); }
.profile-card h2 { margin: 0 0 1.6rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); font: 900 1.15rem var(--font-display); letter-spacing: .08em; text-transform: uppercase; }
.profile-card form { margin-bottom: 0; }
.empty-compact { padding: 1.4rem; border: 1px dashed var(--line-strong); color: var(--dim); text-align: center; }
.sanction-list, .sanction-admin-list { display: grid; gap: .7rem; }
.sanction-list article { display: grid; grid-template-columns: auto 1fr auto; gap: .5rem 1rem; align-items: center; padding: 1rem; border: 1px solid var(--line); background: #101212; }
.sanction-list article p { grid-column: 2 / -1; margin: 0; color: var(--muted); }
.sanction-list article small { color: var(--dim); }
.sanction-status { display: inline-flex; padding: .25rem .45rem; border: 1px solid currentColor; font: 700 .58rem var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.sanction-active { color: var(--red); }.sanction-archived { color: var(--dim); }
.inline-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 1rem; }
.roblox-profile { display: grid; grid-template-columns: minmax(240px, 340px) 1fr; gap: 2rem; align-items: center; }
.roblox-profile > img { width: 100%; aspect-ratio: 1; border: 1px solid var(--line); background: radial-gradient(circle,#1d2020,#080909); object-fit: contain; }
.roblox-profile h3 { margin: .3rem 0 0; font: 900 2rem var(--font-display); }
.roblox-profile > div > p { color: var(--dim); font-family: var(--font-mono); }
.verified-badge { display: inline-flex; padding: .45rem .65rem; border: 1px solid #1f6a49; color: var(--green); font: 700 .65rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.verification-box { max-width: 590px; margin: 1rem 0; padding: 1rem; border: 1px solid #654f17; background: #161205; }
.verification-box p { color: #c4b679; }
.verification-box code { display: block; margin: .8rem 0; padding: .7rem; border: 1px solid #806b26; background: #080909; color: #fff; font-size: 1.05rem; letter-spacing: .12em; }
.morph-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.morph-grid article { padding: 1.1rem; border: 1px solid var(--line); background: #101212; }
.morph-grid strong, .morph-grid span { display: block; }
.morph-grid span { margin-top: .35rem; color: #60b0d0; font: .7rem var(--font-mono); }
.morph-grid p { color: var(--muted); }

.staff-workspace { min-height: 700px; padding: 4rem 0 7rem; }
.staff-tabs { display: flex; gap: 0; overflow-x: auto; border-bottom: 1px solid var(--line); }
.staff-tabs a { flex: 1 0 auto; min-width: 150px; padding: 1rem; color: var(--dim); text-align: center; font: 700 .82rem var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.staff-tabs a.active, .staff-tabs a:hover { border-bottom: 2px solid #fff; color: #fff; }
.staff-dashboard { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin-top: 2.8rem; border: 1px solid var(--line); background: var(--line); }
.staff-dashboard article { display: flex; min-height: 135px; flex-direction: column; align-items: center; justify-content: center; background: #090a0a; }
.staff-dashboard span { color: var(--dim); font: 700 .62rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.staff-dashboard strong { margin-top: .35rem; font: 900 2.5rem var(--font-display); }
.permission-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; }
.permission-summary span { padding: .8rem; border: 1px solid var(--line); font-size: .86rem; }
.permission-summary .granted { border-color: #174d37; color: #70d6aa; }
.permission-summary .denied { color: #545958; }
.staff-panel { margin-top: 2.8rem; padding: 2.2rem; border: 1px solid var(--line); background: rgba(5,6,6,.94); }
.staff-panel h2 { margin: 0 0 1.7rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); font: 900 1.15rem var(--font-display); letter-spacing: .08em; text-transform: uppercase; }
.staff-panel form + h2, .admin-list + h2 { margin-top: 3.4rem; }
.form-grid { display: grid; gap: 1.2rem; margin-bottom: 3rem; }
.form-grid-2 { grid-template-columns: repeat(2,1fr); }
.form-grid-3 { grid-template-columns: repeat(3,1fr); }
.form-grid-4 { grid-template-columns: repeat(4,1fr); }
.form-grid .span-2 { grid-column: span 2; }
.form-grid .span-3 { grid-column: span 3; }
.form-grid .span-4 { grid-column: span 4; }
.form-grid .align-end { align-self: end; }
label { display: flex; flex-direction: column; gap: .5rem; color: var(--dim); font: 700 .875rem/1.4 var(--font-mono); letter-spacing: .07em; text-transform: uppercase; }
label > small { color: #747a78; font: 500 .7rem/1.45 Arial, sans-serif; letter-spacing: 0; text-transform: none; }
input, select, textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: 0; outline: none; background: #080909; color: #f2f3f2; }
input, select { min-height: 50px; padding: .7rem .9rem; }
textarea { min-height: 120px; padding: .9rem; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: #828786; box-shadow: 0 0 0 1px #828786; }
input[type="file"] { padding: .65rem; }
.admin-list { border-top: 1px solid var(--line); }
.admin-list > div { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 68px; padding: .8rem 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); background: #121414; }
.admin-list span { display: flex; min-width: 0; flex-direction: column; }
.admin-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-list small { color: var(--dim); }
.admin-list form, .department-table form { margin: 0; }
.danger-link { border: 0; background: transparent; color: var(--red); cursor: pointer; font: 700 .68rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.department-table { border-top: 1px solid var(--line); }
.department-table > div { display: grid; grid-template-columns: 2fr 1fr 1fr auto; align-items: center; gap: 1rem; min-height: 72px; padding: .9rem 1rem; border-bottom: 1px solid var(--line); color: var(--muted); }
.department-tag { justify-self: start; padding: .35rem .55rem; border: 1px solid currentColor; font: 700 .62rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.department-amber { color: #c68a25; }.department-gold { color: #a69159; }.department-cyan { color: #00afb9; }.department-blue { color: #5791ad; }.department-green { color: #37a568; }.department-gray { color: #68706f; }
.security-note { padding: 1.4rem; border: 1px solid #3a3420; background: #15130c; color: #b9ae80; }
.security-note p { margin: .3rem 0 0; }
.checkbox-field { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; margin: 0; padding: 1rem; border: 1px solid var(--line); }
.checkbox-field legend { padding: 0 .4rem; color: var(--dim); font: 700 .62rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.checkbox-field label, .role-check-row label, .permission-checks label { display: flex; flex-direction: row; align-items: center; gap: .45rem; color: #aeb2b1; letter-spacing: 0; text-transform: none; }
input[type="checkbox"] { width: 18px; min-height: 18px; accent-color: #fff; }
.role-management-list, .reason-list { border-top: 1px solid var(--line); }
.role-management-list article, .reason-list article { display: flex; min-height: 66px; align-items: center; gap: 1rem; padding: .8rem 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.role-management-list small { margin-right: auto; color: var(--dim); }
.account-list { display: grid; gap: 1rem; }
.account-card { padding: 1rem; border: 1px solid var(--line); background: #0f1111; }
.account-card > header { display: flex; align-items: center; gap: .8rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.account-card > header > div:nth-child(2) { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.account-card > header small { overflow: hidden; color: var(--dim); text-overflow: ellipsis; white-space: nowrap; }
.account-avatar { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; background: #1b1d1d; font: 900 1rem var(--font-display); }
.account-status { padding: .25rem .45rem; border: 1px solid currentColor; font: 700 .58rem var(--font-mono); text-transform: uppercase; }
.status-active { color: var(--green); }.status-disabled { color: var(--red); }
.account-role-form { display: grid; grid-template-columns: 1fr 170px auto; gap: 1rem; align-items: end; margin-top: 1rem; }
.role-check-row { display: flex; flex-wrap: wrap; gap: .6rem 1rem; }
.account-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.reset-form { display: flex; gap: .6rem; }
.reset-form input { min-width: 260px; }
.muted-copy { color: var(--muted); }
.permissions-editor { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.permission-role-card { padding: 1.2rem; border: 1px solid var(--line); background: #0f1111; }
.permission-role-card header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.permission-role-card header small { color: var(--dim); }
.permission-checks { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: 1rem 0; }
.reason-list article { justify-content: space-between; }
.reason-list p { margin: .2rem 0 0; color: var(--muted); }
.sanction-admin-list article { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--line); background: #0f1111; }
.sanction-admin-list p { margin: .25rem 0; color: var(--muted); }
.sanction-admin-list small { color: var(--dim); }
.morph-admin-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.morph-admin-grid article { padding: 1rem; border: 1px solid var(--line); background: #101212; }
.morph-admin-grid strong, .morph-admin-grid span, .morph-admin-grid small { display: block; }
.morph-admin-grid span { color: #67bfdc; font-family: var(--font-mono); }
.morph-admin-grid p, .morph-admin-grid small { color: var(--muted); }
.morph-admin-grid form { margin-top: .8rem; }
.content-tabs { display: flex; flex-wrap: wrap; gap: 0; margin-top: 2.8rem; border: 1px solid var(--line); }
.content-tabs a { padding: .8rem 1rem; border-right: 1px solid var(--line); color: var(--dim); font: 700 .64rem var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.content-tabs a.active, .content-tabs a:hover { background: #fff; color: #050606; }
.row-actions { display: flex; align-items: center; gap: 1rem; }
.audit-list { border-top: 1px solid var(--line); }
.audit-list article { display: grid; grid-template-columns: 150px 130px 1fr 1fr; gap: 1rem; padding: .75rem 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); font-size: .85rem; }
.audit-list time, .audit-list small { color: var(--dim); font-family: var(--font-mono); }

.site-footer { padding: 4rem 0 1.5rem; border-top: 1px solid var(--line); background: #090a0a; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 4rem; width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }
.brand-footer { margin-bottom: 1.2rem; }
.footer-grid p { max-width: 500px; color: var(--dim); }
.footer-grid h2 { margin: 0 0 1rem; font: 800 .75rem var(--font-mono); letter-spacing: .15em; text-transform: uppercase; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.footer-grid a { color: var(--muted); }
.footer-grid a:hover, .legal-line a:hover { color: #fff; }
.legal-line { display: flex; align-items: center; justify-content: space-between; gap: 2rem; width: min(var(--max), calc(100% - 48px)); margin: 3rem auto 0; padding-top: 1.2rem; border-top: 1px solid var(--line); color: var(--dim); font-size: .72rem; }

@media (max-width: 1180px) {
  .primary-nav { gap: 1.2rem; }
  .agent-card { display: none; }
  .hero-inner { grid-template-columns: 1fr 230px; }
  .scp-grid { grid-template-columns: repeat(2,1fr); }
  .rules-grid { grid-template-columns: repeat(2,1fr); }
  .form-grid-4 { grid-template-columns: repeat(2,1fr); }
  .form-grid-4 .span-4 { grid-column: span 2; }
  .member-profile { grid-template-columns: 260px 1fr; }
  .permissions-editor { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .nav-shell { width: min(100% - 32px, var(--max)); height: 74px; }
  .nav-toggle { display: block; margin-left: auto; }
  .primary-nav { position: fixed; inset: 74px 0 auto; display: none; align-self: auto; flex-direction: column; gap: 0; padding: 1rem 24px 1.6rem; border-bottom: 1px solid var(--line); background: #050606; }
  .primary-nav.open { display: flex; }
  .primary-nav a { justify-content: start; min-height: 52px; border-bottom: 1px solid var(--line); }
  .primary-nav a::after { display: none; }
  .section-shell, .hero-inner, .footer-grid, .legal-line { width: min(100% - 32px, var(--max)); }
  .hero, .hero-inner { min-height: 700px; }
  .hero-inner { display: block; }
  .hero-copy { padding: 6rem 0 3rem; }
  .hero h1 { font-size: clamp(4rem, 15vw, 7rem); }
  .stats-rail { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 2rem; }
  .stats-rail div { min-height: 90px; align-items: flex-start; padding: .6rem; border-right: 1px solid var(--line); }
  .stats-rail strong { font-size: 1.3rem; }
  .stats-rail .level-text { font-size: .7rem; text-align: left; }
  .hero-emblem { left: 65%; width: min(560px, 78vw); }
  .announcement-grid, .protocol-grid { grid-template-columns: 1fr; }
  .announcement-card { min-height: 0; }
  .protocol-grid > div { min-height: 0; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .lore-layout { grid-template-columns: 1fr; }
  .lore-nav { display: flex; overflow-x: auto; padding: 1rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .lore-nav > span { display: none; }
  .lore-nav button { min-width: 190px; }
  .lore-documents { padding: 2rem; }
  .profile-layout { grid-template-columns: 1fr; }
  .clearance-block { border-right: 0; border-bottom: 1px solid var(--line); }
  .form-grid-3 { grid-template-columns: repeat(2,1fr); }
  .form-grid-3 .span-3 { grid-column: span 2; }
  .member-profile { grid-template-columns: 1fr; }
  .profile-sidebar { border-right: 0; border-bottom: 1px solid var(--line); }
  .staff-dashboard { grid-template-columns: repeat(2,1fr); }
  .permission-summary { grid-template-columns: repeat(2,1fr); }
  .account-role-form { grid-template-columns: 1fr; }
  .morph-admin-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  body { font-size: 15px; }
  .alert-bar { text-align: left; }
  .brand-copy strong { font-size: 1.1rem; }
  .brand-copy small { font-size: .5rem; }
  .hero, .hero-inner { min-height: 0; }
  .hero-copy { padding: 4.5rem 0 2.5rem; }
  .classified-badge { margin-bottom: 1.5rem; font-size: .61rem; }
  .hero h1 { font-size: clamp(3.4rem, 17vw, 5rem); }
  .hero-actions { display: grid; }
  .stats-rail { grid-template-columns: repeat(2,1fr); }
  .stats-rail div { padding: .8rem; }
  .section-heading { align-items: flex-end; }
  .section-heading h2 { font-size: 1.45rem; }
  .text-link { font-size: .6rem; }
  .page-masthead { min-height: 190px; }
  .page-masthead.centered { min-height: 250px; }
  .page-masthead h1 { font-size: 2.7rem; }
  .page-content { padding-top: 3rem; }
  .filter-tabs { gap: 1.2rem; }
  .announcement-row { grid-template-columns: 1fr; padding: 1.4rem; }
  .announcement-index { display: none; }
  .scp-grid { grid-template-columns: 1fr; }
  .lore-documents { padding: 1.4rem; }
  .lore-document h2 { font-size: 1.8rem; }
  .document-topline { flex-direction: column; gap: .4rem; }
  .rules-panel, .about-cta { padding: 1.5rem; }
  .rules-grid { grid-template-columns: 1fr; }
  .about-cta { align-items: flex-start; flex-direction: column; }
  .auth-card { padding: 2rem 1.3rem; }
  .clearance-block, .profile-info { padding: 3rem 1.4rem; }
  .clearance-bars i { width: 34px; height: 29px; }
  .profile-info dl { grid-template-columns: 1fr; }
  .profile-info dt { padding-bottom: 0; border-bottom: 0; }
  .staff-workspace { padding-top: 2rem; }
  .staff-panel { padding: 1.2rem; }
  .form-grid-2, .form-grid-3, .form-grid-4 { grid-template-columns: 1fr; }
  .form-grid .span-2, .form-grid .span-3, .form-grid .span-4, .form-grid-4 .span-4, .form-grid-3 .span-3 { grid-column: span 1; }
  .admin-list > div { align-items: flex-start; flex-direction: column; }
  .profile-title-row { align-items: flex-start; }
  .profile-main-avatar { width: 70px; height: 70px; flex-basis: 70px; }
  .profile-main { padding: 1rem; }
  .profile-card { padding: 1.2rem; }
  .inline-form, .roblox-profile { grid-template-columns: 1fr; }
  .roblox-profile > img { max-width: 320px; }
  .morph-grid, .morph-admin-grid { grid-template-columns: 1fr; }
  .staff-dashboard, .permission-summary { grid-template-columns: 1fr; }
  .permission-checks { grid-template-columns: 1fr; }
  .account-card > header { align-items: flex-start; flex-wrap: wrap; }
  .account-status { margin-left: 52px; }
  .reset-form { width: 100%; flex-direction: column; }
  .reset-form input { min-width: 0; }
  .sanction-admin-list article { grid-template-columns: 1fr; }
  .audit-list article { grid-template-columns: 1fr; }
  .department-table > div { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
  .legal-line { align-items: flex-start; flex-direction: column; }
}

/* Portails RP et accréditations — v3 */
.nav-count { display:inline-grid; min-width:20px; height:20px; margin-left:.35rem; place-items:center; border-radius:50%; background:var(--red); color:#fff; font:800 .7rem var(--font-mono); }
.accreditation-number { display:grid; width:76px; height:76px; margin:.7rem 0 2rem; place-items:center; border:1px solid #fff; color:#fff; font:900 2.6rem var(--font-display); }
.department-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.5rem; }
.department-card { position:relative; min-height:180px; padding:1.4rem; border:1px solid var(--line); border-top:3px solid currentColor; background:#0c0e0e; color:#aeb2b1; transition:transform .2s ease,border-color .2s ease; }
.department-card:hover { transform:translateY(-3px); border-right-color:currentColor; border-bottom-color:currentColor; border-left-color:currentColor; }
.department-card > span { font:800 .75rem var(--font-mono); letter-spacing:.16em; }
.department-card h3 { margin:1.4rem 0 .5rem; color:#fff; font:900 1.4rem var(--font-display); text-transform:uppercase; }
.department-card p { min-height:42px; color:var(--muted); }
.department-card strong { display:block; margin-top:1rem; color:currentColor; font:700 .78rem var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.department-gray { color:#9aa09f; }.department-gold { color:#c6a85b; }.department-cyan { color:#26c6d1; }.department-blue { color:#64a7d7; }.department-purple { color:#a783d7; }.department-green { color:#47bc76; }.department-orange { color:#dc8d3d; }.department-red { color:#ff5959; }
.staff-role-cards { display:grid; gap:1rem; }
.staff-role-cards article { display:grid; grid-template-columns:minmax(220px,.8fr) 2fr; gap:1.5rem; padding:1.2rem; border:1px solid var(--line); background:#0e1010; }
.staff-role-cards article > div:first-child { display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; }
.staff-role-cards strong { font:700 .82rem var(--font-mono); color:var(--muted); }
.staff-role-cards small { align-self:center; color:var(--dim); }
.morph-data { padding-left:1.2rem; border-left:1px solid var(--line); }
.morph-data span,.morph-data b,.morph-data code { display:block; }
.morph-data span { color:var(--dim); font:700 .75rem var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.morph-data b { margin:.45rem 0; }
.morph-data code,.morph-assignment code { display:block; width:max-content; max-width:100%; padding:.55rem .7rem; border:1px solid #3f4746; background:#050606; color:#a8dcff; overflow-wrap:anywhere; }
.appeal-state { margin-top:1rem; padding:1rem; border:1px solid var(--line); background:#090a0a; }
.appeal-state b { font:800 .78rem var(--font-mono); text-transform:uppercase; }
.appeal-pending { border-color:#765c20; color:#d4bb72; }.appeal-accepted { border-color:#1f6a49; color:#6fe0a8; }.appeal-rejected { border-color:#722c2c; color:#ff7f7f; }
.appeal-form { margin-top:1rem; border-top:1px solid var(--line); padding-top:1rem; }
.appeal-form summary { cursor:pointer; color:#fff; font:700 .8rem var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.appeal-form form { margin-top:1rem; }
.sanction-revoked { color:#63d49b; border-color:#275a43; }

.department-masthead { min-height:330px; display:flex; align-items:flex-end; border-bottom:1px solid var(--line); background:linear-gradient(110deg,#0d0f0f 0%,#060707 60%,currentColor 180%); }
.department-masthead .section-shell { padding:5.5rem 0 3rem; }
.department-masthead span { font:800 .8rem var(--font-mono); letter-spacing:.18em; }
.department-masthead h1 { margin:.7rem 0; color:#fff; font:900 clamp(3rem,7vw,6rem) var(--font-display); text-transform:uppercase; }
.department-masthead p { max-width:780px; color:#b2b6b5; font-size:1.05rem; }
.department-ranks { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.4rem; }
.department-ranks span { padding:.45rem .65rem; border:1px solid currentColor; color:inherit; font-size:.75rem; }
.department-portal { padding:3.5rem 0 7rem; }
.portal-quick-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-bottom:2rem; }
.portal-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.portal-panel,.portal-editor { padding:1.6rem; border:1px solid var(--line); background:rgba(7,8,8,.95); }
.portal-wide { grid-column:1 / -1; }
.portal-panel h2,.portal-editor h2,.message-compose h2,.message-inbox h2 { margin:.35rem 0 1.3rem; color:#fff; font:900 1.3rem var(--font-display); letter-spacing:.06em; text-transform:uppercase; }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.department-announcements,.course-list,.event-grid { display:grid; gap:.8rem; }
.department-announcements { grid-template-columns:repeat(2,1fr); }
.department-announcements article,.course-list article,.event-grid article { padding:1.1rem; border:1px solid var(--line); background:#101212; }
.department-announcements time,.course-list article > span,.event-grid time { color:var(--dim); font:700 .75rem var(--font-mono); }
.department-announcements h3,.course-list h3,.event-grid h3 { margin:.6rem 0; color:#fff; font-size:1.05rem; }
.department-announcements p,.course-list p,.event-grid p { color:var(--muted); line-height:1.65; }
.course-targets { display:flex; flex-wrap:wrap; gap:.4rem; }
.course-targets span { padding:.28rem .48rem; border:1px solid #42545f; color:#9dccea; font:700 .66rem var(--font-mono); text-transform:uppercase; }
.course-media { width:100%; max-height:420px; margin:.9rem 0; border:1px solid var(--line); background:#050606; object-fit:contain; }
.course-role-picker { align-items:center; }
.hierarchy-list { display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }
.hierarchy-list a, .hierarchy-person { display:grid; grid-template-columns:1.4fr 1fr auto; gap:.8rem; align-items:center; padding:.9rem 1rem; background:#0e1010; color:#fff; }
.hierarchy-list a:hover { background:#171a1a; }
.hierarchy-person { opacity:.72; }
.hierarchy-rank { color:#8fc9ea; font:700 .74rem var(--font-mono); }
.hierarchy-list small { color:var(--dim); }
.event-grid { grid-template-columns:repeat(3,1fr); }
.event-type { display:inline-flex; margin-right:.6rem; padding:.3rem .45rem; border:1px solid #53605e; color:#b8c3c1; font:700 .7rem var(--font-mono); text-transform:uppercase; }
.portal-editor { margin-top:1rem; }
.morph-assignment { border-color:#4b6070; }

.messages-layout { display:grid; grid-template-columns:380px 1fr; gap:1rem; padding:4rem 0 7rem; }
.message-compose,.message-inbox { padding:1.5rem; border:1px solid var(--line); background:#080909; }
.message-list { display:grid; gap:.8rem; }
.message-list article { padding:1.1rem; border:1px solid var(--line); background:#101212; }
.message-list article.incoming { border-left:3px solid #5aa4d1; }.message-list article.outgoing { border-left:3px solid #656b6a; }
.message-list article > span,.message-list time { color:var(--dim); font-size:.78rem; }
.message-list time { float:right; font-family:var(--font-mono); }
.message-list h3 { margin:.7rem 0; color:#fff; }
.message-list p { color:var(--muted); line-height:1.65; }

.accreditation-overview { display:flex; align-items:center; gap:1.3rem; margin-bottom:1.7rem; }
.accreditation-overview > strong { display:grid; width:84px; height:84px; place-items:center; border:1px solid #fff; font:900 3rem var(--font-display); }
.accreditation-overview span { color:#fff; font:800 1rem var(--font-mono); text-transform:uppercase; }
.department-admin-tabs { display:flex; gap:.6rem; overflow-x:auto; margin-top:2.5rem; padding-bottom:.7rem; }
.department-admin-tabs a { min-width:150px; padding:.8rem 1rem; border:1px solid var(--line); background:#0b0c0c; color:var(--dim); font:700 .76rem var(--font-mono); text-transform:uppercase; }
.department-admin-tabs a span { display:block; margin-bottom:.3rem; color:currentColor; }
.department-admin-tabs a.active { border-color:currentColor; color:#fff; }
.assignment-list { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.assignment-list article { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; background:#0e1010; }
.assignment-list article div { display:flex; flex-direction:column; }.assignment-list span { color:#80bfe4; font-size:.8rem; }
.rp-role-editor-list { display:grid; gap:.7rem; }
.rp-role-editor-list details,.create-rp-role { border:1px solid var(--line); background:#0d0f0f; }
.rp-role-editor-list summary,.create-rp-role summary { display:flex; justify-content:space-between; gap:1rem; padding:1rem; cursor:pointer; color:#fff; }
.rp-role-editor-list summary small { color:var(--dim); }
.rp-role-editor-list form,.create-rp-role form { padding:1.2rem; border-top:1px solid var(--line); }
.create-rp-role { margin-top:1rem; }
.staff-morph-editor { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.staff-morph-editor form { padding:1rem; border:1px solid var(--line); background:#0e1010; }
.staff-morph-editor header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }.staff-morph-editor header small { color:var(--dim); }
.appeal-review-list { display:grid; gap:1rem; }
.appeal-review-list article { padding:1.2rem; border:1px solid #6b5422; background:#121006; }
.appeal-review-list header { display:flex; justify-content:space-between; gap:1rem; }.appeal-review-list header div { display:flex; flex-direction:column; }.appeal-review-list header span,.appeal-review-list time { color:#a99b73; }
.appeal-review-list blockquote { margin:1rem 0; padding:1rem; border-left:3px solid #b38f38; background:#080909; color:#d7d1bd; }
.sanction-actions { display:flex; align-items:center; gap:.7rem; }
.account-avatar-image { object-fit:cover; }

.staff-total { align-self:center; padding:.55rem .75rem; border:1px solid var(--line); color:#b9c0be; font:700 .75rem var(--font-mono); text-transform:uppercase; }
.staff-roster { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.staff-roster > article { padding:1.2rem; border:1px solid var(--line); background:#0d0f0f; }
.staff-roster header { display:grid; grid-template-columns:52px 1fr auto; gap:1rem; align-items:center; }
.staff-roster header img,.staff-roster-avatar { width:52px; height:52px; object-fit:cover; }
.staff-roster-avatar { display:grid; place-items:center; background:#2d0b0f; color:var(--red); font:900 1.25rem var(--font-mono); }
.staff-roster h3 { margin:0; color:#fff; font:900 1.2rem var(--font-display); text-transform:uppercase; }
.staff-roster header p { margin:0; color:var(--dim); font:700 .75rem var(--font-mono); }
.staff-roster .role-stack { display:flex; flex-wrap:wrap; gap:.45rem; margin:1.1rem 0; }
.staff-roster dl { display:grid; grid-template-columns:150px 1fr; margin:0; border-top:1px solid var(--line); }
.staff-roster dt,.staff-roster dd { margin:0; padding:.55rem 0; border-bottom:1px solid var(--line); }
.staff-roster dt { color:var(--dim); font:700 .72rem var(--font-mono); text-transform:uppercase; }
.staff-roster dd { color:#c0c5c4; font-size:.88rem; }

.rp-category-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.rp-category-editor form { display:grid; grid-template-columns:1fr 110px auto auto; gap:.6rem; align-items:end; padding:1rem; border:1px solid var(--line); background:#0d0f0f; }

.hierarchy-sections { display:grid; gap:1rem; }
.hierarchy-sections > section { border:1px solid var(--line); background:#090a0a; }
.hierarchy-sections > section > header { padding:.8rem 1rem; border-bottom:1px solid var(--line); background:#151717; }
.hierarchy-sections h3 { margin:0; font:900 .92rem var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.hierarchy-roles { display:grid; gap:1px; background:var(--line); }
.hierarchy-roles > article { display:grid; grid-template-columns:260px 1fr; background:#0d0f0f; }
.hierarchy-role-title { display:flex; flex-direction:column; justify-content:center; padding:1rem; border-right:1px solid var(--line); }
.hierarchy-role-title strong { color:#8fc9ea; font:800 .82rem var(--font-mono); text-transform:uppercase; }
.hierarchy-role-title span { color:var(--dim); font-size:.75rem; }
.hierarchy-members { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; padding:.8rem; }
.hierarchy-members > a,.hierarchy-members > span { display:flex; flex-direction:column; min-width:170px; padding:.6rem .75rem; border:1px solid var(--line); background:#121414; color:#fff; }
.hierarchy-members > a:hover { border-color:#69706f; }
.hierarchy-members small { color:var(--dim); }
.event-grid-portal { grid-template-columns:1fr; }
.morph-assignment { display:grid; grid-template-columns:180px 1fr; gap:1.2rem; align-items:center; }
.morph-character { width:180px; height:220px; object-fit:cover; border:1px solid var(--line); background:#111; }
.voice-entry-button { gap:.7rem; }
.voice-entry-button b { display:grid; min-width:24px; height:24px; place-items:center; background:#090a0a; color:#fff; }
.portal-voice-presence { display:grid; grid-template-columns:220px minmax(0,1fr) auto; gap:1.4rem; align-items:center; margin-bottom:1rem; padding:1.2rem 1.4rem; border:1px solid #2f4540; background:rgba(7,12,11,.96); }
.portal-voice-presence h2 { margin:.25rem 0 0; font:900 1.15rem var(--font-display); text-transform:uppercase; }
.voice-presence-list { display:flex; flex-wrap:wrap; gap:.55rem; }
.voice-presence-chip { display:grid; grid-template-columns:36px 1fr; gap:.65rem; align-items:center; padding:.55rem .7rem; border:1px solid var(--line); background:#101413; }
.voice-presence-chip > b { display:grid; width:36px; height:36px; place-items:center; background:#18342b; color:var(--green); font:900 .8rem var(--font-mono); }
.voice-presence-chip > span { display:flex; flex-direction:column; }
.voice-presence-chip strong { font-size:.82rem; }
.voice-presence-chip small { color:var(--dim); font-size:.68rem; }
.voice-presence-empty { color:var(--dim); }

.voice-room { display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:1rem; min-height:620px; padding:4rem 0 7rem; }
.voice-stage,.voice-participants-panel { padding:2rem; border:1px solid var(--line); background:rgba(7,8,8,.96); }
.voice-status { display:flex; gap:1rem; align-items:center; min-height:110px; padding:1.2rem; border:1px solid var(--line); background:#0e1010; }
.voice-status-dot { width:16px; height:16px; flex:0 0 auto; border-radius:50%; background:#4d5150; box-shadow:0 0 0 8px rgba(255,255,255,.03); }
.voice-connected .voice-status-dot { background:var(--green); box-shadow:0 0 20px rgba(0,232,135,.7); }
.voice-status strong { display:block; font:900 1.3rem var(--font-display); text-transform:uppercase; }
.voice-status p { margin:.3rem 0 0; color:var(--muted); }
.voice-controls { display:flex; flex-wrap:wrap; gap:.7rem; margin:1.2rem 0; }
.voice-privacy { max-width:760px; color:var(--dim); font-size:.88rem; }
.voice-participants-panel h2 { margin:.3rem 0 0; font:900 1.35rem var(--font-display); text-transform:uppercase; }
.voice-participants-panel .panel-heading > strong { display:grid; width:42px; height:42px; place-items:center; border:1px solid var(--line); font:900 1.1rem var(--font-mono); }
.voice-participants { display:grid; gap:.6rem; margin-top:1.2rem; }
.voice-participants article { display:grid; grid-template-columns:44px 1fr; gap:.8rem; align-items:center; padding:.75rem; border:1px solid var(--line); background:#101212; }
.voice-avatar { display:grid; width:44px; height:44px; place-items:center; object-fit:cover; background:#252929; color:#fff; font:900 .9rem var(--font-mono); }
.voice-participants article div { display:flex; flex-direction:column; }
.voice-participants small { color:var(--dim); }

@media (max-width:1000px) {
  .department-card-grid,.event-grid { grid-template-columns:repeat(2,1fr); }
  .messages-layout { grid-template-columns:1fr; }
  .staff-morph-editor { grid-template-columns:1fr; }
  .staff-roster,.voice-room { grid-template-columns:1fr; }
  .portal-voice-presence { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .department-card-grid,.portal-grid,.department-announcements,.event-grid,.assignment-list { grid-template-columns:1fr; }
  .portal-wide { grid-column:auto; }
  .staff-role-cards article { grid-template-columns:1fr; }
  .morph-data { padding:1rem 0 0; border-top:1px solid var(--line); border-left:0; }
  .hierarchy-list a, .hierarchy-person { grid-template-columns:1fr; }
  .department-masthead .section-shell { padding:4rem 0 2rem; }
  .department-masthead h1 { font-size:2.8rem; }
  .message-list time { float:none; display:block; margin-top:.3rem; }
  .sanction-actions { align-items:flex-start; flex-direction:column; }
  .rp-category-editor { grid-template-columns:1fr; }
  .rp-category-editor form { grid-template-columns:1fr; }
  .hierarchy-roles > article,.morph-assignment { grid-template-columns:1fr; }
  .hierarchy-role-title { border-right:0; border-bottom:1px solid var(--line); }
  .morph-character { width:100%; height:auto; max-height:420px; }
  .staff-roster dl { grid-template-columns:1fr; }
  .staff-roster dt { border-bottom:0; padding-bottom:0; }
  .brand-logo { width:44px; height:44px; }
  .brand-copy strong { font-size:1rem; }
  .brand-copy small { font-size:.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .hero-emblem { transform:translate(-50%,-50%); }
}
