@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap";@import "https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css";:root{--bg:#090b10;--surface:#11141b;--surface2:#171b24;--text:#f4f6fb;--muted:#9aa3b2;--line:#262c38;--accent:#8ca5ff;--accent2:#65e6c4;--max:1180px;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 80% 0%,#182044 0,transparent 30%),var(--bg);color:var(--text);margin:0;font-family:Inter,system-ui,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(var(--max),calc(100% - 36px));margin:auto}.site-header{z-index:20;backdrop-filter:blur(18px);border-bottom:1px solid var(--line);background:#090b10d1;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;height:68px;display:flex}.brand{letter-spacing:-.03em;font-weight:800}.brand span{color:var(--accent2)}.nav-links{color:var(--muted);gap:24px;font-size:14px;display:flex}.nav-links a:hover{color:var(--text)}.hero{padding:96px 0 68px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent2);font:600 12px JetBrains Mono}h1{letter-spacing:-.065em;max-width:900px;margin:18px 0 26px;font-size:clamp(46px,8vw,88px);line-height:.98}.hero p{max-width:700px;color:var(--muted);font-size:19px}.hero-actions{gap:12px;margin-top:34px;display:flex}.button{background:var(--text);color:#0c0e13;border-radius:10px;padding:11px 17px;font-size:14px;font-weight:700}.button.secondary{color:var(--text);border:1px solid var(--line);background:0 0}.section{padding:58px 0}.section-head{justify-content:space-between;align-items:end;margin-bottom:25px;display:flex}.section-head h2{letter-spacing:-.04em;margin:0;font-size:30px}.section-head p{color:var(--muted);margin:0}.grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.card{border:1px solid var(--line);background:linear-gradient(160deg,#171b24eb,#0d1016eb);border-radius:16px;flex-direction:column;min-height:265px;padding:24px;transition:all .2s;display:flex}.card:hover{border-color:#45506a;transform:translateY(-3px)}.meta{color:var(--muted);text-transform:uppercase;flex-wrap:wrap;gap:10px;font:500 12px JetBrains Mono;display:flex}.card h3{letter-spacing:-.03em;margin:18px 0 10px;font-size:22px;line-height:1.25}.card p{color:var(--muted);margin:0}.tags{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:22px;display:flex}.tag{border:1px solid var(--line);color:#bcc5d5;border-radius:999px;padding:5px 8px;font:500 11px JetBrains Mono}.category-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.category-tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}.category-tile strong{font-size:18px;display:block}.category-tile span{color:var(--muted);font-size:13px}.page-head{padding:72px 0 36px}.page-head h1{font-size:54px}.article{max-width:800px;margin:auto;padding:72px 0}.article-header{margin-bottom:48px}.article-header h1{font-size:clamp(40px,7vw,68px)}.article-description{color:var(--muted);font-size:20px}.article-body{font-size:17px}.article-body h2{letter-spacing:-.035em;margin-top:52px;font-size:30px}.article-body h3{margin-top:35px;font-size:22px}.article-body p,.article-body li{color:#ccd2dc}.article-body a{color:var(--accent);text-decoration:underline}.article-body pre{border:1px solid var(--line);border-radius:12px;padding:18px;overflow:auto}.article-body blockquote{border-left:3px solid var(--accent2);color:var(--muted);margin-left:0;padding-left:20px}.rating{grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0;display:grid}.rating div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px}.rating span{color:var(--muted);text-transform:uppercase;font-size:12px;display:block}.rating strong{font-size:21px}.comments{border-top:1px solid var(--line);margin-top:70px;padding-top:38px}.search-box{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:18px}footer{border-top:1px solid var(--line);color:var(--muted);margin-top:60px;padding:32px 0;font-size:13px}.footer-row{justify-content:space-between;gap:20px;display:flex}.empty{color:var(--muted);padding:30px 0}@media (width<=850px){.grid{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr 1fr}.nav-links{gap:12px}.nav-links a:nth-child(3){display:none}.hero{padding-top:70px}}@media (width<=520px){.category-grid{grid-template-columns:1fr}.nav-links a:nth-child(2){display:none}.footer-row,.hero-actions{flex-direction:column}.button{text-align:center}}.comments h2{letter-spacing:-.04em;margin:5px 0;font-size:30px}.comments-head{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.comments-head p{color:var(--muted);margin:3px 0}.comments button,.auth-panel button,.comment-composer button,.edit-box button{background:var(--text);color:#0c0e13;cursor:pointer;border:0;border-radius:9px;padding:10px 14px;font-weight:700}.comments button:disabled{opacity:.45;cursor:not-allowed}.secondary-button,.text-button,.comment-actions button{color:var(--muted)!important;border:1px solid var(--line)!important;background:0 0!important}.auth-panel{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:24px 0;padding:22px}.auth-panel-head{justify-content:space-between;gap:20px;display:flex}.auth-panel-head p{color:var(--muted);margin:3px 0}.icon-button{font-size:20px;padding:2px 9px!important}.oauth-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.auth-divider{color:var(--muted);align-items:center;margin:16px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-divider span{padding:0 12px}.magic-form{gap:10px;display:flex}.magic-form input{flex:1}.magic-form input,.comment-composer textarea,.edit-box textarea{width:100%;color:var(--text);border:1px solid var(--line);font:inherit;background:#0c0f15;border-radius:10px;outline:none;padding:12px}.magic-form input:focus,.comment-composer textarea:focus,.edit-box textarea:focus{border-color:var(--accent)}.login-callout{border:1px dashed var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin:24px 0;padding:18px;display:flex}.login-callout p{color:var(--muted);margin:0}.comment-composer{margin:24px 0}.comment-composer textarea{resize:vertical;min-height:120px}.composer-actions{color:var(--muted);justify-content:space-between;align-items:center;margin-top:9px;font-size:12px;display:flex}.composer-actions>div{gap:8px;display:flex}.form-error{color:#ff9b9b}.form-message{color:var(--accent2)}.comment-list{margin-top:34px}.comment-item{border-top:1px solid var(--line);grid-template-columns:42px 1fr;gap:14px;padding:22px 0;display:grid}.comment-avatar{background:var(--surface2);border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid;overflow:hidden}.comment-avatar img{object-fit:cover;width:100%;height:100%}.comment-main header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.comment-main time{color:var(--muted);font-size:12px}.comment-main>p{white-space:pre-wrap;color:#d4dae4}.pending-badge{color:#ffcd7b;border:1px solid #6d5630;border-radius:999px;padding:2px 7px;font-size:11px}.comment-actions{gap:8px;display:flex}.comment-actions button{font-size:12px;padding:4px 8px!important}.comment-replies{border-left:2px solid var(--line);margin-left:2px;padding-left:18px}.comment-replies .comment-item:last-child{padding-bottom:0}.edit-box textarea{min-height:100px}.edit-box>div{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.is-pending{opacity:.8}.comments-unconfigured{border:1px dashed var(--line);border-radius:14px;padding:24px}.brand span{margin-left:5px}@media (width<=650px){.comments-head,.login-callout{flex-direction:column;align-items:stretch}.oauth-row{grid-template-columns:1fr}.magic-form{flex-direction:column}.comment-item{grid-template-columns:32px 1fr}.comment-avatar{width:32px;height:32px}.comment-replies{padding-left:9px}.comments-head button,.login-callout button{width:100%}}
