
:root { color-scheme: light; --ink:#17202a; --muted:#65727f; --line:#dfe5ea; --paper:#fff; --bg:#f4f6f8; --brand:#0c5caa; --brand-dark:#083e74; --good:#197344; --warn:#986000; --bad:#a62f2f; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--brand); }
.topbar { background:#102a43; color:#fff; padding:14px 24px; display:flex; align-items:center; gap:20px; justify-content:space-between; }
.brand { font-weight:750; letter-spacing:.01em; color:#fff; text-decoration:none; }
.userbar { display:flex; align-items:center; gap:14px; color:#d9e7f4; font-size:13px; }
.container { width:min(1240px,calc(100% - 32px)); margin:24px auto 60px; }
.narrow { width:min(520px,calc(100% - 32px)); margin:8vh auto; }
.card { background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:20px; box-shadow:0 1px 2px rgba(16,42,67,.04); }
.grid { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
.span-4 { grid-column:span 4; } .span-6 { grid-column:span 6; } .span-8 { grid-column:span 8; } .span-12 { grid-column:span 12; }
h1,h2,h3 { line-height:1.2; margin:0 0 14px; } h1 { font-size:27px; } h2 { font-size:20px; margin-top:2px; } h3 { font-size:16px; }
p { margin:0 0 12px; } .muted { color:var(--muted); } .small { font-size:13px; }
.eyebrow { color:var(--muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.toolbar { display:flex; gap:10px; align-items:end; flex-wrap:wrap; margin:16px 0; }
.toolbar .grow { flex:1 1 260px; }
label { display:block; font-size:13px; font-weight:700; margin-bottom:6px; }
input,select,textarea { width:100%; border:1px solid #b9c4ce; border-radius:8px; padding:10px 11px; background:#fff; color:var(--ink); font:inherit; }
textarea { min-height:480px; font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; resize:vertical; }
textarea.short { min-height:92px; font:inherit; }
input:focus,select:focus,textarea:focus { outline:3px solid rgba(12,92,170,.18); border-color:var(--brand); }
button,.button { display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:8px; background:var(--brand); color:#fff; padding:9px 14px; font:700 14px/1.3 inherit; text-decoration:none; cursor:pointer; }
button:hover,.button:hover { background:var(--brand-dark); }
.button-secondary { background:#e7edf3; color:#183b56; } .button-secondary:hover { background:#d8e2eb; }
.button-danger { background:var(--bad); } .button-danger:hover { background:#812323; }
.link-button { padding:0; background:none; color:#d9e7f4; font-weight:600; } .link-button:hover { background:none; color:#fff; }
.tabs { display:flex; gap:7px; overflow:auto; padding-bottom:3px; }
.tab { white-space:nowrap; border:1px solid var(--line); border-radius:999px; padding:7px 11px; background:#fff; text-decoration:none; color:#334e68; font-size:13px; }
.tab.active { background:#dbeafe; border-color:#99c2e9; color:#073b70; font-weight:750; }
.badge { display:inline-block; border-radius:999px; padding:3px 8px; font-size:12px; font-weight:750; background:#e7edf3; color:#334e68; }
.badge-proposed,.badge-drafted { background:#e5f0fb; color:#07528f; } .badge-needs_review { background:#fff1d6; color:#7a4b00; } .badge-approved { background:#ddf5e8; color:#146c3d; } .badge-rejected { background:#fde4e4; color:#8d2525; } .badge-merged,.badge-observed { background:#eceff2; color:#56616c; }
table { width:100%; border-collapse:collapse; }
th,td { text-align:left; padding:12px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
tr:last-child td { border-bottom:0; }
.title-link { font-weight:750; text-decoration:none; }
.notice,.error { padding:11px 14px; border-radius:8px; margin:0 0 16px; }
.notice { background:#e2f4ea; color:#145c36; border:1px solid #b7dfc7; } .error { background:#fde8e8; color:#842626; border:1px solid #efc2c2; }
.meta { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:14px 0; }
.meta > div { background:#f7f9fb; border:1px solid var(--line); border-radius:8px; padding:10px; }
.meta strong { display:block; font-size:18px; }
.list { margin:0; padding-left:20px; } .list li { margin:5px 0; }
.stack { display:grid; gap:16px; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.callout { border-left:4px solid #7aa7d2; background:#f0f6fb; padding:12px 14px; border-radius:4px 8px 8px 4px; }
.actions { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.space-between { justify-content:space-between; } .mt-10 { margin-top:10px; } .mt-12 { margin-top:12px; } .mt-14 { margin-top:14px; } .mt-16 { margin-top:16px; } .mb-18 { margin-bottom:18px; } .meta-value { font-size:14px !important; } .top-link { color:#d9e7f4; }
.danger-zone { border-color:#efc5c5; }
.diff { background:#101820; color:#dce6ef; border-radius:8px; padding:14px; max-height:520px; overflow:auto; white-space:pre-wrap; font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace; }
.diff span { display:block; padding:0 6px; } .diff-add { background:#123d2a; color:#b7f3d1; } .diff-del { background:#4a2024; color:#ffd2d2; } .diff-same { color:#bac7d1; }
.revision { border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }
.event { display:grid; grid-template-columns:150px 1fr; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); }
.pagination { display:flex; justify-content:space-between; margin-top:16px; }
code { background:#eef2f5; border-radius:4px; padding:2px 5px; font-size:.9em; }
pre.json { max-height:320px; overflow:auto; background:#f5f7f9; padding:12px; border-radius:8px; white-space:pre-wrap; }
details > summary { cursor:pointer; font-weight:700; }
@media (max-width:850px) { .span-4,.span-6,.span-8 { grid-column:span 12; } .split { grid-template-columns:1fr; } .meta { grid-template-columns:repeat(2,1fr); } .hide-mobile { display:none; } }
