:root{--paper:#F8F8F5;--paper-2:#F1F2EC;--ink:#1B201A;--muted:#5C6459;--faint:#8A9187;--rule:#E2E4DC;--moss:#1F4D2B;--moss-2:#2F6B3D;--gold:#D9A520;--up:#1D7A3B;--down:#B2432D;--card:#FFFFFF;
--f-display:"Newsreader","Iowan Old Style",Georgia,serif;--f-ui:"Geist",ui-sans-serif,system-ui,sans-serif;--f-mono:"Geist Mono",ui-monospace,Menlo,monospace}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--paper);color:var(--ink);font:13px/1.4 var(--f-ui);overflow:hidden;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
header{display:flex;align-items:center;gap:22px;padding:14px 22px 10px}
.title{flex:1;display:flex;align-items:baseline;gap:16px;min-width:0}
h1{margin:0;font:450 30px/1 var(--f-display);letter-spacing:-.02em}
#pulse{margin:0;font:400 16px/1 var(--f-display);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pulse b{font-weight:450;color:var(--ink)}
.meter{width:190px;height:8px;border-radius:99px;overflow:hidden;display:flex;background:var(--rule)}
.meter i{display:block;height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.meter .dn{background:var(--down)}.meter .fl{background:#CFD3C8}.meter .up{background:var(--up)}
.filter{width:230px;display:flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid var(--rule);border-radius:999px;background:var(--card);color:var(--faint);transition:border-color .15s,box-shadow .15s}
.filter:focus-within,
.filter.foc{border-color:var(--moss-2);box-shadow:0 0 0 3px rgba(47,107,61,.12)}
.filter svg{width:14px;height:14px;flex:none}
.filter input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--ink);font:500 13px var(--f-ui)}
nav{display:flex;gap:6px;padding:0 22px 12px;border-bottom:1px solid var(--rule);overflow:hidden;white-space:nowrap}
.chip{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--rule);background:var(--card);font:500 12px var(--f-mono);color:var(--muted);transition:all .14s}
.chip:hover,
.chip.hov{border-color:var(--ink);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#F3F4EF}
.chip small{font:400 11px var(--f-mono);opacity:.7}
.chip u{width:7px;height:7px;border-radius:50%;background:#CFD3C8;text-decoration:none}
.chip u.p{background:var(--up)}.chip u.n{background:var(--down)}
main{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr 1fr}
.col{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--rule)}
.col:last-child{border-right:0;background:#FBFBF8}
h4{margin:0;padding:12px 18px 8px;font:500 11px/1 var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}
h4 span{color:var(--faint);letter-spacing:.02em}
.list{flex:1;min-height:0;overflow-y:auto;padding:0 10px 30px;scrollbar-width:none}
.list::-webkit-scrollbar{display:none}
.it{display:block;width:100%;text-align:left;padding:10px 10px 11px;border-radius:10px;border-bottom:1px solid var(--rule);position:relative;transition:background .14s}
.it:hover,
.it.hov{background:var(--paper-2)}
.it.open{background:var(--card);box-shadow:0 0 0 1px var(--rule),0 6px 18px -8px rgba(27,32,26,.18);border-bottom-color:transparent}
.it .by{display:flex;align-items:baseline;gap:7px;margin-bottom:3px}
.it .by b{font:600 12.5px var(--f-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.it .by span{font:400 11.5px var(--f-mono);color:var(--faint);white-space:nowrap}
.it .by time{margin-left:auto;font:400 11px var(--f-mono);color:var(--faint);white-space:nowrap}
.it p{margin:0;font:400 14.5px/1.36 var(--f-display);color:#262C24;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.it.open p{-webkit-line-clamp:unset}
.col[data-col=headline] .it p{font-size:16px;letter-spacing:-.005em}
.it .tags{display:flex;gap:5px;margin-top:6px}
.it .tags i{font:500 10px var(--f-mono);font-style:normal;letter-spacing:.05em;padding:2px 6px;border-radius:5px;background:#E8F0E6;color:var(--moss)}
.it::before{content:"";position:absolute;left:1px;top:14px;width:3px;height:14px;border-radius:2px;background:transparent}
.it.p::before{background:var(--up)}.it.n::before{background:var(--down)}
.it.new{animation:in .7s cubic-bezier(.2,.8,.2,1)}
@keyframes in{0%{opacity:0;transform:translateY(-10px);background:rgba(217,165,32,.2)}60%{opacity:1}100%{transform:none;background:transparent}}
.empty{padding:16px 10px;color:var(--faint);font:400 14.5px var(--f-display);font-style:italic}
