*{box-sizing:border-box}body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);font-size:var(--type-size-body);margin:0;line-height:1.6}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}h1,h2,p{margin-top:0}h1,h2{font-family:var(--font-display);text-wrap:balance;font-weight:400;line-height:1.1}h1{font-size:var(--type-size-display);letter-spacing:-.045em}h2{font-size:var(--type-size-title)}.site-shell{max-width:var(--component-bookshelf-max-width);padding:0 clamp(var(--component-page-content-gutter), 5vw, var(--space-xxl));margin:auto}.masthead{justify-content:space-between;align-items:center;gap:var(--space-lg);border-bottom:1px solid var(--color-border);min-height:7rem;display:flex}.wordmark{align-items:baseline;gap:var(--space-sm);font-family:var(--font-display);font-size:var(--type-size-display);letter-spacing:-.06em;text-decoration:none;display:flex}.wordmark span{font-family:var(--font-record);font-size:var(--type-size-caption);letter-spacing:.04em}.eyebrow{font-family:var(--font-record);font-size:var(--type-size-caption);text-transform:uppercase;letter-spacing:.13em;color:var(--color-muted-ink)}.landing{align-items:center;gap:var(--space-xxl);min-height:calc(100svh - 13rem);padding-block:clamp(var(--space-xxl), 8vw, 8rem);grid-template-columns:1.15fr 1fr;display:grid}.hero-copy h1{font-size:var(--type-size-hero);margin-block:var(--space-lg)}.intro{color:var(--color-muted-ink);max-width:34rem;font-size:1.125em}.coming-soon{align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-paper);font-size:var(--type-size-caption);display:inline-flex}.status-dot{background:var(--color-success);border-radius:50%;width:.45rem;height:.45rem}.fine-print{color:var(--color-muted-ink);font-size:var(--type-size-caption);margin-top:var(--space-md)}.hero-art{min-width:0;padding:var(--space-xxl) var(--space-md)}.book-row{justify-content:center;align-items:end;gap:var(--space-xs);min-height:18rem;padding-inline:var(--space-lg);display:flex}.spine{justify-content:space-between;align-items:center;gap:var(--space-lg);writing-mode:vertical-rl;width:clamp(2.75rem,5vw,4.5rem);min-width:var(--component-bookshelf-minimum-book-hit-target);height:15.5rem;padding:var(--space-lg) var(--space-sm);border:1px solid color-mix(in srgb, var(--color-ink) 25%, transparent);border-radius:var(--radius-page);color:var(--color-paper);background:var(--color-book-olive);font-family:var(--font-display);font-size:var(--type-size-body);box-shadow:inset 4px 0 0 color-mix(in srgb, var(--color-ink) 12%, transparent);transform-origin:bottom;transition:transform var(--motion-hover-duration-ms) var(--motion-easing), box-shadow var(--motion-hover-duration-ms) var(--motion-easing);flex-shrink:0;display:flex;position:relative}.spine small{font-family:var(--font-record);font-size:.65rem}.spine-rust{background:var(--color-book-rust);height:17rem}.spine-paper{background:var(--color-paper);color:var(--color-ink);height:14.5rem}.spine-blue{background:var(--color-book-blue);height:16rem}.spine-gold{background:var(--color-book-gold);color:var(--color-ink);height:14rem}.decorative-books .spine:first-child{margin-right:var(--space-md);transform:rotate(-8deg)}.decorative-books .spine{justify-content:center}.shelf-plank{background:var(--color-shelf-wood);border-bottom:.3rem solid var(--color-shelf-shadow);height:1rem;box-shadow:var(--shadow-panel)}.art-caption{font-family:var(--font-display);text-align:center;color:var(--color-muted-ink);margin-top:var(--space-xl);font-style:italic}.site-footer{justify-content:space-between;gap:var(--space-md);border-top:1px solid var(--color-border);padding-block:var(--space-lg);font-size:var(--type-size-caption);color:var(--color-muted-ink);flex-wrap:wrap;display:flex}.playground{max-width:var(--component-borrowing-card-max-width);padding-block:var(--space-xxl);margin:auto}.playground h1{margin-block:var(--space-md)}.search-area{margin-block:var(--space-xl);max-width:32rem}label{margin-bottom:var(--space-sm);font-size:var(--type-size-caption);display:block}input{width:100%;padding:var(--space-sm) var(--space-md);min-height:var(--component-bookshelf-minimum-book-hit-target);background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-border);border-radius:var(--radius-control)}.sample-shelf{padding-top:var(--space-xl)}.book-slot{flex-shrink:0;align-items:end;width:clamp(2.75rem,5vw,4.5rem);display:flex}.empty-slot{writing-mode:vertical-rl;width:100%;height:14rem;font-family:var(--font-record);font-size:var(--type-size-caption);color:var(--color-muted-ink);justify-content:center;align-items:center;display:flex}button.spine:hover,button.spine:focus-visible{transform:translateY(calc(-1 * var(--motion-hover-lift-px))) scale(var(--motion-hover-scale));box-shadow:var(--shadow-lifted-book);z-index:1}button.spine.pulled{transform:translateY(calc(-1 * var(--motion-search-pull-lift-px))) scale(var(--motion-search-pull-scale));transition-duration:var(--motion-search-pull-duration-ms);box-shadow:var(--shadow-lifted-book);z-index:2}.spine.reserved{color:var(--color-reservation-outline);border:calc(var(--component-bookshelf-reservation-stroke-width) * 1px) dashed var(--color-reservation-outline);box-shadow:none;background:0 0}.button{min-height:var(--component-bookshelf-minimum-book-hit-target);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-paper);border-radius:var(--radius-control);font-size:var(--type-size-caption);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button.secondary{color:var(--color-accent);border-color:var(--color-border);background:0 0}.button[aria-pressed=true]{border-color:var(--color-focus);color:var(--color-focus)}.results{margin-top:var(--space-xxl)}.results ul{padding:0;list-style:none}.results li{justify-content:space-between;align-items:center;gap:var(--space-md);padding-block:var(--space-md);border-top:1px solid var(--color-border);display:flex}.results li span:not(.sr-only){color:var(--color-muted-ink);font-size:var(--type-size-caption);display:block}.result-actions{gap:var(--space-sm);flex-shrink:0;display:flex}.theme-note{background:var(--color-paper);border:1px solid var(--color-border);padding:var(--space-lg);margin-top:var(--space-xl);border-radius:var(--radius-panel)}code{font-family:var(--font-record);font-size:var(--type-size-caption)}.book-dialog{width:calc(100% - 2 * var(--component-page-content-gutter));max-width:var(--component-borrowing-card-max-width);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-paper);color:var(--color-ink);box-shadow:var(--shadow-panel);padding:0}.book-dialog::backdrop{background:color-mix(in srgb, var(--color-ink) 55%, transparent)}.book-dialog[open]{animation:book-open var(--motion-book-open-duration-ms) var(--motion-easing)}@keyframes book-open{0%{opacity:0;transform:translateY(var(--motion-hover-lift-px))}to{opacity:1;transform:translateY(0)}}.close-dialog{margin:var(--space-md);float:right}.open-book{clear:both;grid-template-columns:1fr 1fr;display:grid}.record-page,.detail-page{padding:var(--space-xl);min-width:0}.record-page{box-shadow:var(--shadow-page-inset)}.record-page h2{font-family:var(--font-record);font-size:var(--type-size-title)}table{border-collapse:collapse;width:100%;font-family:var(--font-record);font-size:var(--type-size-caption)}th,td{text-align:left;padding:var(--space-sm) var(--space-xs);height:var(--component-borrowing-card-row-height);border-bottom:1px solid color-mix(in srgb, var(--color-ink) calc(var(--component-borrowing-card-rule-opacity) * 100%), transparent)}th{color:var(--color-muted-ink);font-weight:400}.detail-page h2{font-size:var(--type-size-display);margin-top:var(--space-xl)}.book-author{font-family:var(--font-display);font-style:italic}.book-status{color:var(--color-accent);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-xs) var(--space-sm);text-transform:capitalize;font-size:var(--type-size-caption);display:inline-block}.detail-note{margin-top:var(--space-xl)}.empty-page{max-width:40rem;padding:var(--space-xl);margin:15vh auto}.sr-only,.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:10;background:var(--color-paper);padding:var(--space-md);position:fixed}@media (max-width:48rem){.masthead{min-height:6rem;padding-block:var(--space-md);gap:var(--space-sm);flex-wrap:wrap}.masthead>.eyebrow{font-size:.65rem}.landing{gap:var(--space-md);grid-template-columns:1fr}.hero-art{width:100%;max-width:28rem;margin:auto;padding-inline:0}.book-row{padding-inline:var(--space-sm)}.decorative-books .spine{width:3rem}.results li{flex-direction:column;align-items:start}.open-book{grid-template-columns:1fr}.record-page{box-shadow:none;border-bottom:1px solid var(--color-border)}.record-page,.detail-page{padding:var(--space-lg)}}@media (prefers-reduced-motion:reduce){.spine,button.spine:hover,button.spine:focus-visible,button.spine.pulled{transition-duration:var(--motion-reduced-motion-duration-ms);transform:none}.book-dialog[open]{animation:none}}
