@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2')}
*,*::before,*::after{box-sizing:border-box}
html{--accent:#2F6FDB;--ink:#14202E;--muted:#4A5868;--line:#D5DCE4;--hair:#E6EAF0;--night:#0E1A2B;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:#fff;color:var(--ink);font-family:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.5}
a{color:#1F5FBF}a:hover{color:#174A94}
a:focus-visible{outline:3px solid #1F5FBF;outline-offset:2px;border-radius:2px}
.mono{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
.wrap{max-width:1040px;margin:0 auto;padding-left:24px;padding-right:24px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:10;background:#fff;color:var(--ink);padding:8px 12px;border-radius:6px}

.top{background:var(--night);color:#fff}
.top .wrap{padding-top:24px;padding-bottom:40px;display:flex;flex-direction:column;gap:40px}
.brand{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.brand a{color:#fff;text-decoration:none;display:flex;align-items:center;gap:12px;flex-grow:1}
.brand a:hover{color:#fff}
.mark{width:28px;height:28px;border-radius:6px;background:var(--accent);flex:none}
.logo{height:32px;width:auto;max-width:200px;display:block}
.name{font-weight:600;font-size:16px}
.kicker{font-size:12px;color:#AEBBCC;letter-spacing:.08em}
.state{display:flex;flex-direction:column;gap:14px;max-width:760px}
.signal{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.06em}
.dot{width:12px;height:12px;border-radius:50%}
.ok .dot{background:#5FD37E;box-shadow:0 0 0 6px rgba(95,211,126,.22)}.ok .signal{color:#A6EBB8}
.bad .dot{background:#FF6B5E;box-shadow:0 0 0 6px rgba(255,107,94,.22)}.bad .signal{color:#FFB4AC}
.state h1{margin:0;font-size:44px;line-height:1.12;font-weight:600;letter-spacing:-.01em}
.state p{margin:0;font-size:13px;color:#AEBBCC}
.page-title h1{margin:0;font-size:32px;line-height:1.2;font-weight:600}
.page-title p{margin:8px 0 0;font-size:14px;color:#C9D3E0}

main.wrap{width:100%;flex:1 0 auto;padding-top:40px;padding-bottom:56px;display:flex;flex-direction:column;gap:48px}
section{display:flex;flex-direction:column;gap:16px}
.label{margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--muted)}
.row{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.row .label{flex-grow:1}
.small{font-size:13px;color:var(--muted)}

.card{border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:20px}
.card h3{margin:0;font-size:20px;font-weight:600;line-height:1.3}
.card h3 a{color:var(--ink)}
.affects{font-size:14px;color:var(--muted);margin-top:6px}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--hair)}
.timeline time{font-size:14px;color:var(--muted)}
.timeline li:first-child time{color:var(--ink);font-weight:600}
.timeline .st{display:block;font-size:13px;font-weight:600;color:var(--muted)}
.timeline li:first-child .st{color:var(--ink)}
.msg{font-size:15px;color:#2E3B4A}.msg p,.msg ul,.msg ol{margin:4px 0 0}.msg ul,.msg ol{padding-left:20px}
.msg p:first-child{margin-top:0}

.services{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.svc{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:18px 20px;border-radius:10px;border:1px solid}
.svc .what{flex:1 1 280px;display:flex;flex-direction:column;gap:4px}
.svc .what strong{font-size:17px;font-weight:600}
.svc .what span{font-size:14px;color:#2E3B4A}.svc .what a{color:#2E3B4A}
.impact{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.04em}
.i-major_outage,.i-partial_outage{background:#FDEEEC;border-color:#F1B5AE}.i-major_outage .impact,.i-partial_outage .impact{color:#8C1D13}
.i-degraded{background:#FFF6E0;border-color:#EBCB7A}.i-degraded .impact{color:#6B4300}
.i-maintenance{background:#EEF3FB;border-color:#B4C8E8}.i-maintenance .impact{color:#1F4E8C}
.fine h3{margin:0;font-size:14px;font-weight:600;color:#1A6B30}
.fine ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.fine li{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-size:15px}

.coming{display:flex;flex-wrap:wrap;gap:20px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:20px}
.badge{width:72px;height:72px;border-radius:8px;background:var(--night);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}
.badge span:first-child{font-size:12px;letter-spacing:.08em;color:#AEBBCC}
.badge span:last-child{font-size:28px;font-weight:600;line-height:1}
.coming .what{flex:1 1 300px;display:flex;flex-direction:column;gap:4px}
.coming h3{margin:0;font-size:17px;font-weight:600}
.coming .when{font-size:13px}

.recent{list-style:none;margin:0;padding:0}
.recent li{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:16px;padding:14px 0;border-top:1px solid var(--hair);align-items:baseline}
.recent li:last-child{border-bottom:1px solid var(--hair)}
.recent .kind{font-size:12px;letter-spacing:.06em;color:var(--muted)}
.recent a{font-weight:600;color:var(--ink)}
.recent .when{font-size:13px;color:var(--muted);white-space:nowrap}
.empty{margin:0;color:var(--muted)}

.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 24px;margin:0;font-size:15px}
.facts dt{color:var(--muted)}.facts dd{margin:0}

.foot{background:var(--night);border-top:1px solid #22324A}
.foot .wrap{padding-top:18px;padding-bottom:18px;display:flex;flex-wrap:wrap;gap:20px;font-size:13px}
.foot a{color:#C9D3E0}.foot a:hover{color:#fff}

@media (max-width:640px){
  .state h1{font-size:32px}
  .timeline li{grid-template-columns:1fr;gap:4px}
  .recent li{grid-template-columns:1fr;gap:2px}
  .card{padding:18px}
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
