@font-face { font-family:RetroPixel; src:url('/assets/pixel-latin-ext.woff2') format('woff2'); font-weight:400; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF; }
@font-face { font-family:RetroPixel; src:url('/assets/pixel-latin.woff2') format('woff2'); font-style:normal; font-weight:400; font-display:swap; }
:root:not([data-theme=halloween]) {
 --bg:#100d10; --panel:#191418; --panel2:#231b20; --line:#382b31;
 --nav-surface:#191418; --text:#f6eff1; --muted:#b39fa7;
 --accent:#d93646; --hover-accent:#ef495a; --accent-light:#ff8893;
}
body { background:var(--bg); }
.dashboard-brand { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:12px 0 26px; margin:0 2px 25px; border-bottom:2px solid var(--line); }
.dashboard-brand img { width:90px; height:76px; object-fit:contain; }
.dashboard-brand strong { font-family:RetroPixel,monospace; font-size:13px; white-space:nowrap; line-height:1.6; text-shadow:0 3px #0008; }
.brand-red { color:#ef3340; }
.brand-white { color:#fff; }
.dashboard-brand small { color:var(--muted); font-size:.71rem; letter-spacing:.12em; text-transform:uppercase; }
.dashboard-links { display:grid; gap:9px; margin-top:auto; padding-top:28px; }
.dashboard-links a { display:flex; align-items:center; justify-content:space-between; padding:11px 13px; border-radius:5px; border:1px solid var(--line); background:var(--panel2); font-size:.83rem; font-weight:600; box-shadow:0 3px #0004; }
.dashboard-links a:last-child { background:var(--accent); color:white; border-color:#f2677140; box-shadow:0 3px #6e1c2b; }
.dashboard-links svg { width:15px; height:15px; }
.community-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:16px; border:2px solid var(--line); border-radius:8px; background:var(--panel); margin-bottom:20px; box-shadow:0 4px #0005; }
.overview-cell { display:flex; gap:12px; align-items:center; background:var(--bg); padding:15px; border:2px solid #ffffff07; border-radius:5px; min-width:0; }
.overview-cell:first-child { border-color:var(--accent); background:#d9364610; }
.overview-cell svg { width:24px; height:24px; color:var(--accent-light); flex-shrink:0; }
.overview-cell small { display:block; color:var(--muted); font-size:.76rem; font-weight:600; }
.overview-cell strong { display:block; color:var(--text); font-size:1.22rem; margin-top:3px; font-variant-numeric:tabular-nums; }
.overview-cell:first-child strong { color:var(--accent-light); }
.hero { min-height:0; padding:4px 0 28px; margin-bottom:24px; border:0; border-bottom:2px solid var(--line); border-radius:0; background:none; box-shadow:none; }
.hero::before { display:none; }
.hero-content { max-width:none; padding:0; }
.hero .server-label { margin-bottom:18px; font-size:.66rem; }
.hero h1 { font-family:RetroPixel,monospace; font-size:clamp(1.4rem,2vw,2.25rem); line-height:1.7; font-weight:400; letter-spacing:-.04em; margin-bottom:12px; }
.hero p { max-width:620px; font-size:.95rem; margin:0; }
.hero-actions { margin-top:22px; }
.page-heading h1,.auth h1 { font-family:RetroPixel,monospace; font-size:1.45rem; font-weight:400; line-height:1.65; letter-spacing:-.025em; }
.page-heading h2,.panel h2,.aside-panel h3 { font-family:RetroPixel,monospace; font-size:.82rem; line-height:1.8; font-weight:400; }
.page-heading { padding:0 0 18px; border-bottom:2px solid var(--line); margin-bottom:20px; }
.panel,.aside-panel { border:2px solid var(--line); border-radius:7px; box-shadow:0 4px #0005; }
.panel-head { background:#ffffff02; border-bottom:1px solid var(--line); font-size:.69rem; padding:15px 18px; }
.thread-row { padding:22px 18px; }
.thread-row:hover { background:#ffffff03; }
.thread-title { font-size:1.04rem; }
.thread-meta { color:var(--muted); }
.button,button { border-radius:5px; box-shadow:0 3px #0004; }
.button.primary,button.primary { border-top:1px solid #ffffff25; box-shadow:0 3px #75202a; }
.shortcut { border:2px solid var(--line); border-radius:6px; box-shadow:0 3px #0004; background:var(--panel); }
.shortcut-icon { background:transparent; border-radius:4px; }
.community-shortcuts { margin-bottom:28px; }
.toolbar { padding:8px; border:2px solid var(--line); border-radius:7px; background:var(--panel); }
.toolbar input,.toolbar select { border-radius:4px; background:var(--bg); }
.toolbar .search input { border-color:transparent; }
.toolbar .search { background:var(--bg); border-radius:4px; }
.stat { border:2px solid var(--line); border-radius:6px; box-shadow:0 3px #0004; }
.stat b { color:var(--accent-light); }
.badge { border-radius:3px; }
.empty { padding:60px 24px; }
.empty h2 { font-size:.9rem; }
.avatar { border-radius:5px; }
.aside-panel .ip { font-family:RetroPixel,monospace; font-size:.86rem; line-height:1.8; }
.side-link { border-radius:5px; font-weight:600; }
.side-link.active { background:#a52a38; box-shadow:0 3px #701e2a; color:white; }
.side-link.active svg { color:white; }
.side-bottom { display:none; }
.footer { border-top:2px solid var(--line); }
@media(min-width:1101px) {
 .topbar { margin:24px 28px 0 310px; position:relative; top:auto; border:0; border-bottom:2px solid var(--line); background:none; box-shadow:none; }
 .header-inner { max-width:none; min-height:70px; padding:10px 0 18px; gap:24px; }
 .topbar .brand { display:none; }
 .main-nav { margin-right:auto; }
 .layout { max-width:none; padding:0 28px 0 0; margin:28px 0 48px 310px; display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:24px; }
 .sidebar { position:fixed; top:24px; bottom:24px; left:24px; width:254px; overflow-y:auto; padding:20px 16px 18px; border:2px solid var(--line); border-radius:8px; background:var(--panel); box-shadow:0 4px #0006; display:flex; flex-direction:column; scrollbar-width:thin; }
 .side-label { padding-left:12px; font-size:.64rem; margin-top:8px; }
 .side-link { padding:12px; min-height:44px; flex-shrink:0; }
 .footer { margin-left:310px; margin-right:28px; max-width:none; }
 .community { display:grid; grid-column:auto; grid-template-columns:1fr; }
 .community .aside-panel:last-child { display:block; }
}
@media(min-width:1101px) and (max-width:1400px) {
 .layout { grid-template-columns:minmax(0,1fr); }
 .community { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
 .aside-panel { padding:17px; }
 .aside-panel .ip { font-size:.75rem; }
}
@media(min-width:781px) and (max-width:1100px) {
 .dashboard-brand { padding-top:4px; }
 .dashboard-brand strong { font-size:10px; }
 .dashboard-brand img { width:65px; height:60px; }
 .layout { grid-template-columns:185px minmax(0,1fr); }
 .hero h1 { font-size:1.35rem; }
 .overview-cell { padding:11px; gap:8px; }
 .overview-cell small { font-size:.69rem; }
}
@media(max-width:780px) {
 .hero { padding:0 0 24px; min-height:0; margin-bottom:18px; }
 .hero-content { padding:0; }
 .hero h1 { font-size:1.38rem; line-height:1.7; }
 .hero p { font-size:.88rem; line-height:1.7; }
 .hero .server-label { line-height:1.7; font-size:.62rem; }
 .page-heading h1,.auth h1 { font-size:1.15rem; line-height:1.7; }
 .community-overview { padding:10px; gap:7px; }
 .overview-cell { padding:11px 8px; flex-direction:column; align-items:flex-start; gap:7px; }
 .overview-cell small { font-size:.66rem; }
 .overview-cell strong { font-size:1.05rem; }
 .overview-cell svg { width:20px; height:20px; }
 .dashboard-brand { align-items:flex-start; padding-left:12px; }
 .dashboard-brand img { width:60px; height:50px; }
 .dashboard-brand strong { font-size:12px; }
 .sidebar { border:2px solid var(--line); border-radius:7px; }
 .aside-panel h3 { font-size:.8rem; }
 .hero-actions .button,.hero-actions button { font-size:.8rem; }
 .toolbar { padding:8px; }
 .community-shortcuts { gap:7px; }
 .shortcut { padding:12px 9px; }
}
@media(max-width:380px) {
 .hero h1 { font-size:1.15rem; }
 .page-heading h1 { font-size:.98rem; }
 .overview-cell { padding:9px 6px; }
}

@media(min-width:1101px) { .dashboard-brand { gap:10px; padding:8px 0 20px; margin-bottom:18px; } .dashboard-brand img { width:74px; height:58px; } .sidebar .side-link { min-height:40px; padding:10px 12px; margin:2px 0; } }

/* Keep the complete desktop menu visible, including staff and community links. */
@media(min-width:1101px) {
 .sidebar { top:16px; bottom:16px; padding:14px 12px; }
 .dashboard-brand { display:grid; grid-template-columns:42px 1fr; gap:10px; padding:4px 4px 16px; margin:0 0 12px; flex-shrink:0; }
 .dashboard-brand img { width:42px; height:48px; }
 .dashboard-brand strong { font-size:11px; }
 .dashboard-brand small { display:none; }
 .sidebar .side-label { margin:12px 0 6px; padding:0 10px; line-height:1.4; flex-shrink:0; }
 .sidebar .side-link { min-height:34px; padding:8px 10px; margin:1px 0; font-size:.81rem; line-height:1.35; gap:9px; }
 .sidebar .side-link svg { width:16px; height:16px; }
 .sidebar .side-link small { font-size:.65rem; min-width:20px; }
 .dashboard-links { gap:7px; padding-top:16px; flex-shrink:0; }
 .dashboard-links a { min-height:34px; padding:8px 10px; font-size:.77rem; }
}
@media(min-width:1101px) and (max-height:850px) {
 .sidebar { top:12px; bottom:12px; padding:10px 12px; }
 .dashboard-brand { padding-bottom:10px; margin-bottom:6px; }
 .dashboard-brand img { height:38px; }
 .sidebar .side-label { margin-top:9px; font-size:.6rem; }
 .sidebar .side-link { min-height:30px; padding:6px 10px; font-size:.79rem; }
 .dashboard-links { padding-top:10px; gap:6px; }
 .dashboard-links a { min-height:30px; padding:6px 10px; }
}
@media(min-width:1101px) and (max-height:700px) {
 .sidebar { padding:8px 10px; }
 .dashboard-brand { padding:0 4px 6px; margin-bottom:2px; }
 .dashboard-brand img { height:30px; }
 .sidebar .side-label { margin:6px 0 3px; font-size:.56rem; }
 .sidebar .side-link { min-height:26px; padding:4px 9px; font-size:.75rem; }
 .dashboard-links { padding-top:8px; gap:5px; }
 .dashboard-links a { min-height:27px; padding:5px 9px; font-size:.73rem; }
}

@media(min-width:1101px) { .sidebar .dashboard-links { order:99; } .sidebar .side-bottom { margin:0; padding:0; } .sidebar .dashboard-links a { line-height:1.2; } }
