@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg-primary: #FFFFFF;--color-bg-secondary: #F5F5F5;--color-bg-surface: #F0F0F0;--color-bg-elevated: #E8E8E8;--color-text-primary: #000000;--color-text-secondary: #1E1E1E;--color-text-muted: rgba(0, 0, 0, .5);--color-text-inverse: #FFFFFF;--color-accent: #1099E3;--color-accent-dim: rgba(16, 153, 227, .1);--color-accent-glow: rgba(16, 153, 227, .3);--color-music-active: #1099E3;--color-music-glow: rgba(16, 153, 227, .2);--color-border-subtle: rgba(0, 0, 0, .06);--color-border-active: rgba(0, 0, 0, .14);--synth-black-tile: #1a1a1c;--synth-black-button: #2e2e32;--synth-black-number: #AAAAAA;--synth-gray-tile: #b8b8b8;--synth-gray-button: #a0a0a0;--synth-gray-number: #333333;--synth-blue-tile: #1099E3;--synth-blue-button: #0d8ad0;--synth-white-tile: #f5f5f5;--synth-white-button: #ffffff}@font-face{font-family:Martina Plantijn;src:url(/fonts/test-martina-plantijn-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Martina Plantijn;src:url(/fonts/test-martina-plantijn-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Martina Plantijn;src:url(/fonts/test-martina-plantijn-medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Martina Plantijn;src:url(/fonts/test-martina-plantijn-medium-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Martina Plantijn;src:url(/fonts/test-martina-plantijn-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Martina Plantijn;src:url(/fonts/test-martina-plantijn-bold-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--font-family: "Martina Plantijn", system-ui;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-caption: 11px;--text-body: 13px;--text-heading: 15px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--leading-tight: 1.15;--leading-normal: 1.5;--leading-relaxed: 1.6;--leading-heading: var(--leading-tight);--tracking-tight: -.01em;--tracking-normal: 0em;--tracking-wide: .08em;--tracking-wider: .15em;--grid-columns: 12;--grid-padding: 44px;--grid-gap: 24px;--topbar-height: 68px}@media (max-width: 767px){:root{--text-caption: 10px;--text-body: 12px;--text-heading: 14px;--grid-padding: 20px;--leading-heading: 1.25}}@media (min-width: 1200px){:root{--text-caption: 12px;--text-body: 14px;--text-heading: 16px}}@media (min-width: 1600px){:root{--text-caption: 13px;--text-body: 15px;--text-heading: 17px;--grid-gap: 44px}}.text-heading{font-family:var(--font-family);font-size:var(--text-heading);font-weight:var(--weight-medium);line-height:var(--leading-heading);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}.captions-mono{font-family:var(--font-mono);font-size:calc(var(--text-caption) - 2px);font-weight:var(--weight-regular);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal)}@keyframes indicator-pulse{0%,to{box-shadow:0 0 0 0 var(--pulse-color, var(--color-accent-glow));opacity:1}50%{box-shadow:0 0 0 4px transparent;opacity:.7}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes clip-reveal{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0% 0 0 0)}}@keyframes drift-float{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.97)}to{transform:translate(0) scale(1)}}@keyframes ambient-bg{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes waveform-idle{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes glow-pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes page-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}@keyframes reveal-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .2s ease-out both}.animate-slide-down{animation:slide-down .3s ease-out both}.stagger-reveal{display:contents}.stagger-reveal>*{animation:reveal-up .5s ease both;animation-delay:calc(var(--reveal-i, 0) * .06s)}@media (prefers-reduced-motion: reduce){.stagger-reveal>*{animation:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}::selection{background:var(--color-accent);color:var(--color-text-inverse)}::-moz-selection{background:var(--color-accent);color:var(--color-text-inverse)}html{background-color:var(--color-accent);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-accent);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--text-body);line-height:var(--leading-normal);min-height:100vh;overflow-x:hidden}#root{background-color:var(--color-bg-primary);min-height:100vh;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column;min-width:0}.page{flex:1;display:flex;flex-direction:column;min-width:0}@media (max-width: 767px){.page{padding-bottom:80px}}.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--grid-gap);padding-left:var(--grid-padding);padding-right:var(--grid-padding);width:100%}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font:inherit}img{max-width:100%;display:block}.reveal{opacity:0;transform:translateY(24px);transition:opacity .4s ease-out,transform .4s ease-out}.reveal.visible{opacity:1;transform:translateY(0)}@property --text-link-underline{syntax: "<color>"; inherits: true; initial-value: #000000;}.link-underline{color:#000;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.link-underline:hover{color:#00000080}.text-link,.text-link:link,.text-link:visited,.text-link:focus,.text-link:active{--text-link-underline: #000000;color:#000;opacity:1;text-decoration-line:underline;text-decoration-color:var(--text-link-underline);text-underline-offset:3px;transition:opacity .15s ease}@media (hover: hover) and (pointer: fine){.text-link:hover{--text-link-underline: #000000;color:#000;opacity:.3}}.text-link:focus-visible{--text-link-underline: #000000;color:#000;opacity:.3}.text-link .ink__word{text-decoration-line:underline;text-decoration-color:var(--text-link-underline);text-underline-offset:3px}.topbar{position:sticky;top:0;z-index:100;padding-top:16px;padding-bottom:16px;align-items:start;background-color:var(--color-bg-primary)}.topbar__name{grid-column:1 / span 2;grid-row:1;position:relative;z-index:1;font-family:var(--font-family);font-size:var(--text-caption);font-weight:var(--weight-regular);white-space:nowrap;color:var(--color-text-primary);text-decoration:none}.topbar__index{grid-column:2 / span 4;grid-row:1}.topbar__follow{grid-column:10 / span 3;grid-row:1}.topbar__heading{display:block;font-family:var(--font-family);font-size:var(--text-caption);font-weight:var(--weight-regular);margin-bottom:0}.topbar__index,.topbar__follow{display:flex;flex-direction:column;gap:0}.topbar__links{font-family:var(--font-family);font-size:var(--text-caption);font-weight:var(--weight-regular);font-style:italic;color:var(--color-text-secondary)}.topbar__links a{font-size:inherit;font-weight:inherit;font-style:inherit;color:var(--color-text-primary);text-decoration:none;position:relative}.topbar__links a:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:currentColor;transition:width .5s cubic-bezier(.25,.1,.25,1)}.topbar__links a:hover:after{width:100%}@media (min-width: 1600px){.topbar__index{grid-column:2 / span 4}}@media (max-width: 767px){.topbar__index,.topbar__follow .topbar__heading{display:none}.topbar__name{grid-column:1 / span 4;grid-row:1}.topbar__follow{grid-column:7 / -1;grid-row:1;min-width:0}.topbar__follow .topbar__links{text-align:left}}.synth-button-link{display:inline-block;text-decoration:none;line-height:0}.synth-wrapper{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.synth-wrapper__header{display:flex;align-items:center;gap:3px}.synth-wrapper__label{font-family:var(--font-mono);font-weight:var(--weight-regular);letter-spacing:.08em;line-height:1;white-space:nowrap}.synth-wrapper__indicator{border-radius:50%;flex-shrink:0;transition:background-color .2s ease,box-shadow .2s ease;will-change:transform;backface-visibility:hidden}.synth-wrapper__indicator--active{background-color:var(--accent, var(--color-accent))!important;animation:pulseGlow 1.5s ease-in-out infinite}.synth-wrapper--light .synth-wrapper__label{color:#000}.synth-wrapper--light .synth-wrapper__indicator{background-color:#333}.synth-wrapper--dark .synth-wrapper__label{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.08)}.synth-wrapper--dark .synth-wrapper__indicator{background-color:#ccc}.synth-tile{display:flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative;transition:background-color .12s ease}.synth-tile--small{border-radius:8px}.synth-tile--medium{border-radius:10px}.synth-tile--large{border-radius:14px}.synth-tile--black{background-color:var(--synth-black-tile);box-shadow:6px 6px 12px #0009,-2px -2px 8px #ffffff0f,inset 0 0 0 1px #ffffff05}.synth-tile--black .synth-tile__button{background:radial-gradient(circle at 50% 38%,#3a3a42 0%,var(--synth-black-button) 70%)}.synth-tile--black .synth-tile__number{color:var(--synth-black-number)}.synth-tile--gray{background-color:var(--synth-gray-tile);box-shadow:6px 6px 12px #00000059,-2px -2px 8px #ffffff26,inset 0 0 0 1px #ffffff14}.synth-tile--gray .synth-tile__button{background:radial-gradient(circle at 50% 38%,#aeaeae 0%,var(--synth-gray-button) 70%)}.synth-tile--gray .synth-tile__number{color:var(--synth-gray-number)}.synth-tile--blue{background-color:var(--synth-blue-tile);box-shadow:6px 6px 12px #00000080,-2px -2px 8px #1099e326,0 0 20px #1099e326,inset 0 0 0 1px #ffffff0f}.synth-tile--blue .synth-tile__button{background:radial-gradient(circle at 50% 38%,#1aa4f0 0%,var(--synth-blue-button) 70%)}.synth-tile--blue .synth-tile__number{color:#fff}.synth-tile--white{background-color:var(--synth-white-tile);box-shadow:6px 6px 12px #00000026,-2px -2px 8px #ffffff80,inset 0 0 0 1px #fff6}.synth-tile--white .synth-tile__button{background:radial-gradient(circle at 50% 38%,#ffffff 0%,var(--synth-white-button) 60%)}.synth-tile--white .synth-tile__number{color:#333}.synth-wrapper--active .synth-tile:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:75%;height:75%;border-radius:50%;background:var(--accent, var(--color-accent));opacity:.2;filter:blur(8px);pointer-events:none}.synth-tile__button{border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;will-change:transform;backface-visibility:hidden;z-index:1;box-shadow:3px 3px 6px #00000080,-1px -1px 3px #ffffff0d,inset -2px -2px 4px #0006,inset 2px 2px 4px #ffffff1a;transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s cubic-bezier(.34,1.56,.64,1)}.synth-tile__button:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;border:1px solid rgba(255,255,255,.05);pointer-events:none}.synth-tile--large .synth-tile__button:after{border-width:1.5px}.synth-tile__number{font-family:var(--font-family);font-weight:var(--weight-regular);line-height:1;transition:color .2s ease,text-shadow .2s ease;position:relative;z-index:1}.synth-wrapper--active .synth-tile:not(.synth-tile--blue) .synth-tile__number{text-shadow:0 0 8px var(--accent, var(--color-accent))}.synth-tile--black:hover{background-color:#222224}.synth-wrapper:active .synth-tile__button,.synth-wrapper--pressed .synth-tile__button{transform:scale(.96);box-shadow:1px 1px 2px #0006,inset 2px 2px 5px #000000b3,inset -1px -1px 2px #ffffff08;transition:transform 60ms ease-in,box-shadow 60ms ease-in}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:.6;box-shadow:0 0 4px var(--pulse-color, var(--color-accent))}50%{transform:scale(1.4);opacity:1;box-shadow:0 0 10px var(--pulse-color, var(--color-accent))}}.nav{position:fixed;bottom:24px;right:var(--grid-padding);z-index:100}.nav__inner{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}@media (max-width: 767px){.nav{right:auto;left:50%;transform:translate(-50%);bottom:8px;width:max-content;max-width:calc(100vw - 24px)}.nav__inner{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 18px 16px;scrollbar-width:none;-ms-overflow-style:none}.nav__inner::-webkit-scrollbar{display:none}.nav__inner>*{flex-shrink:0}.nav .synth-wrapper{gap:8px}}.footer{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--grid-gap);padding:24px var(--grid-padding);margin-top:auto;align-items:end;color:#00000080}.footer__meta{grid-column:1 / -1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--font-family);font-size:var(--text-caption);color:inherit;letter-spacing:var(--tracking-wide);line-height:1}.footer__meta-dot{color:inherit;-webkit-user-select:none;user-select:none}.footer__colophon{position:relative;display:inline-flex}.footer__colophon-trigger{font-family:var(--font-family);font-size:var(--text-caption);letter-spacing:var(--tracking-wide);color:inherit;text-decoration:underline;text-underline-offset:3px;background:none;border:none;padding:0;cursor:pointer;transition:color .15s ease}.footer__colophon-trigger:hover{color:#000}.footer__colophon-popover{position:absolute;bottom:calc(100% + 12px);left:0;z-index:10;min-width:220px;padding:16px;background:var(--color-text-inverse);border:1px solid var(--color-border-active);box-shadow:0 8px 24px #00000014}.footer__colophon-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-family:var(--font-family);font-size:var(--text-caption);letter-spacing:var(--tracking-wide);color:inherit}@media (max-width: 767px){.footer{display:none}}.hero-chimes{position:relative;align-self:stretch;min-height:100%}.hero-chimes__canvas{position:absolute;top:0;right:0;bottom:0;left:0;font-family:var(--font-family);cursor:crosshair;touch-action:none}.hero-chimes__cta{position:absolute;bottom:-32px;left:calc(var(--chimes-first-x, 0px) - 7px);font-family:var(--font-family);font-size:var(--text-body);font-weight:var(--weight-regular);color:#00000059;background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease,opacity .4s ease}.hero-chimes__cta:hover{color:#0009}.hero-chimes__cta--hidden{opacity:0;pointer-events:none}.collections-note{--spacer-xs: 4px;--spacer-sm: 8px;--spacer-md: 16px;--spacer-lg: 40px;--note-section-gap: var(--spacer-lg);--note-title-gap: var(--spacer-xs);--note-section-hd-gap: var(--spacer-md);--note-subheading-gap: var(--spacer-md);--note-paragraph-gap: var(--spacer-md);--note-link-gap: var(--spacer-sm);--note-block-gap: var(--spacer-lg);--note-divider-gap: var(--spacer-lg);--note-list-gap: var(--spacer-md);--note-list-indent: 20px;--note-list-item-gap: var(--spacer-sm);font-family:var(--font-family);color:var(--color-text-primary);font-size:var(--text-body);line-height:var(--leading-normal);font-weight:var(--weight-regular, 400);max-width:680px}.collections-note__loading{min-height:200px}.collections-note-section+.collections-note-section{margin-top:48px;padding-top:48px;border-top:1px solid rgba(0,0,0,.12)}.collections-note__error{color:var(--color-text-secondary)}.collections-note__retry{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.collections-note h3,.collections-note h4{font-weight:var(--weight-regular, 400)}.collections-note h1{margin-top:0;margin-bottom:var(--spacer-xs)}.collections-note h2{margin-top:var(--spacer-lg);margin-bottom:var(--spacer-md)}.collections-note h3{margin-bottom:var(--note-subheading-gap)}.collections-note h3:not(:first-child){margin-top:var(--note-section-gap)}.collections-note h4{font-size:var(--text-caption);margin-bottom:var(--note-subheading-gap);color:var(--color-text-muted)}.collections-note h1+h4{margin-top:0;margin-bottom:var(--spacer-md)}.collections-note .captions-mono{color:var(--color-text-muted)}.collections-note p{margin-bottom:var(--note-paragraph-gap);color:var(--color-text-secondary)}.collections-note p:has(.link-with-favicon){margin-bottom:var(--note-link-gap)}.collections-note strong{font-weight:700;color:var(--color-text-primary)}.collections-note em{font-style:italic}.collections-note .link-underline{text-decoration:none}.collections-note ul,.collections-note ol{margin:0 0 var(--note-list-gap) var(--note-list-indent);padding:0;color:var(--color-text-secondary)}.collections-note li{margin-bottom:var(--note-list-item-gap)}.collections-note li>ul,.collections-note li>ol{margin-bottom:0}.collections-note hr{border:0;height:1px;background:#0000001f;margin:var(--note-divider-gap) 0}.collections-note .mdx-spacer{flex-shrink:0}.collections-note .mdx-spacer--xs{height:var(--spacer-xs)}.collections-note .mdx-spacer--sm{height:var(--spacer-sm)}.collections-note .mdx-spacer--md{height:var(--spacer-md)}.collections-note .mdx-spacer--lg{height:var(--spacer-lg)}.collections-note :has(+.mdx-spacer){margin-bottom:0}.collections-note .mdx-spacer+*{margin-top:0}.collections-note p:has(>:is(img,video):only-child):has(+.mdx-spacer){margin-bottom:0}.collections-note .mdx-spacer+p:has(>:is(img,video):only-child){margin-top:0}.collections-note .stagger-reveal>:is(img,video):has(+.mdx-spacer),.collections-note>:is(img,video):has(+.mdx-spacer){margin-bottom:0}.collections-note .mdx-spacer+:is(img,video){margin-top:0}.collections-note blockquote{border-left:2px solid rgba(0,0,0,.2);padding-left:16px;margin:0 0 var(--spacer-md);font-size:var(--text-body);font-style:italic;color:var(--color-text-muted)}.collections-note code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:#0000000d;padding:1px 5px;border-radius:4px}.collections-note pre{background:#0000000a;padding:14px 16px;border-radius:6px;overflow-x:auto;margin:0 0 var(--spacer-md);font-size:13px}.collections-note pre code{background:transparent;padding:0}.collections-note p:has(>:is(img,video):only-child){margin-top:var(--spacer-lg);margin-bottom:var(--spacer-lg)}.collections-note :has(+p:has(>:is(img,video):only-child)){margin-bottom:0}.collections-note p:has(>:is(img,video):only-child)+*{margin-top:0}.collections-note p:not(:has(>:is(img,video):only-child)):has(+:is(h2,h3)),.collections-note :is(ul,ol,blockquote,pre):has(+:is(h2,h3)){margin-bottom:0}.collections-note img:not(.link-favicon),.collections-note video{width:100%;border-radius:6px;margin:0;display:block}.collections-note>:is(img,video):not(.link-favicon),.collections-note .stagger-reveal>:is(img,video):not(.link-favicon){margin:var(--spacer-lg) 0}.collections-note :has(+:is(img,video):not(.link-favicon)){margin-bottom:0}.collections-note>:is(img,video):not(.link-favicon)+*,.collections-note .stagger-reveal>:is(img,video):not(.link-favicon)+*{margin-top:0}.collections-note .link-with-favicon{display:inline-flex;align-items:baseline;gap:.5em}.collections-note p>.link-with-favicon:not(:first-child){margin-left:.2em}.collections-note .link-favicon.link-avatar{border-radius:50%}.collections-note .link-favicon{width:.95em;height:.95em;flex:none;align-self:flex-start;margin-top:.275em;border-radius:.22em;object-fit:cover}.mdx-video{position:relative;width:100%;aspect-ratio:16 / 9;margin:0 0 var(--note-block-gap);border-radius:6px;overflow:hidden;background:#0000000a}.mdx-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.mdx-figure{margin:0 0 var(--note-block-gap)}.mdx-figure img{margin:0}.mdx-figure figcaption{font-size:var(--text-caption);color:var(--color-text-muted)}.stagger-reveal>.book-grid{animation:none}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:32px;row-gap:44px;margin:24px 0;--book-ease: cubic-bezier(.16, 1, .3, 1);--book-enter: .44s;--book-exit: .56s}.book{position:relative;display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit;transform:translateY(8px);transition:opacity var(--book-exit) var(--book-ease),filter var(--book-exit) var(--book-ease),transform .42s var(--book-ease) calc(var(--reveal-i, 0) * 70ms)}.book.book--in{transform:none}.book-cover{position:relative;width:100%;aspect-ratio:2 / 3;border-radius:0;overflow:hidden;background:transparent;box-shadow:none;transform-origin:bottom center;transition:transform var(--book-exit) var(--book-ease),box-shadow var(--book-exit) var(--book-ease)}.book--in .book-cover{box-shadow:0 1px 4px #00000026}.book:not(.book--in) .book-cover{box-shadow:none}.book:not(.book--in) .book-cover:after{opacity:0}.book-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.book--in .book-cover:after{opacity:.12}@media (hover: hover) and (pointer: fine){.book-grid:has(.book:hover) .book{opacity:.25;filter:blur(2px);transition-duration:var(--book-enter)}.book-grid:has(.book:hover) .book:hover{opacity:1;filter:none;z-index:5}.book:hover .book-cover{transform:scale(1.05);box-shadow:0 8px 20px #00000040;transition-duration:var(--book-enter)}}.book-cover__art{display:block;width:100%;height:100%;object-fit:cover;margin:0;transform:scale(1.06);opacity:0;transition:opacity .42s var(--book-ease) calc(var(--reveal-i, 0) * 70ms)}.book--in .book-cover__art{opacity:1}.book-cover__art--loading{animation:book-cover-pulse 1.4s ease-in-out infinite}@keyframes book-cover-pulse{0%,to{opacity:1}50%{opacity:.55}}.book-cover__art--placeholder{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px;text-align:center}.book-cover__ph-title{font-size:var(--text-caption);font-weight:600;line-height:1.3;color:var(--color-text-primary)}.book-cover__ph-author{font-size:var(--text-caption);color:var(--color-text-secondary)}.book-meta{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:0;width:max-content;max-width:160px;text-align:center;opacity:0;transition:opacity var(--book-exit) var(--book-ease);pointer-events:none}.book:hover .book-meta{opacity:1;transition-duration:var(--book-enter)}.book-meta__title{font-size:var(--text-caption);font-weight:600;line-height:1.3;color:var(--color-text-primary)}.book-meta__author{font-size:var(--text-caption);color:var(--color-text-secondary)}.book-desc{position:absolute;top:0;left:100%;margin-left:26px;width:220px;font-size:var(--text-caption);line-height:1.5;text-align:left;color:var(--color-text-primary);opacity:0;transition:opacity var(--book-exit) var(--book-ease);pointer-events:none}.book-desc>:first-child{margin-top:0}.book-desc>:last-child{margin-bottom:0}.book:hover .book-desc{opacity:1;transition-duration:var(--book-enter)}.book--flip .book-desc{left:auto;right:100%;margin-left:0;margin-right:26px;text-align:right}@media (prefers-reduced-motion: reduce){.book:hover .book-cover{transform:none}.book-grid:has(.book:hover) .book{filter:none}.book{transform:none}.book-cover__art{opacity:1;transition:none}}.home__section{padding-top:64px;padding-bottom:80px}@media (min-width: 768px){.home__section{min-height:calc(100svh - 9rem);grid-template-rows:1fr}}.home__content{grid-column:2 / span 6;grid-row:1;align-self:center}.home .collections-note .stagger-reveal>.home__portrait-wrap{width:110px;height:110px;margin:0 0 var(--spacer-lg)}.home .collections-note .home__portrait{width:110px;height:110px;object-fit:cover;border-radius:8px;display:block}.home .hero-chimes{grid-column:9 / 13;grid-row:1;align-self:center;height:380px;min-height:380px;padding-bottom:40px}.home .hero-chimes__canvas{bottom:40px}.home .hero-chimes__cta{bottom:8px}@media (max-width: 767px){.home__section{padding-top:40px;padding-bottom:44px}.home__content{grid-column:1 / -1}.home .hero-chimes{display:none}}
