:root{--bg: #0A0F1C;--surface: #111827;--border: #1F2937;--text: #E5E7EB;--muted: #94A3B8;--primary: #14B8A6;--nt-a: #22C55E;--nt-c: #3B82F6;--nt-g: #F59E0B;--nt-t: #F43F5E;--font-ui: "Space Grotesk", "Inter", system-ui, sans-serif;--font-read: "Source Serif 4", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--radius: 12px;--maxw: 1100px}:root[data-theme=light]{--bg: #F8FAFC;--surface: #FFFFFF;--border: #E2E8F0;--text: #0F172A;--muted: #475569}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);line-height:1.6;-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.08) 1px,transparent 0);background-size:32px 32px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;position:relative;z-index:1}.site-header{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:var(--maxw);margin:0 auto}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;color:var(--text)}.brand:hover{text-decoration:none}.brand .helix{color:var(--primary)}.nav{display:flex;gap:18px;align-items:center}.nav a{color:var(--muted);font-size:.95rem}.nav a:hover{color:var(--text);text-decoration:none}.theme-toggle{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui)}.basepair-divider{height:14px;margin:8px 0 24px;background-image:repeating-linear-gradient(90deg,var(--border) 0 2px,transparent 2px 22px);opacity:.6}.site-net{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none}.hero{padding:56px 0 28px}.hero h1{font-size:clamp(1.9rem,4vw,2.8rem);margin:0 0 10px;letter-spacing:-.02em}.hero p{color:var(--muted);font-size:1.1rem;max-width:640px;margin:0}.acgt-strip{font-family:var(--font-mono);letter-spacing:3px;font-size:.8rem;margin-top:18px;background:linear-gradient(90deg,var(--nt-a),var(--nt-c),var(--nt-g),var(--nt-t));-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.85}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:8px 0 6px}.filters .search{flex:1 1 240px;min-width:200px;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:9px 13px;font-family:var(--font-ui);font-size:.95rem}.filters .filter{appearance:none;-webkit-appearance:none;background-color:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:9px 34px 9px 13px;font-family:var(--font-ui);font-size:.9rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .15s,background-color .15s}.filters .filter:hover{border-color:var(--muted)}.filters .search:focus,.filters .filter:focus{outline:none;border-color:var(--primary)}.filters .filter option{background:var(--surface);color:var(--text)}.filters .chk{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.9rem;cursor:pointer}.count{color:var(--muted);font-size:.82rem;font-family:var(--font-mono);padding:4px 0 10px}.empty{color:var(--muted);padding:30px 0 80px;text-align:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;padding:8px 0 60px}.card[hidden]{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--primary);transform:translateY(-2px)}.card a.card-title{color:var(--text);font-weight:650;font-size:1.05rem;line-height:1.35}.card a.card-title:hover{color:var(--primary);text-decoration:none}.card .meta{color:var(--muted);font-size:.82rem;font-family:var(--font-mono)}.card .tldr{color:var(--muted);font-size:.92rem}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.chip{font-size:.72rem;font-family:var(--font-mono);padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:color-mix(in srgb,var(--bg) 60%,transparent)}.chip.tag{color:var(--text)}.chip.tag:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--chip-accent, var(--nt-a));vertical-align:middle}.chip.diff{text-transform:capitalize}.detail{display:grid;grid-template-columns:1fr 280px;gap:36px;padding:32px 0 80px}.detail h1{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 8px;letter-spacing:-.01em}.byline{color:var(--muted);font-size:.95rem;margin-bottom:6px}.doi{font-family:var(--font-mono);font-size:.85rem}.summary{font-family:var(--font-read);font-size:1.1rem;max-width:70ch}.summary section{margin:26px 0}.summary section p{line-height:1.75}.summary h2{font-family:var(--font-ui);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin:0 0 6px;font-weight:600}.summary section.tldr p{font-size:1.2rem;font-weight:500}.sidebar{position:sticky;top:84px;align-self:start}.info-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;font-size:.88rem}.info-panel dt{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-top:12px}.info-panel dt:first-child{margin-top:0}.info-panel dd{margin:3px 0 0;font-family:var(--font-mono);word-break:break-word}.btn{display:inline-block;margin-top:16px;width:100%;text-align:center;background:var(--primary);color:#04211d;font-weight:600;padding:10px;border-radius:8px}.btn:hover{text-decoration:none;filter:brightness(1.08)}.pdf-section{margin:36px 0 10px}.pdf-head{font-family:var(--font-ui);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin:0 0 6px;font-weight:600}.pdf-note{color:var(--muted);font-size:.85rem;margin:0 0 12px;line-height:1.5}.pdf-frame{width:100%;height:78vh;min-height:420px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.btn-secondary{background:transparent;color:var(--primary);border:1px solid var(--primary);margin-top:8px}.btn-secondary:hover{background:color-mix(in srgb,var(--primary) 12%,transparent)}.share{margin-top:16px}.share-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}.share-row{display:flex;gap:8px}.share-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.share-btn:hover{color:var(--primary);border-color:var(--primary);text-decoration:none}.share-btn svg{width:17px;height:17px}.share-btn.copied{color:var(--nt-a);border-color:var(--nt-a)}#progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--primary);z-index:40}footer.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:.85rem;padding:28px 0}@media(max-width:820px){.detail{grid-template-columns:1fr}.sidebar{position:static}}.auth{display:inline-flex;align-items:center;gap:14px}.auth a{color:var(--muted);font-size:.95rem}.auth a:hover{color:var(--text);text-decoration:none}.linkish{background:none;border:none;color:var(--muted);cursor:pointer;font-family:var(--font-ui);font-size:.95rem;padding:0}.linkish:hover{color:var(--text)}.reading-status{display:none;gap:6px;flex-wrap:wrap}:root.has-user .reading-status{display:flex}.reading-status button{flex:1 1 auto;background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:8px 10px;cursor:pointer;font-family:var(--font-ui);font-size:.82rem;transition:border-color .15s,color .15s,background-color .15s}.reading-status button:hover{border-color:var(--primary);color:var(--text)}.reading-status button.active{border-color:var(--primary);color:#04211d;background:var(--primary);font-weight:600}.reading-status.compact button{padding:5px 8px;font-size:.75rem}.reading-box{display:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:16px}:root.has-user .reading-box{display:block}.reading-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}.auth-page{max-width:440px;margin:0 auto;padding:56px 0 90px;text-align:center}.auth-page h1{font-size:clamp(1.7rem,3vw,2.2rem);margin:0 0 8px;letter-spacing:-.02em}.auth-page .sub{color:var(--muted);margin:0 0 28px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:14px;text-align:left}.auth-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px;border-radius:9px;cursor:pointer;font-family:var(--font-ui);font-size:.95rem;font-weight:500;border:1px solid var(--border);background:var(--bg);color:var(--text);transition:border-color .15s,filter .15s}.auth-btn:hover{border-color:var(--primary)}.auth-btn.primary{background:var(--primary);color:#04211d;border-color:var(--primary);font-weight:600}.auth-btn.primary:hover{filter:brightness(1.08)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--border)}.magic{display:flex;flex-direction:column;gap:8px}.magic label{font-size:.85rem;color:var(--muted)}.magic input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:10px 12px;font-family:var(--font-ui);font-size:.95rem}.magic input:focus{outline:none;border-color:var(--primary)}.msg{color:var(--muted);font-size:.88rem;margin:4px 0 0;text-align:center}.msg.warn{color:var(--nt-t)}.fineprint{color:var(--muted);font-size:.78rem;margin-top:18px}#board{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;padding:8px 0 80px}.lib-col h2{font-family:var(--font-ui);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin:0 0 12px;display:flex;align-items:center;gap:8px}.lib-col h2 .badge{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary);border-radius:999px;padding:1px 8px;font-size:.72rem}.lib-row{display:block;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px;transition:border-color .15s,transform .15s}.lib-row:hover{border-color:var(--primary);transform:translateY(-1px);text-decoration:none}.lib-title{display:block;color:var(--text);font-weight:600;font-size:.95rem;line-height:1.35}.lib-meta{display:block;color:var(--muted);font-size:.78rem;font-family:var(--font-mono);margin-top:4px}
