:root{--night:#07101b;--night2:#0d1a27;--line:#263646;--cyan:#77d7ce;--text:#edf3f4;--muted:#9aa9b3;--paper:#f7f7f3;--ink:#16212a;--accent:#356f75}*{box-sizing:border-box}body{margin:0;background:var(--night);color:var(--text);font:16px/1.6 Arial,sans-serif}a{color:inherit}.site-bar{width:min(1180px,calc(100% - 36px));margin:auto;padding:24px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.brand{text-decoration:none;letter-spacing:.15em;font-size:.8rem}.brand span{color:var(--cyan)}.site-bar nav{display:flex;gap:20px}.site-bar nav a{color:var(--muted)}.site-bar nav a:hover{color:var(--cyan)}.library{width:min(1180px,calc(100% - 36px));margin:auto;padding:58px 0 80px}.library-head{max-width:850px;margin-bottom:36px}.kicker{color:var(--cyan);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.library h1{font:clamp(3rem,7vw,6.5rem)/.9 Georgia,serif;letter-spacing:-.05em;margin:.18em 0}.library-head>p:last-child{font:1.15rem/1.7 Georgia,serif;color:var(--muted);max-width:720px}.filters{display:grid;grid-template-columns:1fr 270px auto;gap:10px;padding:18px;border:1px solid var(--line);background:var(--night2);margin-bottom:24px}.filters input,.filters select{width:100%;border:1px solid var(--line);background:#08131f;color:var(--text);padding:12px;font:inherit}.filters button{border:0;background:var(--cyan);color:#061014;padding:11px 17px;font-weight:800}.result-count{color:var(--muted);font-size:.9rem;margin:0 0 15px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{display:grid;grid-template-columns:1fr auto;gap:18px;padding:25px;border:1px solid var(--line);background:var(--night2);text-decoration:none;transition:border-color .2s,transform .2s}.card:hover{border-color:var(--cyan);transform:translateY(-2px)}.card .category{color:var(--cyan);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.card h2{font:1.55rem/1.2 Georgia,serif;margin:.45rem 0}.card p{color:var(--muted);margin:.4rem 0 0}.card time{color:var(--muted);font-size:.8rem}.card b{font-size:1.5rem;color:var(--cyan)}.empty{border:1px dashed var(--line);padding:34px;color:var(--muted)}.article-shell{background:#e7ecee;min-height:100vh;color:var(--ink)}.article-shell .site-bar{color:#eef3f4;background:var(--night);width:100%;padding:22px max(18px,calc((100% - 1180px)/2));border:0}.article-sheet{width:min(900px,calc(100% - 30px));margin:40px auto 70px;background:var(--paper);padding:clamp(30px,7vw,85px);box-shadow:0 20px 60px rgba(25,43,52,.16)}.article-header{border-bottom:1px solid #cdd6d8;padding-bottom:30px;margin-bottom:40px}.article-header .kicker{color:var(--accent)}.article-header h1{font:clamp(2.7rem,7vw,5.2rem)/1.02 Georgia,serif;letter-spacing:-.045em;margin:.22em 0}.article-subtitle{font:1.35rem/1.5 Georgia,serif;color:#43545e}.article-excerpt{font:1.2rem/1.65 Georgia,serif;border-left:3px solid var(--accent);padding-left:18px;color:#43535c}.article-meta{display:flex;gap:12px;flex-wrap:wrap;color:#68767e;font-size:.86rem}.article-cover{display:block;width:100%;max-height:520px;object-fit:cover;margin:0 0 42px}.article-body{font:1.08rem/1.8 Georgia,serif}.article-body h2{font-size:2rem;line-height:1.2;margin:2.2em 0 .7em}.article-body h3{font-size:1.5rem;line-height:1.3;margin:1.8em 0 .6em}.article-body h4{font-size:1.2rem}.article-body a{color:#21636a;text-decoration-thickness:1px;text-underline-offset:3px}.article-body blockquote{border-left:3px solid var(--accent);margin:2rem 0;padding:.5rem 1.4rem;color:#40535d}.article-body hr{border:0;border-top:1px solid #cbd4d6;margin:3rem 0}.article-body img{max-width:100%;height:auto}.article-body figure{margin:2.2rem 0}.article-body figcaption{font:italic .88rem/1.45 Arial,sans-serif;color:#66757d;margin-top:.5rem}.article-back{display:inline-block;margin-top:45px;color:#315f65;font-weight:800}.not-found{text-align:center;padding:100px 20px}.not-found a{color:var(--cyan)}@media(max-width:760px){.site-bar{display:grid}.cards{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.article-sheet{width:min(100% - 18px,900px);margin:10px auto 30px;padding:28px 20px}.article-header h1{font-size:2.5rem}}
