:root{--bg: #1a1815;--text: #f0e8d4;--body: #d8cdb4;--dim: #aca28c;--faint: #847a67;--ghost: #524a3e;--line: #2e2924;--line-strong: #3d3630;--accent: #22c55e;--accent-bg: rgba(34, 197, 94, .1);--accent-gl: rgba(34, 197, 94, .2);--s-ok: #22c55e;--s-ok-bg: rgba(34, 197, 94, .1);--s-degraded: #f0c757;--s-degraded-bg:rgba(240, 199, 87, .12);--s-outage: #ef6b6b;--s-outage-bg: rgba(239, 107, 107, .1);--s-maint: #5b9eff;--s-maint-bg: rgba(91, 158, 255, .1);--brand-sessions: #5b9eff;--brand-monkeylabs: #22c55e;--brand-bananalabs: #e8b931;--sans: "DM Sans", system-ui, -apple-system, sans-serif;--mono: "DM Mono", "JetBrains Mono", ui-monospace, monospace}body.scope-sessions{--accent: #5b9eff;--accent-bg: rgba(91,158,255,.1);--accent-gl: rgba(91,158,255,.2)}body.scope-bananalabs{--accent: #e8b931;--accent-bg: rgba(232,185,49,.1);--accent-gl: rgba(232,185,49,.2)}body.scope-monkeylabs,body:not([class*=scope-]){--accent: #22c55e;--accent-bg: rgba(34,197,94,.1);--accent-gl: rgba(34,197,94,.2)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh}body{background:var(--bg);color:var(--body, var(--text));font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;display:flex;flex-direction:column}body>:last-child{margin-top:auto}h1,h2,h3,h4{color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}h1,h2,h3,h4{margin:0}.topbar{display:block;padding:0;margin-bottom:0;border-bottom:1px solid rgba(255,255,255,.04)}.topbar-inner{max-width:1140px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:1em;flex-wrap:nowrap}.page-wrap{max-width:880px;margin:0 auto;padding:0 24px}.page-wide{max-width:1100px;margin:0 auto;padding:0 24px}footer.site-footer{padding:0;display:block;margin-top:0;border-top:1px solid var(--line)}.footer-inner{max-width:1140px;margin:0 auto;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:1em;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.02em}.band{padding:48px 0;border-top:1px solid var(--line)}.band.alt{background:#ffffff02}@media(max-width:720px){.page-wrap{padding:0 18px}.topbar-inner{padding:18px 18px 14px;gap:.8em}.footer-inner{padding:20px 18px;gap:.8em}.band{padding:40px 0}}@media(max-width:440px){.footer-inner{flex-direction:column;align-items:flex-start;gap:.7em}}@media(hover:none)and (pointer:coarse){.btn,.config-input{min-height:44px}}.brand-block{display:flex;align-items:center;gap:.8em;flex:0 1 auto;min-width:0}.brand{display:flex;align-items:center;gap:.7em;color:var(--text);text-decoration:none;font-family:var(--mono);font-size:17px;font-weight:600}.brand:hover{text-decoration:none}.brand-text{display:flex;flex-direction:column;gap:.25em;line-height:1}.brand-name{font-family:var(--mono);font-size:17px;font-weight:600;color:var(--text);line-height:1;letter-spacing:.01em}.brand-meta{display:flex;align-items:center;gap:.55em;line-height:1}.brand-meta .by{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.02em}.brand-meta .badge{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);border:1px solid var(--accent);padding:1px 5px;border-radius:2px;line-height:1.4}.topbar-action{flex:0 0 auto;white-space:nowrap;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.05em}.topbar-links{display:flex;gap:1.2em;align-items:center}.topbar-links a{color:var(--dim);font-family:var(--mono);font-size:12px;text-decoration:none;letter-spacing:.02em;transition:color .12s}.topbar-links a:hover{color:var(--text);text-decoration:none}@media(max-width:440px){.brand-meta{display:none}.brand-name{font-size:15px}}.footer-links{display:flex;gap:1.4em;flex-wrap:wrap}.footer-inner a{color:var(--dim);text-decoration:none}.footer-inner a:hover{color:var(--accent)}.footer-inner .copy{color:var(--faint);margin:0}.breadcrumbs{font-family:var(--mono);font-size:12px;color:var(--faint);padding:16px 0 0;letter-spacing:.02em}.breadcrumbs a{color:var(--dim);text-decoration:none}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs .sep{margin:0 .5em;color:var(--faint)}.status-banner{position:relative;border:1px solid var(--s-ok);background:var(--s-ok-bg);color:var(--s-ok);padding:14px 18px 14px 22px;border-radius:3px;margin-bottom:2em;font-family:var(--mono);font-size:14px;line-height:1.4}.status-banner:before{content:var(--tl, "┌");position:absolute;top:7px;left:9px;color:var(--s-ok);font-family:var(--mono);font-size:14px;line-height:1;opacity:.55;pointer-events:none}.status-banner:after{content:var(--br, "┘");position:absolute;bottom:7px;right:9px;color:var(--s-ok);font-family:var(--mono);font-size:14px;line-height:1;opacity:.55;pointer-events:none}.status-banner .banner-head{display:flex;align-items:center;justify-content:space-between;gap:1em;font-weight:600}.status-banner .banner-pill{display:inline-flex;align-items:center;gap:.5em;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:lowercase;letter-spacing:.03em;flex-shrink:0}.status-banner .banner-dot{width:7px;height:7px;background:var(--s-ok);border-radius:50%;flex-shrink:0;animation:statusPulse 2.4s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.5}}body.state-degraded .status-banner,body.state-outage .status-banner{display:none}.top-alert{display:none;padding:10px 20px;font-family:var(--mono);font-size:13px;font-weight:600;text-align:center;line-height:1.4}.top-alert a{text-decoration:underline}body.state-degraded .top-alert{display:block;background:var(--s-degraded-bg);color:var(--s-degraded);border-bottom:1px solid var(--s-degraded)}body.state-outage .top-alert{display:block;background:var(--s-outage-bg);color:var(--s-outage);border-bottom:1px solid var(--s-outage)}.status-pill{display:inline-flex;align-items:center;gap:.45em;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--s-ok);white-space:nowrap}.status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-pill.warn{color:var(--s-degraded)}.status-pill.bad{color:var(--s-outage)}.status-pill.maint{color:var(--s-maint)}.service-list{display:flex;flex-direction:column;gap:0}.service-row{display:flex;align-items:center;gap:1em;padding:14px 0;border-top:1px solid var(--line)}.service-row:last-child{border-bottom:1px solid var(--line)}.service-name{flex:1 1 auto;min-width:0;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--text)}.service-status{flex:0 0 auto}.service-uptime{flex:0 0 auto;width:clamp(140px,30vw,240px)}@media(max-width:500px){.service-row{flex-wrap:wrap;gap:.5em}.service-uptime{width:100%}}.uptime-bar{display:flex;gap:1px;height:28px;align-items:stretch}.uptime-day{flex:1;border-radius:2px;position:relative;transition:opacity .1s}.uptime-day.ok{background:var(--status-ok);opacity:.45}.uptime-day.deg{background:var(--status-degraded);opacity:.7}.uptime-day.out{background:var(--status-outage);opacity:.7}.uptime-day.maint{background:var(--status-maint);opacity:.5}.uptime-day.future{background:var(--faint);opacity:.15}.uptime-day:hover{opacity:1}.uptime-day[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;font-family:var(--mono);font-size:10px;color:var(--text);background:#1d1a17f2;border:1px solid var(--line-strong);padding:3px 7px;border-radius:3px;pointer-events:none;z-index:10;box-shadow:0 4px 12px #0000004d}@media(hover:none){.uptime-day[data-tooltip]:hover:after{display:none}}.uptime-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--faint);margin-top:4px;letter-spacing:.02em}.incident-card{position:relative;border:1px solid var(--line);border-radius:4px;padding:22px 24px;margin-bottom:1em;background:#ffffff03}.incident-card:before{content:var(--tl, "┌");position:absolute;top:7px;left:9px;color:var(--accent);font-family:var(--mono);font-size:14px;line-height:1;opacity:.65;pointer-events:none}.incident-card:after{content:var(--br, "┘");position:absolute;bottom:7px;right:9px;color:var(--accent);font-family:var(--mono);font-size:14px;line-height:1;opacity:.65;pointer-events:none}.incident-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1em;margin-bottom:.6em;flex-wrap:wrap}.incident-title{font-family:var(--sans);font-size:16px;font-weight:600;color:var(--text)}.incident-title a{color:var(--text)}.incident-title a:hover{color:var(--accent);text-decoration:none}.incident-badges{display:flex;gap:.5em;flex-shrink:0}.badge{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:2px;border:1px solid;line-height:1.4}.badge.sev-minor{color:var(--status-ok);border-color:var(--status-ok)}.badge.sev-moderate{color:var(--status-degraded);border-color:var(--status-degraded)}.badge.sev-major{color:var(--status-outage);border-color:var(--status-outage)}.badge.status-badge{color:var(--dim);border-color:var(--line-strong)}.incident-meta{font-family:var(--mono);font-size:11px;color:var(--faint);margin-bottom:1em;letter-spacing:.02em}.timeline{position:relative;padding-left:20px}.timeline:before{content:"";position:absolute;left:4px;top:4px;bottom:4px;width:1px;background:var(--line-strong)}.timeline-entry{position:relative;padding-bottom:1.2em}.timeline-entry:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-20px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--line-strong);border:2px solid var(--bg)}.timeline-entry:first-child .timeline-dot{background:var(--accent)}.timeline-status{font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dim);margin-bottom:.2em}.timeline-body{font-size:14px;color:var(--dim);line-height:1.55;margin-bottom:.3em}.timeline-time{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.02em}.maintenance-banner{position:relative;border:1px solid var(--status-maint);background:#d4b75a0f;border-radius:4px;padding:16px 20px;margin-bottom:1.5em;font-size:14px;color:var(--dim);line-height:1.55}.maintenance-banner:before{content:var(--tl, "┌");position:absolute;top:7px;left:9px;color:var(--status-maint);font-family:var(--mono);font-size:14px;line-height:1;opacity:.65;pointer-events:none}.maintenance-banner:after{content:var(--br, "┘");position:absolute;bottom:7px;right:9px;color:var(--status-maint);font-family:var(--mono);font-size:14px;line-height:1;opacity:.65;pointer-events:none}.maintenance-title{font-family:var(--sans);font-weight:600;color:var(--text);margin-bottom:.3em}.maintenance-meta{font-family:var(--mono);font-size:11px;color:var(--status-maint);margin-bottom:.5em;letter-spacing:.02em}.brand-grid{display:flex;gap:14px;margin:1.5em 0}.brand-grid>*{flex:1;min-width:0}@media(max-width:600px){.brand-grid{flex-direction:column}}.game-card{display:block;background:#ffffff04;border:1px solid var(--line);border-radius:3px;padding:18px 20px;text-decoration:none;color:var(--text);position:relative;transition:transform .15s ease-out,border-color .15s}.game-card:before{content:var(--tl, "┌");position:absolute;top:7px;left:9px;color:var(--card-accent, var(--accent));font-family:var(--mono);font-size:14px;line-height:1;opacity:.55;pointer-events:none}.game-card:after{content:var(--br, "┘");position:absolute;bottom:7px;right:9px;color:var(--card-accent, var(--accent));font-family:var(--mono);font-size:14px;line-height:1;opacity:.55;pointer-events:none}.game-card.soon:before,.game-card.soon:after{color:var(--faint)}.game-card:not(.soon):hover{border-color:var(--card-accent, var(--dim));text-decoration:none}.game-card.soon{opacity:.6;cursor:default}.game-card-top{display:flex;align-items:center;gap:1em;margin-bottom:.8em}.game-info{flex:1;min-width:0}.game-name{color:var(--text);font-weight:600;font-size:17px;margin-bottom:.2em}.game-card.soon .game-name{color:var(--dim);font-weight:500}.game-tag{color:var(--dim);font-family:var(--mono);font-size:11px}.brand-card .game-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.6em}.brand-card .service-count{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.02em}.section-title{font-family:var(--sans);font-size:22px;font-weight:600;color:var(--text);margin-bottom:.8em}.section-eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.5em;display:inline-block;padding-left:1.2em;position:relative}.section-eyebrow:before{content:"╴";position:absolute;left:0;color:var(--accent);opacity:.7}.pagination{display:flex;justify-content:center;align-items:center;gap:.5em;padding:2em 0;font-family:var(--mono);font-size:12px}.pagination-btn{padding:6px 12px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--dim);font-family:var(--mono);font-size:12px;cursor:pointer;text-decoration:none;transition:border-color .12s,color .12s}.pagination-btn:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.pagination-btn.active{border-color:var(--accent);color:var(--accent)}.pagination-btn:disabled,.pagination-btn.disabled{opacity:.4;cursor:default;pointer-events:none}.empty-state{text-align:center;padding:48px 24px;color:var(--faint);font-size:14px}.empty-state .empty-label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-bottom:.5em}.history-item{padding:16px 0;border-top:1px solid var(--line)}.history-item:last-child{border-bottom:1px solid var(--line)}.history-header{display:flex;align-items:center;justify-content:space-between;gap:1em;margin-bottom:.3em;flex-wrap:wrap}.history-title{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--text)}.history-title a{color:var(--text)}.history-title a:hover{color:var(--accent);text-decoration:none}.history-date{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.02em}.history-summary{font-size:13px;color:var(--dim);line-height:1.5}.btn{padding:10px 16px;border-radius:4px;border:1px solid var(--line);background:transparent;color:var(--text);font-family:var(--mono);font-size:13px;font-weight:600;cursor:pointer;transition:all .12s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn:hover{border-color:var(--dim);text-decoration:none}.btn-primary{border-color:var(--accent);color:var(--accent)}.btn-primary:hover{background:var(--accent-bg)}.admin-nav-item{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--dim);text-decoration:none;padding:6px 10px;border-radius:3px;transition:color .12s,background .12s}.admin-nav-item:hover{color:var(--text);background:#ffffff0a;text-decoration:none}.admin-nav-item.active{color:var(--accent);background:var(--accent-bg)}.page{max-width:880px;margin:0 auto;padding:2em 24px 4em}.topnav{display:flex;align-items:center;gap:.3em}.topnav-cta{font-family:var(--mono);font-size:11px;color:var(--accent);border:1px solid var(--accent);padding:5px 12px;border-radius:3px;text-decoration:none;transition:background .12s}.topnav-cta:hover{background:var(--accent-bg);text-decoration:none}.btn-secondary{border-color:var(--line);color:var(--dim);background:transparent}.btn-secondary:hover{border-color:var(--dim);color:var(--text)}.footer{border-top:1px solid var(--line);padding:20px 24px;text-align:center}.footer-sub{font-family:var(--mono);font-size:11px;color:var(--faint)}@media(max-width:720px){.status-banner:before,.incident-card:before,.maintenance-banner:before,.game-card:before{font-size:12px;top:6px;left:7px}.status-banner:after,.incident-card:after,.maintenance-banner:after,.game-card:after{font-size:12px;bottom:6px;right:7px}}
