:root{color-scheme:light;--bg: #f3f5f8;--surface: #ffffff;--surface-2: #e9edf2;--border: #d6dce4;--border-strong: #79828f;--text: #131820;--text-dim: #4f5a67;--text-faint: #5f6a78;--accent: #1257c8;--accent-soft: #e4edfd;--accent-strong: #1257c8;--on-accent: #ffffff;--good: #14683e;--good-soft: #e0f3e9;--warn: #8a5200;--warn-soft: #fbeed6;--bad: #b3271e;--bad-soft: #fceceb;--critical: #8b1a13;--overlay: rgba(19, 24, 32, .45);--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1);--shadow-lg: 0 10px 30px rgba(16, 24, 40, .14);--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%234f5a67' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--s1: .25rem;--s2: .5rem;--s3: .75rem;--s4: 1rem;--s5: 1.5rem;--s6: 2rem;--s7: 3rem;--radius: 10px;--radius-sm: 6px;--shell: 1280px;--measure: 68ch;--tap: 44px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1216;--surface: #171b21;--surface-2: #1e242c;--border: #2a323c;--border-strong: #6a7581;--text: #e8ecf1;--text-dim: #a2adb9;--text-faint: #8b96a3;--accent: #6cb0ff;--accent-soft: #17293f;--accent-strong: #58a6ff;--on-accent: #08111f;--good: #4cc45c;--good-soft: #12261a;--warn: #d8a12b;--warn-soft: #2b2110;--bad: #ff6b62;--bad-soft: #2d1513;--critical: #ff8a82;--overlay: rgba(0, 0, 0, .6);--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 34px rgba(0, 0, 0, .55);--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23a2adb9' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0f1216;--surface: #171b21;--surface-2: #1e242c;--border: #2a323c;--border-strong: #6a7581;--text: #e8ecf1;--text-dim: #a2adb9;--text-faint: #8b96a3;--accent: #6cb0ff;--accent-soft: #17293f;--accent-strong: #58a6ff;--on-accent: #08111f;--good: #4cc45c;--good-soft: #12261a;--warn: #d8a12b;--warn-soft: #2b2110;--bad: #ff6b62;--bad-soft: #2d1513;--critical: #ff8a82;--overlay: rgba(0, 0, 0, .6);--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 34px rgba(0, 0, 0, .55);--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23a2adb9' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}img,svg,video,canvas{max-width:100%;height:auto}h1,h2,h3{margin:0 0 var(--s2);line-height:1.25;font-weight:650;letter-spacing:-.01em;max-width:var(--measure)}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0 0 var(--s3);max-width:var(--measure)}p:last-child{margin-bottom:0}.prose{max-width:var(--measure)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.num{font-variant-numeric:tabular-nums;font-family:var(--mono)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s5);box-shadow:var(--shadow)}.grid{display:grid;gap:var(--s4)}.row{display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);flex-wrap:wrap}.stack>*+*{margin-top:var(--s4)}.muted{color:var(--text-dim)}.faint{color:var(--text-faint);font-size:.85rem}div.muted,div.faint{max-width:var(--measure)}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);font:inherit;font-weight:550;min-height:38px;padding:var(--s2) var(--s4);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);text-decoration:none;cursor:pointer;transition:filter .12s ease,background-color .12s ease}.btn:hover{text-decoration:none}button:hover:not(:disabled),.btn:hover{filter:brightness(1.06)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}button.danger{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}button.ghost{background:transparent}button.sm,.btn.sm{min-height:32px;padding:var(--s1) var(--s3);font-size:.85rem}input,select,textarea{font:inherit;min-height:38px;padding:var(--s2) var(--s3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);width:100%}textarea{min-height:5rem}input::placeholder,textarea::placeholder{color:var(--text-faint);opacity:1}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-strong);outline-offset:-1px;border-color:var(--accent-strong)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}select{appearance:none;-webkit-appearance:none;background-image:var(--chevron);background-repeat:no-repeat;background-position:right var(--s3) center;background-size:12px 8px;padding-right:2.6rem}input[type=checkbox],input[type=radio]{width:auto;min-height:0;min-width:1.15rem;height:1.15rem;accent-color:var(--accent-strong)}input[type=range]{min-height:0;padding:0;border:0;background:none;accent-color:var(--accent-strong)}label{display:block;font-size:.85rem;font-weight:550;color:var(--text-dim);margin-bottom:var(--s1)}.field{margin-bottom:var(--s4)}.field:last-child{margin-bottom:0}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-weight:600;padding:var(--s2) var(--s3);border-bottom:1px solid var(--border);vertical-align:bottom}td{padding:var(--s3);border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}.scroll-x{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.pill{display:inline-block;padding:.1rem var(--s2);border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.pill.good{background:var(--good-soft);color:var(--good)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.neutral{background:var(--surface-2);color:var(--text-dim)}.pill.accent{background:var(--accent-soft);color:var(--accent)}.bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden;position:relative}.bar>i{display:block;height:100%;border-radius:999px;transition:width .3s ease}.bar>.target-line{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--text);opacity:.55}.alert{padding:var(--s3) var(--s4);border-radius:var(--radius-sm);border:1px solid;margin-bottom:var(--s3);font-size:.9rem;max-width:var(--measure)}.alert.err{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.alert.ok{background:var(--good-soft);border-color:var(--good);color:var(--good)}.alert.info{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.skeleton{background:var(--surface-2);border-radius:var(--radius-sm);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@media (min-width: 641px){th{white-space:nowrap}}@media (max-width: 640px){h1{font-size:1.35rem}.card{padding:var(--s4)}th,td{padding:var(--s2)}th{font-size:.72rem}td{overflow-wrap:anywhere}}@media (max-width: 360px){.card{padding:var(--s3)}}@media (pointer: coarse),(max-width: 640px){button,.btn,input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{min-height:var(--tap)}button.sm,.btn.sm{min-height:var(--tap);padding:var(--s2) var(--s3)}input[type=checkbox],input[type=radio]{min-width:1.35rem;height:1.35rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
