@font-face{
font-family:"Archivo";
font-style:normal;
font-weight:100 900;
font-stretch:62% 125%;
font-display:swap;
src:url(/static/fonts/archivo/archivo-latin.woff2) format("woff2");
}
@font-face{
font-family:"Hanken Grotesk";
font-style:normal;
font-weight:400 800;
font-display:swap;
src:url(/static/fonts/hanken/hanken-latin.woff2) format("woff2");
}
@font-face{
font-family:"IBM Plex Mono";
font-style:normal;
font-weight:400;
font-display:swap;
src:url(/static/fonts/plexmono/plexmono-400-latin.woff2) format("woff2");
}
@font-face{
font-family:"IBM Plex Mono";
font-style:normal;
font-weight:500;
font-display:swap;
src:url(/static/fonts/plexmono/plexmono-500-latin.woff2) format("woff2");
}
:root{
--bg:#0F1012;
--surface:#17181B;
--line:#26282D;
--text:#ECEAE4;
--muted:#8D9097;
--accent:#FF5A1F;
--accent-soft:rgba(255,90,31,.12);
--ok:#3FB950;
--warn:#D29922;
--down:#E5484D;
--unknown:#8D9097;
--font-heading:"Archivo","Arial",sans-serif;
--font-body:"Hanken Grotesk","Arial",sans-serif;
--font-mono:"IBM Plex Mono","Consolas",monospace;
--radius-card:4px;
--radius-control:4px;
--max:1200px;
--header-h:64px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:20px;
--space-6:24px;
--space-8:32px;
--space-10:40px;
--space-12:48px;
--space-16:64px;
color-scheme:dark;
}
@media (prefers-color-scheme:light){
:root{
--bg:#FAF8F4;
--surface:#FFFFFF;
--line:#E4E0D6;
--text:#17181B;
--muted:#6B6E75;
--accent-soft:rgba(255,90,31,.10);
color-scheme:light;
}
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
margin:0;
background:var(--bg);
color:var(--text);
font-family:var(--font-body);
font-size:1.0625rem;
line-height:1.55;
-webkit-font-smoothing:antialiased;
}
h1,h2{font-family:var(--font-heading);font-stretch:75%;font-weight:800;line-height:1.05;letter-spacing:-0.015em;margin:0}
h1{font-size:clamp(1.5625rem,1.3125rem + 1.1vw,1.953125rem)}
h2{font-size:1.25rem;margin:0 0 var(--space-4) 0}
p{margin:0}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
::selection{background:var(--accent);color:var(--bg)}
.skip{position:absolute;left:var(--space-4);top:-64px;background:var(--surface);color:var(--text);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-control);z-index:50;text-decoration:none;min-height:44px;display:flex;align-items:center}
.skip:focus{top:var(--space-2)}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#FF5A1F;border:2px solid transparent;background-clip:padding-box;border-radius:4px}
*{scrollbar-width:thin;scrollbar-color:#FF5A1F transparent}
.wrap{max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:var(--space-5);padding-right:var(--space-5)}
.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.head-row{min-height:var(--header-h);display:flex;align-items:center;gap:var(--space-4)}
.logo{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;font-family:var(--font-heading);font-stretch:75%;font-weight:800;font-size:1.125rem;min-height:44px}
.logo svg{width:28px;height:28px;flex:none;overflow:visible}
.logo em{font-style:normal;color:var(--accent)}
.header-cta{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}
.btn{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-control);border:1px solid var(--line);text-decoration:none;font-weight:600;font-size:.9375rem;background:transparent}
.btn-small{min-height:44px;padding:var(--space-2) var(--space-4)}
.btn-ghost{color:var(--text)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
main{padding:var(--space-8) 0 var(--space-16) 0}
.overall{display:flex;align-items:center;gap:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-5);margin-bottom:var(--space-6);animation:rise .45s cubic-bezier(.2,.8,.2,1) both}
.overall-dot{width:14px;height:14px;border-radius:50%;background:var(--unknown);flex:none}
.overall[data-state="operational"] .overall-dot{background:var(--ok)}
.overall[data-state="partial"] .overall-dot{background:var(--warn)}
.overall[data-state="major"] .overall-dot{background:var(--down)}
.overall p{color:var(--muted);font-size:.9375rem}
.overall-time{margin-left:auto;font-family:var(--font-mono);font-size:.8125rem;color:var(--muted);flex:none}
@keyframes rise{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.error{background:var(--surface);border:1px solid var(--down);border-radius:var(--radius-card);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6);display:flex;flex-direction:column;gap:4px}
.error[hidden]{display:none}
.error strong{color:var(--down)}
.error span{color:var(--muted);font-size:.9375rem}
.group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);margin-bottom:var(--space-4);min-width:0;animation:rise .45s cubic-bezier(.2,.8,.2,1) both}
.group-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);font-family:var(--font-heading);font-weight:800}
.monitor{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);min-width:0;overflow:hidden}
.monitor:last-child{border-bottom:0}
.mon-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}
.mon-name{font-weight:700}
.mon-status{margin-left:auto;font-family:var(--font-mono);font-size:.8125rem;font-weight:500}
.mon-status.up{color:var(--ok)}
.mon-status.down{color:var(--down)}
.mon-status.pending{color:var(--muted)}
.mon-meta{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-2);font-family:var(--font-mono);font-size:.8125rem;color:var(--muted)}
.bars{display:flex;gap:2px;margin-top:var(--space-3);min-width:0}
.bar{flex:1 1 0;min-width:0;height:28px;border-radius:2px;background:var(--line)}
.bar.ok{background:var(--ok)}
.bar.warn{background:var(--warn)}
.bar.bad{background:var(--down)}
.bar.none{background:var(--line);opacity:.55}
#incidentsWrap,#maintWrap{margin-top:var(--space-8)}
.muted{color:var(--muted)}
.coming{padding:var(--space-4) var(--space-5)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-3)}
.card strong{display:block;margin-bottom:4px}
.card p{color:var(--muted);font-size:.9375rem}
.card time{font-family:var(--font-mono);font-size:.8125rem;color:var(--muted)}
.site-footer{border-top:1px solid var(--line);padding-top:var(--space-10);padding-bottom:var(--space-10)}
.footer-row{display:flex;flex-direction:column;gap:var(--space-6)}
.footer-links{display:flex;flex-wrap:wrap;gap:2px var(--space-6)}
.footer-links a{min-height:44px;display:inline-flex;align-items:center;color:var(--muted);text-decoration:none;font-size:.9375rem}
.footer-links a:hover{color:var(--accent)}
.footer-note{color:var(--muted);font-size:.9375rem;max-width:65ch}
@media (max-width:640px){
.overall-time{display:none}
.bars{gap:1px}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation-duration:0.01ms;animation-iteration-count:1;transition-duration:0.01ms}
}
