:root{--ink:#294148;--muted:#6d7f7d;--paper:#fffdf4;--mist:#dcefe4;--line:#b9d8d0;--accent:#df836a;--deep:#3c7781;--pale:#e6f2dd;--shadow:0 16px 40px rgba(54,105,102,.13)}
.site-header{background:rgba(255,253,244,.94);border-color:#c4dfd4}.hero{background:#e8f3e7;border-color:#b9d8d0}.primary{background:#3c7781}.primary:hover{background:#2f626b}.store-section{background:#fffdf4}.shelf-section{background:#e7f1df}.principles{background:#fff0dc}.scene-hotspot{background:rgba(255,253,244,.91);border-color:#b9d8d0}.scene-copy h1 em{color:#ffe28c}.cart-button{border-color:#b9d8d0}.storefront-art{background-image:url('assets/bookstore-window-spring.png')}.explore-stage{background-image:url('assets/bookstore-window-spring.png')}
.drag-handle{cursor:grab;user-select:none}.drag-handle:active{cursor:grabbing}.drag-hint{font-size:.58rem;font-weight:400;color:var(--accent);margin-left:5px}.request-card.is-dragging{box-shadow:0 24px 55px rgba(54,105,102,.22);z-index:20}
.resident-cat .cat-art{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}.resident-cat.cat-sleep .cat-art{transform-origin:bottom center}.resident-cat.cat-look .cat-art{animation:catArtLook 3.5s ease-in-out infinite}.resident-cat.cat-sleep .cat-art{animation:catArtSleep 3s ease-in-out infinite}@keyframes catArtLook{0%,100%{transform:rotate(0)}50%{transform:rotate(-3deg) translateY(-4px)}}@keyframes catArtSleep{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.96)}}

/* Editorial Korean typesetting: generous breathing room, quiet hierarchy. */
body{letter-spacing:-.012em;line-height:1.72}
p,button,label,small{word-break:keep-all}
h1,h2,h3,strong{word-break:keep-all}
.scene-copy h1{line-height:1.12;letter-spacing:-.045em}
.scene-copy p:last-child,.hero-lede{line-height:1.85;letter-spacing:-.018em}
.scene-hotspot span{letter-spacing:-.025em}
.scene-hotspot small{letter-spacing:-.01em}
.section-heading h2,.principles h2,.scene-panel h2,.cart-head h2{letter-spacing:-.045em;line-height:1.18}
.shop-meta h3,.panel-book h3,.candidate h3{letter-spacing:-.025em;line-height:1.42}
button,input,textarea{letter-spacing:-.02em}
.request-card textarea{line-height:1.75}
.privacy,.source-note,.shop-meta p{line-height:1.6}
