@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{font-family:Manrope,'Avenir Next',sans-serif;color:#242b2f;background:#fafbfc;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.75}h1,h2,p{margin:0}h1,h2{font-weight:500;line-height:1.15;letter-spacing:-.055em}p{text-wrap:pretty}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:#5f737e}a:focus-visible,summary:focus-visible{outline:2px solid #486b80;outline-offset:6px;border-radius:1px}a:active{opacity:.65}
.home{min-height:100svh}.home-stage{min-height:100svh;position:relative;display:flex;align-items:center;max-width:1400px;margin:auto;padding:50px clamp(30px,10vw,160px)}.home-content{position:relative;z-index:1;width:max-content;max-width:100%}.home h1{font-size:clamp(48px,5.1vw,76px);letter-spacing:-.06em}.home-intro{font-size:17px;line-height:1.7;color:#5b6469;margin-top:23px}.home-links{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-top:49px}.home-links a{display:flex;gap:45px;align-items:center;justify-content:space-between;min-width:220px;min-height:53px;text-decoration:none;font-size:26px;letter-spacing:-.035em}.home-links span{font-size:18px;color:#6b767b;transition:transform .18s ease-out}.home-links a:hover span{transform:translate(3px,-3px)}.contact-links{display:flex;gap:26px;margin-top:56px;font-size:14px;color:#667177}.contact-links a{display:inline-flex;align-items:center;min-height:44px}
#ink{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;mask-image:linear-gradient(90deg,transparent 22%,#0001 38%,#000 57%);z-index:0}
.reading-page{width:min(100%,760px);padding:64px 36px 42px;margin:auto}.back-link{display:inline-flex;min-height:44px;align-items:center;font-size:14px;color:#667177;text-decoration:none}.page-intro{margin:47px 0 48px}.page-intro h1{font-size:clamp(44px,6vw,64px)}.page-intro>p{color:#667177;margin-top:17px}.entries article{padding:30px 0;border-top:1px solid #e1e5e7}.entry-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:14px}.entry-heading h2,.closing-note h2{font-size:23px;letter-spacing:-.035em}.entry-heading>span{font-size:13px;color:#6a747a;line-height:1.5}.entries p{color:#525e65;max-width:61ch}.entries article>a,.inline-links a,.detail-body>a{display:inline-block;font-size:14px;margin-top:15px}.inline-links{display:flex;flex-wrap:wrap;gap:0 24px}.about-intro{margin-bottom:38px}.closing-note{padding:30px 0 10px}.closing-note h2{margin-bottom:13px}details{margin-top:13px}summary{font-size:14px;cursor:pointer;display:flex;align-items:center;gap:14px;min-height:44px;width:max-content;list-style:none;color:#394951}summary::-webkit-details-marker{display:none}summary span{font-size:21px;line-height:1}details[open] summary span{transform:rotate(45deg)}.detail-body{padding:8px 0 8px}.detail-body p+p{margin-top:15px}.page-footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #e1e5e7;margin-top:38px;padding-top:22px;color:#667177;font-size:14px}.page-footer nav{display:flex;gap:25px}.page-footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:700px){.home-stage{align-items:flex-start;padding:clamp(72px,13svh,115px) 32px 30px}.home h1{font-size:52px}.home-intro{font-size:16px;max-width:29ch;margin-top:18px}.desktop-break{display:none}.home-links{margin-top:36px}.home-links a{font-size:25px;min-width:205px;min-height:50px}.contact-links{margin-top:33px}#ink{mask-image:linear-gradient(180deg,transparent 25%,#0001 55%,#000 88%);opacity:.7}.reading-page{padding:30px 26px}.page-intro{margin:35px 0 36px}.entry-heading{display:block}.entry-heading>span{display:block;margin-top:7px}.entries article{padding:27px 0}.page-footer nav{gap:20px}}
@media(prefers-reduced-motion:reduce){.home{height:100svh;min-height:580px}.home-stage{position:relative}.home-links span{transition:none}}
@media(max-height:620px){.home-stage{padding-top:45px;padding-bottom:30px}.home-links{margin-top:25px}.contact-links{margin-top:22px}}
@media print{#ink{display:none}.home{height:auto;min-height:0}.home-stage{height:auto;min-height:0;position:static}.reading-page{padding:0}.page-footer{display:none}}

/* The reading surface stays quiet while ink moves at its edges. */
.inner{min-height:120svh}.inner .reading-page{position:relative;z-index:1}
.inner #ink{opacity:.45;mask-image:linear-gradient(90deg,transparent 18%,#0001 48%,#000 100%)}
.unveiling{position:fixed;inset:0;z-index:5;display:grid;place-items:center;background:#fafbfc;animation:unveil 2.1s cubic-bezier(.65,0,.25,1) both}
.unveiling svg{width:min(760px,100vw);height:auto;overflow:visible;stroke:#455963;stroke-width:1;animation:workspace-depart 2.1s cubic-bezier(.65,0,.25,1) both}
.unveiling path,.unveiling rect{stroke-dasharray:1;animation:ink-write 1.2s cubic-bezier(.2,.7,.25,1) both}
.workspace-piece{transform-box:fill-box;transform-origin:center;animation:assemble 1.25s cubic-bezier(.2,.7,.25,1) both}
.piece-one{--from-x:-95px;--from-y:25px;--from-turn:-9deg}.piece-two{--from-x:80px;--from-y:-55px;--from-turn:7deg}.piece-three{--from-x:40px;--from-y:75px;--from-turn:-6deg}
.workspace-frame{opacity:.6}.workspace-piece path,.workspace-piece rect{animation-delay:.12s}
.is-unveiling .home-content{animation:content-unveil 2.1s cubic-bezier(.2,.7,.25,1) both}
.skip-intro{position:absolute;right:32px;bottom:25px;padding:12px 0;border:0;background:none;font:inherit;font-size:13px;color:#667177;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.skip-intro:focus-visible{outline:2px solid #486b80;outline-offset:5px}
@keyframes ink-write{from{stroke-dashoffset:1;opacity:0}30%{opacity:1}to{stroke-dashoffset:0;opacity:1}}
@keyframes assemble{from{transform:translate(var(--from-x),var(--from-y)) rotate(var(--from-turn))}to{transform:translate(0,0) rotate(0)}}
@keyframes workspace-depart{0%,60%{transform:scale(1);opacity:1}100%{transform:translateX(26vw) scale(1.12);opacity:0}}
@keyframes unveil{0%,62%{clip-path:inset(0)}100%{clip-path:inset(0 0 0 100%)}}
@keyframes content-unveil{0%,62%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.inner #ink{opacity:.32;mask-image:linear-gradient(90deg,transparent 5%,#0003 55%,#000 100%)}}
@media(prefers-reduced-motion:reduce){.unveiling{display:none}.is-unveiling .home-content{animation:none}}

.portrait{width:92px;height:104px;overflow:hidden;border-radius:3px;margin-bottom:24px}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.5);transform-origin:50% 47%}
.contact-links{flex-wrap:wrap;column-gap:26px;row-gap:0}
@media(max-width:700px){.portrait{width:76px;height:86px;margin-bottom:18px}.home-stage{padding-top:clamp(40px,8svh,72px)}}

.entry-heading h2{display:flex;align-items:center;gap:12px}.entry-icon{width:23px;height:23px;flex:none;color:#748891}.entries article>a.venture-link{margin:0 0 15px}.page-footer nav{flex-wrap:wrap;column-gap:20px;row-gap:0}
@media(max-width:700px){.home-links{margin-top:26px}.home-links a{min-height:46px}.contact-links{margin-top:24px}}
.shelf-page{width:min(100%,1100px)}.shelf-page .page-intro{margin-bottom:24px}.shelf-note{max-width:66ch;color:#647078;font-size:14px}.shelf-tools{display:flex;align-items:end;gap:18px;margin:30px 0 18px;flex-wrap:wrap}.shelf-tools label,.book-controls label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#59676e}.shelf-tools input,.shelf-tools select,.book-controls select{font:inherit;font-size:14px;border:1px solid #d3dbdf;background:#fafbfc;color:#34434b;border-radius:3px;padding:9px 11px;min-height:44px;max-width:100%}.shelf-tools input{width:260px}.shelf-tools button{font:inherit;font-size:13px;background:none;border:0;text-decoration:underline;text-underline-offset:4px;min-height:44px;color:#647078;cursor:pointer;margin-left:auto}.shelf-help,.shelf-save{font-size:12px;color:#68777e;max-width:80ch}.shelf-save{min-height:24px;margin:10px 0 15px}.tier{display:grid;grid-template-columns:90px 1fr;border-top:1px solid #dfe5e8;padding:20px 0;gap:25px;transition:background .15s}.tier-label h2{font-size:30px}.tier-label p{font-size:11px;color:#6d7a81;line-height:1.5;margin-top:8px}.tier-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start;min-height:60px}.book{margin:0;background:#fafbfce8;border:1px solid #e0e6e9;border-radius:3px;min-width:0}.book summary{width:100%;padding:14px 12px;min-height:100px;gap:10px;align-items:flex-start}.book summary>span{font-size:inherit;line-height:inherit}.book strong{font-size:13px;line-height:1.45;font-weight:600;display:block;letter-spacing:-.015em}.book small{display:block;font-size:11px;color:#76828a;line-height:1.5;margin-top:5px}.book summary .book-spine{display:grid;place-items:center;width:22px;min-width:22px;height:34px;font-size:12px;border-left:2px solid #668076;background:#e9efed;color:#536e61;transform:none}.book[data-topic="Philosophy"] .book-spine{background:#eaeef3;border-color:#78899f;color:#64758a}.book[open]{grid-column:1/-1}.book[open] summary{min-height:65px}.book[open] summary span{transform:none}.book-notes{padding:0 18px 19px;font-size:14px;line-height:1.7;color:#56656d}.book-notes p{margin-bottom:12px}.book-notes .book-tag{color:#293f4a;font-size:17px}.book-notes p strong{display:inline;font-size:inherit}.book-notes>a{font-size:12px}.book-controls{display:flex;gap:16px;flex-wrap:wrap;margin-top:17px}.book-controls select{font-size:12px}.tier.drop-target{background:#eaf1ef}.tier:has(.book:not([hidden])) .tier-label{opacity:1}.tier:not(:has(.book:not([hidden]))){opacity:.45}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid #486b80;outline-offset:3px}[hidden]{display:none!important}
@media(max-width:700px){.tier{grid-template-columns:46px 1fr;gap:12px;padding:18px 0}.tier-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.book summary{padding:11px 9px;min-height:130px}.book summary .book-spine{display:none}.shelf-tools{gap:12px}.shelf-tools input{width:100%}.shelf-tools label:first-child{flex:1;min-width:160px}.shelf-tools button{margin-left:0}.book-controls{display:block}.book-controls label+label{margin-top:12px}.shelf-note{font-size:13px}}
