body.bookshelf-page .library-atelier{background:#fff;color:#111;padding:48px 0 60px;text-align:center}
body.bookshelf-page .library-atelier h1{font:500 38px/1.15 var(--font-display,Arial,sans-serif)!important;letter-spacing:0!important;margin:0 20px 16px}
.library-atelier-intro{font:15px/1.6 var(--font-ui,Arial,sans-serif);color:#606060;margin:0 20px 24px}
.library-atelier-stage{height:380px;position:relative;touch-action:pan-y;max-width:1400px;margin:0 auto}
.library-atelier-stage canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .35s}
.library-atelier-stage.is-ready canvas{opacity:1}
.library-atelier-stage:focus-visible{outline:2px solid #111;outline-offset:-5px}
.library-atelier-fallback{position:absolute;inset:12px 0;display:flex;justify-content:center;align-items:center}
.library-atelier-fallback[hidden]{display:none}
.library-atelier-fallback img{height:100%;max-width:90%;object-fit:contain}
.library-atelier-selection{display:grid;grid-template-columns:48px minmax(0,520px) 48px;justify-content:center;align-items:center;gap:18px;padding:16px 24px 0}
.library-atelier-selection button{width:48px;height:48px;min-width:0;min-height:44px;padding:0;border:0;background:transparent;color:#222;border-radius:0;cursor:pointer;font:24px var(--font-ui,Arial,sans-serif)}
.library-atelier-selection button:disabled{opacity:.25;cursor:default}
.library-atelier-selection button[hidden]{display:none}
.library-atelier-selection button:focus-visible,.library-atelier-selection a:focus-visible{outline:2px solid #111;outline-offset:4px}
.library-atelier-caption{min-height:120px;min-width:0}
.library-atelier-caption p{margin:0 0 10px;font:11px/1.5 var(--font-ui,Arial,sans-serif);text-transform:uppercase;color:#606060}
body.bookshelf-page .library-atelier-caption h2{margin:0 0 16px;font:400 28px/1.15 var(--font-serif,Georgia,serif)!important;letter-spacing:0!important;overflow-wrap:anywhere}
.library-atelier-caption a{display:inline-block;color:#111;font:12px/1.5 var(--font-ui,Arial,sans-serif);text-transform:uppercase;text-decoration:underline;text-underline-offset:7px;padding:10px 0}
@media(max-width:640px){body.bookshelf-page .library-atelier{padding:36px 0 36px}body.bookshelf-page .library-atelier h1{font-size:31px!important}.library-atelier-stage{height:295px}.library-atelier-selection{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;padding:12px 16px 0}.library-atelier-selection button{width:44px}body.bookshelf-page .library-atelier-caption h2{font-size:24px!important}.library-atelier-caption{min-height:140px}}
@media(prefers-reduced-motion:reduce){.library-atelier-stage canvas{transition:none}}
.library-atelier-display{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:center;padding:0 32px;gap:24px}
.library-atelier-display .library-atelier-stage{width:100%;height:440px;min-width:0}
.library-atelier-display .library-atelier-selection{padding:0;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;text-align:left}
.library-atelier-caption .library-atelier-description{font:15px/1.7 var(--font-ui,Arial,sans-serif);text-transform:none;min-height:78px;color:#444;overflow-wrap:anywhere}
.library-atelier-caption .library-atelier-price{font:18px/1.5 var(--font-serif,Georgia,serif);color:#111;text-transform:none;margin:20px 0 4px}
.library-atelier-caption .library-atelier-count{margin:20px 0 0;font-variant-numeric:tabular-nums}
@media(max-width:900px){.library-atelier-display{grid-template-columns:minmax(0,1fr);padding:0 16px;gap:0}.library-atelier-display .library-atelier-stage{height:350px}.library-atelier-display .library-atelier-selection{width:100%;max-width:560px;margin:0 auto;text-align:center}.library-atelier-caption .library-atelier-description{min-height:0}.library-atelier-caption{min-height:270px}}
