@font-face{font-family:__Quantico_5c5ee8;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9d3e21374aaa4372-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Quantico_5c5ee8;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/83d43b4b09945d09-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Quantico_Fallback_5c5ee8;src:local("Arial");ascent-override:100.19%;descent-override:34.59%;line-gap-override:0.00%;size-adjust:106.10%}.__className_5c5ee8{font-family:__Quantico_5c5ee8,__Quantico_Fallback_5c5ee8;font-style:normal}*{box-sizing:border-box;padding:0;margin:0}:root{--border:1px solid #1a1a1a;--bg:#fff;--fg:#1a1a1a;--muted:#666}html{scrollbar-width:thin;scrollbar-color:#1a1a1a #fff}html::-webkit-scrollbar{width:5px}html::-webkit-scrollbar-track{background:#fff}html::-webkit-scrollbar-thumb{background:#1a1a1a}body{max-width:100vw;min-height:100vh;background-color:#f0eeea;background-image:linear-gradient(90deg,#d8d5d0 1px,transparent 0),linear-gradient(180deg,#d8d5d0 1px,transparent 0);background-size:32px 32px;color:var(--fg);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}.page-wrapper{position:relative;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:clamp(1.5rem,5vw,4rem)}.page-frame{width:100%;max-width:680px;border:var(--border);background:#fff}.frame-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:var(--border);font-size:.8125rem;letter-spacing:.02em}.frame-header-title{color:var(--fg)}.frame-header-close{font-size:1.1rem;color:var(--fg);line-height:1}.slug-row{padding:.75rem 1.25rem;font-size:.8125rem;letter-spacing:.05em;color:var(--muted)}.hero-section,.slug-row{border-bottom:var(--border)}.hero-section{padding:2rem 1.25rem}.hero-text{font-size:clamp(1.5rem,4.5vw,2rem);font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--fg)}.hero-text .hero-sub{font-weight:400}.bio-section{font-size:.9375rem;line-height:1.6;color:var(--fg)}.bio-section,.links-section{padding:1.25rem;border-bottom:var(--border)}.links-section{display:flex;flex-direction:column;gap:.625rem}.pill-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:var(--border);border-radius:999px;font-size:.875rem;font-weight:500;color:var(--fg);width:-moz-fit-content;width:fit-content;transition:background .15s ease}.pill-link:hover{background:var(--fg);color:var(--bg)}.pill-arrow{font-size:.85em}.meta-section{padding:1.25rem;font-size:.8125rem;line-height:2;letter-spacing:.04em;text-transform:uppercase;color:var(--fg)}.meta-section,.table-header,.table-section{border-bottom:var(--border)}.table-header{display:grid}.table-header-3{grid-template-columns:1fr 1fr 1.5fr}.table-header-2{grid-template-columns:1fr 1.5fr}.th{padding:.625rem 1.25rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-right:var(--border)}.th:last-child{border-right:none}.table-row{display:grid;border-bottom:var(--border)}.table-row:last-child{border-bottom:none}.table-row-3{grid-template-columns:1fr 1fr 1.5fr}.table-row-2{grid-template-columns:1fr 1.5fr}.table-header-readings,.table-row-readings{grid-template-columns:2fr 1fr 1fr}.td-readings-title{display:flex;flex-direction:column;gap:.125rem}.td-readings-author{display:none;font-size:.75rem;color:var(--muted);letter-spacing:.02em}.td{padding:.75rem 1.25rem;font-size:.875rem;border-right:var(--border);color:var(--fg);word-break:break-word}.td:last-child{border-right:none}.td-label{font-size:.8125rem;letter-spacing:.03em;color:var(--muted)}.td-link a{color:var(--fg);border-bottom:1px solid}.td-link a:hover{color:var(--muted)}.td-icons{display:flex;align-items:center;gap:.625rem}.td-icons a{color:var(--muted)}.td-icons a:hover{color:var(--fg)}.section-label{padding:.625rem 1.25rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:var(--border);background:none}.section-label--inner{padding:0 0 .625rem;margin-bottom:1rem;border-bottom:var(--border)}.interests-section{font-size:.9375rem;line-height:1.7;color:var(--fg)}.interests-section,.spotify-section{padding:1.25rem;border-bottom:var(--border)}.post-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;border-bottom:var(--border);text-decoration:none;color:var(--fg);transition:background .15s ease}.post-row:last-child{border-bottom:none}.post-row:hover{background:var(--fg);color:var(--bg)}.post-row-title{font-size:.9375rem}.post-row-date{font-size:.8125rem;color:var(--muted);white-space:nowrap;letter-spacing:.03em}.post-row:hover .post-row-date{color:inherit}.post-content{padding:1.5rem 1.25rem;font-size:.9375rem;line-height:1.75;color:var(--fg)}.post-content p{margin-bottom:1.25rem}.post-content p:last-child{margin-bottom:0}.post-content h1,.post-content h2,.post-content h3{font-weight:700;letter-spacing:-.01em;margin:1.75rem 0 .75rem}.post-content h1{font-size:1.25rem}.post-content h2{font-size:1.1rem}.post-content h3{font-size:1rem}.post-content strong{font-weight:700}.post-content em{font-style:italic}.post-content a{border-bottom:1px solid}.post-content a:hover{color:var(--muted)}.post-content code{font-size:.875em;padding:.1em .35em}.post-content code,.post-content pre{font-family:monospace;background:#f0eeea}.post-content pre{padding:1rem 1.25rem;overflow-x:auto;margin:1.25rem 0;font-size:.875rem;line-height:1.6}.post-content pre code{background:none;padding:0}.post-content ol,.post-content ul{padding-left:1.5rem;margin-bottom:1.25rem}.post-content li{margin-bottom:.375rem}.project-row{padding:.875rem 1.25rem;border-bottom:var(--border);display:flex;flex-direction:column;gap:.3rem}.project-row:last-child{border-bottom:none}.project-row-main{display:flex;align-items:center;justify-content:space-between;gap:1rem}.project-name{font-size:.9375rem;font-weight:700;color:var(--fg);border-bottom:1px solid}.project-desc,a.project-name:hover{color:var(--muted)}.project-desc{font-size:.8125rem;line-height:1.5}.project-status{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.book-favorite,.project-status--active{color:var(--fg)}.book-favorite{margin-left:.4rem;font-size:.75rem}.admin-form{display:flex;flex-direction:column}.admin-section-header{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1.25rem;border-bottom:var(--border)}.admin-toggle-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;font-family:inherit;cursor:pointer;color:var(--fg);padding:0}.admin-toggle-arrow{font-size:.625rem;color:var(--muted);width:.75rem;text-align:center}.admin-action-link{font-size:.8125rem;letter-spacing:.03em;color:var(--muted)}.admin-action-link:hover{color:var(--fg)}.admin-field{display:flex;flex-direction:column;gap:.375rem;padding:1rem 1.25rem;border-bottom:var(--border)}.admin-field--row{flex-direction:row;align-items:center;gap:1rem}.admin-field--grow{flex:1 1}.admin-label{font-size:.75rem;letter-spacing:.08em;color:var(--muted)}.admin-input{width:100%;border:none;border-bottom:var(--border);background:transparent;font-family:inherit;font-size:.9375rem;color:var(--fg);padding:.375rem 0;outline:none}.admin-input:focus{border-bottom-color:var(--fg)}.admin-textarea{min-height:320px;resize:vertical;border:var(--border);padding:.75rem;line-height:1.7}.admin-textarea:focus{border-color:var(--fg)}.admin-checkbox{width:1rem;height:1rem;accent-color:var(--fg);cursor:pointer}.admin-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-bottom:var(--border)}.admin-btn{padding:.5rem 1.25rem;border:var(--border);background:var(--fg);color:var(--bg);font-family:inherit;font-size:.875rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:opacity .15s ease}.admin-btn:disabled{opacity:.4;cursor:not-allowed}.admin-btn--danger{background:transparent;color:var(--fg)}.admin-btn--danger:hover:not(:disabled){background:var(--fg);color:var(--bg)}.admin-error{padding:.75rem 1.25rem;font-size:.8125rem;color:#c0392b;border-bottom:var(--border)}.admin-logout-btn{background:none;border:none;font-family:inherit;font-size:.8125rem;color:var(--muted);cursor:pointer;letter-spacing:.03em}.admin-logout-btn:hover{color:var(--fg)}.nav-row,.nav-section{border-bottom:var(--border)}.nav-row{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;text-decoration:none;color:var(--fg);transition:background .15s ease}.nav-row:last-child{border-bottom:none}.nav-row:hover{background:var(--fg);color:var(--bg)}.nav-row-index{font-size:.75rem;color:var(--muted);letter-spacing:.06em;min-width:1.5rem}.nav-row:hover .nav-row-index{color:inherit}.nav-row-label{flex:1 1;font-size:.9375rem;font-weight:700;letter-spacing:.04em}.nav-row-arrow{font-size:.9rem;color:var(--muted)}.nav-row:hover .nav-row-arrow{color:inherit}.back-row{padding:.75rem 1.25rem;border-bottom:var(--border);font-size:.8125rem;letter-spacing:.03em}.back-row a{color:var(--muted);text-decoration:none}.back-row a:hover{color:var(--fg)}@media (max-width:540px){.page-wrapper{padding:1rem .75rem;align-items:flex-start}.page-frame{border:var(--border)}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}.table-header-2,.table-header-3,.table-row-2,.table-row-3{grid-template-columns:1fr 1fr}.table-header-3 .th:nth-child(3),.table-row-3 .td:nth-child(3){display:none}.table-header-readings,.table-row-readings{grid-template-columns:1fr 6rem}.readings-author-cell{display:none}.td-readings-author{display:block}}.pixel-float{position:absolute;right:1.5rem;bottom:1.5rem;pointer-events:none}.pixel-character{image-rendering:pixelated}@media (max-width:540px){.pixel-character{width:100px;height:auto}}.pixel-eye{animation:blink 3s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes blink{0%,88%,to{opacity:1}92%{opacity:0}}