/* KB_BOOKS – Apple Books / Play Books inspired, warm paper surface */
.bk{--ink:#1c1917;--mut:#78716c;--line:#e7e2da;--card:#fff;--acc:#c2410c;--acc2:#9a3412;--bg:#faf7f2;position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Apple SD Gothic Neo","Noto Sans KR",sans-serif;padding-top:env(safe-area-inset-top,0)}
.bk [hidden],.bk[hidden]{display:none!important}
.bk *{box-sizing:border-box}
.bk-bar{display:flex;align-items:center;gap:6px;padding:6px 8px 2px;min-height:52px}
.bk-title{flex:1;margin:0;font:800 1.45rem/1.1 ui-serif,Georgia,"Noto Serif","Nanum Myeongjo",serif;letter-spacing:-.01em}
.bk-ib{all:unset;cursor:pointer;display:inline-grid;place-items:center;min-width:44px;height:44px;border-radius:50%;color:var(--ink);font-weight:700}
.bk-ib:hover{background:#0000000d}.bk-ib:focus-visible,.bk-chip:focus-visible,.bk-cat:focus-visible,.bk-card:focus-visible,.bk-row:focus-visible,.bk-btn:focus-visible{outline:3px solid #fdba74;outline-offset:2px}
.bk-search{display:flex;align-items:center;gap:8px;margin:4px 14px 8px;padding:0 12px;height:46px;border-radius:14px;background:#efe9df;color:var(--mut)}
.bk-search input{all:unset;flex:1;min-width:0;font-size:1rem;color:var(--ink)}
.bk-search input::-webkit-search-cancel-button{display:none}
.bk-x{all:unset;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;font-size:1.4rem;color:var(--mut)}
.bk-langs,.bk-cats{display:flex;gap:8px;overflow-x:auto;padding:0 14px 8px;scrollbar-width:none;flex:none}
.bk-langs::-webkit-scrollbar,.bk-cats::-webkit-scrollbar,.bk-strip::-webkit-scrollbar{display:none}
.bk-chip{all:unset;cursor:pointer;flex:none;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:.9rem}
.bk-chip[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.bk-cat{all:unset;cursor:pointer;flex:none;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:.86rem;font-weight:600;color:#44403c}
.bk-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 0 calc(24px + env(safe-area-inset-bottom,0));-webkit-overflow-scrolling:touch}
.bk-shelf{margin:8px 0 14px}.bk-shelf h2,.bk-rh{font:700 1.12rem/1.2 system-ui,sans-serif;margin:6px 16px 10px}
.bk-strip{display:flex;gap:12px;overflow-x:auto;padding:0 16px 4px;scroll-snap-type:x proximity;scroll-padding-inline:16px}
.bk-card{all:unset;cursor:pointer;flex:none;width:112px;scroll-snap-align:start;display:flex;flex-direction:column;gap:4px}
.bk-strip.small .bk-card{width:92px}
.bk-cv{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:6px 10px 10px 6px;background:#e7e2da;box-shadow:0 1px 2px #0002,0 6px 14px -6px #0004,inset 3px 0 0 #00000014}
.bk-cvt{--h:20;position:relative;overflow:hidden;padding:12px 9px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(160deg,hsl(var(--h) 45% 38%),hsl(calc(var(--h) + 40) 50% 22%));color:#fff}
.bk-cvt::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:#0000002a}
.bk-cvtt{font:700 .82rem/1.2 ui-serif,Georgia,serif;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;padding-left:4px}
.bk-cvta{font-size:.66rem;opacity:.85;padding-left:4px}
.bk-cv.big{width:108px;flex:none}.bk-cvt.big .bk-cvtt{font-size:.86rem}
.bk-ct{font-weight:600;font-size:.84rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bk-ca{font-size:.76rem;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-res{margin:0 0 10px}.bk-res h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin:12px 16px 6px}
.bk-res.empty h3{opacity:.6}
.bk-list{display:flex;flex-direction:column}
.bk-row{all:unset;cursor:pointer;display:flex;gap:12px;padding:9px 16px;align-items:flex-start;border-bottom:1px solid #efe9df}
.bk-row:active{background:#f3ede4}
.bk-row .bk-cv{width:54px;flex:none;border-radius:3px 6px 6px 3px}.bk-row .bk-cvt{padding:5px 4px}.bk-row .bk-cvtt{font-size:.5rem;-webkit-line-clamp:5}.bk-row .bk-cvta{display:none}
.bk-rt{display:flex;flex-direction:column;gap:2px;min-width:0}.bk-rt strong{font-size:.95rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bk-rt small{color:var(--mut);font-size:.8rem}.bk-rt .bk-rd{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bk-rt em{font-style:normal;font-size:.7rem;color:var(--acc2);font-weight:700}
.bk-load,.bk-none,.bk-err{margin:6px 16px;color:var(--mut);font-size:.9rem}.bk-err{color:#b91c1c}
.bk-load::before{content:"";display:inline-block;width:14px;height:14px;border:2px solid #d6d3d1;border-top-color:var(--acc);border-radius:50%;margin-right:8px;vertical-align:-2px;animation:bksp 1s linear infinite}
@keyframes bksp{to{transform:rotate(360deg)}}
.bk-lnk{all:unset;cursor:pointer;color:var(--acc2);font-weight:600;text-decoration:underline}
.bk-legal,.bk-srcs{margin:10px 16px;font-size:.78rem;color:var(--mut)}.bk-srcs a{color:var(--acc2);margin-right:10px}
.bk-sheet{position:fixed;inset:0;z-index:40;background:#0006;display:flex;align-items:flex-end;justify-content:center;animation:bkfade .15s}
.bk-sh{width:min(560px,100%);max-height:88dvh;overflow:auto;background:#fff;border-radius:22px 22px 0 0;padding:8px 18px calc(20px + env(safe-area-inset-bottom,0));animation:bkup .22s cubic-bezier(.2,.8,.2,1)}
@media(min-width:700px){.bk-sheet{align-items:center}.bk-sh{border-radius:22px}}
@keyframes bkup{from{transform:translateY(40px);opacity:.4}}@keyframes bkfade{from{opacity:0}}
.bk-grab{width:40px;height:5px;border-radius:9px;background:#d6d3d1;margin:2px auto 12px}
.bk-shtop{display:flex;gap:16px;align-items:flex-start}.bk-shtop h2{font:700 1.2rem/1.25 ui-serif,Georgia,serif;margin:2px 0 6px}
.bk-sha{margin:0;color:#57534e}.bk-shs{margin:4px 0 0;font-size:.8rem;color:var(--acc2);font-weight:700}
.bk-acts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 10px}
.bk-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:12px;background:#f5f0e8;font-weight:700;font-size:.95rem;color:var(--ink)}
.bk-btn.pri{background:var(--acc);color:#fff;flex:1 1 100%}.bk-btn.ghost{background:#fff;border:1px solid var(--line)}
.bk-dls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 8px;font-size:.85rem;color:var(--mut)}
.bk-fmt{all:unset;cursor:pointer;padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:.8rem;color:var(--ink)}
.bk-lic{font-size:.78rem;color:var(--mut);margin:10px 0 6px}
.bk-reader{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:#fffdf8;color:#1c1917;padding-top:env(safe-area-inset-top,0)}
.bk-reader[data-th=sepia]{background:#f4ecd8;color:#433422}.bk-reader[data-th=dark]{background:#121212;color:#d6d3d1}
.bk-reader[data-th=dark] .bk-ib{color:#e7e5e4}.bk-reader[data-th=dark] .bk-rbar{border-color:#262626}
.bk-rbar{display:flex;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid #0000000f}
.bk-rbar strong{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}
.bk-rbar .bk-ib{font-size:1rem;color:inherit}
.bk-rprog{height:2px;background:#0000000a}.bk-rprog i{display:block;height:100%;width:0;background:var(--acc)}
.bk-rtext{flex:1;overflow-y:auto;padding:18px max(20px,calc(50% - 340px)) calc(60px + env(safe-area-inset-bottom,0));font-family:ui-serif,Georgia,"Noto Serif","Nanum Myeongjo","Times New Roman",serif;line-height:1.7;font-size:19px;overscroll-behavior:contain;outline:none;-webkit-overflow-scrolling:touch}
.bk-rtext p{margin:0 0 .9em;text-align:start}.bk-rtext h1{font-size:1.5em;line-height:1.2;margin:.2em 0 .3em}.bk-rtext h2{font-size:1.2em;margin:1.4em 0 .6em}
.bk-rhead{text-align:center;margin:0 0 1.4em}.bk-rhead p{color:var(--mut);margin:0}
.bk-rtext a{color:var(--acc2)}.bk-rtext .c{text-align:center}.bk-rtext table{max-width:100%;border-collapse:collapse}.bk-rtext td{vertical-align:top;padding:2px 6px}
.bk-rtext .bk-wl{font-weight:600}.bk-rsrc{font-size:.8em;margin-top:2em;text-align:center}.bk-tip{font:600 .8rem system-ui,sans-serif;color:var(--mut)}
.bk-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0));transform:translate(-50%,20px);background:#1c1917;color:#fff;padding:10px 16px;border-radius:12px;font-size:.9rem;opacity:0;pointer-events:none;transition:.2s;z-index:60;max-width:90vw}
.bk-toast.on{opacity:1;transform:translate(-50%,0)}
@media(min-width:900px){.bk-strip{flex-wrap:wrap;overflow:visible}.bk-card{width:128px}.bk-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}
@media(prefers-reduced-motion:reduce){.bk-sheet,.bk-sh{animation:none}}
