:root{--ink:#14161a;--ink-soft:#5b6270;--ink-faint:#8b929f;--line:#e2e5ea;--line-soft:#eef0f3;--paper:#fff;--ground:#f6f7f9;--brand:#1d3f8f;--brand-soft:#eaf0fd;--good:#17683f;--good-soft:#e6f3ec;--warn:#8a5a00;--warn-soft:#fdf3e0;--bad:#9b2226;--bad-soft:#fbeceb;--radius:6px}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.55 ui-sans-serif,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.011em;margin:0;font-weight:620}h1{font-size:22px}h2{font-size:16px}h3{font-size:14px}p{margin:0 0 12px}code,pre,.mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:12.5px}.topbar{background:var(--paper);border-bottom:1px solid var(--line);align-items:center;gap:24px;height:56px;padding:0 24px;display:flex}.topbar .wordmark{letter-spacing:-.02em;font-weight:660}.topbar .wordmark span{color:var(--ink-faint);font-weight:450}.topbar nav{gap:18px;margin-left:8px;display:flex}.topbar nav a{color:var(--ink-soft);font-size:14px}.topbar nav a.on{color:var(--ink);font-weight:560}.topbar .who{color:var(--ink-soft);align-items:center;gap:12px;margin-left:auto;font-size:13px;display:flex}main{max-width:1080px;margin:0 auto;padding:28px 24px 80px}main.wide{max-width:1240px}.head{align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.sub{color:var(--ink-soft);margin-bottom:22px;font-size:14px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px}.card>header{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:13px 16px;display:flex}.card>header .note{color:var(--ink-faint);margin-left:auto;font-size:12.5px}.card .body{padding:16px}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);border-bottom:1px solid var(--line-soft);padding:10px 16px;font-size:11.5px;font-weight:600}td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:12px 16px}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.empty{text-align:center;color:var(--ink-faint);padding:28px 16px}.pill{letter-spacing:.01em;white-space:nowrap;background:var(--ground);color:var(--ink-soft);border:1px solid var(--line);border-radius:100px;padding:2px 8px;font-size:11.5px;font-weight:560;display:inline-block}.pill.good{background:var(--good-soft);color:var(--good);border-color:#0000}.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.pill.info{background:var(--brand-soft);color:var(--brand);border-color:#0000}label{color:var(--ink-soft);margin-bottom:5px;font-size:12.5px;font-weight:560;display:block}input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:9px 11px}input:focus,textarea:focus,select:focus{outline:2px solid var(--brand-soft);border-color:var(--brand)}textarea{resize:vertical;min-height:78px}.field{margin-bottom:14px}.row{flex-wrap:wrap;gap:12px;display:flex}.row>*{flex:180px}button{font:inherit;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;padding:9px 15px;font-weight:560}button:hover{background:var(--ground)}button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.primary:hover{background:#17337a}button.danger{background:var(--paper);color:var(--bad);border-color:#e6c4c4}button.danger:hover{background:var(--bad-soft)}.alert{border-radius:var(--radius);margin-bottom:16px;padding:11px 14px;font-size:14px}.alert.bad{background:var(--bad-soft);color:var(--bad)}.alert.warn{background:var(--warn-soft);color:var(--warn)}.alert.info{background:var(--brand-soft);color:var(--brand)}.signin{max-width:380px;margin:12vh auto}.signin .card .body{padding:24px}.signin h1{margin-bottom:4px;font-size:19px}.signin .sub{margin-bottom:20px}.signin button{width:100%}.review{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}@media (max-width:900px){.review{grid-template-columns:minmax(0,1fr)}}.quote{background:var(--ground);border-left:3px solid var(--brand);border-radius:0 var(--radius) var(--radius) 0;padding:12px 14px;font-size:15px}pre.diff{border-radius:0 0 var(--radius) var(--radius);background:#fbfcfd;margin:0;padding:14px 16px;line-height:1.5;overflow-x:auto}pre.diff .add{color:var(--good)}pre.diff .del{color:var(--bad)}pre.diff .hunk{color:var(--ink-faint)}.shots{grid-template-columns:1fr 1fr;gap:14px;display:grid}.shot{border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);overflow:hidden}.shot figcaption{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);background:var(--paper);border-bottom:1px solid var(--line-soft);padding:7px 10px;font-size:11.5px}.shot img{width:100%;display:block}.shot .missing{text-align:center;color:var(--ink-faint);padding:34px 12px;font-size:13px}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--line-soft);gap:10px;padding:9px 0;display:flex}.timeline li:last-child{border-bottom:0}.timeline .dot{background:var(--line);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.timeline .dot.done{background:var(--good)}.timeline .k{font-size:13px}.timeline .v{text-align:right;color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.timeline .pending{color:var(--ink-faint);font-style:italic}.stat{flex-wrap:wrap;gap:26px;display:flex}.stat div{min-width:108px}.stat .n{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:21px;font-weight:620}.stat .l{color:var(--ink-soft);font-size:12px}.kv{grid-template-columns:auto 1fr;gap:7px 16px;font-size:13.5px;display:grid}.kv dt{color:var(--ink-soft)}.kv dd{margin:0}.meta{color:var(--ink-soft);font-size:13px}.tight{margin-bottom:6px}
