.skip-link{z-index:10;color:#fff;background:var(--color-ink);padding:12px 16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.app-shell{width:min(100% - 32px,1240px);margin:0 auto;padding-bottom:64px}.site-header{border-bottom:1px solid var(--color-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:88px;display:flex}.brand{align-items:center;gap:12px;min-height:44px;text-decoration:none;display:inline-flex}.brand-mark{color:#f7fbf5;background:var(--color-ink);border-radius:9px 3px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.brand-name{letter-spacing:-.02em;font-size:1.0625rem}.primary-nav{flex-wrap:wrap;gap:4px;display:flex}.primary-nav a{border-radius:4px 10px;align-items:center;min-height:44px;padding:0 12px;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.primary-nav a:hover{background:var(--color-code)}.primary-nav a.router-link-active{color:var(--color-action)}.session-controls{align-items:center;gap:12px;font-size:.875rem;display:flex}.session-controls .identity{color:var(--color-subtle);display:none}.page-heading{padding:40px 0 24px}.page-heading h1{letter-spacing:-.05em;text-wrap:pretty;margin:0;font-size:clamp(2rem,5vw,3.25rem);line-height:1}.page-heading p{max-width:640px;color:var(--color-muted);text-wrap:pretty;margin:14px 0 0;line-height:1.6}.centered-page{width:min(100% - 32px,460px);margin:0 auto;padding:56px 0 64px}@media (width>=768px){.app-shell{width:min(100% - 64px,1240px)}.session-controls .identity{display:inline}}.field{gap:6px;margin-bottom:18px;display:grid}.field>label{font-size:.875rem;font-weight:700}.field-hint{color:var(--color-subtle);font-size:.8125rem}input,select,textarea{width:100%;min-height:44px;font:inherit;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-line);border-radius:4px 10px;padding:10px 12px;font-size:1rem}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--color-action);outline-offset:3px}button{min-height:44px;font:inherit;color:#fff;background:var(--color-action);cursor:pointer;border:1px solid #0000;border-radius:4px 12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:700;transition:background-color .18s cubic-bezier(.2,.8,.2,1);display:inline-flex}button:hover:not(:disabled){background:var(--color-action-hover)}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{color:var(--color-ink);border-color:var(--color-line);background:0 0}button.secondary:hover:not(:disabled){background:var(--color-code)}button.danger{color:var(--color-danger);border-color:var(--color-danger);background:0 0}button.danger:hover:not(:disabled){color:#fff;background:var(--color-danger)}button.compact{min-height:36px;padding:0 12px;font-size:.8125rem}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field.inline{flex:240px;margin-bottom:0}.field.inline.narrow{flex:0 180px}.panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:6px 18px;padding:24px}.panel+.panel{margin-top:20px}.panel h2{letter-spacing:-.02em;margin:0 0 6px;font-size:1.125rem}.panel-intro{color:var(--color-muted);margin:0 0 20px;font-size:.9375rem;line-height:1.6}.panel-grid{gap:20px;display:grid}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9375rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--color-line);padding:12px 14px 12px 0}th{letter-spacing:.08em;text-transform:uppercase;color:var(--color-subtle);white-space:nowrap;font-size:.75rem}td .secondary-text{color:var(--color-subtle);font-size:.8125rem;display:block}.badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--color-line);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge.is-positive{color:var(--color-live);border-color:var(--color-live)}.badge.is-negative{color:var(--color-danger);border-color:var(--color-danger)}.alert{border-radius:4px 12px;margin:0 0 18px;padding:12px 14px;font-size:.9375rem;line-height:1.55}.alert.is-error{color:var(--color-danger);background:var(--color-danger-surface)}.alert.is-notice{color:var(--color-ink);background:var(--color-notice-surface)}.empty-state{color:var(--color-subtle);margin:0;padding:28px 0}.card-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.card-list a{background:var(--color-surface);border:1px solid var(--color-line);border-radius:6px 16px;padding:18px 20px;text-decoration:none;display:block}.card-list a:hover{border-color:var(--color-panel-line)}.card-list h3{margin:0 0 4px;font-size:1rem}.card-list p{color:var(--color-subtle);margin:0;font-size:.875rem}@media (width>=900px){.panel-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.panel-actions{margin-top:18px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#eef2eb;--color-surface:#fff;--color-ink:#18302c;--color-muted:#405953;--color-subtle:#526963;--color-line:#cbd5cc;--color-panel-line:#36534d;--color-panel-muted:#aec0ba;--color-panel-highlight:#9ed6c9;--color-panel-text:#ecf6f1;--color-code:#dde7df;--color-action:#b84924;--color-action-hover:#943a1d;--color-live:#15816f;--color-danger:#a32b1c;--color-danger-surface:#fbe9e5;--color-notice-surface:#e3f1ec;color:var(--color-ink);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100dvh;margin:0}button,a{touch-action:manipulation;-webkit-tap-highlight-color:#18302c29}a{color:inherit}code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
