.bc-case{--s:.8;border-radius:4px 4px 0 0;grid-template-rows:30px auto;grid-template-columns:14px minmax(0,1fr) 14px;margin:2rem 0 1.5rem;display:grid;box-shadow:0 22px 40px -12px #0000008c}@media (min-width:560px){.bc-case{--s:1.1;grid-template-rows:40px auto;grid-template-columns:26px minmax(0,1fr) 26px}}.bc-frame-top{background:url(/bookcase/frame-wood.jpg) 50%/auto 100% repeat-x;border-radius:4px 4px 0 0;grid-column:1/-1}.bc-frame-side{background:url(/bookcase/frame-wood-upright.jpg) 50%/100% repeat-y}.bc-frame-side.is-right{background-position:50% -37em;transform:scaleX(-1)}.bc-shelves{background-color:#3a2a1e;background-image:url(/bookcase/walnut-shelf.jpg);background-repeat:repeat;padding:0 1rem;overflow:hidden;box-shadow:inset 0 18px 18px -10px #000000bf,inset 10px 0 14px -8px #00000080,inset -10px 0 14px -8px #00000080}@media (min-width:560px){.bc-shelves{padding:0 2rem}}.bc-shelf{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.bc-shelf>li{margin:0;padding:0}.bc-slot{perspective:1100px;align-items:flex-end;display:flex;position:relative}.bc-book{cursor:pointer;transform-style:preserve-3d;background:0 0;border:0;padding:0;transition:transform .3s;display:block;position:relative;transform:rotateY(26deg)}.bc-book:hover,.bc-book:focus-visible{transform:rotateY(8deg)translateY(-8px)}.bc-book:focus-visible{outline:3px solid var(--highlight);outline-offset:6px}.bc-spine{transform-origin:0;height:100%;position:absolute;top:0;left:0}.bc-cover{background:#fff;border-radius:1px 3px 3px 1px;position:absolute;inset:0;overflow:hidden;box-shadow:0 14px 18px #0006}.bc-cover img,.bc-leaf-front img{object-fit:cover;width:100%;height:100%}.bc-cover-title{background:var(--text);color:#fff;text-align:center;justify-content:center;align-items:center;height:100%;padding:.5rem;font-size:13px;line-height:1.2;display:flex}.bc-cover-title.is-large{padding:1rem;font-size:20px}.bc-label{z-index:10;width:max-content;max-width:calc(100% + var(--gap) * .6);-webkit-line-clamp:2;font-family:Arial Narrow,Roboto Condensed,Arial,sans-serif;font-weight:700;font-size:calc(9px * var(--s));line-height:calc(11.5px * var(--s));letter-spacing:.12em;color:#fff;text-wrap:balance;text-shadow:0 -.5px #000000e6,0 .6px #ffffff59;background:linear-gradient(#3a3a3a 0%,#151515 35%,#0b0b0b 100%);border-radius:3px;-webkit-box-orient:vertical;padding:0 .6em;display:-webkit-box;position:absolute;left:0;overflow:hidden;box-shadow:0 1px 1.5px #0000008c,inset 0 .5px #ffffff40}@media (min-width:560px){.bc-label.is-wide{max-width:calc(200% + var(--gap) * 2)}}.bc-label.is-two-lines{font-size:calc(7.8px * var(--s));line-height:calc(8.6px * var(--s))}.bc-word{white-space:nowrap}.bc-letter{display:inline-block}.bc-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}.bc-sort{justify-content:flex-end;align-items:center;gap:.6rem;margin:2rem 0 -1rem;font-size:.92rem;display:flex}.bc-sort label{font-weight:600}.bc-sort select{color:var(--text);font:inherit;background:#fff;border:1px solid #8a9499;border-radius:6px;padding:.45rem .75rem}.bc-sort select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.bc-dialog{background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.bc-dialog::backdrop{background:0 0}.bc-backdrop{opacity:0;background:#0e161ab8;position:absolute;inset:0}.bc-flyer{pointer-events:none;transform-style:preserve-3d;position:absolute}.bc-leaf{transform-origin:0;transform-style:preserve-3d;position:absolute;inset:0}.bc-leaf-front{backface-visibility:hidden;background:#fff;border-radius:1px 4px 4px 1px;position:absolute;inset:0;overflow:hidden}.bc-page{pointer-events:auto;cursor:pointer;color:var(--text);flex-direction:column;display:flex;position:absolute;inset:0;box-shadow:0 30px 60px #00000073}.bc-page.is-right{border-radius:2px 6px 6px 2px}.bc-page.is-left{backface-visibility:hidden;border-radius:6px 2px 2px 6px;padding:2.5rem 2.25rem;overflow-y:auto}.bc-page:focus-visible,.bc-page-body:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.bc-close-row{justify-content:flex-end;padding:.5rem;display:flex}.bc-close{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.5rem;display:inline-flex}.bc-close:hover{background:#0000000d}.bc-close:focus-visible{outline:3px solid var(--accent)}.bc-page-body{flex-direction:column;flex:1;min-height:0;padding:0 2.25rem 1.5rem;display:flex;overflow-y:auto}@media (max-width:639px){.bc-page-body{padding:0 1.5rem 1.5rem}}.bc-narrow-title{border-bottom:1px solid #0000001a;margin-bottom:1.25rem;padding-bottom:1.25rem}.bc-open-title{font-family:var(--font-source-serif), Georgia, serif;margin:0;font-size:1.65rem;font-weight:600;line-height:1.2}.bc-open-subtitle{color:var(--text-muted);margin:.5rem 0 0;font-size:.95rem;line-height:1.4}.bc-open-by{margin:1rem 0 0;font-size:.92rem;font-weight:600}.bc-open-year{color:var(--text-muted);font-weight:400}.bc-open-roles{flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.bc-open-roles li{background:var(--bg-tint);color:var(--accent-hover);border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:600}.bc-open-quote{border-left:3px solid var(--accent);font-family:var(--font-source-serif), Georgia, serif;margin:0 0 1rem;padding:0 0 0 1rem;font-size:1rem;font-style:italic;line-height:1.55}.bc-open-note{margin:0;font-size:.92rem;line-height:1.6}.bc-open-about{margin-top:1.25rem}.bc-open-about:first-child{margin-top:0}.bc-open-about p{margin:.5rem 0 0;font-size:.92rem;line-height:1.6}.bc-open-about p:first-of-type{margin-top:.4rem}.bc-open-links{margin-top:1.5rem}.bc-open-about h3,.bc-open-links h3{color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:600}.bc-open-links ul{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.bc-open-links a{color:var(--text);background:#ffffffb3;border:1px solid #00000026;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.82rem;font-weight:600;display:inline-flex}.bc-open-links a:hover{color:var(--accent-hover);background:#fff}.bc-missing{color:var(--text-muted)}
