@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-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:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-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:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_8c25df{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_8c25df{--font-mono:"Geist Mono","Geist Mono Fallback"}:root{--paper:#fafafa;--paper-2:#efefef;--card:#ffffff;--ink:#0b0b0b;--ink-2:#3d3d3d;--muted:#7c7c7c;--rule:#e0e0e0;--accent:#0b0b0b;--soft:#9a9a9a;--note:#ececec;--tape:rgba(150,150,150,0.35);--shadow:0 1px 1px rgba(0,0,0,0.06),0 8px 24px -8px rgba(0,0,0,0.22);--shadow-lift:0 2px 2px rgba(0,0,0,0.08),0 22px 40px -12px rgba(0,0,0,0.32);--sans:var(--font-sans),ui-sans-serif,system-ui,sans-serif;--display:var(--sans);--display-weight:500;--mono:var(--font-mono),ui-monospace,"SFMono-Regular",monospace;--shell:1120px;--gutter:clamp(16px,4vw,40px);--ease:cubic-bezier(0.22,1,0.36,1)}@media (prefers-color-scheme:dark){:root{--paper:#0a0a0a;--paper-2:#1a1a1a;--card:#141414;--ink:#f2f2f2;--ink-2:#bdbdbd;--muted:#858585;--rule:#2a2a2a;--accent:#f2f2f2;--soft:#6f6f6f;--note:#262626;--tape:rgba(200,200,200,0.18);--shadow:0 1px 1px rgba(0,0,0,0.4),0 10px 26px -8px rgba(0,0,0,0.8);--shadow-lift:0 2px 2px rgba(0,0,0,0.45),0 24px 44px -12px rgba(0,0,0,0.9)}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.45  0 0 0 0 0.4  0 0 0 0 0.3  0 0 0 .18 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}@media (prefers-color-scheme:dark){body:before{mix-blend-mode:screen;opacity:.15}}a{color:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--rule);transition:color .2s,text-decoration-color .2s}a:hover{color:var(--ink);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:0}img{display:block;max-width:100%}em{font-style:normal}::-moz-selection{background:var(--ink);color:var(--paper)}::selection{background:var(--ink);color:var(--paper)}.skip-link{position:absolute;left:16px;top:-60px;z-index:200;padding:8px 14px;background:var(--ink);color:var(--paper);border-radius:0}.skip-link:focus{top:12px}.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 var(--gutter)}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--muted);margin:0 0 18px}.rise{animation:rise .8s var(--ease) both;animation-delay:var(--delay,0s)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.book-status:after,.book-status:before,.bracket:after,.bracket:before,.collage-hint:after,.collage-hint:before,.collage-meta button:after,.collage-meta button:before,.eyebrow:not(.hero-meta):after,.eyebrow:not(.hero-meta):before,.quiz-score button:after,.quiz-score button:before,.site-nav nav a:after,.site-nav nav a:before,.tl-kind:after,.tl-kind:before,.tl-more:after,.tl-more:before,.typing-result button:after,.typing-result button:before{color:var(--muted);font-family:var(--mono);font-weight:400}.book-status:before,.bracket:before,.collage-hint:before,.collage-meta button:before,.eyebrow:not(.hero-meta):before,.quiz-score button:before,.site-nav nav a:before,.tl-kind:before,.tl-more:before,.typing-result button:before{content:"[ ";content:"[ "/""}.book-status:after,.bracket:after,.collage-hint:after,.collage-meta button:after,.eyebrow:not(.hero-meta):after,.quiz-score button:after,.site-nav nav a:after,.tl-kind:after,.tl-more:after,.typing-result button:after{content:" ]";content:" ]"/""}.hero-meta{display:flex;flex-wrap:wrap;gap:4px 14px}.age{display:contents}.age-bar{letter-spacing:-.04em;color:var(--ink-2)}.age-bar:after,.age-bar:before{letter-spacing:0}.glyph{display:block;width:20px;height:20px;background:currentColor;-webkit-mask:var(--glyph) center /contain no-repeat;mask:var(--glyph) center /contain no-repeat}.intro{display:none}html[data-intro=play]{overflow:hidden}html[data-intro=play] .intro{position:fixed;inset:0;z-index:300;display:grid;place-items:center;overflow:hidden;background:#050505;color:#f2f2f2;font-family:var(--mono);transition:opacity .6s ease .7s}html[data-intro=play] .hobby-card,html[data-intro=play] .piece,html[data-intro=play] .rise{animation-play-state:paused}.intro .bracket:after,.intro .bracket:before{color:#6b6b6b}.intro-bar{position:absolute;left:0;right:0;height:11vh;background:#000;z-index:3;transition:transform .9s cubic-bezier(.76,0,.24,1)}.intro-bar.is-top{top:0;animation:bar-top 1s cubic-bezier(.76,0,.24,1) both}.intro-bar.is-bottom{bottom:0;animation:bar-bottom 1s cubic-bezier(.76,0,.24,1) both}@keyframes bar-top{0%{transform:translateY(-100%)}}@keyframes bar-bottom{0%{transform:translateY(100%)}}.intro.is-leave .intro-bar.is-top{transform:scaleY(4.6);transform-origin:top}.intro.is-leave .intro-bar.is-bottom{transform:scaleY(4.6);transform-origin:bottom}.intro.is-leave{opacity:0}.intro.is-leave .intro-enter,.intro.is-leave .intro-frames,.intro.is-leave .intro-title{opacity:0;transform:scale(.97);transition:opacity .4s,transform .6s var(--ease)}.intro-hud{position:absolute;left:0;right:0;z-index:4;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;padding:0 clamp(16px,4vw,40px);font-size:11px;letter-spacing:.04em;color:#bdbdbd;animation:hud-in .8s ease .6s both}.intro-hud.is-top{top:calc(11vh / 2 - 8px)}.intro-hud.is-bottom{bottom:calc(11vh / 2 - 8px)}@keyframes hud-in{0%{opacity:0}}.intro-rec{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:#f2f2f2;vertical-align:1px;animation:blink 1s steps(2,start) infinite}.intro-life{letter-spacing:-.04em}.intro-frames{position:absolute;inset:11vh 0;z-index:1;display:grid;place-items:center;animation:frames-out 1s ease 1.9s both}.intro-frames img{grid-area:1/1;width:min(46vw,460px);height:min(58vh,520px);-o-object-fit:cover;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.9);opacity:0;transform:scale(1.12)}.intro-frames img.is-on{opacity:1;transform:scale(1);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}@keyframes frames-out{to{opacity:.16;filter:blur(2px)}}.intro-title{position:relative;z-index:2;text-align:center;padding:0 16px}.intro-name{margin:0;font-family:var(--display);font-weight:500;font-size:clamp(48px,11vw,150px);line-height:.95;letter-spacing:-.06em;white-space:nowrap}.intro-name span{display:inline-block;animation:letter-in .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(1.85s + var(--i) * 45ms)}@keyframes letter-in{0%{opacity:0;transform:translateY(.35em);filter:blur(8px)}}.intro-sub{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 14px;margin:18px 0 0;font-size:12px;color:#bdbdbd;animation:hud-in .8s ease 2.5s both}.intro-quote{max-width:34ch;margin:26px auto 0;font-family:var(--display);font-size:clamp(14px,1.5vw,18px);letter-spacing:-.01em;line-height:1.4;color:#9a9a9a;animation:hud-in 1.2s ease 2.9s both}.intro-enter{position:absolute;z-index:4;bottom:calc(11vh + 36px);font:inherit;font-size:13px;letter-spacing:.08em;color:#f2f2f2;background:none;border:0;padding:10px 14px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .5s}.intro.is-ready .intro-enter{opacity:1;pointer-events:auto;animation:blink 1.4s ease-in-out infinite}.intro-enter:focus-visible,.intro-enter:hover{animation:none!important;outline:none;text-decoration:underline;text-underline-offset:4px}@keyframes blink{50%{opacity:.25}}.intro-grain{position:absolute;inset:-50%;z-index:5;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain .5s steps(4) infinite}@keyframes grain{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}.site-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);border-bottom:1px solid color-mix(in srgb,var(--rule) 60%,transparent)}.site-nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}.site-mark{font-family:var(--display);font-weight:var(--display-weight);font-size:20px;letter-spacing:-.03em;text-decoration:none}.site-nav nav{display:flex;gap:clamp(10px,2.4vw,24px)}.site-nav nav a{font-family:var(--mono);font-size:13px;text-decoration:none;color:var(--ink-2)}.site-nav nav a[aria-current=page]{color:var(--ink);font-weight:500}.site-nav nav a[aria-current=page]:after,.site-nav nav a[aria-current=page]:before{color:var(--ink)}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:center;padding-top:clamp(40px,8vw,96px);padding-bottom:clamp(40px,6vw,72px)}.hero-title{font-family:var(--display);font-weight:var(--display-weight);font-size:clamp(40px,4.9vw,64px);line-height:1.02;letter-spacing:-.045em;margin:0 0 28px}.hero-title em{color:var(--soft)}.hero-bio{color:var(--ink-2);max-width:52ch}.hero-bio p{margin:0 0 16px}.hero-interests{display:grid;grid-template-columns:128px minmax(0,1fr);gap:4px 0;margin:0;padding-top:12px;border-top:1px dashed var(--rule);font-size:14px;line-height:1.6}.hero-interests dt{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:1px}.hero-interests dd{margin:0}.social-icons{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.social-icons a{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--rule);border-radius:0;background:var(--card);color:var(--ink-2);text-decoration:none;transition:transform .25s var(--ease),border-color .2s,box-shadow .25s}.social-icons svg{width:20px;height:20px}.social-icons a:focus-visible,.social-icons a:hover{transform:translateY(-3px) rotate(-4deg);border-color:var(--ink);box-shadow:var(--shadow);color:var(--ink)}.social-icons a:after{content:attr(data-label);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);padding:3px 8px;border-radius:0;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s var(--ease)}.social-icons a:focus-visible:after,.social-icons a:hover:after{opacity:1;transform:translate(-50%)}.social-badge{position:absolute;right:-6px;bottom:-6px;padding:0 4px;border-radius:0;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:8px;line-height:13px}.social-icons.is-sm{margin:0;gap:8px}.social-icons.is-sm a{width:32px;height:32px;border-radius:0}.social-icons.is-sm .glyph,.social-icons.is-sm svg{width:15px;height:15px}.social-icons.is-sm .social-badge{font-size:7px;line-height:11px;right:-5px;bottom:-5px}.collage,.collage-board{position:relative}.collage-board{--mx:0;--my:0;aspect-ratio:1/1.7;width:100%;-moz-user-select:none;user-select:none;-webkit-user-select:none}.piece{position:absolute;margin:0;cursor:grab;transform:translate3d(calc(var(--dx) + var(--mx) * var(--depth) * -9px),calc(var(--dy) + var(--my) * var(--depth) * -9px),0) rotate(var(--rotate)) scale(var(--scale,1));transition:transform .6s var(--ease);animation:drop .9s var(--ease) both;animation-delay:calc(.2s + var(--delay))}.piece.is-selected .piece-inner{outline:1px dashed var(--ink);outline-offset:4px}.piece[data-dragging]{cursor:grabbing;transition:none}.piece-inner{transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.piece:hover .piece-inner{transform:scale(1.03) rotate(calc(var(--rotate) * -.25))}.piece[data-dragging] .piece-inner{transform:scale(1.06)}@keyframes drop{0%{opacity:0;transform:translate3d(0,-24px,0) rotate(calc(var(--rotate) * 2.2)) scale(1.08)}}.piece-img{overflow:hidden;background:var(--paper-2)}.piece-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;pointer-events:none;filter:grayscale(1) contrast(1.05);transition:filter .5s var(--ease)}.piece.is-selected .piece-img img,.piece:hover .piece-img img{filter:none}.piece-photo>.piece-inner{padding:6% 6% 0;background:var(--card);box-shadow:var(--shadow)}.piece-photo:hover>.piece-inner,.piece-photo[data-dragging]>.piece-inner{box-shadow:var(--shadow-lift)}.piece figcaption{font-family:var(--display);font-size:clamp(12px,1.3vw,15px);letter-spacing:-.01em;color:var(--ink-2);padding:.35em 0 .55em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.piece.has-tape:before{content:"";position:absolute;z-index:2;top:-9px;left:50%;width:38%;height:20px;transform:translateX(-50%) rotate(-3deg);background:var(--tape);box-shadow:0 1px 2px rgba(0,0,0,.08);clip-path:polygon(3% 0,97% 4%,100% 50%,96% 100%,2% 96%,0 50%)}.piece-note .piece-inner{background:var(--note);color:var(--ink);padding:14% 12% 16%;box-shadow:var(--shadow)}.piece-note p{margin:0;font-family:var(--display);font-size:clamp(12px,1.2vw,15px);letter-spacing:-.01em;line-height:1.15}.piece-stamp .piece-inner{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:1.5px dashed var(--ink);color:var(--ink);background:color-mix(in srgb,var(--paper) 70%,transparent);text-align:center;padding:10%}.piece-stamp span{font-family:var(--mono);font-size:clamp(6.5px,.66vw,8.5px);letter-spacing:.04em;text-transform:uppercase;line-height:1.4;white-space:pre-line}.piece-sticker .piece-inner{background:var(--card);padding:14%;border-radius:0;box-shadow:var(--shadow)}.piece-sticker img{width:100%;image-rendering:pixelated;pointer-events:none;filter:grayscale(1)}.collage-meta{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;font-family:var(--mono);font-size:11px;color:var(--muted);min-height:26px}.collage-meta button{font:inherit;color:var(--ink);background:none;border:0;padding:4px 0;cursor:pointer}.collage-meta button:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.collage-meta button:disabled{opacity:.35;cursor:default}.collage-size{display:flex;align-items:center;gap:10px;margin-right:auto}.collage-selected{color:var(--ink)}.collage-scale{min-width:4ch;text-align:center;font-variant-numeric:tabular-nums}.index{padding-bottom:clamp(56px,8vw,112px)}.index-row{display:grid;grid-template-columns:48px minmax(0,1.1fr) minmax(0,1fr) auto 28px;gap:20px;align-items:baseline;padding:26px 0;border-top:1px solid var(--rule);text-decoration:none;transition:padding .35s var(--ease),color .2s}.index-row:last-child{border-bottom:1px solid var(--rule)}.index-row:hover{color:var(--ink);padding-left:10px}.index-meta,.index-num{font-family:var(--mono);font-size:12px;color:var(--muted)}.index-title{font-family:var(--display);font-weight:var(--display-weight);font-size:clamp(28px,3.2vw,40px);line-height:1.05;letter-spacing:-.04em;transition:color .2s}.index-row:hover .index-title{color:var(--soft)}.index-preview{font-size:14px;color:var(--ink-2)}.index-arrow{font-size:20px;color:var(--muted);transition:transform .35s var(--ease),color .2s}.index-row:hover .index-arrow{color:var(--ink);transform:translateX(6px)}.page{padding-top:clamp(40px,7vw,88px);padding-bottom:clamp(56px,8vw,112px)}.page-head{max-width:820px;margin-bottom:clamp(36px,5vw,64px)}.page-head h1{font-family:var(--display);font-weight:var(--display-weight);font-size:clamp(40px,5vw,66px);line-height:1.02;letter-spacing:-.05em;margin:0 0 20px}.page-head h1 em{color:var(--soft)}.page-lede{color:var(--ink-2);max-width:56ch;margin:0}.now-rows{list-style:none;margin:0;padding:0}.now-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:20px;padding:26px 12px;margin:0 -12px;border-top:1px solid var(--rule);border-radius:0;transition:opacity .25s,background .25s}.now-row:last-child{border-bottom:1px solid var(--rule)}.now-row.is-active{background:color-mix(in srgb,var(--card) 80%,transparent)}.now-row.is-dim{opacity:.45}.now-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:0;background:var(--card);border:1px solid var(--rule);overflow:hidden;color:var(--ink-2);transition:transform .3s var(--ease)}.now-row:hover .now-icon{transform:rotate(-6deg) scale(1.08)}.now-icon img{filter:grayscale(1) contrast(1.1);width:26px;height:26px;border-radius:0}.now-icon .glyph,.now-icon svg{width:18px;height:18px}.now-dates{margin:0 0 4px;font-family:var(--mono);font-size:12px;color:var(--muted)}.now-main h3{font-family:var(--display);font-weight:var(--display-weight);font-size:clamp(21px,2.2vw,26px);line-height:1.15;letter-spacing:-.025em;margin:4px 0 8px}.now-main p{margin:0;color:var(--ink-2);max-width:68ch}.now-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:12px;font-family:var(--mono);font-size:12px}.now-children{margin-top:20px;padding-left:16px;border-left:1px solid var(--rule)}.now-children .now-row{margin:0;padding:4px 0;border:0}.now-children .now-main h3{font-size:clamp(18px,1.9vw,22px)}.now-former{margin-top:clamp(48px,6vw,80px)}.now-former h2{font-weight:400}.now-former .now-main h3,.now-former .now-main p{color:var(--ink-2)}.now-former .now-icon{opacity:.7}.timeline{border-top:1px solid var(--rule)}.tl-year{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--rule)}.tl-year-label{position:sticky;top:76px;align-self:start;margin:0;padding:26px 0;font-family:var(--display);font-weight:400;font-size:clamp(36px,4vw,52px);letter-spacing:-.04em;line-height:1;color:var(--muted)}.tl-entries{list-style:none;margin:0;padding:16px 0 16px 28px;border-left:1px solid var(--rule)}.tl-entry{position:relative;padding:14px 0}.tl-entry:before{content:"";position:absolute;left:-33px;top:21px;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ink-2);background:var(--paper)}.tl-entry.is-current:before{background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--ink) 12%,transparent)}.tl-dates{font-family:var(--mono);font-size:12px;color:var(--muted);margin:0 0 4px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tl-kind{font-size:11px}.tl-kind.is-research{color:var(--ink)}.tl-entry h3{font-family:var(--display);font-weight:var(--display-weight);font-size:clamp(22px,2.3vw,28px);letter-spacing:-.03em;line-height:1.15;margin:0 0 6px}.tl-org{color:var(--muted)}.tl-summary{margin:0;color:var(--ink-2);max-width:64ch}.tl-entry details summary{list-style:none;cursor:pointer}.tl-entry details summary::-webkit-details-marker{display:none}.tl-more{display:inline-block;margin-top:8px;font-family:var(--mono);font-size:12px;color:var(--muted)}.tl-more:after{content:" +"}details[open] .tl-more:after{content:" −"}.tl-entry summary:hover .tl-more{color:var(--ink)}.tl-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;font-family:var(--mono);font-size:12px}.tl-entry.is-life h3{color:var(--ink);font-weight:400}.tl-entry.is-life .tl-summary{font-size:13px;color:var(--muted)}.tl-entry.is-life:before{border-color:var(--muted);border-style:dashed}.tl-details{margin:12px 0 0;padding-left:18px;color:var(--ink-2);font-size:15px;max-width:64ch}.tl-details li+li{margin-top:6px}.pa-rows{list-style:none;margin:0;padding:0}.pa-row{display:grid;grid-template-columns:64px minmax(0,1fr) 200px 150px;gap:24px;align-items:baseline;padding:24px 0;border-top:1px solid var(--rule)}.pa-row:last-child{border-bottom:1px solid var(--rule)}.pa-honor,.pa-links,.pa-stack,.pa-year{font-family:var(--mono);font-size:12px}.pa-year{color:var(--muted)}.pa-main h3{font-family:var(--display);font-weight:var(--display-weight);font-size:clamp(21px,2.2vw,26px);line-height:1.15;letter-spacing:-.025em;margin:0 0 8px}.pa-summary{margin:0;color:var(--ink-2);max-width:64ch}.pa-stack{margin:10px 0 0;color:var(--muted)}.pa-honor{color:var(--ink)}.pa-links{display:flex;flex-direction:column;gap:4px;margin:0}.hobby-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,36px);align-items:start}.board{position:relative;padding:clamp(20px,3vw,36px);border:1px solid var(--rule);border-radius:0;background-color:var(--paper-2);background-image:radial-gradient(color-mix(in srgb,var(--ink) 16%,transparent) 1px,transparent 1px);background-size:18px 18px}.board-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:22px;font-family:var(--mono);font-size:11px;color:var(--muted)}.board-meta button{font:inherit;color:var(--ink);background:none;border:0;padding:0;cursor:pointer}.board-meta button:hover{text-decoration:underline;text-underline-offset:3px}.hobby-card{position:relative;background:var(--card);padding:26px 22px 22px;box-shadow:var(--shadow);cursor:grab;touch-action:auto;transform:translate3d(var(--dx,0),var(--dy,0),0) rotate(var(--tilt));transition:transform .35s var(--ease),box-shadow .35s var(--ease);animation:rise .8s var(--ease) both;animation-delay:var(--delay)}.hobby-card:nth-child(3n+2){margin-top:28px}.hobby-card:hover{transform:translate3d(var(--dx,0),calc(var(--dy, 0px) - 4px),0) rotate(0deg);box-shadow:var(--shadow-lift)}.hobby-card[data-dragging]{cursor:grabbing;transform:translate3d(var(--dx,0),var(--dy,0),0) rotate(calc(var(--tilt) * 1.8)) scale(1.03);box-shadow:var(--shadow-lift);transition:box-shadow .35s var(--ease)}.hobby-card a,.hobby-card button,.hobby-card input{cursor:pointer}.hobby-card input{cursor:text}.hobby-card.is-playlist{grid-column:span 2}.pin{top:-7px;left:50%;z-index:2;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#9a9a9a,#1a1a1a 70%);box-shadow:0 3px 4px rgba(0,0,0,.35)}.pin,.pin:after{position:absolute}.pin:after{content:"";left:6px;top:12px;width:2px;height:6px;background:linear-gradient(#777,transparent)}.hobby-photo{margin:-8px -8px 18px;aspect-ratio:4/3;overflow:hidden;background:var(--paper-2)}.hobby-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .5s var(--ease)}.hobby-card:hover .hobby-photo img{filter:none}.hobby-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.hobby-stat{font-family:var(--mono);font-size:12px;color:var(--accent)}.hobby-icon{width:32px;height:32px;image-rendering:pixelated;filter:grayscale(1)}.hobby-card h2{font-family:var(--display);font-weight:var(--display-weight);font-size:30px;line-height:1.05;margin:0 0 8px}.hobby-card p{margin:0;color:var(--ink-2);font-size:15px}.hobby-links{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px;font-family:var(--mono);font-size:12px}.facts{margin-top:clamp(56px,7vw,88px);padding-top:32px;border-top:1px solid var(--rule)}.widget-hint{margin:8px 0 0;font-family:var(--mono);font-size:11px;color:var(--muted)}.tracks{list-style:none;margin:12px 0 0;padding:0;border-top:1px dashed var(--rule)}.track{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;-moz-column-gap:10px;column-gap:10px;width:100%;padding:9px 4px;text-align:left;font:inherit;color:var(--ink);background:none;border:0;border-bottom:1px dashed var(--rule);border-radius:0;transition:background .2s}.track.is-playing,.track:hover{background:var(--paper-2)}.track-num{grid-row:span 2;align-self:center;font-family:var(--mono);font-size:11px;color:var(--muted)}.track.is-playing .track-num{color:var(--ink)}.track-title{font-weight:500;font-size:15px;line-height:1.3}.track-artist{font-family:var(--mono);font-size:11px;color:var(--muted)}.track-embed{display:block;width:100%;margin-top:12px;border:0;border-radius:0;filter:grayscale(1)}.eq{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.eq i{width:3px;height:30%;background:var(--ink);opacity:.5}.eq[data-on] i{opacity:1;animation:eq .9s ease-in-out infinite alternate}.eq[data-on] i:nth-child(2){animation-delay:-.3s}.eq[data-on] i:nth-child(3){animation-delay:-.6s}.eq[data-on] i:nth-child(4){animation-delay:-.15s}@keyframes eq{0%{height:20%}to{height:100%}}.playlist h2{font-family:var(--display);font-weight:var(--display-weight);font-size:30px;line-height:1.05;margin:0}.lift-bars{margin-top:16px;font-family:var(--mono);font-size:12px}.lift-row{display:grid;grid-template-columns:64px 1fr 34px;align-items:center;gap:10px;padding:3px 0;color:var(--ink-2)}.lift-track{height:8px;background:var(--paper-2);border-radius:0;overflow:hidden}.lift-fill{height:100%;background:var(--accent);border-radius:0}.lift-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.lift-total{margin:10px 0 0;padding-top:8px;border-top:1px dashed var(--rule);color:var(--muted)}.lift-total strong{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}.piano{margin-top:16px;border-radius:0}.piano-keys{position:relative;display:flex;height:92px;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}.piano-white{flex:1;position:relative;border:1px solid var(--rule);border-radius:0;margin-right:-1px;background:#ffffff;cursor:pointer;transition:background .1s,transform .1s;transform-origin:top}.piano-white span{position:absolute;bottom:6px;left:0;right:0;font-family:var(--mono);font-size:9px;color:#9a9a9a}.piano-black{position:absolute;top:0;width:7%;height:58%;border:0;border-radius:0;background:#111111;cursor:pointer;z-index:1;transition:background .1s}.piano-white.is-down,.piano-white:active{background:#dcdcdc;transform:scaleY(.985)}.piano-black.is-down,.piano-black:active{background:#555555}.typing{margin-top:16px}.typing-target{margin:0 0 10px;font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--muted)}.typing-target .is-ok{color:var(--ink)}.typing-target .is-bad{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.typing-target .is-caret{box-shadow:inset 1.5px 0 0 var(--accent)}.typing-input{width:100%;font:inherit;font-family:var(--mono);font-size:13px;padding:8px 10px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:0}.typing-input:focus{outline:none;border-color:var(--ink)}.quiz-score,.typing-result{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;font-family:var(--mono);font-size:12px;color:var(--ink-2)}.quiz-score strong,.typing-result strong{color:var(--accent);font-weight:500}.quiz-score button,.typing-result button{font:inherit;color:var(--ink);background:none;border:0;padding:4px 0;cursor:pointer}.quiz-score button:hover,.typing-result button:hover{text-decoration:underline;text-underline-offset:3px}.reading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(24px,5vw,64px);align-items:center;margin-top:clamp(56px,7vw,88px);padding-top:32px;border-top:1px solid var(--rule)}.reading-copy h2{font-weight:400}.reading-copy p{margin:0;color:var(--ink-2);max-width:40ch}.shelf{display:flex;gap:18px;align-items:flex-end;padding:0 12px;border-bottom:8px solid var(--paper-2);box-shadow:0 10px 18px -12px rgba(0,0,0,.3)}.book{--cover:#1c1c1c;flex:1;max-width:200px;aspect-ratio:2/3;display:flex;flex-direction:column;padding:18px 16px;color:#f2f2f2;background:linear-gradient(90deg,rgba(0,0,0,.28) 0 6px,rgba(255,255,255,.08) 6px 8px,transparent 8px),var(--cover);border-radius:0;box-shadow:var(--shadow);cursor:default;transform:translateY(0) rotate(0deg);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.book:nth-child(2){transform:rotate(2deg)}.book.is-plum{--cover:#1c1c1c}.book.is-oxblood{--cover:#4a4a4a}.book:focus-visible,.book:hover{transform:translateY(-14px) rotate(-1.5deg);box-shadow:var(--shadow-lift)}.book-status{font-family:var(--mono);font-size:10px;letter-spacing:.08em;opacity:.7}.book h3{margin:auto 0 8px;font-family:var(--display);font-weight:var(--display-weight);font-size:clamp(22px,2.4vw,30px);line-height:1.02}.book p{margin:0;padding-top:8px;border-top:1px solid rgba(242,242,242,.3);font-size:12px;opacity:.85}.facts h2{font-weight:400}.quiz-list{list-style:none;counter-reset:fact;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quiz-item{counter-increment:fact;position:relative;padding:20px 20px 18px 56px;border:1px solid var(--rule);border-radius:0;background:color-mix(in srgb,var(--card) 55%,transparent);transition:background .3s,border-color .3s}.quiz-item:before{content:counter(fact,decimal-leading-zero);position:absolute;left:20px;top:24px;font-family:var(--mono);font-size:12px;color:var(--muted)}.quiz-item.is-revealed{background:var(--card)}.quiz-fact{margin:0 0 14px;font-family:var(--display);font-size:clamp(20px,2.1vw,25px);line-height:1.2}.quiz-blank{display:inline-block;min-width:2.2em;text-align:center;color:var(--accent);border-bottom:1px solid;line-height:1}.quiz-item.is-revealed .quiz-blank{min-width:0;border-bottom-color:transparent;animation:pop .45s var(--ease)}@keyframes pop{0%{transform:scale(1.5);opacity:0}}.quiz-options{display:flex;flex-wrap:wrap;gap:8px}.quiz-option{font-family:var(--mono);font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:0;padding:5px 14px;cursor:pointer;transition:border-color .2s,background .2s,color .2s,opacity .2s,transform .2s var(--ease)}.quiz-option:not(:disabled):hover{border-color:var(--ink);transform:translateY(-1px)}.quiz-option:disabled{cursor:default}.quiz-option.is-answer{background:var(--ink);border-color:var(--ink);color:var(--paper)}.quiz-option.is-wrong{color:var(--muted);border-color:var(--muted);text-decoration:line-through}.quiz-option.is-dim{opacity:.4}.age-dock{position:fixed;left:50%;bottom:14px;z-index:60;display:flex;align-items:center;gap:12px;padding:8px 16px;transform:translateX(-50%);border:1px solid var(--rule);border-radius:0;background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);box-shadow:var(--shadow);font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.age-dock-bar{letter-spacing:-.06em;color:var(--ink-2)}html[data-intro=play] .age-dock{display:none}@media (max-width:520px){.age-dock{gap:8px;padding:7px 12px;font-size:11px}.age-dock-bar{display:none}}.site-footer{border-top:1px solid var(--rule);padding:40px 0 88px}.site-footer-quote{margin:0 0 24px;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px}.site-footer-quote blockquote{margin:0;font-family:var(--mono);letter-spacing:-.02em;font-weight:var(--display-weight);font-size:clamp(22px,2.6vw,30px);line-height:1.2}.site-footer-quote figcaption,.site-footer-row{font-family:var(--mono);font-size:12px;color:var(--muted)}.site-footer-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px}.site-footer-row nav{display:flex;flex-wrap:wrap;gap:18px}.site-footer-row a{text-decoration:none}@media (max-width:900px){.hero{grid-template-columns:1fr}.collage{max-width:560px;width:100%;margin:0 auto}.index-row{grid-template-columns:36px minmax(0,1fr) 24px;row-gap:6px}.index-meta,.index-preview{grid-column:2}.index-arrow{grid-column:3;grid-row:1}.hobby-board{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-row{grid-template-columns:48px minmax(0,1fr);row-gap:10px}.pa-honor,.pa-links{grid-column:2}.pa-links{flex-direction:row;flex-wrap:wrap;gap:4px 16px}.hobby-card:nth-child(3n+2){margin-top:0}.hobby-card:nth-child(2n){margin-top:24px}}@media (max-width:640px){.site-mark{white-space:nowrap}.site-nav nav{gap:10px}.site-nav nav a{font-size:12px}.site-nav nav a:after,.site-nav nav a:before{content:none}.hero-interests{grid-template-columns:1fr}.hero-interests dd+dt{margin-top:6px}.now-row{grid-template-columns:32px minmax(0,1fr);gap:14px}.tl-year{grid-template-columns:1fr;gap:0}.tl-year-label{position:static;padding:24px 0 4px}.tl-entries{margin-left:5px;padding-left:22px}.tl-entry:before{left:-27px}.hobby-board,.quiz-list,.reading{grid-template-columns:1fr}.hobby-card:nth-child(2n){margin-top:0}.hobby-card.is-playlist{grid-column:auto}.hobby-card.is-playlist .track-embed{width:calc(100% + 44px);margin-left:-22px}.piece.has-tape:before{height:14px;top:-6px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}html{scroll-behavior:auto}}@media (hover:none){.collage-hint{display:none}}