:root {
    color-scheme: dark;
    font: 16px/1.5 system-ui, sans-serif;
    background: #10121b;
    color: #eff0fa;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; }
main { max-width: 1180px; margin: auto; padding: clamp(20px, 5vw, 64px); }
header, .account, .toolbar, .server-heading { display: flex; gap: 16px; align-items: center; }
header { justify-content: space-between; flex-wrap: wrap; margin-bottom: 30px; }
.account, .toolbar { flex-wrap: wrap; }
.toolbar { align-items: end; }
.toolbar .check { min-height: 44px; }
.eyebrow { color: #b8b1ff; text-transform: uppercase; letter-spacing: .13em; font-size: .75rem; font-weight: 700; }
h1 { font-size: clamp(2rem, 5vw, 3.25rem); letter-spacing: -.04em; line-height: 1.15; margin: 0; }
h2 { font-size: 1.1rem; line-height: 1.3; margin: 0; overflow-wrap: anywhere; }
p { margin: .45em 0; }
.muted { color: #b9bfd4; }
.summary { margin: 16px 0; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 265px), 1fr)); gap: 16px; }
.panel, .notice { background: #1c2030; border: 1px solid #353b54; border-radius: 14px; padding: 18px; }
.notice { border-color: #c7925d; margin-bottom: 16px; }
.server-heading { align-items: flex-start; margin-bottom: 16px; }
.server-heading img, .placeholder { border-radius: 12px; flex: 0 0 48px; }
.placeholder { display: grid; place-items: center; width: 48px; height: 48px; background: #35325d; color: #d4cdff; font-size: 1.25rem; }
button, .button, input:not([type=checkbox]), select {
    font: inherit;
    color: inherit;
    padding: 8px 12px;
    border: 1px solid #535d7e;
    border-radius: 8px;
    background: #151827;
    min-height: 44px;
}
button, .button, summary { cursor: pointer; }
.button { display: inline-flex; align-items: center; text-decoration: none; }
.button:hover, button:hover { border-color: #c3baff; }
.primary { background: #b8adff; color: #13122a; font-weight: 700; }
:focus-visible { outline: 3px solid #b8adff; outline-offset: 3px; }
label { display: grid; gap: 4px; }
.check { display: flex; align-items: center; gap: 8px; }
details { margin-top: 14px; }
details form { display: grid; gap: 10px; margin-top: 10px; }
details button { justify-self: start; }
input:not([type=checkbox]) { width: 100%; min-width: 0; }
.server:target { border-color: #b8adff; }
