@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Gloock;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/gloock-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Gloock;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/gloock-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/newsreader-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/newsreader-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:400 600;font-display:swap;src:url(/fonts/newsreader-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-weight:400 600;font-display:swap;src:url(/fonts/newsreader-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#040403;--bg-sidebar:#090806;--card-bg:#0d0c0a;--text:#c8c3bc;--text-muted:#96928b;--text-heading:#f3f1ef;--accent:#d19936;--accent-muted:#d199361f;--border:#1c1a18;--card-shadow:0 1px 4px #00000059, 0 1px 2px #00000040;--font-serif:"Gloock", Georgia, "Times New Roman", serif;--font-sans:"Bricolage Grotesque", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-display:"Newsreader", Georgia, "Times New Roman", serif;--mono:var(--font-mono);--serif:var(--font-serif);--display:var(--font-display);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:80px;--topbar-height:56px}@supports (color:lab(0% 0 0)){:root{--bg:lab(1.04801% .104323 .450221);--bg-sidebar:lab(2.22666% .165723 .755096);--card-bg:lab(3.36952% .214435 1.0019);--text:lab(79.148% .850707 4.50803);--text-muted:lab(60.5833% .710398 3.75769);--text-heading:lab(95.37% .27135 1.49471);--accent:lab(67.5038% 14.825 57.728);--accent-muted:lab(67.5038% 14.825 57.728/.12);--border:lab(9.53278% .447199 2.26954);--card-shadow:0 1px 4px lab(0% 0 0/.35), 0 1px 2px lab(0% 0 0/.25)}}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);color:var(--text);background-color:var(--bg);margin:0;line-height:1.7}body:before{content:"";z-index:-1;pointer-events:none;will-change:transform;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--text-heading);font-weight:400;line-height:1.15}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}a{color:var(--accent);text-decoration:none;transition:opacity .2s}a:hover{opacity:.75}.app-layout{min-height:100vh;display:flex}.sidebar{width:220px;height:100vh;background:var(--bg-sidebar);border-right:1px solid var(--border);height:100dvh;padding:32px 24px calc(24px + env(safe-area-inset-bottom));z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-monogram{border:1.5px solid var(--accent);width:48px;height:48px;font-family:var(--font-serif);color:var(--accent);letter-spacing:1px;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 28px;font-size:18px;font-weight:400;text-decoration:none;transition:background .2s;display:flex}.sidebar-monogram:hover{background:var(--accent-muted);opacity:1}.sidebar-nav-links{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar-link{min-height:44px;color:var(--text-muted);font-family:var(--font-sans);letter-spacing:.01em;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:15px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:flex}.sidebar-link:hover{color:var(--text-heading);opacity:1;background:#ffffff0d;background:lab(100% 0 0/.05)}.sidebar-link.active{background:var(--accent-muted);color:var(--accent)}.sidebar-link svg{flex-shrink:0;width:17px;height:17px}.sidebar-footer{border-top:1px solid var(--border);justify-content:center;margin-top:auto;padding-top:16px;display:flex}.sidebar-social{width:36px;height:36px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.sidebar-social:hover{color:var(--text-heading);opacity:1;background:#ffffff0d;background:lab(100% 0 0/.05)}.sidebar-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:6px;display:none;position:absolute;top:16px;right:16px}.sidebar-close svg{width:20px;height:20px;display:block}.main-content{min-height:100vh;flex:1;max-width:900px;min-height:100dvh;margin-left:220px;padding:64px 80px}.main-content p{max-width:70ch}.mobile-topbar,.sidebar-overlay{display:none}@media (max-width:768px){.mobile-topbar{height:var(--topbar-height);background:var(--bg);border-bottom:1px solid var(--border);z-index:200;-webkit-backdrop-filter:blur(12px);will-change:transform;contain:layout style paint;background:oklch(10.5% .005 78/.92);align-items:center;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0;transform:translateZ(0)}.mobile-topbar.hidden{opacity:0;pointer-events:none}.mobile-topbar-menu{cursor:pointer;color:var(--text-heading);background:0 0;border:none;margin-left:-8px;padding:8px}.mobile-topbar-menu svg{width:22px;height:22px;display:block}.mobile-topbar-monogram{border:1.5px solid var(--accent);width:36px;height:36px;font-family:var(--font-serif);color:var(--accent);letter-spacing:1px;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:14px;font-weight:400;text-decoration:none;display:flex}.mobile-topbar-monogram:hover{opacity:1}.mobile-topbar-spacer{width:30px}.sidebar{padding-top:48px;transition:transform .3s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close{display:block}.sidebar-overlay{z-index:99;opacity:0;pointer-events:none;background:#0009;background:lab(0% 0 0/.6);transition:opacity .3s;display:block;position:fixed;inset:0}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.main-content{padding:calc(var(--topbar-height) + 24px) 24px calc(48px + env(safe-area-inset-bottom));margin-left:0}.main-content p{max-width:100%}}.prev-entries{flex-direction:column;gap:0;display:flex}.prev-entry{border-bottom:1px solid var(--border);align-items:baseline;gap:20px;padding:20px 0;line-height:1.7;display:flex}.prev-entry:first-child{padding-top:0}.prev-entry:last-child{border-bottom:none;padding-bottom:0}.prev-entry-name{white-space:nowrap;letter-spacing:.01em;flex-shrink:0;width:200px;font-size:15px;font-weight:600}.prev-entry-bar{background:var(--border);flex-shrink:0;align-self:stretch;width:1px}.prev-entry-desc{color:var(--text-muted);flex:1;font-size:15px}@media (max-width:768px){.prev-entry{flex-direction:column;gap:6px;padding:18px 0}.prev-entry-name{white-space:normal;width:auto}.prev-entry-bar{opacity:.5;align-self:auto;width:100%;height:1px}.prev-entry:last-child{border-bottom:1px solid var(--border)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);will-change:transform;contain:layout style paint;z-index:300;background:#000000b3;background:lab(0% 0 0/.7);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;transform:translateZ(0)}.modal-content{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;width:100%;max-width:520px;max-height:90vh;padding:36px;position:relative;overflow-y:auto;box-shadow:0 24px 48px #0006;box-shadow:0 24px 48px lab(0% 0 0/.4)}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:6px;transition:background .2s,color .2s;position:absolute;top:16px;right:16px}.modal-close:hover{color:var(--text-heading);background:#ffffff0d;background:lab(100% 0 0/.05)}.modal-close svg{display:block}@media (max-width:768px){.modal-content{max-width:calc(100vw - 32px);max-height:85vh;padding:24px}}.page-enter{opacity:0;transform:translateY(8px)}.page-visible{opacity:1;transform:translateY(0)}:root{--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1)}.project-card{border:1px solid var(--border);box-shadow:var(--card-shadow);content-visibility:auto;contain-intrinsic-size:auto 280px;transition:border-color .2s var(--ease-out-quart), box-shadow .2s var(--ease-out-quart)}.project-card:hover{border-color:var(--accent);box-shadow:0 8px 24px #00000024;box-shadow:0 8px 24px lab(0% 0 0/.14)}.research-item{content-visibility:auto;contain-intrinsic-size:auto 100px;border:1px solid var(--border);background:var(--bg);color:inherit;transition:border-color .2s var(--ease-out-quart), transform .2s var(--ease-out-quart);border-radius:10px;padding:20px 22px;text-decoration:none;display:block}.research-item:hover{border-color:var(--accent);opacity:1;transform:translateY(-2px)}.research-toggle{border:none;border-bottom:1px solid var(--border);cursor:pointer;width:100%;color:inherit;font-family:inherit;font-size:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:0 0 14px;transition:opacity .2s;display:flex}.research-toggle:hover{opacity:1}.research-toggle-label{color:var(--text-muted);font-family:var(--font-sans);margin-left:4px;font-size:14px;font-weight:400}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.15}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.research-footer{border-top:1px solid var(--border);margin-top:80px;padding-top:32px}.research-footer-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.research-footer-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:12px}.research-footer-copy{border:1px solid var(--border);font-size:13px;font-family:var(--font-sans);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;transition:border-color .2s,color .2s;display:inline-flex}.research-footer-copy:hover,.research-footer-copy:focus-visible{border-color:var(--accent);color:var(--accent)}.research-footer-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.research-footer-card{border:1px solid var(--border);background:var(--bg);color:inherit;transition:border-color .2s var(--ease-out-quart), transform .2s var(--ease-out-quart);border-radius:10px;padding:16px 18px;text-decoration:none;display:block}.research-footer-card:hover,.research-footer-card:focus-visible{border-color:var(--accent);opacity:1;transform:translateY(-2px)}.research-footer-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:11px;display:block}.research-footer-title{font-family:var(--font-serif);color:var(--text-heading);font-size:15px;line-height:1.35;display:block}@media (max-width:768px){.research-footer-grid{grid-template-columns:1fr}.research-footer-top{flex-direction:column;align-items:flex-start}}.page-title{font-family:var(--font-serif);letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(28px,5vw,36px);font-weight:400;line-height:1.15}.page-subtitle{color:var(--text-muted);margin:0 0 32px;font-size:16px}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header-row .page-subtitle{margin-bottom:16px}.not-found-monogram{border:1.5px solid var(--accent);width:56px;height:56px;font-family:var(--font-serif);color:var(--accent);letter-spacing:1px;border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;font-size:20px;display:flex}.not-found-links{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.not-found-link{border:1px solid var(--border);color:var(--text);transition:border-color .2s var(--ease-out-quart), color .2s var(--ease-out-quart);border-radius:8px;padding:10px 20px;font-size:15px;font-weight:500;text-decoration:none}.not-found-link:hover,.not-found-link:focus-visible{border-color:var(--accent);color:var(--accent);opacity:1}.route-fallback{min-height:100vh;justify-content:center;align-items:center;min-height:100dvh;display:flex}.route-fallback-monogram{border:1.5px solid var(--accent);width:48px;height:48px;font-family:var(--font-serif);color:var(--accent);letter-spacing:1px;border-radius:50%;justify-content:center;align-items:center;font-size:18px;animation:1.5s ease-in-out infinite skeleton-pulse;display:flex}.clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.research-card-eyebrow{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.research-card-type{font-size:12px;font-family:var(--font-mono);letter-spacing:.8px;text-transform:uppercase;color:var(--accent)}.research-card-date{font-size:12px;font-family:var(--font-mono);color:var(--text-muted);opacity:.75;flex-shrink:0}.research-item.featured{grid-column:span 2}@media (max-width:640px){.research-item.featured{grid-column:span 1}}.card-hover{border-color:var(--border);transition:border-color .2s var(--ease-out-quart), transform .2s var(--ease-out-quart)}.card-hover:hover,.card-hover:focus-visible{border-color:var(--accent)}.card-hover-lift:hover,.card-hover-lift:focus-visible{transform:translateY(-3px)}.admin-lock-link{opacity:.55;transition:opacity .2s,color .2s,border-color .2s}.admin-lock-link:hover,.admin-lock-link:focus-visible{opacity:1;color:var(--accent);border-color:var(--accent)}.demo-link:hover .demo-tooltip,.demo-link:focus-visible .demo-tooltip{opacity:1}.readme-link:hover,.readme-link:focus-visible{color:var(--text-heading)}.demo-tooltip{opacity:0;transition:opacity .2s}.btn-accent{background:var(--accent);color:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.btn-accent:hover,.btn-accent:focus-visible{opacity:.85}.index-line-block{margin:32px 0 40px}.index-line-wrap{max-width:420px;position:relative}.index-line{background:var(--accent);opacity:.35;transform-origin:0;height:1px}.index-line-diamond{color:var(--accent);font-size:8px;position:absolute;top:-7px;left:88px}.index-line-stats{font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:16px;font-size:13px;display:flex}.index-line-stat{color:var(--text-muted);text-decoration:none;transition:color .2s}.index-line-stat:hover,.index-line-stat:focus-visible{color:var(--accent);opacity:1}.index-line-sep{opacity:.4}.reading-grid{column-count:1;column-gap:20px}@media (min-width:640px){.reading-grid{column-count:2}}.reading-card{break-inside:avoid;background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--card-shadow);color:inherit;border-radius:12px;margin-bottom:20px;text-decoration:none;display:block;position:relative;overflow:hidden}.reading-skeleton{break-inside:avoid;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;height:260px;margin-bottom:20px;animation:1.5s ease-in-out infinite skeleton-pulse}.reading-card-image-wrap{aspect-ratio:16/9;background:#1a1a1a;width:100%;position:relative;overflow:hidden}.reading-card-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.reading-card-domain-badge{-webkit-backdrop-filter:blur(6px);color:#f8f8f8;color:lab(97.68% -.0000298023 .0000119209);letter-spacing:.02em;background:#0000008c;background:lab(0% 0 0/.55);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:500;position:absolute;bottom:12px;left:12px}.reading-card-accent-bar{background:var(--accent);opacity:.2;height:3px}.reading-card-body{flex-direction:column;padding:16px 20px 20px;display:flex}.reading-card-body.compact{padding:18px 20px}.reading-card-title{font-family:var(--font-serif);color:var(--text-heading);margin:0;font-weight:500;line-height:1.35}.reading-card-author{color:var(--text-muted);margin:4px 0 0;font-size:13px}.reading-card-note{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:14px;font-style:italic;line-height:1.45;display:-webkit-box;overflow:hidden}.reading-card-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.reading-card-footer svg{color:var(--text-muted);flex-shrink:0;margin-left:auto}.reading-card-domain-text{color:var(--text-muted);font-size:13px}.writing-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--card-shadow);color:inherit;border-radius:12px;padding:24px;text-decoration:none;display:block;position:relative}.writing-card-row{align-items:flex-start;gap:18px;display:flex}.writing-card-thumb{background:#1a1a1a;border-radius:8px;flex-shrink:0;width:88px;height:88px;overflow:hidden}.writing-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.writing-card-content{flex:1;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.writing-card-title{font-family:var(--font-serif);margin:0 0 6px;font-size:20px;font-weight:500}.writing-card-meta{color:var(--text-muted);margin:0 0 8px;font-size:14px}.writing-card-preview{color:var(--text-muted);margin:0;font-size:15px;line-height:1.5}@media (max-width:480px){.writing-card-thumb{width:64px;height:64px}}.research-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.research-filter-pills{flex-wrap:wrap;gap:8px;display:flex}.research-filter-pill{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;transition:border-color .2s var(--ease-out-quart), color .2s var(--ease-out-quart), background .2s var(--ease-out-quart);background:0 0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.research-filter-pill:hover,.research-filter-pill:focus-visible{border-color:var(--accent);color:var(--text-heading)}.research-filter-pill.active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.research-sort-toggle{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:border-color .2s,color .2s;display:inline-flex}.research-sort-toggle:hover,.research-sort-toggle:focus-visible{border-color:var(--accent);color:var(--accent)}.app-version{font-family:var(--font-mono);color:var(--text-muted);opacity:.55;letter-spacing:.04em;font-size:11px}
