:root {
  color: #d9ffe1;
  background: #020904;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: #020904; }
a { color: #75f990; }
main { max-width: 980px; margin: 3rem auto; padding: 0 1rem; }
header { display: flex; gap: 1rem; align-items: center; padding: 1rem max(1rem, calc((100% - 980px) / 2)); background: #07120a; border-bottom: 1px solid #1e6e31; }
header span { margin-left: auto; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
article { min-width: 0; background: #07120a; border: 1px solid #1e6e31; border-radius: 4px; padding: 1rem; box-shadow: 0 0 22px #0c3d1933; }
article p { overflow-wrap: anywhere; }
.health-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 1.35fr); gap: 1.5rem; margin: 0 0 1rem; padding: 1.25rem; background: #07120a; border: 1px solid #2fc455; box-shadow: 0 0 26px #0c3d1933; }
.health-panel h2 { margin: .2rem 0 .55rem; }
.health-panel p { margin: 0; line-height: 1.55; }
.eyebrow { color: #6cde86; font-size: .72rem; letter-spacing: .13em; }
.status-dot { display: inline-block; width: .7rem; height: .7rem; margin-right: .45rem; border-radius: 50%; vertical-align: .05em; }
.status-dot.online { background: #62f781; box-shadow: 0 0 12px #62f781; }
.status-dot.offline { background: #ffcf57; box-shadow: 0 0 12px #ffcf57; }
.timeline { display: grid; gap: .55rem; }
.timeline-event { display: grid; grid-template-columns: 6.5rem minmax(7rem, .8fr) minmax(0, 1.4fr); gap: .7rem; align-items: baseline; padding: .55rem 0; border-bottom: 1px solid #1e6e31; font-size: .82rem; }
.timeline-event:last-child { border-bottom: 0; }
.timeline-time { color: #72ce85; }
.dashboard-section { margin-top: 1.5rem; }
.module-grid, .server-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem; }
.module-card, .server-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.module-card p { margin: .25rem 0 0; color: #72ce85; font-size: .82rem; }
.toggle { border: 1px solid #62f781; background: transparent; color: #a7eeb5; padding: .5rem .65rem; font: inherit; font-size: .75rem; cursor: pointer; }
.toggle.enabled { background: #62f781; color: #031006; font-weight: 700; }
.word-list { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .8rem; }
.word-list span { padding: .2rem .35rem; border: 1px solid #1e6e31; color: #a7eeb5; font-size: .75rem; }
.word-list b { color: #62f781; }
.server-card { justify-content: flex-start; }
.server-card img, .server-icon { width: 2.5rem; height: 2.5rem; border-radius: 50%; object-fit: cover; background: #1e6e31; display: grid; place-items: center; color: #d9ffe1; }
.server-card small { display: block; margin-top: .25rem; color: #72ce85; font-size: .68rem; }
.profile-row { display: flex; min-width: 0; align-items: center; gap: .65rem; margin-top: .8rem; }
.profile-row img { display: block; flex: 0 0 2.5rem; width: 2.5rem; max-width: 2.5rem; height: 2.5rem; border-radius: 50%; object-fit: cover; }
.profile-row p { min-width: 0; margin: 0; }
.member-list { display: grid; gap: .55rem; margin-top: 1rem; }
.member-row { min-width: 0; padding: 0; background: #07120a; border: 1px solid #1e6e31; border-radius: 4px; box-shadow: 0 0 22px #0c3d1933; }
.member-row summary { display: grid; grid-template-columns: minmax(190px, 1.5fr) repeat(4, minmax(84px, .7fr)) minmax(135px, 1fr) 1rem; align-items: center; gap: .85rem; padding: .7rem .85rem; cursor: pointer; list-style: none; }
.member-row summary::-webkit-details-marker { display: none; }
.member-row summary::after { content: "+"; color: #62f781; font-size: 1.1rem; }
.member-row[open] summary::after { content: "−"; }
.member-identity { display: flex; min-width: 0; align-items: center; gap: .65rem; }
.member-identity img, .member-identity .server-icon { display: block; flex: 0 0 2.45rem; width: 2.45rem; max-width: 2.45rem; height: 2.45rem; border-radius: 50%; object-fit: cover; }
.member-identity strong, .member-identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-identity small { margin-top: .18rem; color: #72ce85; font-size: .65rem; }
.member-stat { min-width: 0; }
.member-stat span, .member-stat strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-stat span { color: #72ce85; font-size: .65rem; }
.member-stat strong { margin-top: .18rem; font-size: .8rem; }
.member-details { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: .9rem 1.25rem; margin: 0 .7rem .7rem; padding: 1rem; border: 1px solid #2fc455; background: #031006; box-shadow: inset 0 0 20px #0c3d1933; }
.member-details div { min-width: 0; }
.member-details span { display: block; color: #72ce85; font-size: .65rem; letter-spacing: .04em; }
.member-details strong { display: block; margin-top: .2rem; overflow-wrap: anywhere; font-size: .8rem; }
.member-details div:last-child { grid-column: 1 / -1; }
.member-details .word-list { margin: .35rem 0 0; }
.member-details .word-list b { padding: .18rem .3rem; border: 1px solid #1e6e31; color: #a7eeb5; font-size: .72rem; }
.muted { color: #72ce85; font-size: .8rem; }
@media (max-width: 720px) { .health-panel { grid-template-columns: 1fr; } .timeline-event { grid-template-columns: 1fr; gap: .15rem; } .member-row summary { grid-template-columns: minmax(160px, 1fr) repeat(2, minmax(80px, 1fr)); gap: .6rem; } .member-details { grid-template-columns: 1fr 1fr; } }
.button { display: inline-block; padding: .7rem 1rem; color: #031006; background: #63f584; font-weight: 700; text-decoration: none; border-radius: 3px; }
.link { display: inline-block; }
.warning { color: #ffcf57; }

.matrix-login { overflow: hidden; position: relative; display: grid; place-items: center; }
.matrix-login::before { content: ""; position: fixed; inset: 0; background: linear-gradient(#020904c4, #020904d9), repeating-linear-gradient(0deg, transparent 0 3px, #2eff6510 3px 4px); pointer-events: none; z-index: -1; }
.matrix-rain { position: fixed; inset: -50% -10%; color: #30e761; font-size: clamp(.72rem, 1.2vw, 1rem); letter-spacing: .48em; line-height: 1.55; opacity: .14; overflow: hidden; transform: rotate(-8deg); text-shadow: 0 0 8px #2dff66; animation: matrix-drift 20s linear infinite; pointer-events: none; user-select: none; }
.access-shell { width: 100%; max-width: 820px; min-height: 100vh; margin: 0; padding: 2rem 1rem; display: grid; place-items: center; }
.access-card { width: min(100%, 760px); padding: clamp(1.6rem, 5vw, 3rem); text-align: center; background: #041007e8; border: 1px solid #3cf06a; box-shadow: 0 0 0 4px #0b2b12, 0 0 45px #1df34b55, inset 0 0 36px #0af0380d; }
.system-label { margin: 0 0 1rem; color: #7eff98; font-size: .72rem; letter-spacing: .18em; }
.eagle-art { display: block; width: min(100%, 660px); height: auto; margin: -1.6rem auto -.6rem; mix-blend-mode: screen; }
.access-card h1 { margin: .15rem 0 .7rem; color: #d9ffe1; font-size: clamp(2rem, 7vw, 3.8rem); letter-spacing: .12em; text-shadow: 0 0 14px #3dff69; }
.access-card h1 span { color: #62f781; }
.terminal-copy { margin: 0 0 1.65rem; color: #a7eeb5; font-size: .9rem; line-height: 1.65; }
.terminal-copy span, .session-user { color: #56c96d; }
.access-actions { display: grid; gap: 1rem; justify-items: center; }
.terminal-button { min-width: min(100%, 300px); border: 1px solid #b3ffc5; box-shadow: 0 0 20px #36ed6059; transition: transform .16s ease, box-shadow .16s ease; }
.terminal-button:hover { transform: translateY(-2px); box-shadow: 0 0 30px #36ed6088; }
.terminal-button span { color: #176c2b; }
.terminal-link { font-size: .78rem; text-decoration: none; }
.terminal-link:hover { text-decoration: underline; }
.access-card .warning { margin: 0 auto 1.4rem; max-width: 420px; padding: .75rem; border: 1px solid #d9a527; background: #3d2f061f; font-size: .78rem; line-height: 1.5; }
.session-user { margin: 1.5rem 0 0; font-size: .75rem; }

@keyframes matrix-drift { from { transform: translateY(-4%) rotate(-8deg); } to { transform: translateY(12%) rotate(-8deg); } }
@media (prefers-reduced-motion: reduce) { .matrix-rain { animation: none; } }
@media (max-width: 460px) { .access-card h1 { letter-spacing: .06em; } .system-label { letter-spacing: .1em; } .member-row summary { grid-template-columns: 1fr 1fr; } .member-identity { grid-column: 1 / -1; } .member-details { grid-template-columns: 1fr; } }
