@font-face{font-family:Geist;font-style:normal;font-weight:300;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:300;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:300;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:300;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:300;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;font-style:normal;font-weight:400;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:400;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:400;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:400;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:400;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;font-style:normal;font-weight:500;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:500;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:500;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:500;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:500;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_277192{font-family:Geist,Geist Fallback;font-style:normal}.__variable_277192{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bee7118203610aa4-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:400;font-display:swap;src:url(/_next/static/media/ddc3e0e9f748bc4e-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:400;font-display:swap;src:url(/_next/static/media/0cf46b173d5d4150-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:400;font-display:swap;src:url(/_next/static/media/f03ae0efb5d567c5-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:400;font-display:swap;src:url(/_next/static/media/8dabd5c20013d1cb-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:400;font-display:swap;src:url(/_next/static/media/190cd984471a34c4-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_a40b91{font-family:Geist Mono,Geist Mono Fallback;font-weight:400;font-style:normal}.__variable_a40b91{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#fff;--surface:#f6f6f4;--ink:#0a0a0a;--muted:#6b6b6b;--faint:#8a8a8a;--line:#ededeb;--accent:#e5484d;--ease:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.65,0,.35,1);--measure:1080px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-geist-sans),system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.6}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none;transition:color .2s}:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}.wrap{max-width:var(--measure);box-sizing:border-box;margin:0 auto;padding-inline:40px}@media (max-width:640px){.wrap{padding-inline:20px}}.mono{letter-spacing:.02em}.eyebrow,.mono{font-family:var(--font-geist-mono),ui-monospace,monospace;font-size:11px}.eyebrow{letter-spacing:.14em;text-transform:uppercase}.eyebrow,.link-muted,.muted{color:var(--muted)}.link-muted:hover{color:var(--ink)}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:32px;font-size:13px;display:flex}.site-brand{align-items:center;gap:10px;display:inline-flex}.site-avatar{object-fit:cover;background:var(--surface);width:36px;height:36px;transition:transform .4s var(--ease);border-radius:50%;box-shadow:0 0 0 1px #0000000f,0 2px 6px -2px #0000002e}.site-brand:hover .site-avatar{transform:scale(1.06)}.site-header nav{flex-wrap:wrap;gap:28px;display:flex}.site-header nav a[aria-current=page]{color:var(--ink)}.hero{text-align:center;padding-block:200px 160px}.hero h1,.hero-lines{letter-spacing:-.035em;text-wrap:balance;max-width:760px;margin:32px auto 0;font-size:clamp(30px,4.4vw,56px);font-weight:300;line-height:1.15}.hero h1 strong{font-weight:500}.hero-by{color:var(--faint);margin:28px 0 0;font-size:13px}.dot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.hero .dot{margin-top:48px;animation:breathe 3.2s ease-in-out infinite}@keyframes breathe{50%{opacity:.6;transform:scale(1.6)}}@media (max-width:640px){.hero{padding-block:120px 140px}}.section{padding-bottom:200px}.section-head{justify-content:space-between;align-items:baseline;margin-bottom:40px;font-size:13px;display:flex}.section-head h2{margin:0;font-size:13px;font-weight:400}.section-head.center{justify-content:center}.strip{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;gap:32px;padding:12px max(24px,50% - 550px) 24px;display:flex;overflow-x:auto}.strip.is-wheeling{scroll-snap-type:none;scroll-behavior:auto}.strip::-webkit-scrollbar{display:none}.strip-item{scroll-snap-align:center;flex-direction:column;flex:none;gap:18px;width:min(720px,86vw);display:flex}.frame{aspect-ratio:16/9;transition:transform .6s var(--ease);border-radius:10px;display:block;position:relative;overflow:hidden}.frame img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform 1.2s var(--ease)}.strip-item:hover .frame{transform:translateY(-6px)}.strip-item:hover .frame img{transform:scale(1.03)}.frame-preview{object-fit:cover;object-position:top;opacity:0;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.frame-preview.is-playing,.project-cover:hover .frame-preview,.strip-item:hover .frame-preview{opacity:1}.frame-view{transition:opacity .6s var(--ease-soft);position:absolute;inset:0}.strip-item[data-view=desktop] .frame-mobile,.strip-item[data-view=mobile] .frame-desktop{opacity:0;pointer-events:none}.frame-mobile{place-items:center;display:grid}.phone{aspect-ratio:390/844;height:84%;transition:transform .8s var(--ease);background:#000;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 0 0 5px #111,0 0 0 6px #ffffff1f,0 28px 50px -18px #00000073}.strip-item[data-view=desktop] .phone{transform:translateY(14px)scale(.97)}.phone img,.phone video{object-position:top}.view-toggle{gap:12px;display:flex}.view-toggle button{font:inherit;color:var(--faint);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:12px;transition:color .3s;display:inline-flex}.view-toggle button:hover,.view-toggle button[aria-pressed=true]{color:var(--ink)}.view-toggle button:focus-visible{outline:1px solid var(--ink);outline-offset:3px}.frame-empty{place-items:center;display:grid;position:absolute;inset:0}.strip-meta{justify-content:space-between;gap:16px;font-size:13px;display:flex}.shelves{gap:56px}.shelf-group,.shelves{flex-direction:column;display:flex}.shelf-group{gap:40px}.shelf-label{align-items:baseline;gap:10px;margin:0;font-size:13px;font-weight:400;display:flex}.shelf-label span{font-family:var(--font-geist-mono),monospace;color:var(--faint);font-size:11px}.shelf{position:relative}.shelf-row{scrollbar-width:none;align-items:flex-end;gap:3px;padding:48px 24px 0;display:flex;overflow:auto hidden}.shelf-row.centered{justify-content:safe center}.shelf-row::-webkit-scrollbar{display:none}.shelf-board{background:#ecebe6;border-top:1px solid #dddcd5;height:10px;box-shadow:0 14px 24px -14px #0000002e}.sb-slot{cursor:pointer;perspective:1400px;transition:width 1s var(--ease);background:0 0;border:0;flex:none;padding:0;position:relative}.sb-slot:focus-visible{outline:none}.sb-slot:focus-visible .sb-spine{outline:1.5px solid var(--ink);outline-offset:3px}.sb-book{width:var(--w);height:var(--h);margin-left:calc(var(--w) / -2);transform-style:preserve-3d;transition:transform 1s var(--ease);position:absolute;bottom:0;left:50%;transform:rotateY(90deg)}.sb-slot:hover .sb-book{transform:translateY(-10px)rotateY(90deg)}.sb-slot.is-open .sb-book{transform:translateY(-8px)translateZ(36px)rotateY(16deg)}.sb-book>span{box-sizing:border-box;position:absolute}.sb-front{transform:translateZ(calc(var(--d) / 2));text-align:left;background-position:50%;background-size:cover;flex-direction:column;justify-content:space-between;padding:18px 16px;display:flex;inset:0;box-shadow:inset 6px 0 #0000001a,0 20px 40px -20px #00000059}.sb-front.has-cover>*{visibility:hidden}.sb-front-author{font-family:var(--font-geist-mono),monospace;letter-spacing:.12em;text-transform:uppercase;opacity:.75;font-size:9px}.sb-front-title{letter-spacing:-.025em;font-size:18px;font-weight:500;line-height:1.08}.sb-spine{top:0;left:calc((var(--w) - var(--d)) / 2);width:var(--d);height:var(--h);transform:rotateY(-90deg) translateZ(calc(var(--w) / 2));flex-direction:column;justify-content:space-between;align-items:center;padding:10px 0 12px;display:flex;box-shadow:inset 2px 0 #ffffff1f,inset -3px 0 #0000001f}.sb-band{opacity:.35;width:100%;height:2px}.sb-spine-title{writing-mode:vertical-rl;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;max-height:calc(var(--h) - 48px);font-size:11px;font-weight:500;overflow:hidden;transform:rotate(180deg)}.sb-spine-dot{opacity:.6;border-radius:50%;width:5px;height:5px}.sb-pages{top:2px;left:calc((var(--w) - var(--d)) / 2);width:var(--d);height:calc(var(--h) - 4px);transform:rotateY(90deg) translateZ(calc(var(--w) / 2 - 2px));background:repeating-linear-gradient(90deg,#fff 0 2px,#e6e5e0 2px 3px)}.sb-top{left:0;top:calc((var(--h) - var(--d)) / 2);width:calc(var(--w) - 2px);height:var(--d);transform:rotateX(90deg) translateZ(calc(var(--h) / 2 - 1px));background:#f2f1ec}.shelf-detail{text-align:center;padding-top:28px}.shelf-detail-title{letter-spacing:-.02em;margin:0 0 4px;font-size:18px}.shelf-detail-note{color:#3a3a3a;max-width:520px;margin:14px auto 0}.year-row{border-top:1px solid var(--line);grid-template-columns:80px minmax(0,1fr);gap:24px;padding-block:20px;display:grid}.post-link{letter-spacing:-.01em;align-items:center;gap:12px;font-size:17px;display:flex}.post-link .dash{background:var(--ink);width:12px;height:1px;transition:width .3s var(--ease);flex:none;display:inline-block}.post-link:hover .dash{width:32px}.arrow{vertical-align:-.08em;width:.85em;height:.85em;transform:rotate(var(--arrow-rotate,0deg));transition:transform .5s var(--ease);flex:none;display:inline-block}.with-arrow{align-items:center;gap:.4em;display:inline-flex}.with-arrow:hover .arrow[data-dir=right],a:hover .arrow[data-dir=right]{transform:translate(3px)}.with-arrow:hover .arrow[data-dir=left]{transform:translate(-3px)rotate(180deg)}.with-arrow:hover .arrow[data-dir=down]{transform:translateY(2px)rotate(90deg)}.with-arrow:hover .arrow[data-dir=out],a:hover .arrow[data-dir=out]{transform:translate(2px,-2px)rotate(-45deg)}.scroll-cue{width:fit-content;color:var(--faint);transition:color .4s var(--ease),opacity .9s var(--ease-soft),transform .9s var(--ease);margin:-36px auto 12px;padding:4px;display:block}.scroll-cue.is-gone{opacity:0;pointer-events:none;transform:translateY(10px)}#work-strip{scroll-margin-top:15vh}.scroll-cue:hover{color:var(--ink)}.scroll-cue{font-size:16px}.scroll-cue .arrow{animation:cue 2.6s var(--ease-soft) infinite;display:block}@keyframes cue{0%,to{opacity:.55;transform:translateY(-3px)rotate(90deg)}50%{opacity:1;transform:translateY(5px)rotate(90deg)}}.cursor-arrow{z-index:50;pointer-events:none;opacity:0;transition:opacity .25s var(--ease-soft);will-change:transform;font-size:15px;position:fixed;top:0;left:0}.cursor-arrow.is-on{opacity:1;transition-duration:.15s}.cursor-arrow .arrow{filter:drop-shadow(0 1px 2px #0000002e);transform:rotate(var(--cursor-rotate,90deg));transition:transform .7s var(--ease);display:block}.cursor-arrow[data-dir=right]{--cursor-rotate:0deg}.cursor-arrow[data-dir=left]{--cursor-rotate:180deg}.post-peek{z-index:60;pointer-events:none;will-change:transform;width:260px;position:fixed;top:0;left:0}.post-peek-inner{background:var(--bg);border:1px solid var(--line);opacity:0;transform-origin:0 0;transition:opacity .35s var(--ease-soft),transform .6s var(--ease);border-radius:6px;display:block;overflow:hidden;transform:translateY(6px)scale(.97);box-shadow:0 24px 48px -24px #00000047}.post-peek.is-open .post-peek-inner{opacity:1;transform:none}.post-peek-banner{aspect-ratio:2;background:var(--line);display:block;position:relative}.post-peek-banner img{object-fit:cover}.post-peek-body{flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex}.post-peek-meta,.post-peek-tags{font-family:var(--font-geist-mono),monospace;letter-spacing:.06em;color:var(--faint);font-size:10px}.post-peek-excerpt{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}@media (hover:none){.post-peek{display:none}}.post-banner{margin-bottom:72px}.post-banner-frame{aspect-ratio:2;background:var(--line);border-radius:4px;position:relative;overflow:hidden}.post-banner-frame img{object-fit:cover}.site-footer{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:40px;font-size:13px;display:flex}.site-footer span{gap:24px;display:flex}.prose{overflow-wrap:break-word;max-width:640px;margin-inline:auto;font-size:17px;line-height:1.75}.prose>:first-child{margin-top:0}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{text-wrap:balance;scroll-margin-top:96px}.prose h1{letter-spacing:-.035em;margin:2.2em 0 .6em;font-size:32px;font-weight:300;line-height:1.2}.prose h2{letter-spacing:-.02em;margin:2.4em 0 .6em;font-size:22px;font-weight:500;line-height:1.3}.prose h3{margin:2em 0 .5em;font-size:18px;font-weight:500;line-height:1.4}.prose h4{margin:1.8em 0 .4em;font-size:17px;font-weight:500}.prose h5,.prose h6{font-family:var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:1.8em 0 .4em;font-size:11px;font-weight:400}.prose dl,.prose ol,.prose p,.prose ul{margin:0 0 1.2em}.prose strong{font-weight:600}.prose del{color:var(--faint)}.prose mark{color:inherit;background:#fff3b8;padding:0 .15em}.prose a{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);transition:text-decoration-color .2s var(--ease)}.prose a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.has-preview{position:relative}.link-preview{background:var(--bg,#fff);opacity:0;transform-origin:50% 100%;pointer-events:none;width:300px;transition:opacity .35s var(--ease-soft),transform .5s var(--ease);z-index:20;border-radius:12px;padding:6px;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,8px)scale(.97);box-shadow:0 0 0 1px #0000000f,0 24px 48px -16px #0000004d}.link-preview img{border-radius:8px;width:100%;height:auto;margin:0;display:block}.has-preview:focus-visible .link-preview,.has-preview:hover .link-preview{opacity:1;transform:translate(-50%)scale(1)}@media (hover:none){.link-preview{display:none}}.prose ol,.prose ul{padding-left:1.4em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li{padding-left:.2em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--faint)}.prose li>ol,.prose li>ul{margin:.35em 0 0}.prose ul ul{list-style:circle}.prose li:has(>input[type=checkbox]){margin-left:-1.4em;list-style:none}.prose li>input[type=checkbox]{vertical-align:-1px;width:14px;height:14px;accent-color:var(--ink);margin:0 .6em 0 0}.prose dt{font-weight:500}.prose dd{color:var(--muted);margin:0 0 .8em 1.2em}.prose blockquote{border-left:1px solid var(--ink);color:var(--muted);margin:1.8em 0;padding-left:20px}.prose .markdown-alert>:last-child,.prose blockquote>:last-child{margin-bottom:0}.prose .markdown-alert{--alert:var(--ink);background:var(--surface);border-left:2px solid var(--alert);margin:1.8em 0;padding:16px 20px;font-size:15px}.prose .markdown-alert-title{font-family:var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--alert);align-items:center;gap:8px;margin:0 0 6px;font-size:11px;display:flex}.prose .markdown-alert-title svg{fill:currentColor}.prose .markdown-alert-tip{--alert:#2f6f4f}.prose .markdown-alert-important{--alert:#5b3fa8}.prose .markdown-alert-warning{--alert:#9a6200}.prose .markdown-alert-caution{--alert:#b3261e}.prose img,.prose video{max-width:100%;height:auto;margin:2em auto;display:block}.prose .figure{margin:2em 0;display:block}.prose .figure img{margin:0 auto}.prose .caption,.prose figure.code figcaption{font-family:var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.02em;color:var(--faint);font-size:11px;display:block}.prose .caption{text-align:center;margin-top:12px}.prose hr{border:0;border-top:1px solid var(--line);width:48px;margin:3em auto}.prose code{background:var(--surface);border-radius:3px;padding:.15em .35em;font-size:.85em}.prose code,.prose kbd{font-family:var(--font-geist-mono),ui-monospace,monospace}.prose kbd{border:solid var(--line);border-width:1px 1px 2px;border-radius:4px;padding:.1em .45em;font-size:.8em}.prose figure.code{margin:1.8em 0;position:relative}.prose figure.code figcaption{background:var(--surface);text-transform:lowercase;border-radius:4px 4px 0 0;padding:12px 20px 0}.prose figure.code figcaption+pre{border-radius:0 0 4px 4px;padding-top:10px}.prose pre{background:var(--surface);tab-size:2;border-radius:4px;margin:1.8em 0;padding:20px;font-size:13px;line-height:1.65;overflow-x:auto}.prose figure.code pre{margin:0}.prose pre code{font-size:inherit;background:0 0;border-radius:0;padding:0}.hljs-comment,.hljs-quote{color:var(--faint);font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-section,.hljs-selector-tag{color:var(--ink);font-weight:600}.hljs-addition,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#2f6f4f}.hljs-bullet,.hljs-literal,.hljs-number,.hljs-symbol{color:#9a4a00}.hljs-title,.hljs-title.class_,.hljs-title.function_{color:#1f4e8c}.hljs-attr,.hljs-attribute,.hljs-params,.hljs-property,.hljs-template-variable,.hljs-variable{color:#3a3a3a}.hljs-built_in,.hljs-name,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-type{color:#5b3fa8}.hljs-meta,.hljs-operator,.hljs-punctuation{color:var(--muted)}.hljs-deletion{color:#b3261e}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}.prose .table-wrap{margin:1.8em 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5}.prose th{font-family:var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--ink);font-size:11px;font-weight:400}.prose td,.prose th{vertical-align:top;padding:10px 14px 10px 0}.prose td{border-bottom:1px solid var(--line)}.prose tbody tr:last-child td{border-bottom:0}.prose details{border:1px solid var(--line);border-radius:4px;margin:1.5em 0;padding:12px 16px}.prose summary{cursor:pointer;font-weight:500}.prose details[open] summary{margin-bottom:.6em}.prose sup a[data-footnote-ref]{font-family:var(--font-geist-mono),ui-monospace,monospace;padding-left:1px;font-size:11px;text-decoration:none}.prose .footnotes{border-top:1px solid var(--line);color:var(--muted);margin-top:4em;padding-top:20px;font-size:14px}.prose .footnotes ol,.prose .footnotes p{margin:0}.prose [data-footnote-backref]{text-decoration:none}.prose :target{transition:background 1.5s var(--ease);background:#fff3b8}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:640px){.prose{font-size:16px}.prose figure.code,.prose pre{margin-inline:-16px}.prose figure.code pre{margin-inline:0}.prose figure.code figcaption,.prose figure.code figcaption+pre,.prose pre{border-radius:0}}.page-title{text-align:center;padding-block:120px 80px}.page-title h1{letter-spacing:-.035em;text-wrap:balance;max-width:760px;margin:20px auto 0;font-size:clamp(30px,4vw,48px);font-weight:300;line-height:1.15}.hero-in,.reveal{animation:reveal 1.4s var(--ease) both}.hero-after{animation:reveal 1.6s var(--ease) both;animation-delay:calc(.35s + var(--hero-lines,3) * .22s + .3s);display:block}.hl-w{opacity:0;animation:hl-fallback .8s var(--ease) 1.5s forwards;display:inline-block}.hero-lines.is-ready .hl-w{animation:hl-in 1.5s var(--ease) both;animation-delay:calc(.35s + var(--line,0) * .22s)}@keyframes hl-in{0%{opacity:0;filter:blur(6px);transform:translateY(.45em)}to{opacity:1;filter:blur();transform:none}}@keyframes hl-fallback{to{opacity:1}}.page-enter{animation:page-enter .95s var(--ease) both}@keyframes page-enter{0%{opacity:0;transform:translateY(14px)}}main{transition:opacity .22s var(--ease-soft),transform .22s var(--ease-soft)}html.is-leaving main{opacity:0;transform:translateY(-6px)}.sr{opacity:0;transition:opacity 1.4s var(--ease) var(--sr-delay,0s),transform 1.6s var(--ease) var(--sr-delay,0s);transform:translateY(28px)}.sr.sr-in{opacity:1;transform:none}.sr.sr-instant{transition:none}.strip.sr{opacity:1;transform:none}.strip.sr .strip-item{--d:calc(var(--sr-delay,0s) + var(--i,0) * .14s);opacity:0;transition:opacity 1.1s var(--ease) var(--d),transform 1.5s var(--ease) var(--d);transform:translate(90px)}.strip.sr .frame{clip-path:inset(100% 0 0 round 10px);transition:transform .6s var(--ease),clip-path 1.3s var(--ease) calc(var(--d) + .12s)}.strip.sr .frame-view{transition:opacity .6s var(--ease-soft),transform 1.9s var(--ease) calc(var(--d) + .12s);transform:scale(1.14)}.strip.sr .strip-meta{opacity:0;transition:opacity .9s var(--ease) calc(var(--d) + .5s),transform 1.1s var(--ease) calc(var(--d) + .5s);transform:translateY(10px)}.strip.sr.sr-in .strip-item,.strip.sr.sr-in .strip-meta{opacity:1;transform:none}.strip.sr.sr-in .frame-view{transform:none}.strip.sr.sr-in .frame{clip-path:inset(0 round 10px)}.strip.sr.sr-instant,.strip.sr.sr-instant *{transition:none}@media (prefers-reduced-motion:reduce),(scripting:none){.strip.sr .strip-item,.strip.sr .strip-meta{opacity:1;transform:none}.strip.sr .frame-view{transform:none}.strip.sr .frame{clip-path:none}}.fold{opacity:0;transition:grid-template-rows 1s var(--ease),opacity .6s var(--ease-soft);grid-template-rows:0fr;display:grid}.fold.is-open{opacity:1;transition:grid-template-rows 1s var(--ease),opacity .9s var(--ease) .2s;grid-template-rows:1fr}.fold-inner{min-height:0;overflow:hidden}@keyframes reveal{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.book-head{text-align:center;padding-top:40px}.book-head h1{letter-spacing:-.035em;text-wrap:balance;max-width:760px;margin:12px auto 0;font-size:clamp(30px,4vw,48px);font-weight:300;line-height:1.15}.book-cover{aspect-ratio:2/3;border-radius:2px 6px 6px 2px;width:180px;margin-inline:auto;position:relative;overflow:hidden;box-shadow:inset 6px 0 10px -6px #00000059,0 24px 40px -18px #00000059}.book-cover img{object-fit:cover;width:100%;height:100%}.book-cover-title{text-align:left;font-size:15px;line-height:1.25;position:absolute;inset:auto 16px 20px}.book-read{border:1px solid var(--line);transition:border-color .3s var(--ease);border-radius:999px;padding:9px 16px;display:inline-block}.book-read:hover{border-color:var(--ink)}.book-section{margin-top:72px}button.book-read{font:inherit;color:inherit;cursor:pointer;background:0 0}.book-actions{flex-wrap:wrap;justify-content:center;gap:8px;max-width:640px;margin:28px auto 0;font-size:13px;display:flex}.book-read-main{background:var(--ink);border-color:var(--ink);color:var(--bg)}.book-read-main:hover{color:var(--bg)}.book-preview{animation:book-preview-in .6s var(--ease) both;flex-basis:100%;margin:20px 0 0}.book-preview iframe{border:1px solid var(--line);background:var(--surface);border-radius:10px;width:100%;height:min(78vh,720px);display:block}.book-preview figcaption{color:var(--faint);margin-top:10px;font-size:11px}@keyframes book-preview-in{0%{opacity:0;transform:translateY(8px)}}.reader-progress{z-index:60;background:var(--ink);transform-origin:0;height:1px;position:fixed;inset:0 0 auto;transform:scaleX(0)}@supports (animation-timeline:scroll()){.reader-progress{animation:reader-progress linear both;animation-timeline:scroll(root)}}@keyframes reader-progress{to{transform:scaleX(1)}}.reader-head{text-align:center;padding-top:24px}.reader-head h1{letter-spacing:-.035em;text-wrap:balance;max-width:760px;margin:28px auto 0;font-size:clamp(28px,3.6vw,42px);font-weight:300;line-height:1.15}.reader-head .muted{margin:10px 0 0}.reader-back{font-size:13px}.reader-meta{letter-spacing:.08em;color:var(--faint);margin:18px 0 0;font-size:11px}.reader-editions{border:1px solid var(--line);border-radius:999px;gap:4px;margin-top:18px;padding:3px;font-size:12px;display:inline-flex}.reader-editions a{color:var(--muted);border-radius:999px;padding:4px 12px}.reader-editions a[aria-current]{background:var(--ink);color:var(--bg)}.reader-toc{border-block:1px solid var(--line);margin-top:56px;font-size:14px}.reader-toc summary{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;padding:14px 0;font-size:11px;list-style:none}.reader-toc summary::-webkit-details-marker{display:none}.reader-toc ol{overscroll-behavior:contain;max-height:50vh;margin:0 0 16px;overflow:auto}.reader-toc a{color:var(--muted);text-decoration:none}.reader-toc a:hover,.reader-toc a[aria-current]{color:var(--ink)}.reader-text{-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;margin-top:56px;font-family:ui-serif,Georgia,Times New Roman,serif;font-size:19px;line-height:1.7}@media (max-width:640px){.reader-text{font-size:17.5px}}.reader-text h1,.reader-text h2,.reader-text h3{font-family:var(--font-geist-sans),system-ui,sans-serif;text-align:center}.reader-text h2{margin-top:3.2em}.reader-text pre{white-space:pre-wrap;font:inherit}.reader-text hr{border:0;border-top:1px solid var(--line);width:48px;margin:3em auto}.reader-text table{margin:0 auto 1.2em}.reader-pager{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;max-width:640px;margin:72px auto 0;padding-top:24px;font-size:12px;display:grid}.reader-pager a:last-child{justify-self:end}.reader-source{color:var(--faint);margin-top:56px;font-size:11px}@media print{.reader-back,.reader-editions,.reader-pager,.reader-progress,.reader-source,.reader-toc{display:none}}.book-section>h2.eyebrow{letter-spacing:.14em;margin:0 0 18px;font-size:11px;font-weight:400}.notes{border:1px solid var(--line);border-radius:10px;min-height:220px;position:relative;overflow:hidden}.notes-body{filter:blur(7px);opacity:.55;-webkit-user-select:none;user-select:none;max-height:320px;transition:filter 1.2s var(--ease) .15s,opacity 1.2s var(--ease) .15s;padding:28px 32px 8px;font-size:15px;overflow:hidden}.notes-body>:first-child{margin-top:0}.notes-cover{-webkit-backdrop-filter:blur(6px);transition:clip-path 1.3s var(--ease),opacity .7s var(--ease-soft) .45s;clip-path:inset(0);background:repeating-linear-gradient(135deg,#0a0a0a09 0 1px,#0000 1px 9px),#ffffff8c;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.notes-cover-label{color:var(--faint);text-transform:uppercase;letter-spacing:.14em}.notes-btn{font:inherit;color:var(--bg);background:var(--ink);cursor:pointer;transition:transform .3s var(--ease);border:0;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;display:inline-flex}.notes-btn:hover{transform:translateY(-1px)}.notes.is-shown .notes-body{filter:none;opacity:1;-webkit-user-select:auto;user-select:auto;max-height:none}.notes.is-shown .notes-cover{clip-path:inset(0 0 100%);opacity:0;pointer-events:none}.notes-hide{color:var(--faint);cursor:pointer;background:0 0;border:0;margin:0 32px 24px auto;padding:0;display:block}.notes-hide:hover{color:var(--ink)}@media (max-width:640px){.notes-body{padding:22px 20px 4px}}@media (prefers-reduced-motion:reduce){.notes-body,.notes-cover{transition:none}}.about h3{justify-content:space-between;align-items:baseline;gap:16px;margin:1.6em 0 .15em;font-size:16px;display:flex}.about h3 small{color:var(--faint);flex:none;font-weight:400}.about h3 small,.about h3+p{font-family:var(--font-geist-mono),ui-monospace,monospace;letter-spacing:.02em;font-size:11px}.about h3+p{color:var(--muted);margin:0;line-height:1.6}.about h3+p em{font-style:normal}.about h3+p+p{color:var(--faint);margin:4px 0 0;font-size:13px;line-height:1.55}.about h2+h3{margin-top:.8em}.harness-group+.harness-group{margin-top:64px}.harness-group h2.eyebrow{margin:0 0 8px;font-weight:400}.harness ul{margin:0;padding:0;list-style:none}.harness-item{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:2px 24px;padding-block:16px;display:grid}.harness li:last-child .harness-item{border-bottom:1px solid var(--line)}.harness-name{font-size:15px}.harness-name span{color:var(--faint);transition:color .2s var(--ease);font-size:12px}.harness-item:hover .harness-name span{color:var(--ink)}.harness-desc{color:var(--muted);grid-column:1;font-size:13px}.harness-host{color:var(--faint);grid-area:1/2;align-self:center}@media (max-width:640px){.harness-host{display:none}}.lang-toggle{border-left:1px solid var(--line);gap:2px;margin-left:8px;padding-left:16px;display:inline-flex}.lang-toggle button{font:inherit;font-family:var(--font-geist-mono),ui-monospace,monospace;color:var(--faint);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:11px}.lang-toggle button:hover,.lang-toggle button[aria-pressed=true]{color:var(--ink)}.b3d{--bw:200px;--bh:300px;flex-direction:column;align-items:center;display:flex}.b3d-stage{width:calc(var(--bw) + 120px);height:calc(var(--bh) + 70px);perspective:1200px;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;outline:none;place-items:center;display:grid;position:relative}.b3d-stage.is-dragging{cursor:grabbing}.b3d-stage:focus-visible .b3d-floor{outline:1.5px solid var(--ink);outline-offset:6px}.b3d-book{width:var(--bw);height:var(--bh);transform-style:preserve-3d;will-change:transform;position:relative}.b3d-face{box-sizing:border-box;backface-visibility:hidden;position:absolute;overflow:hidden}.b3d-back,.b3d-front{background:var(--bg);color:var(--book-ink);border-radius:2px 5px 5px 2px;flex-direction:column;justify-content:space-between;padding:22px 18px;display:flex;inset:0}.b3d-front{transform:translateZ(calc(var(--d) / 2));box-shadow:inset 7px 0 8px -5px #0000004d}.b3d-front img{object-fit:cover;pointer-events:none}.b3d-shade{background:linear-gradient(105deg,#ffffff24,transparent 40%),rgb(0 0 0/var(--shade,0));pointer-events:none;position:absolute;inset:0}.b3d-back{transform:rotateY(180deg) translateZ(calc(var(--d) / 2));border-radius:5px 2px 2px 5px;justify-content:flex-end;box-shadow:inset -7px 0 8px -5px #00000040,inset 0 0 0 999px #00000014}.b3d-author{font-family:var(--font-geist-mono),monospace;letter-spacing:.12em;text-transform:uppercase;opacity:.75;font-size:9px;position:relative}.b3d-title{letter-spacing:-.025em;text-align:left;font-size:20px;font-weight:500;line-height:1.1;position:relative}.b3d-edge,.b3d-spine{top:0;left:calc((var(--bw) - var(--d)) / 2);width:var(--d);height:var(--bh)}.b3d-spine{transform:rotateY(-90deg) translateZ(calc(var(--bw) / 2));background:var(--bg);color:var(--book-ink);place-items:center;display:grid;box-shadow:inset 0 0 0 999px #0000001f,inset 2px 0 #ffffff1f}.b3d-spine-title{writing-mode:vertical-rl;white-space:nowrap;text-overflow:ellipsis;max-height:calc(var(--bh) - 40px);font-size:11px;font-weight:500;overflow:hidden}.b3d-edge{height:calc(var(--bh) - 6px);transform:rotateY(90deg) translateZ(calc(var(--bw) / 2 - 3px));background:repeating-linear-gradient(90deg,#fbfaf6 0 2px,#e4e2db 2px 3px);top:3px;box-shadow:inset 0 0 12px #00000014}.b3d-bottom,.b3d-top{left:0;top:calc((var(--bh) - var(--d)) / 2);width:calc(var(--bw) - 3px);height:var(--d);background:repeating-linear-gradient(0deg,#f5f4ef 0 2px,#e4e2db 2px 3px)}.b3d-top{transform:rotateX(90deg) translateZ(calc(var(--bh) / 2 - 3px))}.b3d-bottom{transform:rotateX(-90deg) translateZ(calc(var(--bh) / 2 - 3px))}.b3d-floor{width:calc(var(--bw) * .9);height:18px;margin-left:calc(var(--bw) * -.45);filter:blur(4px);pointer-events:none;transform:scale(calc(1 - var(--lift,0) * .012));opacity:calc(1 - var(--lift,0) * .035);background:radial-gradient(closest-side,#00000038,#0000);border-radius:50%;position:absolute;bottom:10px;left:50%}.b3d-hint{font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--faint,var(--muted));transition:opacity .6s var(--ease);margin:4px 0 0;font-size:10px}.b3d-hint.is-hidden{opacity:0}@media (max-width:600px){.b3d{--bw:170px;--bh:255px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}