/* A full-screen book, with the live third-person sofa scene in the foreground. */
.living-open .page{animation:none}
.living-window:has(.is-reading){grid-template-rows:minmax(0,1fr);padding:0;background:#29241c}
.living-window:has(.is-reading)>header,.living-window:has(.is-reading)>.living-bottom,.living-window:has(.is-reading)>.living-notice{display:none}
.is-reading>.living-joystick,.is-reading>.living-wheel-slot,.is-reading>.living-place,.is-reading>.living-hand-status,.is-reading>.living-camera,.is-reading>.living-welcome,.is-reading>.living-invitation,.is-reading>.living-nearby,.is-reading>.face-view-close{display:none!important}
.living-reading-open .chat-ball,.living-reading-open .chat-bubble,.living-reading-open .chat-panel,.living-reading-open [data-chat-ball]{display:none!important}
.living-reader{position:absolute;inset:0;z-index:8;color:#57412c;background:radial-gradient(ellipse at 50% 35%,#736148 0,#3c3227 66%,#221e18 100%);isolation:isolate}
.living-reader[hidden]{display:none}
.living-reader::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(92deg,#ad977a08 0 1px,transparent 1px 5px);pointer-events:none}
.living-reader-exit{position:absolute;right:max(12px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));z-index:15;width:28px;height:28px;min-height:28px!important;padding:0;border:1px solid #e1cd9e55;border-radius:50%;background:#312a22b3;color:#f1e2bf;font:22px/1 Georgia,serif;cursor:pointer}
.living-book-stage{position:absolute;inset:max(36px,env(safe-area-inset-top)) clamp(12px,3.8vw,58px) 21%;display:grid;align-items:stretch;min-height:0}
.living-book{position:relative;min-width:0;min-height:0;width:100%;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:8px solid var(--book-cover,#56664b);border-bottom-width:12px;border-radius:10px 12px 18px 16px;background:#c5aa78;box-shadow:0 2px 0 #bca17a,0 5px 0 #9b805b,0 8px 0 #b7a07c,0 12px 0 #806548,0 22px 45px #0b090880,inset 0 0 0 2px #d9bf82;animation:living-page-open .28s ease-out}
.living-book::after{content:"";position:absolute;inset:0;border:1px solid #9f7f4e55;border-radius:4px;pointer-events:none;box-shadow:inset 0 0 35px #79532335;z-index:2}
.living-book-leaf{position:relative;min-width:0;min-height:0;margin:0;padding:clamp(13px,3vh,30px) clamp(16px,3.2vw,48px) 38px;background:radial-gradient(ellipse at 18% 28%,#d5ba8544,transparent 34%),radial-gradient(ellipse at 75% 70%,#b5925a26,transparent 45%),repeating-linear-gradient(4deg,#7c5a2a03 0 1px,transparent 1px 4px),linear-gradient(90deg,#d6ba86 0,#eddbb5 6%,#f0dfbc 80%,#cfb27e 98%,#9c7f50);box-shadow:inset 2px 0 9px #8b663038;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b69a6c transparent;overscroll-behavior:contain}
.living-book-leaf+article{background:radial-gradient(ellipse at 80% 30%,#d5ba8544,transparent 38%),radial-gradient(ellipse at 30% 85%,#b5925a26,transparent 40%),repeating-linear-gradient(4deg,#7c5a2a03 0 1px,transparent 1px 4px),linear-gradient(90deg,#9c7f50,#cfb27e 2%,#f0dfbc 20%,#eddbb5 94%,#d6ba86);border-left:1px solid #7b5a3155}
.living-book-leaf>small{display:block;min-height:22px;text-transform:uppercase;letter-spacing:1.9px;font:9px/1.5 Georgia,serif;text-align:center;border-bottom:1px solid #8d683340;padding-bottom:10px;color:#886b41}
.living-book-ornament{text-align:center;color:#9d7848;font:28px/1.6 Georgia,serif}
.living-book-leaf>p{font:clamp(13px,1.6vw,19px)/1.85 Georgia,'Times New Roman',serif;text-align:justify;hyphens:auto;white-space:normal;overflow-wrap:break-word;margin:7px 0 26px;color:#533e29;text-shadow:0 1px #fff0c522}
.living-book-leaf:first-child>p:first-letter{font-size:3.3em;float:left;line-height:.82;padding:7px 8px 0 0;color:#716338}
.living-book-leaf>i{position:sticky;display:block;bottom:0;text-align:center;font:11px Georgia,serif;color:#8c714b;pointer-events:none}
.living-book-ribbon{position:absolute;top:-9px;left:51%;width:16px;height:70px;background:linear-gradient(90deg,#425c42,#70815a,#425c42);border-inline:1px solid #c8ac6555;clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%);filter:drop-shadow(2px 3px 3px #3b2b2533);z-index:3}
.living-page-edge{position:absolute;top:10%;bottom:10%;width:28px;border:0;background:none;color:#765c35;padding:0;cursor:pointer;z-index:4;min-height:0!important}
.living-page-edge.is-prev{left:0}.living-page-edge.is-next{right:0}.living-page-edge>span{font:32px Georgia,serif;opacity:.25;transition:opacity .2s}.living-page-edge:hover>span,.living-page-edge:focus-visible>span{opacity:1}.living-page-edge:disabled{visibility:hidden}
.living-reader>footer{position:absolute;left:0;right:0;bottom:14%;text-align:center;color:#deccaa;pointer-events:none;font:10px Georgia,serif;letter-spacing:.7px}
.living-reader>footer p{font:italic 14px Georgia,serif;margin:7px 0;color:#e9d7af}.living-reader>footer a{pointer-events:auto;color:#b6a487;text-decoration:none;font:8px system-ui,sans-serif;letter-spacing:.4px}
.is-reading>canvas{position:absolute;z-index:10;left:0;bottom:0;width:100%;height:29%;pointer-events:none;filter:drop-shadow(0 12px 18px #0d0b0970)}
.living-book-loading{position:absolute;inset:20%;display:grid;align-content:center;justify-items:center;gap:18px;color:#e9d8b8;font:18px Georgia,serif;text-align:center}.living-book-loading button{border:1px solid #b9a784;border-radius:20px;padding:8px 20px;background:#ecdfc5;color:#57412c}
.living-hand-status{position:absolute;top:54px;left:16px;border-radius:14px;padding:8px 12px;background:#faf2e1e8;color:#7d6d6b;font-size:10px;pointer-events:none}.living-hand-status:empty{display:none}
@keyframes living-page-open{from{opacity:.4;transform:perspective(1400px) rotateX(2deg) scale(.99)}to{opacity:1;transform:none}}
.living-turn-layer{position:absolute;inset:0;z-index:3;perspective:1800px;pointer-events:none;isolation:isolate}
.living-turn-face{position:absolute;top:0;bottom:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#eddbb5}
.living-turn-face.is-back{transform:rotateY(180deg)}
.living-turn-face>.living-turn-paper{display:block!important;width:100%;height:100%;box-sizing:border-box;margin:0;border:0;overflow:hidden}
.living-turn-sheet{position:absolute;top:0;bottom:0;transform-style:preserve-3d;will-change:transform}
.living-turn-sheet .living-turn-face{border-radius:1px 12px 18px 1px;box-shadow:3px 5px 9px #38240c40}
.living-turn-sheet .living-turn-face::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#6d48172b,transparent 12%,#fff6df18 65%,#fff8dd50 86%,#76521f55 100%);box-shadow:inset -3px 0 4px #76521f33}
.living-turn-sheet .is-back::after{background:linear-gradient(90deg,#76521f55,#fff8dd45 14%,transparent 65%,#6d48172b)}
.living-turn-shadow{position:absolute;inset:0;background:linear-gradient(90deg,transparent 10%,#3d280a99 48%,#3d280a99 52%,transparent 90%);pointer-events:none;opacity:0}
@media(max-width:560px){.living-book-stage{inset:40px 10px 23%}.living-book{border-width:5px;border-bottom-width:8px;border-radius:6px 6px 12px 12px}.living-book-leaf{padding:15px 13px 30px}.living-book-leaf>small{font-size:7px;letter-spacing:.8px;min-height:30px;padding-bottom:6px}.living-book-leaf>p{font-size:13px;line-height:1.7}.living-book-ornament{font-size:23px;line-height:1.4}.living-book-ribbon{width:11px;height:46px}.living-reader>footer{bottom:15%;font-size:9px}.living-reader>footer p{font-size:12px}.living-page-edge{width:20px}.is-reading>canvas{height:27%}}
@media(max-height:480px){.living-book-stage{inset:20px 31% 24px 16px}.living-book{border-width:5px;border-bottom-width:8px}.living-book-leaf{padding:12px 18px 20px}.living-book-leaf>small{font-size:7px;letter-spacing:.7px;padding-bottom:5px}.living-book-ornament{font-size:20px;line-height:1.2}.living-book-leaf>p{font-size:13px;line-height:1.65;margin:5px 0 12px}.is-reading>canvas{left:69%;width:31%;height:65%;bottom:0}.living-reader>footer{left:70%;right:1%;bottom:67%;font-size:9px}.living-reader>footer p{font-size:12px;line-height:1.4}.living-reader>footer a{font-size:7px}.living-book-ribbon{height:42px}}
@media(prefers-reduced-motion:reduce){.living-book{animation:none}}
.living-reader>footer{top:max(13px,env(safe-area-inset-top));bottom:auto;left:42px;right:42px;display:flex;justify-content:center;align-items:center;gap:12px;font-size:9px;letter-spacing:.3px}
.living-reader>footer p{font-size:12px;margin:0}.living-reader>footer a{font-size:7px;opacity:.6}
@media(max-width:560px){.living-reader>footer a{display:none}.living-reader>footer{gap:9px}}
@media(max-height:480px){.living-reader>footer{top:4px;left:16px;right:31%;gap:12px;font-size:8px}.living-reader>footer p{font-size:10px}.living-reader>footer a{display:none}}
.living-book-leaf.is-pdf{padding:12px 12px 24px}.living-book-leaf.is-pdf>small{margin-bottom:10px}.living-book-leaf.is-pdf>canvas{display:block;background:#fff;box-shadow:0 1px 7px #6e532025}.living-book-source{font-size:8px;opacity:.65}
.living-book,.living-library,.living-library *{box-sizing:border-box}
@media(orientation:portrait){.living-book{grid-template-columns:minmax(0,1fr);max-width:660px;border-left-width:12px;border-radius:8px 14px 16px 8px;box-shadow:-3px 0 0 #b49a72,-6px 0 0 #80704e,0 4px 0 #bca17a,0 8px 0 #9b805b,0 12px 0 #b7a07c,0 22px 45px #0b090880}.living-book-leaf:nth-of-type(2){display:none}.living-book-leaf:first-child{padding:24px clamp(26px,7vw,48px) 32px;background:radial-gradient(ellipse at 18% 28%,#d5ba8544,transparent 34%),repeating-linear-gradient(4deg,#7c5a2a03 0 1px,transparent 1px 4px),linear-gradient(90deg,#b19461,#e6d0a3 4%,#f0dfbc 15%,#eddbb5 94%,#d6ba86)}.living-book-leaf>p{font-size:clamp(16px,2.2vw,20px);line-height:1.85;text-align:left;hyphens:none}.living-book-leaf>small{font-size:9px;letter-spacing:1.4px;min-height:0}.living-book-ribbon{left:auto;right:22px;height:53px}.living-book-ornament{font-size:29px}.living-book-leaf.is-pdf:first-child{padding:15px 12px 24px}.living-page-edge{width:25px}}
.living-table-add{position:absolute;z-index:4;width:32px;height:32px;min-height:32px!important;border:1px solid #eee3ca;border-radius:50%;background:#f7eddbef;color:#6a725c;box-shadow:0 3px 12px #382f3540;font:25px/1 Georgia,serif;transform:translate(-50%,-50%);cursor:pointer}.living-table-add[hidden]{display:none}.is-reading>.living-table-add,.is-reading>.living-library{display:none!important}
.living-library{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,calc(100% - 24px));max-height:calc(100% - 20px);overflow:auto;padding:30px 25px 22px;border:1px solid #d9cab1;border-radius:22px;background:#f5ecdd;box-shadow:0 12px 80px #1f2c3470;color:#655749;text-align:center}.living-library[hidden]{display:none}.living-library-close{position:absolute;right:10px;top:9px;border:0;border-radius:50%;width:28px;height:28px;background:#e7dccb;color:#7e6a58;font-size:20px}.living-library>small{font-size:9px;letter-spacing:1px;color:#96836c}.living-library h2{font:25px Georgia,serif;margin:13px 0 8px}.living-library>p{font:12px/1.7 system-ui,sans-serif;color:#8f7a66}.living-library-slots{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.living-library-slots section{display:grid;gap:12px;align-content:start;min-width:0}.living-library-slots section>span{font:11px Georgia,serif;color:#9b7b65}.living-library-cover{min-height:170px;display:grid;align-content:center;gap:20px;padding:18px;border:5px double #ceb88c;border-left:10px solid #473a3c55;border-radius:3px 8px 8px 3px;background:var(--cover);color:#f1dfb7;box-shadow:3px 4px 0 #c7b99a,0 9px 14px #6c584d1a;overflow-wrap:anywhere}.living-library-cover b{font:16px/1.4 Georgia,serif}.living-library-cover i{font:9px system-ui,sans-serif;opacity:.7}.living-library-upload,.living-library-empty{min-height:170px;border:1px dashed #b6aa92;border-radius:8px;display:grid;align-content:center;gap:12px;color:#a4957c;font-size:12px}.living-library-upload{cursor:pointer;position:relative;color:#7e8b6d;background:#e3e5d34d}.living-library-upload b{font:36px Georgia,serif;font-weight:400}.living-library-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.living-library-slots button{border:0;border-radius:14px;padding:8px;background:#e4d7cd;color:#8c7065;font-size:10px}.living-library-slots small{font-size:10px;color:#97836b}.living-library button:disabled,.living-library input:disabled{opacity:.4;cursor:wait}.living-library-message{min-height:20px;color:#9b6059!important}
@media(max-height:480px){.living-library{padding:15px 20px}.living-library h2{font-size:21px;margin:8px 0}.living-library-slots{margin:10px 0;gap:14px}.living-library-cover,.living-library-upload,.living-library-empty{min-height:110px}.living-library-cover{padding:10px}.living-library>p{margin:5px 0}}

/* A compact picker replaces the nearby book button in place. */
.living-nearby.is-book-picker{max-width:min(185px,calc(100% - 70px));color:#263b31;text-shadow:0 1px 2px #fff3dc,0 0 5px #fff3dc}
.living-nearby.is-book-picker>button{min-height:32px;padding:6px 9px;gap:7px;border-radius:10px;font-size:10px}
.living-nearby.is-book-picker>button svg{width:16px;height:16px}
.living-nearby.is-book-picker>button b{font-size:10px}
.living-nearby.is-book-picker:has(.living-book-choices)>button{background:transparent;border-color:transparent;backdrop-filter:none;box-shadow:none;width:100%;justify-content:space-between;padding:4px 0;color:inherit;text-shadow:inherit}
.living-book-choices{display:grid;gap:3px;max-height:min(165px,30dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#354b3988 transparent;background:transparent;touch-action:pan-y}
.living-book-choices>button{display:grid;gap:3px;min-height:34px;padding:6px 5px;border:0;border-radius:4px;background:transparent;color:inherit;text-align:left;text-shadow:inherit;cursor:pointer}
.living-book-choices>button b{font:12px/1.35 Georgia,serif;overflow-wrap:anywhere}.living-book-choices>button small{font:8px system-ui,sans-serif;letter-spacing:.3px;color:#35443c}
.living-book-choices>button:hover,.living-book-choices>button:focus-visible{background:#eee3ca16}.living-book-choices>button:disabled{opacity:.5;cursor:default}
.is-reading>.living-invitation.is-reading-request:not([hidden]){display:grid!important;z-index:16;top:45px;right:12px;max-width:min(230px,calc(100% - 24px));max-height:40%;box-sizing:border-box;padding:12px;border-radius:14px;gap:7px}

.living-invitation{width:auto;max-width:210px;padding:10px 12px;border-radius:12px;gap:7px;box-sizing:border-box}
.living-invitation b{font:11px/1.45 system-ui,sans-serif;font-weight:500;overflow-wrap:anywhere}
.living-invitation>div{gap:6px}.living-invitation button{min-height:27px!important;padding:5px 11px;border-radius:9px;font-size:10px}
.is-reading>.living-invitation.is-reading-request:not([hidden]){max-width:min(210px,calc(100% - 24px));padding:10px 12px;gap:7px;border-radius:12px}
.living-cancel{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:120px;z-index:5;display:flex;align-items:center;gap:5px;padding:5px 9px;min-height:30px!important;border:1px solid #f0e4cf88;border-radius:16px;background:#30443bd9;color:#fff1d6;cursor:pointer}
.living-cancel>span{font:18px/1 Georgia,serif}.living-cancel>small{font:10px system-ui,sans-serif}.living-cancel:disabled{opacity:.35;cursor:default}
.is-reading>.living-cancel{display:none!important}
@media(max-height:480px){.living-cancel{bottom:18px;right:14px}.living-camera{right:94px}}
