@font-face{font-family:"Geist Variable";src:url("font.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
*{box-sizing:border-box}code,pre,textarea{font-family:inherit}body{margin:0;background:var(--background);color:var(--text);font:16px/1.55 "Geist Variable",system-ui,sans-serif}main{max-width:960px;margin:auto;padding:24px}a{color:var(--link);text-decoration-color:var(--brand);text-decoration:underline;text-underline-offset:3px}nav,.component-heading,.windows{display:flex;align-items:center;gap:16px;flex-wrap:wrap}nav{margin:12px 0}h1{font-size:28px}h2{font-size:21px}h3{font-size:18px}p{overflow-wrap:anywhere}section{margin:28px 0}.hero,.component,.report,details{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;margin:12px 0}.hero{border-left:6px solid currentColor}.component-heading{justify-content:space-between}.state{font-weight:600}.state:before{content:"● ";speak:none}.operational{color:var(--success)}.degraded,.maintenance{color:var(--warning)}.major_outage,.partial_outage{color:var(--danger)}.unknown{color:var(--muted)}.notice{border:1px solid var(--warning);padding:16px;border-radius:10px;color:var(--warning)}.windows>div{flex:1;min-width:210px}.windows p{font-size:14px;color:var(--text);margin:4px 0}.day-bars{display:flex;gap:3px;margin-top:14px}.day{flex:1;min-width:2px;height:28px;background:currentColor;border-radius:2px}.day.unknown{background:repeating-linear-gradient(45deg,var(--border),var(--border) 3px,var(--card) 3px,var(--card) 6px)}label{display:block;margin:10px 0}input,select,button{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:6px;padding:9px}input:not([type=checkbox]){display:block;width:min(100%,420px)}input[type=checkbox]{margin-right:8px}button,summary{cursor:pointer}button{min-height:44px}fieldset{border:1px solid var(--border);border-radius:6px}small{color:var(--muted)}.status-brand .logo{display:block;flex-shrink:0;width:1em;height:1em;object-fit:contain}svg{width:100%;max-height:200px;color:var(--text)}table{border-collapse:collapse;width:100%;font-size:14px}td,th{border-bottom:1px solid var(--border);text-align:left;padding:6px}details table{display:block;max-height:280px;overflow:auto}.widget{max-width:720px;padding:12px}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;background:var(--card);padding:12px;z-index:10}:focus-visible{outline:1px solid var(--text);outline-offset:3px}fieldset{min-width:0}h1,h2,h3,li,summary{overflow-wrap:anywhere}@media(max-width:600px){main{padding:16px}.windows>div{min-width:140px}.day-bars{gap:1px}.day{min-width:0}.hero,.component,.report{padding:14px}}
.state.operational:before{content:"✓ "}.state.unknown:before{content:"? "}.state.major_outage:before,.state.partial_outage:before{content:"× "}.state.degraded:before{content:"! "}.state.maintenance:before{content:"⚙ "}

.status-header{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap}.status-identity{flex:1;min-width:min(240px,100%)}.status-identity h1{margin:0}.status-preferences{margin:0;gap:8px}.status-preferences>details{padding:0;border:0;margin:0;background:transparent}.day-bars{position:relative}.day-cell{flex:1;min-width:0;display:flex}.day{border:0;min-height:28px;width:100%;min-width:0;padding:0}.day-tooltip{position:absolute;left:0;top:100%;z-index:60;pointer-events:none}.day-tooltip strong,.day-tooltip>span{display:block}html:not([data-tooltips-enhanced]) .day-cell:hover .day-tooltip,html:not([data-tooltips-enhanced]) .day-cell:focus-within .day-tooltip{display:block}html[data-tooltips-enhanced] .day-tooltip{position:fixed}html[data-tooltips-enhanced] .day-tooltip[hidden]{display:none}@media(max-width:600px){.status-preferences{width:100%;justify-content:flex-end}.status-identity{width:100%}}

.day-tooltip strong{margin-bottom:4px}.day-tooltip>.day-outage{display:flex;align-items:center;gap:8px;margin-bottom:4px}.day-outage>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.day-outage-icon{display:flex;flex-shrink:0;color:var(--warning)}.day-outage-icon svg{width:18px;height:18px}.day-outage-duration{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}

.day.short-outage{color:var(--partial-outage)}.history-summary{display:flex;align-items:center;gap:12px;margin-top:8px;color:var(--muted);font-size:13px}.history-summary>span:not(.history-summary-rule){flex-shrink:0}.history-summary-rule{height:1px;flex:1;min-width:0;background:var(--border)}.history-uptime{font-variant-numeric:tabular-nums}@media(max-width:600px){.history-summary{gap:6px;font-size:12px}.history-summary-rule{display:none}.history-uptime{flex:1;text-align:center}}

.hero,.component{display:grid;gap:12px}.hero>*,.component>*{margin:0}.component-heading h2,.component-heading h3{margin:0;font-size:18px}.empty-state{color:var(--muted);font-style:normal}
.status-brand{display:flex;align-items:center;gap:12px;min-height:44px;font-size:clamp(20px,3.5vw,28px)}.status-brand h1{font-size:inherit;line-height:1.2}

[data-font="system"] body{font-family:system-ui,sans-serif}[data-layout="modern"] main{max-width:1120px}[data-layout="modern"] .hero{border-radius:16px;padding:24px}.logo-dark{display:none}[data-theme="dark"] .logo-dark{display:block}[data-theme="dark"] .logo-light{display:none}.status-brand .logo{width:auto;max-width:100%;object-fit:contain;max-height:160px}.summary{padding:12px;border:1px solid var(--border);border-radius:8px}.incident-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.incident-calendar a{padding:8px;border:1px solid var(--border)}[data-status-consent]{padding:16px;border:1px solid var(--border);border-radius:12px}body.status-tv main{max-width:none;font-size:1.2rem}

[hidden]{display:none!important}.incident-calendar>div{min-height:64px;border:1px solid var(--border);padding:8px;min-width:0}.incident-calendar a{display:block;margin-top:4px;overflow-wrap:anywhere;font-size:12px}.incident-calendar strong{text-align:center}[data-incident-calendar]>nav{display:flex;justify-content:space-between;gap:8px}
/* Generated by scripts/i18n.py from frontend/src/theme.css. */
body{--background:#F4F5F7;--card:#FFFFFF;--text:#181A1F;--muted:#5D6470;--border:#D3D7DE;--input:var(--border);--field-background:#E9ECF1;--link:#41658F;--popover:#FFFFFF;--popover-foreground:#181A1F;--accent:#E1E5EA;--accent-foreground:#181A1F;--ring:#41658F;--success:oklch(0.35 0.12 155);--warning:oklch(0.36 0.09 65);--danger:oklch(0.4 0.16 25);--partial-outage:oklch(0.36 0.09 65)}html[data-theme=dark] body{--background:#0B0C0E;--card:#17191C;--text:#F2F3F5;--muted:#A7ADB7;--border:#343941;--input:var(--border);--field-background:#202329;--link:#A0B9DB;--popover:#202226;--popover-foreground:#F2F3F5;--accent:#2A2E34;--accent-foreground:#F2F3F5;--ring:#9AB8DF;--success:oklch(0.82 0.11 155);--warning:oklch(0.86 0.12 85);--danger:oklch(0.84 0.11 25);--partial-outage:oklch(0.86 0.12 85)}@media(prefers-color-scheme:dark){html[data-theme=system] body{--background:#0B0C0E;--card:#17191C;--text:#F2F3F5;--muted:#A7ADB7;--border:#343941;--input:var(--border);--field-background:#202329;--link:#A0B9DB;--popover:#202226;--popover-foreground:#F2F3F5;--accent:#2A2E34;--accent-foreground:#F2F3F5;--ring:#9AB8DF;--success:oklch(0.82 0.11 155);--warning:oklch(0.86 0.12 85);--danger:oklch(0.84 0.11 25);--partial-outage:oklch(0.86 0.12 85)}}input,select,button{border-color:var(--input)}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--field-background);color:var(--text)}:focus-visible{outline-color:var(--ring)}
/* Native public menus share this surface with the homepage and Radix token palette. */
.mb-public-menu{display:block;z-index:50;width:max-content;min-width:12rem;max-width:calc(100vw - 2rem);border:1px solid var(--border);border-radius:6px;background:var(--popover);color:var(--popover-foreground);padding:4px;box-shadow:0 4px 6px -1px #0002;outline:none}
.mb-public-choice{position:relative;display:flex;width:100%;align-items:center;gap:8px;border:0;border-radius:6px;padding:8px 32px 8px 12px;background:transparent;color:inherit;font-size:var(--text-sm,0.875rem);text-align:left;text-decoration:none;white-space:normal;outline:none;min-height:36px}
.mb-public-choice:hover,.mb-public-choice:focus{background:var(--accent);color:var(--accent-foreground)}
.mb-public-indicator{position:absolute;right:12px;display:flex;width:16px;height:16px;align-items:center;justify-content:center}
.mb-public-choice[aria-checked=false] .mb-public-indicator{display:none}
.mb-public-menu svg,.mb-public-trigger svg{width:16px;height:16px;flex-shrink:0;color:inherit}
.mb-public-trigger{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:inherit;border-radius:6px;padding:8px;min-height:44px;font-size:var(--text-sm,0.875rem);list-style:none}
.mb-public-trigger::-webkit-details-marker{display:none}.mb-public-trigger:hover{background:var(--accent)}
.mb-public-trigger:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.mb-public-control{position:relative;display:flex;align-items:center;min-height:36px}
.mb-public-control .mb-public-menu{position:absolute;right:0;top:calc(100% + 6px);margin:0}
.mb-public-control[open]{display:block}
.mb-public-control details{border:0;padding:0;margin:0}
.mb-public-menu[hidden],.mb-public-control .hidden{display:none}
@media(pointer:coarse){.mb-public-choice{min-height:44px}}

/* Scoped to explicit theme changes; route transitions retain their own behavior. */
html[data-theme-transition]::view-transition-old(root){animation:none}
html[data-theme-transition]::view-transition-new(root){animation:mb-theme-reveal 420ms cubic-bezier(.22,1,.36,1) both}
@keyframes mb-theme-reveal{
 from{clip-path:circle(0 at var(--theme-transition-x) var(--theme-transition-y))}
 to{clip-path:circle(var(--theme-transition-radius) at var(--theme-transition-x) var(--theme-transition-y))}
}
@media(prefers-reduced-motion:reduce){html[data-theme-transition]::view-transition-new(root){animation:none}}
/* One tooltip surface: the server metric tooltip, shared by React, charts,
 * public status pages and CodeMirror. Positioning belongs to each adapter.
 */
.mb-tooltip,
.day-tooltip,
:root body .cm-tooltip {
  box-sizing: border-box;
  width: fit-content;
  max-width: min(26rem, 90vw, var(--radix-tooltip-content-available-width, 90vw));
  border: 1px solid var(--border);
  border-radius: calc(var(--radius, 0.625rem) - 2px);
  background: var(--popover);
  color: var(--popover-foreground);
  padding: 0.375rem 0.75rem;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  font-family: var(--font-sans, "Geist Variable", system-ui, sans-serif);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  text-align: start;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

/* CodeMirror owns arrow geometry; its library palette must not leak through. */
:root body .cm-tooltip-arrow::before {
  border-top-color: var(--border);
  border-bottom-color: var(--border);
}
:root body .cm-tooltip-arrow::after {
  border-top-color: var(--popover);
  border-bottom-color: var(--popover);
}
