:root{--navy: #002fa7;--orange: #e85d26;--bg: #f4f2ec;--surface: #ffffff;--ink: #16171c;--muted: #71757d;--faint: #a4a8af;--line: #e4e1d8;--sidebar-bg: #0e0f13;--sidebar-ink: #9aa0a8;--sidebar-active: #ffffff;--green: #1d7a4f;--red: #b3261e;--amber: #9a6700;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(20, 23, 28, .05), 0 4px 16px rgba(20, 23, 28, .05);--sidebar-w: 224px;--font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace}html{-webkit-font-smoothing:antialiased}body{font-family:var(--font);background:var(--bg);color:var(--ink)}a{color:var(--navy)}button{font-family:var(--font)}.app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--sidebar-bg);display:flex;flex-direction:column;padding:20px 12px 16px;z-index:100}.sidebar-logo{color:#fff;font-size:15px;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:4px 12px 18px;display:block}.sidebar-logo em{color:var(--orange);font-style:normal}.sidebar nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--sidebar-ink);text-decoration:none;font-size:13.5px;font-weight:500;letter-spacing:.2px;transition:background .12s ease,color .12s ease}.nav-link:hover{color:#e8eaed;background:#ffffff0d}.nav-link.active{color:var(--sidebar-active);background:#ffffff1a}.nav-link .nav-icon{width:18px;text-align:center;font-size:14px;opacity:.9}.sidebar-footer{padding:12px 12px 0;border-top:1px solid rgba(255,255,255,.08)}.key-reset{background:none;border:none;color:var(--sidebar-ink);font-size:11.5px;cursor:pointer;padding:4px 0;letter-spacing:.2px}.key-reset:hover{color:#e8eaed}.topbar{display:none}.content{margin-left:var(--sidebar-w);flex:1;min-width:0;padding:28px 32px 64px;max-width:1280px}@media(max-width:768px){.sidebar{display:none}.sidebar.open{display:flex;inset:48px 0 auto 0;width:100%;height:auto;padding:8px 12px 16px;box-shadow:0 12px 24px #0006}.topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:110;background:var(--sidebar-bg);height:48px;padding:0 14px}.topbar-logo{color:#fff;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-decoration:none}.topbar-logo em{color:var(--orange);font-style:normal}.hamburger{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px 8px}.content{margin-left:0;padding:16px 14px 48px}}.page-title{font-size:22px;font-weight:700;letter-spacing:-.2px;margin-bottom:4px}.page-sub{font-size:13px;color:var(--muted);margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.card-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;color:var(--navy);margin-bottom:10px}.badge{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.5px;padding:2px 8px;border-radius:99px;text-transform:uppercase}.badge.green{background:#e3f2e9;color:var(--green)}.badge.grey{background:#ececea;color:var(--muted)}.badge.orange{background:#fdeae0;color:var(--orange)}.badge.navy{background:#e4eafb;color:var(--navy)}.badge.red{background:#f9e4e2;color:var(--red)}.badge.amber{background:#f6ecd4;color:var(--amber)}.btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .12s ease,background .12s ease}.btn:hover{border-color:var(--faint)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.primary:hover{background:#2a2c33}.btn.subtle{border-color:transparent;color:var(--muted)}.btn.subtle:hover{color:var(--ink)}.inline-error{color:var(--red);font-size:12.5px;margin-left:10px}.empty-state{text-align:center;color:var(--muted);font-size:14px;padding:48px 24px;line-height:1.6}@keyframes shimmer{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}.skeleton{background:#e9e6df;border-radius:var(--radius-sm);animation:shimmer 1.4s ease-in-out infinite}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}table.data td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}table.data tr:last-child td{border-bottom:none}table.data td.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}table.data th.num{text-align:right}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.filter-tabs{display:flex;gap:4px;flex-wrap:wrap}.filter-tab{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}.filter-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter-bar select,.filter-bar input[type=search]{font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--font)}.filter-bar input[type=search]{min-width:180px}.filter-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:99px;background:#e4eafb;color:var(--navy)}.diff{font-family:var(--mono);font-size:12px;line-height:1.5;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfaf7}.diff .line{padding:1px 12px;white-space:pre-wrap;word-break:break-word}.diff .add{background:#e3f2e9;color:#114b30}.diff .del{background:#f9e4e2;color:#7a1d17;text-decoration:line-through;text-decoration-color:#7a1d1759}.post-text{white-space:pre-wrap;font-size:14.5px;line-height:1.65;color:var(--ink)}.post-visual{width:100%;max-width:420px;border-radius:var(--radius-sm);border:1px solid var(--line);margin-top:14px;display:block}.source-links{margin-top:12px;display:flex;flex-direction:column;gap:4px}.source-links a{font-size:12px;color:var(--muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.source-links a:hover{color:var(--navy)}
