:root{--paper: #f4f1e8;--paper-2: #ede8da;--ink: #1a1814;--ink-soft: #4a463d;--muted: #8a8474;--line: #d8d2c2;--cobalt: #bd3132;--cobalt-deep: #8f2122;--oxblood: #9b2226;--amber: #b7791f;--green: #2f6b3a;--slate: #6b7280;--radius: 4px;--shadow: 0 1px 0 var(--line), 0 8px 24px -16px rgba(26, 24, 20, .4)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background-color:var(--paper);background-image:radial-gradient(circle at 1px 1px,rgba(26,24,20,.04) 1px,transparent 0);background-size:22px 22px;color:var(--ink);font-family:Hanken Grotesk,system-ui,sans-serif;font-size:16px;line-height:1.55}a{color:inherit}.shell{min-height:100%;display:flex;flex-direction:column;max-width:1080px;margin:0 auto;padding:0 24px}.masthead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:32px 0 20px;border-bottom:3px double var(--ink);flex-wrap:wrap}.masthead__brand{display:flex;align-items:center;gap:16px}.masthead__logo{display:inline-flex;flex-shrink:0}.masthead__logo-img{height:72px;width:auto;display:block}.masthead__kicker{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.masthead__title{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:900;font-size:clamp(2.4rem,6vw,3.6rem);line-height:.95;margin:4px 0 2px;letter-spacing:-.01em}.masthead__sub{font-family:Fraunces,Georgia,serif;font-style:italic;color:var(--cobalt-deep);font-size:1.05rem}.masthead__nav{display:flex;align-items:center;gap:22px;padding-bottom:6px}.masthead__nav a{text-decoration:none;font-weight:600;font-size:.92rem;letter-spacing:.02em;color:var(--ink-soft);padding-bottom:3px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.masthead__nav a:hover{color:var(--ink)}.masthead__nav a.active{color:var(--cobalt-deep);border-bottom-color:var(--cobalt)}.content{flex:1;padding:28px 0 40px}.view{animation:rise .4s ease both}.view--narrow{max-width:620px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.view__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.view__title{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.7rem;margin:0}.btn{font-family:inherit;font-size:.88rem;font-weight:600;border-radius:var(--radius);padding:9px 16px;cursor:pointer;border:1.5px solid transparent;text-decoration:none;display:inline-flex;align-items:center;transition:transform .08s,background .15s,border-color .15s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn--solid{background:var(--cobalt);color:#fff}.btn--solid:hover:not(:disabled){background:var(--cobalt-deep)}.btn--outline{background:transparent;border-color:var(--ink);color:var(--ink)}.btn--outline:hover:not(:disabled){background:var(--ink);color:var(--paper)}.btn--ghost{background:transparent;color:var(--ink-soft);border-color:var(--line)}.btn--ghost:hover:not(:disabled){border-color:var(--ink-soft);color:var(--ink)}.btn--danger{color:var(--oxblood)}.btn--danger:hover:not(:disabled){background:var(--oxblood);color:#fff;border-color:var(--oxblood)}.linklike{background:none;border:none;font:inherit;font-weight:600;font-size:.92rem;color:var(--ink-soft);cursor:pointer;padding:0}.linklike:hover{color:var(--ink)}.linklike--danger{color:var(--oxblood);font-size:.82rem}.actions{display:flex;gap:10px;flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:20px;padding:12px 0 20px;border-bottom:1px solid var(--line);margin-bottom:20px;flex-wrap:wrap}.datepick,.checkbox{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink-soft)}.datepick span{font-weight:600}input[type=date],input[type=text],input[type=password],input:not([type]),select{font-family:inherit;font-size:.92rem;padding:8px 10px;border:1.5px solid var(--line);border-radius:var(--radius);background:#fffdf8;color:var(--ink)}input:focus,select:focus{outline:none;border-color:var(--cobalt)}.checkbox input{width:16px;height:16px;accent-color:var(--cobalt)}.fetchmsg{font-size:.88rem;color:var(--cobalt-deep);font-style:italic}.list{display:flex;flex-direction:column;gap:2px}.card{display:flex;gap:20px;padding:18px 4px;border-bottom:1px solid var(--line);align-items:flex-start}.card__main{flex:1;min-width:0}.card__title{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.22rem;line-height:1.25;text-decoration:none;color:var(--ink);display:inline-block}.card__title:hover{color:var(--cobalt-deep);text-decoration:underline;text-underline-offset:3px}.card__meta{display:flex;align-items:center;gap:12px;margin-top:7px;font-size:.82rem;color:var(--muted);flex-wrap:wrap}.card__source{font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.74rem}.card__date{font-variant-numeric:tabular-nums}.card__controls{display:flex;align-items:flex-end;gap:16px;flex-shrink:0;flex-wrap:wrap;max-width:420px}.control{display:flex;flex-direction:column;gap:4px}.control label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.card__error{color:var(--oxblood);font-size:.82rem;flex-basis:100%;margin:6px 0 0}.segmented{display:inline-flex;border:1.5px solid var(--line);border-radius:var(--radius);overflow:hidden}.segmented button{font:inherit;font-size:.78rem;font-weight:600;padding:6px 10px;border:none;background:#fffdf8;color:var(--muted);cursor:pointer;border-right:1px solid var(--line)}.segmented button:last-child{border-right:none}.segmented button:hover:not(:disabled){color:var(--ink)}.segmented button.is-active{background:var(--ink);color:var(--paper)}.pill{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px}.pill--pending{background:#b7791f29;color:var(--amber)}.pill--approved{background:#2f6b3a29;color:var(--green)}.pill--hidden{background:#6b72802e;color:var(--slate)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:600;background:var(--paper-2);border:1px solid var(--line);padding:3px 9px;border-radius:999px;color:var(--ink-soft)}.chip--removable button{border:none;background:none;cursor:pointer;color:var(--muted);font-size:.95rem;line-height:1;padding:0}.chip--removable button:hover{color:var(--oxblood)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field>span{font-size:.8rem;font-weight:600;color:var(--ink-soft)}.field__error{color:var(--oxblood);font-size:.8rem;margin:4px 0 0}.field-row{display:flex;gap:12px}.field-row .field{flex:1}.loginform{display:flex;flex-direction:column;gap:4px;max-width:360px}.loginform .btn{margin-top:8px;align-self:flex-start}.kwadd{display:flex;gap:10px;margin:18px 0}.kwadd input{flex:1}.kwentry,.kw-entry{display:flex;gap:8px}.kw-entry input{flex:1}.kwgroup{margin-top:22px}.kwgroup__title{font-family:Fraunces,serif;font-size:1.1rem;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:8px}.kwlist{list-style:none;margin:0;padding:0}.kwlist li{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px dotted var(--line)}.modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a181473;display:flex;align-items:flex-start;justify-content:center;padding:60px 20px;z-index:50;animation:fade .2s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--paper);border:1px solid var(--ink);border-radius:6px;width:100%;max-width:560px;box-shadow:0 30px 80px -30px #00000080;animation:rise .25s ease both}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal__head h2{font-family:Fraunces,serif;font-size:1.4rem;margin:0}.modal__close{background:none;border:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted)}.modal__close:hover{color:var(--ink)}.modal__body{padding:20px 22px}.modal__foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line)}.modal__error{color:var(--oxblood);font-size:.86rem;margin:8px 0 0}.muted{color:var(--muted)}.empty{padding:40px 0;text-align:center;font-style:italic}.error{color:var(--oxblood);font-weight:500}.footer{border-top:3px double var(--ink);margin-top:auto;padding:16px 0 28px}.footer__graphbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--paper-2)}.footer__graphbar-label{font-weight:700;color:var(--cobalt-deep);letter-spacing:.04em}.footer__graphbar-hint{color:var(--muted);font-style:italic;font-size:.85rem}.graph-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}.graph-canvas{position:relative;border:1px solid var(--line);border-radius:6px;background:var(--paper);overflow:hidden;min-height:460px}.graph-canvas__inner{line-height:0}.graph-legend{position:absolute;bottom:10px;left:12px;display:flex;align-items:center;gap:16px;font-size:.78rem;color:var(--ink-soft);background:#f4f1e8e6;padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap}.graph-legend span{display:inline-flex;align-items:center;gap:6px}.graph-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}.query-panel{border:1px solid var(--line);border-radius:6px;padding:18px;background:var(--paper-2);position:sticky;top:16px}.query-panel h3{font-family:Fraunces,serif;font-size:1.15rem;margin:0 0 14px}.query-panel .btn{width:100%;justify-content:center;margin-top:4px}.query-result{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px;max-height:360px;overflow-y:auto}.query-result li{font-size:.86rem;line-height:1.35}.query-result a{color:var(--cobalt-deep);text-decoration:none}.query-result a:hover{text-decoration:underline}.query-result em{font-style:normal;color:var(--muted);font-size:.8rem}@media (max-width: 820px){.graph-layout{grid-template-columns:1fr}.query-panel{position:static}}.placeholder{border:1px dashed var(--line);border-radius:8px;padding:56px 32px;text-align:center;background:var(--paper-2)}.placeholder__mark{font-size:3rem;color:var(--cobalt);opacity:.4}.placeholder p{max-width:460px;margin:12px auto 0}@media (max-width: 720px){.card{flex-direction:column;gap:12px}.card__controls{max-width:none}.field-row{flex-direction:column}}
