@font-face{font-family:Montserrat;font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/montserrat-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:300 600;font-display:swap;src:url('/fonts/montserrat-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{font-family:Montserrat,sans-serif;font-size:16px;line-height:1.6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light;--accent:#8c244f;--accent-hover:#731a3f;--accent-soft:#f7edf2;--muted:#746975;--line:#eee8ed;--surface:#fffefd;--text:#27212a;--heading:#41343b;--yes-bg:#edf7ef;--yes-text:#285e39;--no-bg:#fdf0f0;--no-text:#8a3030;--warn-bg:#fff4df;--warn-text:#745014;color:var(--text);background:var(--surface);scrollbar-color:#c6b5bd var(--surface);scrollbar-width:thin}
*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-underline-offset:4px}a:hover{color:var(--accent-hover)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:#ecd1dd;color:#53132f}[hidden]{display:none!important}
.Thesis{width:min(100%,76rem);margin:auto;padding:3rem clamp(1.25rem,4vw,4rem)}
.List__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.5rem}.List__title{margin:0;color:var(--heading);font-size:clamp(1.85rem,4vw,2.25rem);line-height:1.15;letter-spacing:-.035em;font-weight:400}.List__intro{color:var(--muted);font-size:.9rem;margin:.65rem 0 0}.List__button{flex-shrink:0;min-height:44px;padding:.6rem 1rem;border:0;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:.8rem;transition:background-color 160ms ease}.List__button:hover{background:var(--accent);color:white}.List__button:disabled{cursor:wait;background:var(--line);color:var(--muted)}
.List__overview{padding:1.5rem 0 2rem;border-block:1px solid var(--line)}.List__summary{margin:0;font-weight:500;font-size:clamp(1.1rem,2.7vw,1.4rem);color:var(--yes-text)}.List__summary[data-status=down]{color:var(--no-text)}.List__summary[data-status=unknown]{color:var(--muted)}.List__notice{color:var(--muted);font-size:.8rem}.List__overview p{margin:.5rem 0 0}.List__error{padding:1rem;border-radius:12px;background:var(--no-bg);color:var(--no-text);font-size:.85rem}
.List__resources{padding:2rem 0}.List__sectionHeading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap}h2{font-weight:500;font-size:1rem;color:var(--heading);margin:0 0 1rem}.List__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin:0 0 1rem}.List__metric{min-width:0}.List__metric dt{display:flex;align-items:baseline;gap:.5rem;font-size:.85rem}.List__metric dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .7rem;margin:.5rem 0 .25rem;font-variant-numeric:tabular-nums}.List__metric strong{font-size:1.5rem;font-weight:500;letter-spacing:-.025em}.List__metric dd span{color:var(--muted);font-size:.75rem}meter{display:block;width:100%;height:10px;appearance:none;border:0;border-radius:4px;background:var(--line)}meter::-webkit-meter-bar{height:8px;border:0;background:var(--line);border-radius:4px}meter::-webkit-meter-optimum-value{background:var(--accent);border-radius:4px}meter::-webkit-meter-suboptimum-value{background:var(--warn-text);border-radius:4px}meter::-webkit-meter-even-less-good-value{background:var(--no-text);border-radius:4px}meter::-moz-meter-bar{background:var(--accent);border-radius:4px}meter[data-missing=true]{opacity:.35}.List__resources>.List__notice{margin:0}
.List__group{margin:1rem 0 2.75rem}.List__group h2{margin-bottom:.4rem}.List__rows{list-style:none;margin:0;padding:0}.List__service{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;min-height:84px;padding:1rem 0;border-bottom:1px solid var(--line)}.List__serviceName{display:block;font-size:.9rem;font-weight:500;overflow-wrap:anywhere}.List__serviceName a{color:var(--text);text-decoration:none}.List__serviceName a:hover{color:var(--accent);text-decoration:underline}.List__serviceDetail{display:block;color:var(--muted);font-size:.73rem;margin-top:.2rem;overflow-wrap:anywhere}.List__serviceResult{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end;text-align:right}.List__latency{font-variant-numeric:tabular-nums;font-size:.75rem;color:var(--muted);min-width:4.5rem}.List__badge{display:inline-flex;align-items:center;gap:.45rem;min-height:30px;padding:.2rem .65rem;border-radius:7px;font-size:.73rem;font-weight:500;color:var(--muted);background:#f3eff1;white-space:nowrap}.List__badge:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.List__badge[data-status=up]{color:var(--yes-text);background:var(--yes-bg)}.List__badge[data-status=down]{color:var(--no-text);background:var(--no-bg)}.List__badge[data-status=unknown]{color:var(--warn-text);background:var(--warn-bg)}
.List__footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.73rem;max-width:75ch}.List__footer p{margin:.5rem 0}.List__footer p:last-child{margin-top:1rem}
@media(max-width:680px){.Thesis{padding-block:2rem}.List__header{margin-bottom:1.5rem;align-items:flex-start}.List__title{font-size:1.65rem}.List__intro{font-size:.8rem}.List__metrics{grid-template-columns:1fr;gap:1.25rem}.List__metric dd{justify-content:space-between;margin-top:.25rem}.List__metric strong{font-size:1.35rem}.List__service{gap:.75rem;min-height:88px}.List__serviceResult{gap:.25rem;flex-direction:column;align-items:flex-end}.List__serviceDetail{max-width:40ch}.List__latency{min-width:0}.List__group{margin-bottom:2rem}.List__resources{padding-block:1.5rem}.List__sectionHeading{margin-bottom:.5rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
