:root{--ink:#14202b;--ink-muted:#4a5b6a;--paper:#f4f6f8;--surface:#fff;--surface-sunken:#eaeef2;--border:#d5dce2;--border-strong:#7d8b98;--accent:#12507a;--accent-hover:#0d3d5e;--accent-wash:#e3eef6;--ok:#1f6b45;--ok-wash:#e2f1e9;--bad:#97241f;--bad-wash:#fbe8e7;--warn-wash:#fdf1da;--radius:6px;--touch:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--ink:#e8eef4;--ink-muted:#a3b3c1;--paper:#0f171e;--surface:#16212b;--surface-sunken:#1d2b36;--border:#2a3944;--border-strong:#6a7d8d;--accent:#6fb2dd;--accent-hover:#93c8ea;--accent-wash:#14303f;--ok:#6cc094;--ok-wash:#17301f;--bad:#e78e8a;--bad-wash:#35191a;--warn-wash:#33280f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:3px}.skip-link{z-index:20;background:var(--surface);color:var(--accent);border:2px solid var(--accent);border-radius:var(--radius);padding:12px 16px;transition:top .12s;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{background:var(--surface);border-bottom:1px solid var(--border-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.app-header__brand{color:var(--ink);min-height:var(--touch);align-items:center;font-size:18px;font-weight:650;text-decoration:none;display:inline-flex}.app-header__user{color:var(--ink-muted);margin:0;font-size:14px}.app-main{gap:20px;max-width:1080px;margin:0 auto;padding:20px;display:grid}.app-main:focus{outline:none}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:14px;padding:20px;display:grid}.panel__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.panel h1,.panel h2,.panel h3{text-wrap:balance;margin:0;line-height:1.25}.panel--error{border-color:var(--bad);background:var(--bad-wash)}.panel--notice{border-color:var(--border-strong);background:var(--warn-wash)}a{color:var(--accent);text-underline-offset:2px}.loading,.error{color:var(--ink-muted);margin:0}.error{color:var(--bad)}.notice{background:var(--ok-wash);border-left:3px solid var(--ok);border-radius:0 var(--radius) var(--radius) 0;margin:0;padding:10px 12px}.site-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.site-card{border:1px solid var(--border);border-radius:var(--radius);align-content:start;gap:6px;padding:16px;display:grid}.site-card__name{margin:0;font-size:17px}.site-card__host,.site-card__meta{color:var(--ink-muted);margin:0;font-size:14px}.site-shell{gap:16px;display:grid}.site-shell__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.site-shell__title{margin:0;font-size:24px}.site-shell__host{color:var(--ink-muted);margin:2px 0 0;font-size:14px}.site-nav ul{border-bottom:1px solid var(--border-strong);flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.site-nav__link{min-height:var(--touch);color:var(--ink-muted);border-bottom:3px solid #0000;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.site-nav__link.is-active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.build-status{border-radius:var(--radius);border:1px solid var(--border-strong);min-height:var(--touch);align-items:center;gap:6px;margin:0;padding:8px 12px;font-size:14px;display:flex}.build-status--idle{color:var(--ink-muted)}.build-status--busy{background:var(--accent-wash)}.build-status--ok{background:var(--ok-wash);border-color:var(--ok)}.build-status--bad{background:var(--bad-wash);border-color:var(--bad)}.build-status__state{font-weight:600}.article-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.article-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.article-row:last-child{border-bottom:0}.article-row__title{margin:0 0 2px;font-size:16px}.article-row__excerpt{color:var(--ink-muted);max-width:68ch;margin:0;font-size:14px}.article-row__meta{color:var(--ink-muted);align-items:center;gap:10px;font-size:13px;display:flex}.pill{border:1px solid var(--border-strong);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.pill--published,.pill--active{background:var(--ok-wash);border-color:var(--ok);color:var(--ok)}.pill--failed,.pill--suspended{background:var(--bad-wash);border-color:var(--bad);color:var(--bad)}.pill--draft,.pill--provisioning{background:var(--surface-sunken)}.article-form,.inline-form{gap:14px;display:grid}.inline-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.field{gap:4px;display:grid}.field--checkbox{min-height:var(--touch);grid-template-columns:auto 1fr;align-items:center;gap:8px}.field-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}label{font-size:14px;font-weight:600}input,textarea,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-height:var(--touch);width:100%;padding:10px 12px}input[type=checkbox]{width:22px;height:22px;min-height:22px}textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.6}input[readonly]{background:var(--surface-sunken);color:var(--ink-muted)}.field__hint{color:var(--ink-muted);max-width:68ch;margin:0;font-size:13px}.field__error{color:var(--bad);margin:0;font-size:13px;font-weight:600}.field--invalid input,.field--invalid textarea{border-color:var(--bad);border-width:2px}.fieldset{border:1px solid var(--border);border-radius:var(--radius);gap:12px;margin:0;padding:14px;display:grid}legend{padding:0 6px;font-weight:600}.hero-preview{border-radius:var(--radius);border:1px solid var(--border);max-width:100%;height:auto}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.button{min-height:var(--touch);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:var(--surface-sunken)}.button:disabled{opacity:.65;cursor:not-allowed}.button--primary{background:var(--accent);border-color:var(--accent);color:#fff}.button--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button--danger{color:var(--bad);border-color:var(--bad)}.button--danger:hover:not(:disabled){background:var(--bad-wash)}.button--small{min-height:var(--touch);padding:0 12px;font-size:14px}.button--link{min-height:var(--touch);font-weight:inherit;color:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.button--link:hover:not(:disabled){color:var(--accent);background:0 0}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}thead th{background:var(--surface-sunken);white-space:nowrap;font-size:13px}tbody tr:last-child td{border-bottom:0}.is-revoked td{color:var(--ink-muted)}.build-reason{color:var(--bad);max-width:60ch;margin:4px 0 0}code{background:var(--surface-sunken);border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.token-value{word-break:break-all;max-width:100%;padding:8px 10px;display:inline-block}.detail-list{grid-template-columns:minmax(140px,auto) 1fr;gap:8px 16px;margin:0;display:grid}.detail-list dt{font-size:14px;font-weight:600}.detail-list dd{margin:0}
