@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:400;src:url("/assets/fonts/files/IBMPlexMono-Regular.woff2") format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:500;src:url("/assets/fonts/files/IBMPlexMono-Medium.woff2") format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:700;src:url("/assets/fonts/files/IBMPlexMono-Bold.woff2") format("woff2")}@font-face{font-family:"Ioskeley Mono";font-style:normal;font-display:swap;font-weight:400;src:url("/assets/fonts/files/IoskeleyMono-Regular.woff2") format("woff2")}@font-face{font-family:"Ioskeley Mono";font-style:normal;font-display:swap;font-weight:700;src:url("/assets/fonts/files/IoskeleyMono-Bold.woff2") format("woff2")}:root{color-scheme:dark;--bg:#000;--surface:#111417;--line:#24272a;--text:#f3f4f6;--muted:#9ca3af;--accent:#fff;--max:760px;--font-ui:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);line-height:1.6}a{color:inherit;text-underline-offset:4px;text-decoration-color:#50545a}a:hover{color:#fff}.skip{position:absolute;left:-10000px}.skip:focus{left:16px;top:16px;background:#fff;color:#000;padding:8px;z-index:50}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* The homepage intentionally preserves the original small, section-based HTML portfolio. */
.home{min-height:100vh}.home :is(h1,h2,h3,strong,b),.subroute :is(h1,h2,h3,strong,b){font-weight:400}.home-nav{position:fixed;z-index:20;top:0;left:50%;transform:translateX(-50%);width:min(calc(100% - 64px),672px);min-height:76px;padding:20px 8px 14px;display:flex;align-items:center;justify-content:space-between;background:rgba(0,0,0,.86);backdrop-filter:blur(8px)}.home-name{font-size:1.25rem;font-weight:400;text-decoration:none}.nav-links{display:flex;gap:24px}.nav-links a{font-weight:400;text-decoration:none;font-size:.95rem}.home-main{width:min(calc(100% - 64px),672px);margin:0 auto;padding-top:76px}.home-main,.home-footer{position:relative;z-index:1}.home-section{min-height:76vh;padding:48px 8px 72px}.home-section,.home-section:target~.home-section:last-of-type{display:none}.home-section:target,.home-section:last-of-type{display:block}.section-title{text-align:center;font-size:clamp(1.65rem,5vw,2.25rem);margin:24px 0 54px}.home-hero{display:flex;min-height:330px;align-items:center;justify-content:space-between;gap:32px}.home-hero h1{position:relative;font-size:clamp(2rem,6vw,2.55rem);line-height:1.15;letter-spacing:-.035em;margin:0 0 14px;white-space:nowrap}.home-hero h2{font-size:1.15rem;margin:0 0 10px}.home-hero p{margin:0}.profile-trigger{--profile-image:url("/static/avi.png");appearance:none;border:0;background:transparent;color:inherit;padding:0;border-radius:999px;cursor:default;touch-action:manipulation}.profile-trigger:focus-visible{outline:1px solid #d1d5db;outline-offset:7px}.profile-glitch{position:relative;display:block;width:176px;height:176px;border-radius:999px}.profile-glitch img{display:block;width:176px;height:176px;object-fit:cover;border-radius:inherit;filter:grayscale(1);-webkit-user-drag:none;user-select:none}.profile-glitch::before,.profile-glitch::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--profile-image) center/cover no-repeat;opacity:0;pointer-events:none}.profile-trigger.is-switching .profile-glitch::before{opacity:.72;animation:profile-glitch-a .38s steps(2,end)}.profile-trigger.is-switching .profile-glitch::after{opacity:.58;animation:profile-glitch-b .38s steps(2,end)}.hackerman-rain{position:fixed;z-index:0;inset:0;width:100%;height:100%;pointer-events:none;opacity:.22}.home.hackerman,.home.hackerman *{font-family:"Ioskeley Mono",ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:lowercase}.hackerman .home-nav{background:rgba(0,0,0,.78)}.hackerman .hero-greeting{font-family:inherit;text-shadow:1px 0 #999,-1px 0 #555}.hackerman .hero-greeting span::after{content:"_";display:inline-block;animation:terminal-cursor 1.05s steps(1,end) infinite}.hackerman .hero-greeting::before,.hackerman .hero-greeting::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;opacity:.55}.hackerman .hero-greeting::before{transform:translate(2px,-1px);clip-path:inset(12% 0 58% 0);animation:text-glitch-a 2.4s steps(2,end) infinite}.hackerman .hero-greeting::after{transform:translate(-2px,1px);clip-path:inset(62% 0 12% 0);animation:text-glitch-b 1.9s steps(2,end) infinite}.hackerman .hero-greeting.is-typing::before,.hackerman .hero-greeting.is-typing::after{animation:none;opacity:0}.socials{display:flex;gap:18px;padding:8px 0 30px}.socials a{font-size:.9rem}.featured-heading,.subhead{font-size:clamp(1.5rem,4vw,2.1rem);letter-spacing:-.025em;margin:24px 0}.featured{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.featured>a{min-height:180px;padding:16px;border-radius:8px;background:rgba(17,20,23,.8);display:flex;flex-direction:column;text-decoration:none;transition:transform .15s ease,background .15s ease}.featured>a:hover{background:#111417;transform:scale(1.01)}.featured strong{font-size:1rem;font-weight:400}.featured span{font-size:.84rem;color:#d1d5db;margin-top:18px}.featured i{font-style:normal;margin-top:auto;color:#f3f4f6}.plain-list{display:grid;gap:0}.plain-list article{padding:24px 0;border-bottom:1px solid var(--line)}.plain-list h2{font-size:1.3rem;margin:0 0 6px}.plain-list p{margin:0;color:#b5b8bd}.simple-list,.writing-list{padding-left:1.2rem}.simple-list li,.writing-list li{padding:7px 0}.writing-list span{color:#777;margin-left:8px}.home-footer{width:min(calc(100% - 64px),672px);min-height:72vh;margin:0 auto;padding:72px 8px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-content:center}.home-footer h2{font-size:1rem}.home-footer p{font-size:.9rem;color:#d1d5db}.identity-main{width:min(calc(100% - 64px),672px);margin:0 auto;padding:76px 8px 80px}.identity-intro{padding:86px 0 74px}.identity-intro h1{margin:0 0 24px;font-size:clamp(2.5rem,7vw,4.1rem);line-height:1;letter-spacing:-.045em}.identity-lede{max-width:610px;margin:0;color:#d1d5db;font-size:clamp(1.08rem,2.8vw,1.35rem);line-height:1.55}.identity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0}.identity-grid section{min-width:0}.identity-grid h2,.identity-projects h2{margin:0 0 10px;color:#777;font-size:.7rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase}.identity-grid p{margin:0;color:#d1d5db;font-size:.88rem}.identity-projects{padding:62px 0 48px}.identity-files{display:flex;align-items:center;gap:18px;padding-top:26px;color:#9ca3af;font-size:.78rem}.identity-files span{margin-left:auto}@keyframes profile-glitch-a{0%,100%{clip-path:inset(0);transform:translate(0)}25%{clip-path:inset(12% 0 62%);transform:translate(7px,-2px)}50%{clip-path:inset(48% 0 26%);transform:translate(-8px,2px)}75%{clip-path:inset(72% 0 8%);transform:translate(5px,1px)}}@keyframes profile-glitch-b{0%,100%{clip-path:inset(0);transform:translate(0)}30%{clip-path:inset(58% 0 18%);transform:translate(-6px,-1px)}65%{clip-path:inset(24% 0 52%);transform:translate(8px,2px)}}@keyframes text-glitch-a{0%,88%,100%{transform:translate(0);opacity:0}89%{transform:translate(3px,-1px);opacity:.55}92%{transform:translate(-2px,1px);opacity:.35}}@keyframes text-glitch-b{0%,74%,100%{transform:translate(0);opacity:0}75%{transform:translate(-3px,1px);opacity:.45}78%{transform:translate(2px,-1px);opacity:.3}}@keyframes terminal-cursor{0%,48%{opacity:1}49%,100%{opacity:0}}

/* Focused evidence pages keep the same black, narrow, typography-first language. */
.shell{width:min(calc(100% - 40px),var(--max));margin:auto}.subroute-main{padding:148px 0 32px}.hero{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;padding-bottom:72px}.hero img{border-radius:50%;filter:grayscale(1);border:1px solid var(--line)}.shell h1,.shell h2,.shell h3{line-height:1.12;letter-spacing:-.035em}.shell h1{font-size:clamp(3.5rem,11vw,7.5rem);margin:.1em 0}.shell h2{font-size:clamp(2rem,6vw,3.25rem);margin:.2em 0 .65em}.shell h3{font-size:1.25rem;margin:.35em 0}.lede{font-size:clamp(1.25rem,3vw,1.65rem);line-height:1.45;max-width:680px}.summary{color:var(--muted);max-width:650px}.primary{display:inline-block;background:var(--text);color:var(--bg);padding:10px 15px;border-radius:4px;text-decoration:none;font-weight:400}.shell section{padding:72px 0;border-top:1px solid var(--line)}.evidence,.project{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px}.evidence p,.project p{color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:.72rem}.source{font-weight:400}.project-page>section{padding:48px 0}

/* Non-essay headings share the homepage greeting's visual ceiling. */
.home-hero h1,.identity-intro h1,.shell h1{font-size:clamp(2rem,6vw,2.55rem)}.shell h2{font-size:clamp(1.5rem,4vw,2.1rem)}

.writing-rss{margin:24px 0 0 1.2rem;font-size:.78rem}.writing-rss a{color:#9ca3af;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}

/* Essays follow Distill's publication grammar: Georgia title deck and reading column by default, and a wide annotation gutter. */
.article-page{min-height:100vh;background:#000;color:#f3f4f6;--font-article:Georgia,"Times New Roman",serif;font-family:var(--font-article);line-height:1.5;color-scheme:dark}.article-page a{text-decoration-color:#50545a}.article-page a:hover{color:#fff}.article-masthead{height:70px;background:#111417;color:#f3f4f6;border-bottom:1px solid #24272a}.article-masthead nav{width:min(calc(100% - 48px),1060px);height:100%;margin:auto;display:flex;align-items:center;justify-content:center}.article-return{display:grid;place-items:center;width:46px;height:46px;text-decoration:none}.article-return svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.article-return:hover svg{stroke:#fff}.article-title{width:min(calc(100% - 48px),704px);margin:0 auto;padding:68px 0 54px}.article-title h1{font-size:clamp(3rem,7vw,4.6rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 .18em}.article-title>p:last-child{font-size:1.28rem;line-height:1.48;margin:0;color:#d1d5db}.article-byline{margin:0;background:#090a0b;border-top:1px solid #24272a;border-bottom:1px solid #24272a;padding:30px max(24px,calc((100% - 704px)/2));display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.article-byline div{min-width:0}.article-byline dt{font-size:.62rem;color:#777;margin-bottom:7px}.article-byline dd{font-size:.78rem;margin:0;color:#d1d5db}.article-grid{width:min(calc(100% - 48px),1060px);margin:0 auto;display:grid;grid-template-columns:minmax(0,704px) minmax(180px,1fr);column-gap:72px;padding:70px 0 110px}.article-copy{grid-column:1;font-family:var(--font-article);font-size:1.12rem;line-height:1.72;color:#e5e7eb}.article-copy p{margin:0 0 1.55em}.article-copy .article-lead{font-size:1.22rem;line-height:1.62;color:#f3f4f6}.article-copy h2{font-size:1.85rem;letter-spacing:-.025em;line-height:1.2;margin:2.2em 0 .7em;color:#f3f4f6}.article-copy aside{float:right;width:210px;margin:.35em -282px 1.5em 48px;padding-top:10px;border-top:1px solid #50545a;color:#9ca3af;font-size:.78rem;line-height:1.55}.article-copy aside strong{display:block;color:#d1d5db;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.article-copy blockquote{margin:0 0 2.2em;padding:0 0 0 24px;border-left:1px solid #50545a;color:#d1d5db;font-style:italic}.article-copy blockquote p{margin-bottom:.45em}.article-copy blockquote cite{font-size:.75rem;font-style:normal;color:#9ca3af}.article-copy ol{margin:0 0 2em;padding-left:1.4em}.article-copy li{margin:.42em 0}.article-copy .katex{font-size:1.05em}.article-footer{border-top:1px solid #24272a;background:#0d0f10;color:#9ca3af;padding:44px max(24px,calc((100% - 704px)/2));display:flex;justify-content:space-between;gap:30px;font-size:.75rem}.article-footer p{margin:0}

@media(max-width:760px){.home-nav,.home-main,.home-footer,.identity-main{width:min(calc(100% - 32px),672px)}.home-nav{align-items:flex-start}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;padding:14px 8px 18px;background:#000;flex-direction:column;gap:12px}.home-section{padding-top:36px}.home-hero{min-height:360px;flex-direction:column-reverse;align-items:flex-start;justify-content:center}.home-hero h1{font-size:clamp(1.9rem,8vw,2.25rem);white-space:normal}.profile-glitch,.profile-glitch img{width:96px;height:96px}.featured{grid-template-columns:1fr}.featured>a{min-height:140px}.featured{grid-template-columns:1fr}.home-footer{grid-template-columns:1fr;gap:24px}.identity-intro{padding:66px 0 54px}.identity-grid{grid-template-columns:1fr;gap:24px}.identity-files{flex-wrap:wrap}.identity-files span{width:100%;margin-left:0}.shell{width:min(calc(100% - 28px),var(--max))}.subroute-main{padding-top:124px}.hero{grid-template-columns:1fr}.hero img{grid-row:1;width:96px;height:96px}.article-masthead nav,.article-title,.article-grid{width:min(calc(100% - 32px),704px)}.article-title{padding:48px 0 38px}.article-title h1{font-size:2.8rem}.article-title>p:last-child{font-size:1.08rem}.article-byline{grid-template-columns:1fr 1fr;padding:24px 16px;gap:22px}.article-grid{display:block;padding:48px 0 72px}.article-copy{font-size:1.06rem}.article-copy .article-lead{font-size:1.13rem}.article-copy aside{float:none;width:auto;margin:36px 0;padding:14px 0;border-bottom:1px solid #50545a}.article-footer{display:block}.article-footer p+p{margin-top:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.featured>a{transition:none}.profile-trigger.is-switching .profile-glitch::before,.profile-trigger.is-switching .profile-glitch::after,.hackerman .hero-greeting::before,.hackerman .hero-greeting::after{animation:none;display:none}.hackerman .hero-greeting span::after{animation:none}}

/* Native navigation and quiet provenance keep compliance visible without adding promotional chrome. */
.nav-toggle{display:none;appearance:none;background:transparent;color:inherit}.provenance{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 0!important;color:var(--muted)!important;font-size:.72rem!important}.provenance a{font-weight:400}.identity-projects>article{display:grid;grid-template-columns:132px 1fr;gap:5px 24px;margin:0;padding:18px 0;border-bottom:1px solid var(--line)}.identity-projects>article>a{font-weight:400}.identity-projects>article>span{color:#9ca3af;font-size:.9rem}.identity-projects>article>.provenance{grid-column:2}
@media(max-width:760px){.home-nav:not(.is-enhanced) .nav-links{display:flex}.home-nav.is-enhanced .nav-toggle{display:block;border:1px solid #4b5563;border-radius:4px;padding:8px;cursor:pointer}.nav-toggle>span:not(.sr-only){display:block;width:16px;height:1px;margin:3px;background:currentColor}.nav-toggle:focus-visible{outline:2px solid #fff;outline-offset:3px}.home-nav.is-enhanced .nav-links{display:none}.home-nav.is-enhanced .nav-links.is-open{display:flex}.identity-projects>article{grid-template-columns:1fr;gap:5px}.identity-projects>article>.provenance{grid-column:1}}
/* Article-only reading controls; native disclosures also work without JavaScript. */
.article-page { --reader-paper: #111417; --reader-ink: #f3f4f6; --reader-muted: #b2b5ba; --reader-rule: #50545a; }
[data-reading-font="plex"] .article-page { --font-article: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
[data-reading-font="ioskeley"] .article-page { --font-article: "Ioskeley Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
[data-reading-font="plex"] .article-title h1, [data-reading-font="ioskeley"] .article-title h1 { letter-spacing: 0; }
.reader-settings { position: fixed; right: 24px; top: 15px; z-index: 30; color: var(--reader-muted); font-size: .8rem; }
.reader-settings summary, .article-contents summary { cursor: pointer; display: grid; place-items: center; width: 40px; height: 40px; list-style: none; border-radius: 4px; }
.reader-settings summary { margin-left: auto; }
.reader-settings summary::-webkit-details-marker, .article-contents summary::-webkit-details-marker { display: none; }
.reader-settings summary:hover, .article-contents summary:hover { color: var(--reader-ink); background: var(--reader-paper); }
.ui-icon, .article-contents summary svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.reader-settings[open] { background: var(--reader-paper); border-radius: 4px; }
.reader-settings div { padding: 4px; display: flex; flex-direction: column; gap: 4px; }
.icon-control { display: inline-grid; place-items: center; width: 40px; height: 40px; color: inherit; background: transparent; border: 1px solid transparent; border-radius: 4px; cursor: pointer; }
.icon-control:hover { color: var(--reader-ink, var(--text)); }
.reader-settings button[aria-pressed="true"] { border-color: var(--reader-rule); font-weight: 700; }
#reader-font { font-family: var(--font-article); font-size: 15px; font-weight: 400; letter-spacing: 0; line-height: 1; }
.article-page :is(button, summary, a):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.article-contents { align-self: start; color: var(--reader-muted); font-size: .8rem; margin-bottom: 24px; }
.article-contents .contents-minus, .article-contents[open] .contents-list { display: none; }
.article-contents[open] .contents-minus { display: initial; }
.article-contents nav { display: grid; gap: 12px; padding: 8px 12px 16px; max-height: 65vh; overflow-y: auto; }
.article-contents a { text-decoration: none; line-height: 1.45; }
.article-contents a:hover { text-decoration: underline; }
.article-copy h2 { scroll-margin-top: 80px; }
.article-byline dt { color: #9ca3af; }
.article-grid { display: block; max-width: 704px; }
.article-copy aside { float: none; width: auto; margin: 2em 0; }
@media(min-width:1100px) {
  .article-grid { display: grid; grid-template-columns: minmax(0,704px); }
  .article-copy { grid-row: 1; }
  .article-contents { position: sticky; top: 80px; grid-column: 1; grid-row: 1; width: 160px; margin-left: -192px; margin-bottom: 0; }
  .article-contents summary { margin-left: auto; }
}
@media(min-width:1600px) {
  .article-grid { max-width: 1060px; grid-template-columns: minmax(0,704px) minmax(180px,1fr); }
  .article-copy aside { float: right; width: 210px; margin: .35em -282px 1.5em 48px; }
}
html[data-reading-theme="light"] { color-scheme: light; background: #faf9f6; }
[data-reading-theme="light"] .article-page { --reader-paper: #f0efeb; --reader-ink: #292824; --reader-muted: #62605b; --reader-rule: #c3c1b9; background: #faf9f6; color: var(--reader-ink); color-scheme: light; }
[data-reading-theme="light"] :is(.article-masthead, .article-byline, .article-footer) { background: #f0efeb; color: #62605b; border-color: #d9d7cf; }
[data-reading-theme="light"] :is(.article-copy, .article-copy .article-lead, .article-copy h2, .article-return) { color: #292824; }
[data-reading-theme="light"] :is(.article-title>p:last-child, .article-byline dd, .article-copy aside, .article-copy aside strong, .article-copy blockquote, .article-copy blockquote cite, .article-byline dt) { color: #62605b; }
[data-reading-theme="light"] .article-page a { text-decoration-color: #8b9380; }
[data-reading-theme="light"] .article-page a:hover { color: #45613d; }
[data-reading-theme="light"] .article-return:hover svg { stroke: currentColor; }
[data-reading-zen="true"] :is(.article-masthead, .article-byline, .article-footer, .article-contents) { display: none; }
[data-reading-zen="true"] .article-grid { display: block; max-width: 704px; }
[data-reading-zen="true"] .article-copy aside { float: none; width: auto; margin: 2em 0; padding: 14px 0; }
[data-reading-zen="true"] .article-title { padding-top: 100px; }
@media(max-width:760px) { .reader-settings { right: 16px; } }
@media print { .reader-settings, .article-contents { display: none; } }
/* CV shares the portfolio column and section rhythm. */
.cv-intro{display:flex;align-items:center;gap:32px;margin-bottom:40px}
.cv-intro>p{margin:0;color:var(--muted)}
.cv-qr{flex:none;display:block}
.cv-qr img{display:block;width:132px;height:132px;image-rendering:pixelated;filter:invert(1);opacity:.75}
.cv-section h2{font-size:clamp(1.5rem,4vw,2.1rem);letter-spacing:-.025em;margin:24px 0}
.cv-section h3{font-size:1.3rem;margin:0 0 6px}
.cv-job{padding:24px 0;border-bottom:1px solid var(--line)}
.cv-meta{font-size:.85rem;color:var(--muted)}
.cv-job-header{display:flex;justify-content:space-between;gap:24px}
.cv-job-header p{margin:0 0 6px}
.cv-dates{text-align:right;flex-shrink:0}
.cv-job ul{padding-left:1.2rem;margin:20px 0}
.cv-job li{margin:0 0 12px}
.cv-details>section{padding:12px 0 24px;border-bottom:1px solid var(--line)}
.cv-details p{margin:8px 0;color:var(--muted)}
.cv-details ul{padding-left:1.2rem}
.cv-skills dl{margin:0}
.cv-skills dl>div{padding:16px 0;border-bottom:1px solid var(--line)}
.cv-skills dd{margin:6px 0 0}
@media(max-width:760px){
.cv-intro{flex-direction:column;align-items:flex-start;gap:24px}
.cv-job-header{display:block}
.cv-dates{text-align:left;margin-top:12px}
}
@view-transition { navigation: auto; }
.bookmark-section{margin-top:48px}.bookmark-section h2{font-size:23px;font-weight:normal}
.bookmark-section input{width:100%;box-sizing:border-box;font:inherit;color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0}
.bookmark-section a{overflow-wrap:anywhere}.bookmark-section [role=status]:empty{display:none}
.bookmark-log{padding-left:2.5em;margin:20px 0;font-size:14px}
.bookmark-log li::marker{color:var(--muted);font-size:11px}
.bookmark-log a,.bookmark-log li>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:16px;padding:9px 0;text-decoration:none;font-size:14px;line-height:1.6}
.bookmark-log small,.bookmark-log .list-meta{color:var(--muted);font-size:11px}
.bookmark-log small{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reading-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted);font-size:12px}
.reading-pagination[hidden]{display:none}
.reading-pagination button{background:none;color:inherit;border:0;font:inherit;min-width:40px;min-height:40px;cursor:pointer}
.reading-pagination button:disabled{opacity:.3;cursor:default}
@media(max-width:600px){.bookmark-log a,.bookmark-log li>div{grid-template-columns:minmax(0,1fr) auto;gap:3px 12px}.bookmark-log li>div>span:first-child,.bookmark-log a>span:first-child{grid-column:1/-1}.bookmark-log .list-meta{text-align:right}}
.reading-section .section-title{margin-bottom:1rem}
.book-stack{height:350px;position:relative;display:flex;align-items:center;justify-content:center;perspective:1100px;margin:0 0 38px}
.stack-book{display:block;width:172px;flex-shrink:0;position:relative;transform:rotate(-12deg) rotateY(-15deg);transition:transform .45s ease,filter .45s ease;filter:drop-shadow(12px 20px 14px #0009);margin:0 -21px}
.stack-book:nth-child(2){transform:translateY(12px) rotate(2deg) rotateY(-15deg);z-index:2}
.stack-book:nth-child(3){transform:translateY(24px) rotate(14deg) rotateY(-15deg);z-index:3}
.stack-book:after{content:"";position:absolute;inset:2px -5px 2px auto;width:5px;background:repeating-linear-gradient(90deg,#b9b5a7 0 1px,#eee9dd 1px 2px);transform:skewY(8deg);border-radius:0 2px 2px 0}
.stack-book:hover,.stack-book:focus-visible{transform:translateY(-22px) rotate(0) rotateY(0);z-index:4;filter:drop-shadow(14px 30px 18px #000b)}
.book-cover{display:block;width:100%;height:auto;border-radius:1px 3px 3px 1px}
.cover-godel-escher-bach{view-transition-name:geb-cover}.cover-superintelligence{view-transition-name:superintelligence-cover}.cover-what-if{view-transition-name:what-if-cover}
.reading-tools{display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px}
.reading-tools input,.reading-tools select{font:inherit;font-size:15px;color:var(--muted);background:var(--bg);border:0;border-radius:0;min-width:0;padding:8px 0}
.reading-tools input{width:65%}.reading-tools select{max-width:35%}
.reading-status{color:var(--muted);font-size:14px;font-weight:normal}
.book-detail{max-width:672px;margin:auto}.book-back{display:inline-block;font-size:25px;text-decoration:none;margin-bottom:40px;padding:8px}
.book-heading{display:grid;grid-template-columns:170px 1fr;gap:40px;align-items:center}.book-heading .book-cover{box-shadow:8px 12px 25px #0007}
.book-heading h1{font-size:36px;line-height:1.12;margin:12px 0}.book-heading p{margin:10px 0}.book-author{color:var(--muted)}.book-edition{font-size:14px;color:var(--muted)}
.book-blurb{font-size:19px;line-height:1.8;margin:48px 0}.book-detail section{border-top:1px solid var(--line);padding:24px 0}.book-detail h2{font-size:23px;font-weight:normal;margin:0 0 20px}
::view-transition-group(*){animation-duration:450ms}
@media(max-width:600px){.book-stack{height:290px;margin-bottom:20px}.stack-book{width:135px;margin:0 -22px}.book-heading{grid-template-columns:110px 1fr;gap:22px}.book-heading h1{font-size:27px}.book-back{margin-bottom:24px}.book-blurb{margin:32px 0}}
@media(prefers-reduced-motion:reduce){.stack-book{transition:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
