@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-wght-normal.C6vrW8VD.woff2) format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2) format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{--paper: oklch(95.5% .018 158);--paper-deep: oklch(91.5% .027 158);--paper-light: oklch(98% .01 158);--ink: oklch(24% .03 167);--ink-soft: oklch(42% .025 163);--line: oklch(77% .035 158);--turquoise: oklch(51% .12 174);--turquoise-dark: oklch(39% .1 174);--moss: oklch(55% .1 132);--blue: oklch(58% .13 232);--plum: oklch(53% .12 326);--honey: oklch(75% .13 82);--font-display: "Bricolage Grotesque Variable", sans-serif;--font-body: "Atkinson Hyperlegible Next Variable", sans-serif;--text-xs: .78rem;--text-sm: .9rem;--text-body: 1.05rem;--text-lg: clamp(1.32rem, 1.2rem + .5vw, 1.65rem);--text-xl: clamp(2.25rem, 1.65rem + 2.5vw, 4.6rem);--text-hero: clamp(3.75rem, 2.5rem + 6vw, 8.75rem);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--radius-sm: .45rem;--radius-md: .85rem;--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-kerning:normal}body{min-width:20rem;margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background-color:var(--paper);background-image:linear-gradient(oklch(28% .03 165 / .025) 1px,transparent 1px);background-size:100% 24px;font-size:var(--text-body);line-height:1.5}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}button,input,textarea{font:inherit}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.skip-link{position:fixed;z-index:20;top:var(--space-md);left:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--ink);color:var(--paper-light);transform:translateY(-180%);transition:transform .18s var(--ease-out)}.skip-link:focus{transform:translateY(0)}.page-shell,.site-header,.site-footer{width:min(100% - 2rem,76rem);margin-inline:auto}.site-header{min-height:5.5rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);border-bottom:1px solid var(--line)}.site-mark{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:var(--text-sm);text-decoration:none;line-height:1}.site-mark strong{display:block;font-weight:700}.site-header nav{display:none;align-items:center;gap:clamp(.7rem,1.6vw,var(--space-xl));font-size:var(--text-sm)}.site-header nav a{position:relative;min-height:2.75rem;display:inline-flex;align-items:center;text-decoration:none}.site-header nav a:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:.4rem;background:var(--turquoise);transform:scaleX(0) rotate(-1deg);transition:transform .22s var(--ease-out)}.site-header nav a:hover:after,.site-header nav a[aria-current=page]:after{transform:scaleX(1) rotate(-1deg)}.contact-button,.button-primary{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:.65rem 1rem;border:1.5px solid var(--ink);border-radius:50%;background:var(--turquoise);color:var(--paper-light);font-family:var(--font-display);font-weight:650;text-decoration:none;transform:rotate(1deg);transition:transform .22s var(--ease-out),background-color .12s linear}.contact-button:hover,.button-primary:hover{transform:rotate(-1deg) translateY(-2px);background:var(--turquoise-dark)}.hero{min-height:calc(100vh - 5.5rem);min-height:calc(100svh - 5.5rem);display:grid;align-items:center;gap:var(--space-3xl);padding-block:var(--space-3xl)}.hero-copy{display:grid;justify-items:start;gap:var(--space-lg)}.eyebrow{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--turquoise-dark)}.hero h1,.page-intro h1{font-family:var(--font-display);font-size:var(--text-hero);line-height:.82;letter-spacing:-.07em;font-weight:650}.hero h1.hero-topic-title{max-width:15ch;font-size:clamp(2.75rem,1.9rem + 3.4vw,4.9rem);line-height:.94;letter-spacing:-.045em}.hero h1 em{position:relative;color:var(--turquoise);font-style:normal}.hero h1 em a{color:inherit;text-decoration:none}.hero h1 em:after{content:"";position:absolute;left:-.02em;right:-.03em;bottom:-.03em;height:.09em;border-radius:50%;background:var(--turquoise);transform:rotate(-2deg)}.hero-lede{max-width:38rem;font-size:var(--text-lg);line-height:1.45;color:var(--ink-soft)}.hero-lede mark{padding:0 .16em;color:var(--ink);background:var(--honey);box-decoration-break:clone}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-lg)}.button-primary{border-radius:.2rem 1.2rem .3rem 1.4rem;transform:rotate(-1deg)}.text-link{min-height:2.75rem;display:inline-flex;align-items:center;font-weight:650;text-decoration-color:var(--turquoise)}.hero-orbit{position:relative;min-height:25rem;isolation:isolate}.orbit-path{position:absolute;inset:14% 8%;border:1.5px solid var(--line);border-radius:48% 52% 44% 56%;transform:rotate(-10deg)}.orbit-two{inset:2% 20% 8% 18%;border-color:color-mix(in oklch,var(--turquoise) 55%,var(--paper));transform:rotate(28deg);border-radius:52% 48% 57% 43%}.orbit-core{position:absolute;left:50%;top:50%;display:grid;place-content:center;width:8rem;aspect-ratio:1;padding:var(--space-md);border-radius:45% 55% 50% 50%;background:var(--ink);color:var(--paper);text-align:center;font-family:var(--font-display);font-size:1.1rem;line-height:1.05;transform:translate(-50%,-50%) rotate(4deg)}.orbit-core strong{color:var(--honey)}.orbit-topic{position:absolute;display:grid;place-content:center;min-width:5.3rem;min-height:4.6rem;padding:var(--space-sm);text-align:center;font-family:var(--font-display);font-weight:650;font-size:var(--text-sm);line-height:1.05}.topic-atproto{top:0;right:18%;border:1.5px solid var(--blue);border-radius:50%;color:var(--blue);transform:rotate(6deg)}.topic-sovereignty{top:30%;left:0;color:var(--moss);border:1.5px solid var(--moss);border-radius:36% 64% 43% 57%;transform:rotate(-8deg)}.topic-language{right:0;bottom:17%;color:var(--plum);transform:rotate(4deg)}.topic-language:before{content:"";position:absolute;inset:-5% -8%;z-index:-1;background:color-mix(in oklch,var(--plum) 17%,var(--paper));border-radius:42% 58% 34% 66%}.topic-language small{font-family:var(--font-body);font-size:.68rem;font-weight:500}.topic-padel{left:18%;bottom:2%;color:var(--turquoise-dark);border-bottom:1.5px solid var(--turquoise);transform:rotate(3deg)}.orbit-doodle{position:absolute;right:20%;top:25%;font-size:2.5rem;color:var(--turquoise);transform:rotate(55deg)}.hero-portrait{position:relative;min-height:30rem;display:grid;place-items:center;align-content:center}.portrait-frame{position:relative;width:min(82%,25rem);aspect-ratio:.84;padding:.55rem;background:var(--paper-light);border:1px solid var(--ink);transform:rotate(2.2deg);box-shadow:.55rem .7rem color-mix(in oklch,var(--turquoise) 78%,var(--paper))}.portrait-frame:after{content:"";position:absolute;inset:.55rem;border:1px solid color-mix(in oklch,var(--paper) 60%,transparent);pointer-events:none}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.78) contrast(1.03)}.intro-strip{padding-block:var(--space-4xl);background:var(--ink);color:var(--paper)}.intro-grid{display:grid;gap:var(--space-2xl)}.intro-big{max-width:18ch;font-family:var(--font-display);font-size:var(--text-xl);font-weight:560;line-height:.98;letter-spacing:-.04em}.intro-note{position:relative;display:grid;align-content:end;gap:var(--space-md);color:#dfd7c5}.intro-note p{max-width:35rem;font-size:var(--text-lg)}.intro-note a{color:var(--honey)}.hand-arrow{position:absolute;top:-2.5rem;left:-1.5rem;color:var(--turquoise);font-size:2.5rem;transform:rotate(16deg)}.activity-section,.recent-signal,.writing-section{padding-block:var(--space-4xl)}.section-heading{display:flex;flex-direction:column;gap:var(--space-lg);padding-bottom:var(--space-xl)}.section-heading>div{display:grid;gap:var(--space-xs)}.section-heading h2,.reading-intro h2{font-family:var(--font-display);font-size:var(--text-xl);line-height:.95;letter-spacing:-.045em}.section-note{color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.activity-key{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);padding-bottom:var(--space-md);font-size:var(--text-xs);color:var(--ink-soft)}.activity-key button{min-height:2.75rem;display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .15rem;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:inherit;cursor:pointer;transition:color .12s linear,border-color .12s linear,opacity .12s linear,transform .18s var(--ease-out)}.activity-key button:hover{color:var(--ink);transform:translateY(-1px)}.activity-key button:active{transform:translateY(1px)}.activity-key button[aria-pressed=true]{border-bottom-color:var(--app-color);color:var(--ink);font-weight:650;transform:rotate(-.6deg)}.activity-key:has(button[aria-pressed=true]) button[aria-pressed=false]{opacity:.42}.activity-key i{width:.7rem;aspect-ratio:1;display:inline-block;border-radius:.18rem;background:var(--app-color)}.activity-scroll{overflow-x:auto;padding:var(--space-md) 0 var(--space-sm);scrollbar-color:var(--line) transparent}.calendar-shell{position:relative;min-width:56rem;padding-left:2.7rem}.month-row{display:grid;grid-template-columns:repeat(53,1fr);min-height:1.5rem;font-size:var(--text-xs);color:var(--ink-soft)}.month-row span{white-space:nowrap}.weekday-row{position:absolute;top:2.2rem;left:0;display:grid;grid-template-rows:repeat(3,1fr);height:4.9rem;align-items:center;font-size:.7rem;color:var(--ink-soft)}.activity-grid{display:grid;grid-template:repeat(7,.78rem) / repeat(53,1fr);grid-auto-flow:column;gap:.22rem}.activity-day{display:block;border:1px solid color-mix(in oklch,var(--line) 55%,var(--paper));border-radius:.17rem;background:var(--day-color, color-mix(in oklch, var(--line) 25%, var(--paper)));transition:background-color .16s linear,opacity .16s linear,transform .16s var(--ease-out)}.activity-day.level-0{opacity:1;transform:none}.activity-day.level-1{opacity:.58}.activity-day.level-2{opacity:.78}.activity-day.level-3,.activity-day.level-4{opacity:1;transform:scale(1.03)}.activity-day.is-future{opacity:.18}.recent-signal{border-top:1px solid var(--line)}.compact-heading{padding-bottom:var(--space-lg)}.signal-list{border-top:1px solid var(--line)}.signal-row{min-height:4.4rem;display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto auto;align-items:center;gap:var(--space-md);padding-block:var(--space-sm);border-bottom:1px solid var(--line);text-decoration:none;transition:transform .22s var(--ease-out),color .12s linear}.signal-row:hover{color:var(--turquoise-dark);transform:translate(.3rem)}.signal-source{display:grid;place-items:center;width:2rem;aspect-ratio:1;border-radius:50%;background:var(--ink);color:var(--paper);font-family:var(--font-display);font-weight:700}.source-bluesky{background:var(--blue)}.source-leaflet{background:var(--turquoise)}.source-bookhive{background:var(--honey);color:var(--ink)}.source-kosakata{background:var(--moss)}.signal-copy{min-width:0;display:grid;gap:.1rem}.signal-copy strong,.signal-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signal-copy small,.signal-row time{color:var(--ink-soft);font-size:var(--text-xs);font-weight:450;font-variant-numeric:tabular-nums}.writing-section{border-top:1px solid var(--line)}.writing-list{display:grid;border-top:1px solid var(--ink)}.writing-item{position:relative;display:grid;gap:var(--space-md);padding-block:var(--space-xl);border-bottom:1px solid var(--line);animation:settle .6s var(--ease-out) both;animation-delay:calc(var(--i) * 45ms)}.writing-meta{display:flex;gap:var(--space-sm);color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.writing-meta span:before{content:"·";padding-right:var(--space-sm)}.writing-copy{display:grid;gap:var(--space-sm);max-width:50rem}.writing-copy h3{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.12}.writing-copy h3 a{text-decoration:none}.writing-copy p{max-width:62ch;color:var(--ink-soft)}.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag-row span{padding:.15rem .5rem;border:1px solid var(--line);border-radius:1rem;font-size:var(--text-xs)}.writing-arrow{position:absolute;right:0;top:var(--space-xl);width:2.5rem;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;text-decoration:none;transition:transform .22s var(--ease-out),background-color .12s linear}.writing-item:hover .writing-arrow{background:var(--turquoise);color:var(--paper-light);border-color:var(--turquoise);transform:rotate(12deg)}.reading-section{overflow:hidden;padding-block:var(--space-4xl);background:var(--paper-deep);border-block:1px solid var(--line)}.reading-grid{display:grid;gap:var(--space-3xl)}.reading-intro{display:grid;align-content:center;justify-items:start;gap:var(--space-lg)}.reading-intro p:not(.eyebrow){max-width:34rem;color:var(--ink-soft)}.bookshelf{display:flex;align-items:end;gap:var(--space-md);min-height:20rem;padding:var(--space-lg) var(--space-md) 1rem;border-bottom:.8rem solid var(--ink);overflow-x:auto}.book{flex:0 0 8.5rem;display:grid;gap:var(--space-sm);text-decoration:none;transform:rotate(calc((var(--book-index) - 2) * .7deg));transform-origin:bottom center;transition:transform .26s var(--ease-out)}.book:hover{transform:rotate(0) translateY(-.7rem)}.book-cover{min-height:12.75rem;display:grid;place-items:center;overflow:hidden;background:var(--turquoise);box-shadow:3px 4px color-mix(in oklch,var(--ink) 80%,var(--paper))}.book-cover img{width:100%;height:100%;object-fit:cover}.book-fallback{padding:var(--space-md);font-family:var(--font-display);font-weight:700}.book-info{display:grid;line-height:1.15}.book-info strong{display:-webkit-box;height:3.45em;overflow:hidden;font-family:var(--font-display);font-size:var(--text-sm);line-height:1.15;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.book-info span,.book-info small{color:var(--ink-soft);font-size:.68rem}.book-info small{color:var(--turquoise-dark)}.book-info .book-reading-status{padding-bottom:var(--space-2xs);color:var(--ink-soft);font-family:var(--font-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.book-info .book-reading-status.is-reading{color:var(--turquoise-dark)}.site-footer{display:grid;gap:var(--space-xl);padding-block:var(--space-2xl);border-top:1px solid var(--ink);font-size:var(--text-sm)}.site-footer>div:first-child{display:flex;align-items:center;gap:var(--space-md)}.footer-scribble{color:var(--turquoise);font-size:2.5rem}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.footer-small{color:var(--ink-soft)}.page-intro{display:grid;gap:var(--space-lg);padding-block:var(--space-4xl);border-bottom:1px solid var(--line)}.page-intro h1{font-size:var(--text-hero)}.page-intro>p:last-child{max-width:46rem;font-size:var(--text-lg);color:var(--ink-soft)}.writing-archive{padding-block:var(--space-3xl) var(--space-4xl)}.article-shell{padding-bottom:var(--space-4xl)}.article-header{display:grid;gap:var(--space-lg);padding-block:var(--space-3xl);border-bottom:1px solid var(--line)}.article-kicker{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-md);font-size:var(--text-sm);color:var(--ink-soft)}.article-kicker a{color:var(--turquoise-dark);font-weight:650}.article-header h1{max-width:18ch;font-family:var(--font-display);font-size:clamp(2.8rem,1.8rem + 4vw,6rem);line-height:.93;letter-spacing:-.055em}.article-dek{max-width:50rem;color:var(--ink-soft);font-size:var(--text-lg);line-height:1.4}.article-byline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding-top:var(--space-md)}.article-byline img{width:3.25rem;aspect-ratio:1;object-fit:cover;border-radius:48% 52% 45% 55%}.article-byline>div{display:grid;line-height:1.2}.article-byline time{color:var(--ink-soft);font-size:var(--text-xs)}.article-byline>a{margin-inline-start:auto;color:var(--turquoise-dark);font-size:var(--text-sm)}.article-content{display:grid;grid-template-columns:minmax(0,43rem);justify-content:center;padding-block:var(--space-3xl)}.article-empty{display:grid;justify-items:start;gap:var(--space-sm);padding-block:var(--space-2xl)}.article-empty>span{color:var(--turquoise);font-size:3rem}.article-empty h2{font-family:var(--font-display);font-size:var(--text-lg)}.article-empty p{color:var(--ink-soft)}.article-empty a{color:var(--turquoise-dark)}.leaflet-body{display:grid;gap:var(--space-lg);font-size:1.14rem;line-height:1.72}.leaflet-body p,.leaflet-body li{max-width:68ch}.leaflet-body a{color:var(--turquoise-dark)}.leaflet-body p code,.leaflet-body li code{padding:.08em .28em;border:1px solid var(--line);border-radius:.2rem;background:var(--paper-deep);font-size:.88em}.leaflet-body ul{display:grid;gap:var(--space-xs);padding-inline-start:var(--space-lg)}.leaflet-body li::marker{color:var(--turquoise)}.leaflet-body li ul{padding-top:var(--space-xs)}.code-block{max-width:100%;margin:var(--space-md) 0;overflow:hidden;border:1px solid var(--ink);background:var(--ink);color:var(--paper)}.code-block figcaption{padding:.45rem var(--space-md);border-bottom:1px solid oklch(90% .02 85 / .25);color:var(--honey);font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.code-block pre{max-width:100%;margin:0;padding:var(--space-lg);overflow-x:auto;font-size:.84rem;line-height:1.6;tab-size:2}.article-image{margin:var(--space-md) min(-4vw,-2rem)}.article-image img{width:100%;height:auto;border:1px solid var(--line)}.bsky-embed{display:flex;gap:var(--space-md);align-items:center;padding:var(--space-lg);border:1px solid var(--blue);border-radius:var(--radius-md);background:color-mix(in oklch,var(--blue) 10%,var(--paper))}.bsky-embed>span{font-size:2rem}.bsky-embed>div{display:grid}.bsky-embed a{font-size:var(--text-sm)}.article-footer{display:grid;gap:var(--space-xl);padding-block:var(--space-2xl);border-top:1px solid var(--ink)}.article-footer>p{color:var(--ink-soft)}.article-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl)}.article-footer nav a{display:grid;gap:var(--space-xs);text-decoration:none}.article-footer nav a:last-child{text-align:right}.article-footer nav small{color:var(--turquoise-dark);text-transform:uppercase;letter-spacing:.08em}.work-hero{display:grid;gap:var(--space-2xl);padding-block:var(--space-4xl);border-bottom:1px solid var(--ink)}.work-hero>div:first-child{display:grid;gap:var(--space-md)}.work-hero h1,.books-hero h1{font-family:var(--font-display);font-size:var(--text-hero);line-height:.82;letter-spacing:-.07em}.work-summary{display:flex;align-items:center;gap:var(--space-lg)}.work-summary img{flex:0 0 7.5rem;width:7.5rem;height:7.5rem;object-fit:cover;border-radius:50%;border:1px solid var(--ink)}.work-summary>div{display:grid;gap:.15rem}.work-summary strong{font-family:var(--font-display);font-size:var(--text-lg)}.work-summary span{color:var(--ink-soft)}.work-summary a{padding-top:var(--space-sm);color:var(--turquoise-dark);font-size:var(--text-sm)}.work-section{display:grid;gap:var(--space-2xl);padding-block:var(--space-4xl)}.work-section>header,.work-secondary section>.eyebrow,.skill-section>div{display:grid;gap:var(--space-xs)}.work-section h2,.work-secondary h2,.skill-section h2{font-family:var(--font-display);font-size:var(--text-xl);line-height:.95;letter-spacing:-.045em}.timeline{border-top:1px solid var(--ink)}.timeline-item{position:relative;display:grid;gap:var(--space-md);padding-block:var(--space-xl);border-bottom:1px solid var(--line)}.timeline-item.is-current:after{content:"now";position:absolute;top:var(--space-xl);right:0;padding:.2rem .55rem;border-radius:50%;background:var(--moss);color:var(--paper-light);font-size:var(--text-xs);font-weight:700;transform:rotate(5deg)}.timeline-date{display:flex;gap:var(--space-xs);color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.timeline-item>div:last-child{position:relative;display:grid;gap:var(--space-xs);padding-right:3.3rem}.timeline-item h3{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.1}.timeline-item a{justify-self:start;color:var(--ink-soft)}.timeline-item p{max-width:55ch;color:var(--ink-soft)}.work-secondary{padding-block:var(--space-4xl);background:var(--ink);color:var(--paper)}.work-columns{display:grid;gap:var(--space-3xl)}.work-columns>section,.work-side-column>section{display:grid;align-content:start;gap:var(--space-lg)}.work-side-column{display:grid;align-content:start;gap:var(--space-3xl)}.education-list{display:grid}.education-list article{display:grid;gap:.25rem;padding-block:var(--space-lg);border-bottom:1px solid oklch(90% .02 85 / .22)}.education-list time,.language-list span,.project-list span{color:#beb7a6;font-size:var(--text-xs)}.education-list h3{font-family:var(--font-display);font-size:var(--text-lg)}.education-list p{padding-top:var(--space-sm);color:#d8d0bf}.language-list{display:grid;border-top:1px solid oklch(90% .02 85 / .22)}.language-list p{display:flex;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-md);border-bottom:1px solid oklch(90% .02 85 / .22)}.project-list{display:grid;border-top:1px solid oklch(90% .02 85 / .22)}.project-list a{display:flex;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-md);border-bottom:1px solid oklch(90% .02 85 / .22);color:var(--paper);text-decoration:none}.skill-section{display:grid;gap:var(--space-2xl);padding-block:var(--space-4xl)}.skill-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));column-gap:var(--space-xl);list-style:none;border-top:1px solid var(--ink)}.skill-list li{position:relative;min-width:0;padding:var(--space-md) var(--space-lg) var(--space-md) 1rem;border-bottom:1px solid var(--line);line-height:1.25}.skill-list li:before{content:"";position:absolute;top:1.22rem;left:0;width:.35rem;height:.35rem;border-radius:50%;background:var(--turquoise)}.talks-hero{display:grid;gap:var(--space-3xl);align-items:center;padding-block:var(--space-4xl);border-bottom:1px solid var(--ink)}.talks-intro{display:grid;justify-items:start;gap:var(--space-lg)}.talks-intro h1{font-family:var(--font-display);font-size:var(--text-hero);line-height:.82;letter-spacing:-.07em}.talks-intro>p:not(.eyebrow){max-width:38rem;color:var(--ink-soft);font-size:var(--text-lg)}.talk-photo{position:relative;margin:0;padding:.45rem;background:var(--paper-light);border:1px solid var(--ink);box-shadow:.55rem .65rem color-mix(in oklch,var(--turquoise) 78%,var(--paper));transform:rotate(1.5deg)}.talk-photo img{width:100%;aspect-ratio:3 / 2;object-fit:cover;filter:saturate(.82) contrast(1.03)}.talk-photo figcaption{padding:var(--space-sm) var(--space-xs) var(--space-2xs);color:var(--ink-soft);font-size:var(--text-xs)}.upcoming-talks{padding-block:var(--space-4xl);background:var(--ink);color:var(--paper)}.talk-section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-xl);padding-bottom:var(--space-2xl)}.talk-section-heading>div{display:grid;gap:var(--space-xs)}.talk-section-heading h2{font-family:var(--font-display);font-size:var(--text-xl);line-height:.95;letter-spacing:-.045em}.talk-stamp{padding:.55rem .8rem;border:1.5px solid var(--turquoise);border-radius:50%;color:var(--honey);font-family:var(--font-display);font-size:var(--text-sm);transform:rotate(4deg)}.upcoming-talk{display:grid;gap:var(--space-lg);align-items:start;padding-block:var(--space-xl);border-block:1px solid oklch(90% .02 85 / .28)}.upcoming-talk time{color:var(--honey);font-variant-numeric:tabular-nums}.upcoming-talk>div{display:grid;gap:var(--space-sm)}.upcoming-talk>div>p:first-child{color:#cdc3af}.upcoming-talk h3{max-width:18ch;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.08}.upcoming-talk>div>p:last-child{max-width:50ch;color:#cdc3af}.upcoming-talk>a{justify-self:start;color:var(--honey);font-weight:650}.past-talks{padding-block:var(--space-4xl)}.talk-list{border-top:1px solid var(--ink)}.talk-entry{display:grid;gap:var(--space-lg);padding-block:var(--space-2xl);border-bottom:1px solid var(--line)}.talk-date{display:flex;justify-content:space-between;gap:var(--space-md);color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.talk-copy{display:grid;gap:var(--space-xs)}.talk-copy>p:first-child{color:var(--turquoise-dark);font-size:var(--text-sm);font-weight:650}.talk-copy h3{max-width:28ch;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.1}.talk-copy>p:not(:first-child){max-width:60ch;padding-top:var(--space-sm);color:var(--ink-soft)}.talk-meta{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding-top:var(--space-sm)}.talk-meta span{padding:.15rem .5rem;border:1px solid var(--line);border-radius:1rem;color:var(--ink-soft);font-size:var(--text-xs)}.talk-watch{justify-self:start;font-weight:650;text-decoration-color:var(--turquoise)}.language-hero{display:grid;gap:var(--space-3xl);padding-block:var(--space-4xl);border-bottom:1px solid var(--ink)}.language-hero>div:first-child{display:grid;justify-items:start;gap:var(--space-lg)}.language-hero h1{font-family:var(--font-display);font-size:var(--text-hero);line-height:.82;letter-spacing:-.07em}.language-hero>div:first-child>p:not(.eyebrow){max-width:42rem;color:var(--ink-soft);font-size:var(--text-lg)}.tracked-deck-link{text-decoration-color:var(--turquoise)}.kosakata-cta{display:grid;justify-items:start;gap:var(--space-xs)}.kosakata-cta small{max-width:28rem;color:var(--ink-soft)}.language-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl) var(--space-lg);margin:0}.language-stats div{min-width:0;display:flex;flex-direction:column-reverse;gap:var(--space-xs);padding-top:var(--space-md);border-top:1px solid var(--line)}.language-stats dt{color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap}.language-stats dd{margin:0;font-family:var(--font-display);font-size:clamp(2.75rem,4.2vw,4.25rem);font-variant-numeric:tabular-nums;font-weight:560;line-height:.9;letter-spacing:-.04em;white-space:nowrap}.language-stats .date-stat dd{align-content:end;min-height:3.825rem;font-size:clamp(1.45rem,2.15vw,2.15rem);line-height:1;letter-spacing:-.025em}.language-rhythm{border-bottom:1px solid var(--line)}.language-notebooks{padding-block:var(--space-4xl);background:var(--ink);color:var(--paper)}.language-section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-lg);padding-bottom:var(--space-2xl)}.language-section-heading>div{display:grid;gap:var(--space-xs)}.language-section-heading h2{font-family:var(--font-display);font-size:var(--text-xl);line-height:.95;letter-spacing:-.045em}.language-section-heading>p{color:var(--ink-soft);font-size:var(--text-sm)}.language-notebooks .language-section-heading>p{color:#beb7a6}.notebook-list{border-top:1px solid oklch(90% .02 85 / .35)}.notebook{display:grid;gap:var(--space-md);padding-block:var(--space-xl);border-bottom:1px solid oklch(90% .02 85 / .22)}.notebook>div{display:grid;gap:.2rem}.notebook>div p{color:#beb7a6;font-size:var(--text-xs)}.notebook h3{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.1}.notebook h3 a{color:inherit;text-decoration-color:var(--honey)}.notebook dl{display:flex;gap:var(--space-lg);margin:0}.notebook dl div{display:flex;align-items:baseline;gap:var(--space-xs)}.notebook dt{color:#beb7a6;font-size:var(--text-xs)}.notebook dd{margin:0;color:var(--honey);font-family:var(--font-display)}.word-desk{padding-block:var(--space-4xl)}.word-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-lg)}.word-card{min-height:15rem;display:grid;grid-template-rows:1fr auto;background:var(--paper-light);border:1px solid var(--line);box-shadow:.25rem .35rem 0 var(--paper-deep);transform:rotate(var(--word-tilt))}.word-front{display:grid;align-content:center;justify-items:center;gap:var(--space-sm);padding:var(--space-xl);text-align:center}.word-front span{color:var(--turquoise-dark);font-size:var(--text-xs)}.word-front strong{font-family:var(--font-display);font-size:clamp(2rem,1.5rem + 2vw,3.5rem);line-height:1}.word-front small{color:var(--ink-soft)}.word-answer{display:grid;gap:.2rem;padding:var(--space-md);border-top:1px dashed var(--line)}.word-answer p{font-weight:650}.word-answer span{color:var(--ink-soft);font-size:var(--text-xs)}.language-source{max-width:60rem;padding-top:var(--space-2xl);color:var(--ink-soft);font-size:var(--text-sm)}.language-source code{color:var(--turquoise-dark);font-size:.88em}.contact-page{min-height:calc(100svh - 5.5rem);display:grid;align-content:center;gap:var(--space-4xl);padding-block:var(--space-4xl)}.contact-intro{display:grid;gap:var(--space-xl)}.contact-intro h1{font-family:var(--font-display);font-size:var(--text-hero);line-height:.82;letter-spacing:-.07em}.contact-intro p{max-width:34rem;color:var(--ink-soft);font-size:var(--text-lg)}.contact-details{display:grid;align-content:end;gap:var(--space-xl)}.contact-details h2{font-family:var(--font-display);font-size:var(--text-xl);line-height:.95;letter-spacing:-.045em}.contact-methods{border-top:1px solid var(--ink)}.contact-method{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xs) var(--space-md);align-items:baseline;padding-block:var(--space-lg);border-bottom:1px solid var(--line);text-decoration:none;transition:color .14s linear,transform .22s var(--ease-out)}.contact-method:hover{color:var(--turquoise-dark);transform:translate(.3rem)}.contact-method>span:first-child{grid-column:1;color:var(--ink-soft);font-size:var(--text-xs)}.contact-method strong{grid-column:1;min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.1}.contact-method small{grid-column:1;color:var(--ink-soft)}.contact-method>span:last-child{grid-column:2;grid-row:1 / span 3;align-self:center;font-size:1.35rem}.books-hero{display:grid;gap:var(--space-2xl);padding-block:var(--space-4xl);border-bottom:1px solid var(--ink)}.books-hero>div:first-child{display:grid;gap:var(--space-lg)}.books-hero>div:first-child>p:last-child{max-width:42rem;color:var(--ink-soft);font-size:var(--text-lg)}.book-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin:0}.book-stats div{display:flex;flex-direction:column-reverse;gap:.1rem;padding-top:var(--space-md);border-top:1px solid var(--line)}.book-stats dt{color:var(--ink-soft);font-size:var(--text-xs)}.book-stats dd{margin:0;font-family:var(--font-display);font-size:var(--text-xl);line-height:1}.full-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl) var(--space-md);padding-block:var(--space-4xl)}.full-library.is-single .library-book{grid-column:1 / -1;width:calc((100% - var(--space-md)) / 2);justify-self:center}.library-book{display:grid;align-content:start;gap:var(--space-md);transform:rotate(calc((var(--book-i) - 3) * .18deg))}.library-cover{aspect-ratio:2 / 3;display:grid;place-items:center;overflow:hidden;background:var(--paper-deep);border:1px solid var(--line);box-shadow:.25rem .35rem color-mix(in oklch,var(--ink) 65%,var(--paper));text-decoration:none;transition:transform .24s var(--ease-out)}.library-cover:hover{transform:translateY(-.4rem) rotate(-1deg)}.library-cover img{width:100%;height:100%;object-fit:cover}.library-cover>span{padding:var(--space-md);font-family:var(--font-display);font-weight:700;text-align:center}.library-book>div{display:grid;gap:.15rem}.library-book h3{font-family:var(--font-display);font-size:1rem;line-height:1.15}.library-book h3 a{text-decoration:none}.library-book p{color:var(--ink-soft);font-size:var(--text-xs)}.book-status{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding-top:.2rem}.book-status span{color:var(--turquoise-dark);font-size:.68rem}.books-source{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-xl) var(--space-4xl);border-top:1px solid var(--ink)}.books-source p{color:var(--ink-soft)}.book-group-nav{display:flex;gap:var(--space-lg);padding-block:var(--space-xl);overflow-x:auto}.book-group-nav a{flex:0 0 auto;min-height:2.75rem;display:inline-flex;align-items:center;gap:var(--space-xs);padding-block:.45rem;border-bottom:1px solid transparent;text-decoration:none}.book-group-nav a:hover,.book-group-nav a:focus-visible{border-bottom-color:currentColor}.book-group-nav a:first-child{border-bottom-color:var(--turquoise);color:var(--turquoise-dark)}.book-group-nav small{color:var(--ink-soft)}.book-group{scroll-margin-top:var(--space-xl);border-top:1px solid var(--line)}.book-group-tinted{background:color-mix(in oklch,var(--paper-deep) 55%,var(--paper))}.book-group-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-lg);padding-top:var(--space-3xl)}.book-group-heading>div{display:flex;align-items:baseline;gap:var(--space-md)}.book-group-heading h2{font-family:var(--font-display);font-size:var(--text-xl);line-height:.95;letter-spacing:-.045em}.book-group-heading>p{color:var(--ink-soft);font-size:var(--text-sm)}.book-group .full-library{padding-top:var(--space-2xl)}.empty-book-group{display:flex;align-items:center;gap:var(--space-md);padding-block:var(--space-2xl) var(--space-4xl);color:var(--ink-soft)}.empty-book-group span{color:var(--turquoise);font-size:2rem}.uses-list{display:grid;gap:var(--space-2xl);padding-block:var(--space-3xl) var(--space-4xl)}.uses-group{display:grid;gap:var(--space-sm)}.uses-group h2{font-family:var(--font-display);font-size:var(--text-lg)}.uses-group ul{display:grid;gap:var(--space-xs);margin:0;padding-inline-start:1.25rem}.uses-group li{padding-inline-start:var(--space-2xs)}.uses-group li::marker{color:var(--turquoise)}.uses-group a{text-decoration-color:color-mix(in oklch,var(--turquoise) 65%,transparent)}.link-list{padding-block:var(--space-3xl) var(--space-4xl)}.link-entry{display:block;padding-block:var(--space-xl);border-bottom:1px solid var(--line);text-decoration:none;transition:transform .24s var(--ease-out)}.link-entry:first-child{border-top:1px solid var(--ink)}.link-entry:hover{transform:translate(.4rem)}.link-entry>span{display:grid;gap:var(--space-xs)}.link-entry strong{font-family:var(--font-display);font-size:var(--text-lg)}.link-entry small{color:var(--turquoise-dark)}@keyframes settle{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:translateY(0)}}@media(min-width:44rem){.site-header nav{display:flex}.site-mark>span:last-child{display:none}.section-heading{flex-direction:row;align-items:end;justify-content:space-between}.intro-grid{grid-template-columns:1.2fr .8fr;align-items:end}.writing-item{grid-template-columns:9rem minmax(0,1fr);padding-right:4rem}.writing-meta{flex-direction:column;gap:0}.writing-meta span:before{display:none}.site-footer{grid-template-columns:1.2fr 1fr auto;align-items:end}.work-hero,.books-hero{grid-template-columns:minmax(0,1fr) minmax(20rem,.7fr);align-items:end}.timeline-item{grid-template-columns:10rem minmax(0,1fr)}.work-columns{grid-template-columns:1.25fr .75fr}.skill-section{grid-template-columns:.5fr 1.5fr;align-items:start}.talks-hero{grid-template-columns:minmax(0,.85fr) minmax(22rem,1.15fr)}.upcoming-talk,.talk-entry{grid-template-columns:10rem minmax(0,1fr) auto}.talk-date{display:grid;align-content:start;justify-content:start}.language-hero{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:end}.notebook{grid-template-columns:minmax(0,1fr) auto;align-items:center}.notebook dl{grid-column:auto}.full-library{grid-template-columns:repeat(4,minmax(0,1fr));gap-inline:var(--space-lg)}.full-library.is-single .library-book{width:calc((100% - 3 * var(--space-lg)) / 4)}.contact-page{grid-template-columns:minmax(0,.85fr) minmax(22rem,1.15fr);align-items:end}}@media(min-width:62rem){.hero{grid-template-columns:minmax(0,1.15fr) minmax(24rem,.85fr)}.hero-copy{padding-bottom:var(--space-xl)}.reading-grid{grid-template-columns:.65fr 1.35fr;align-items:center}.site-mark>span:last-child{display:block}.full-library{grid-template-columns:repeat(7,minmax(0,1fr))}.full-library.is-single .library-book{width:calc((100% - 6 * var(--space-lg)) / 7)}}@media(max-width:43.99rem){.site-header{position:relative;padding-bottom:3.7rem}.site-header nav{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:var(--space-xs);border-top:1px solid var(--line)}.site-header nav{overflow-x:auto;scrollbar-width:none}.site-header nav::-webkit-scrollbar{display:none}.site-header nav a{flex:0 0 auto;font-size:.72rem}.hero{min-height:auto}.hero h1{font-size:clamp(3.65rem,17vw,5.5rem)}.hero h1.hero-topic-title{max-width:none;font-size:clamp(2.55rem,11.5vw,3.55rem)}.hero-orbit{min-height:22rem}.contact-button{font-size:var(--text-xs);padding-inline:.75rem}.signal-row time{display:none}.hero-portrait{min-height:27rem}.portrait-frame{width:76%}.article-byline>a{width:100%;margin-inline-start:4rem}.article-image{margin-inline:0}.article-footer nav{grid-template-columns:1fr}.article-footer nav a:last-child{text-align:left}.book-stats{grid-template-columns:1fr}.book-stats div{flex-direction:row;justify-content:space-between;align-items:baseline}.book-stats dd{font-size:2rem}}@media(pointer:coarse){.site-header nav a,.text-link,.footer-links a{min-height:2.75rem;display:inline-flex;align-items:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}
