:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;background:#f6f1e8;color:#201a17}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden;background:linear-gradient(180deg,#f9f4ee,#efe8dc)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.status-message{display:flex;align-items:center;justify-content:center;height:100%;color:#6f5f52}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#6f5f52}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,4vw,3rem)}.author{color:#5d534d;font-weight:600}.app-shell{position:relative;width:100vw;height:100vh;overflow:hidden}.carousel{display:flex;width:100vw;height:100vh;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.carousel-panel{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start;overflow-y:auto;position:relative}.mode-inner{max-width:1200px;margin:0 auto;padding:48px 20px 60px}.bookshelf{display:grid;gap:36px}.shelf-row{display:grid}.shelf-case{background:linear-gradient(180deg,#5d3a100d,#5d3a1024);border-radius:10px 10px 4px 4px;padding:20px 16px 0;cursor:pointer}.shelf-case:hover{background:linear-gradient(180deg,#5d3a1014,#5d3a102e)}.shelf-case:focus-visible{outline:2px solid #a9761a;outline-offset:2px}.shelf-stacks{columns:260px;column-gap:18px;padding-bottom:4px}.shelf-ledge{position:relative;height:14px;border-radius:0 0 6px 6px;background:linear-gradient(180deg,#8a5a2b,#6b4420 55%,#4f3117);box-shadow:0 6px 10px #201a1740,inset 0 2px #ffffff26}.shelf-label{position:absolute;left:18px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#3c2a10;background:linear-gradient(180deg,#f3d68a,#d3a04a 45%,#9c6b1f);border:1px solid rgba(255,241,199,.7);box-shadow:0 2px 5px #0006,inset 0 1px #ffffff80;white-space:nowrap}.shelf-count{font-size:10px;font-weight:700;color:#5c4118;letter-spacing:normal;text-transform:none}.spine-wrap{position:relative;display:flex;break-inside:avoid}.spine-wrap:focus{outline:none}.spine-wrap:focus-visible .spine{outline:2px solid #a9761a;outline-offset:2px}.spine{display:flex;align-items:center;padding:0 12px;border-radius:2px;box-shadow:0 1px #00000059,inset 0 1px #ffffff24;cursor:pointer}.spine-title{color:#f3ead9;font-size:12px;font-weight:600;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.highlight-mode{position:relative;width:100%;height:100%;overflow:hidden;perspective:1800px}.highlight-empty{display:flex;align-items:center;justify-content:center;color:#cfc3b4}.highlight-page{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;transform-origin:right center;animation:page-turn-in .6s cubic-bezier(.22,1,.36,1) both;cursor:pointer}@keyframes page-turn-in{0%{transform:rotateY(85deg);opacity:.2}to{transform:rotateY(0);opacity:1}}.highlight-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:blur(60px) saturate(1.4) brightness(.55);transform:scale(1.2)}.highlight-cover-frame{position:absolute;top:0;right:0;bottom:0;left:0}.highlight-cover{width:100%;height:100%;object-fit:contain;object-position:center}.highlight-ribbon-clip{position:absolute;overflow:hidden;z-index:3;pointer-events:none}.highlight-ribbon{position:absolute;top:84px;right:-162px;width:600px;padding:14px 0;text-align:center;white-space:pre-line;line-height:1.08;transform:rotate(45deg);background:linear-gradient(180deg,#f3d68a,#d3a04a 45%,#9c6b1f);color:#3c2a10;font-size:36px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 6px 18px #0006;border:3px solid rgba(255,241,199,.6)}.highlight-overlay{position:absolute;left:0;right:0;bottom:0;padding:28px 32px 32px;background:linear-gradient(180deg,transparent 0%,rgba(13,10,8,.55) 40%,rgba(13,10,8,.92) 100%);color:#f6f1e8}.highlight-overlay h2{font-size:clamp(1.4rem,3vw,2.2rem);margin-bottom:6px}.highlight-overlay .author{color:#d8c8ac}.highlight-overlay .rating{color:#e8b84b;font-weight:600;margin:6px 0}.highlight-overlay .user-rating{color:#e8b84b;font-size:18px;letter-spacing:.1em;margin:2px 0 6px}.highlight-overlay .description{max-width:640px;font-size:14px;color:#e7dfd2;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.highlight-close{position:absolute;top:16px;right:16px;z-index:5;width:36px;height:36px;border-radius:50%;border:none;background:#00000073;color:#fff;font-size:20px;line-height:1;cursor:pointer}.highlight-progress{position:absolute;bottom:14px;left:20px;right:20px;display:flex;gap:4px;z-index:5}.highlight-dot{flex:1;height:3px;border-radius:2px;background:#ffffff4d}.highlight-dot.active{background:#f6f1e8}.pairing-screen{display:flex;align-items:center;justify-content:center}.pairing-card{text-align:center;padding:40px}.pairing-instructions{max-width:460px;margin:0 auto;color:#6f5f52}.pairing-code{margin:28px 0 0;font-size:clamp(3rem,12vw,8rem);font-weight:700;letter-spacing:.12em;font-variant-numeric:tabular-nums}.pairing-pair{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,56px);margin-top:28px;flex-wrap:wrap}.pairing-qr{width:clamp(140px,18vw,260px);height:auto;border-radius:12px;background:#fff;padding:10px;box-shadow:0 8px 24px #201a172e}.pairing-pair .pairing-code{margin:0}
