/* 回味栏：私密书柜与原版阅读。 */
.savor-page{padding-top:calc(var(--safe-top) + 126px);padding-bottom:calc(var(--safe-bottom) + 110px)}
.savor-heading{margin:0 4px 22px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.savor-heading>span{font:italic 1.15rem Georgia,"Songti SC",serif;color:var(--ink)}
.savor-heading>p{margin:7px 0 0;color:var(--muted);font-size:.72rem;line-height:1.6}
.savor-shelf{display:grid;gap:13px}
.savor-loading{padding:42px 0;text-align:center;color:var(--muted);font-size:.76rem}
.savor-book{position:relative;width:100%;min-height:132px;padding:0;display:grid;grid-template-columns:17px minmax(0,1fr) 58px;overflow:hidden;text-align:left;color:var(--ink);border:1px solid var(--glass-edge);border-radius:24px;background:rgba(var(--glass-rgb),calc(var(--glass-alpha) + .1));box-shadow:inset 0 1px 0 var(--glass-highlight),0 8px 24px rgba(var(--shadow-rgb),.07);-webkit-backdrop-filter:saturate(112%) blur(var(--glass-blur));backdrop-filter:saturate(112%) blur(var(--glass-blur));animation:savorBookIn .46s cubic-bezier(.22,.7,.25,1) calc(var(--book-index) * 45ms) both}
@keyframes savorBookIn{from{opacity:0;transform:translate3d(0,9px,0)}to{opacity:1;transform:none}}
.savor-book:active{transform:scale(.988)}
.savor-spine{position:relative;border-right:1px solid rgba(var(--accent-rgb),.18);background:linear-gradient(180deg,rgba(var(--accent-rgb),.2),rgba(var(--accent-rgb),.06))}
.savor-spine i{position:absolute;left:5px;width:6px;height:1px;background:rgba(var(--accent-rgb),.34)}.savor-spine i:first-child{top:25px}.savor-spine i:last-child{bottom:25px}
.savor-cover{min-width:0;padding:18px 13px;display:flex;flex-direction:column;align-items:flex-start}
.savor-cover small{color:var(--accent-deep);font:italic .62rem Georgia,serif;letter-spacing:.14em}.savor-cover b{max-width:100%;margin-top:12px;font:500 1.15rem/1.3 Georgia,"Songti SC",serif;overflow-wrap:anywhere}.savor-cover em{margin-top:8px;color:var(--muted);font:normal .7rem/1.3 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}.savor-cover time{margin-top:auto;padding-top:9px;color:var(--muted);font-size:.61rem}
.savor-open{display:flex;align-items:center;justify-content:center;gap:2px;border-left:1px dashed rgba(var(--accent-rgb),.17);color:var(--muted);font:italic .66rem Georgia,serif}.savor-open svg{width:13px;height:13px}
.savor-empty{padding:46px 24px;text-align:center;border:1px dashed rgba(var(--accent-rgb),.26);border-radius:26px;background:rgba(var(--glass-rgb),.16);color:var(--muted)}.savor-empty>span{display:block;color:var(--accent);font-size:1.5rem}.savor-empty h2{margin:9px 0 0;color:var(--ink);font:500 1.15rem Georgia,"Songti SC",serif}.savor-empty p{margin:9px auto 0;max-width:260px;font-size:.74rem;line-height:1.65}.savor-empty button{margin-top:16px}
.savor-create>.savor-kicker{color:var(--accent-deep);font:italic .72rem Georgia,serif;letter-spacing:.09em}.savor-create h2{margin-top:5px}.savor-create>p{margin:0 0 15px;color:var(--muted);font-size:.76rem;line-height:1.55}.savor-create label>span:first-child{display:block;margin:0 2px 3px;color:var(--muted);font-size:.7rem}.savor-create input[type="text"],.savor-create input:not([type]){font-size:16px}.savor-heart-option{margin-top:9px;padding:11px 12px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:16px;background:rgba(var(--glass-rgb),.12)}.sheet .savor-heart-option input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.savor-heart-option>span{min-width:0;display:grid;gap:3px}.savor-heart-option b{font-size:.82rem;font-weight:500}.savor-heart-option small{color:var(--muted);font-size:.66rem;line-height:1.4}
.app.savor-detail .app-header,.app.savor-detail .tabbar{display:none!important}
.app.savor-detail .view-host{height:100%}
.app.savor-detail .page.no-scroll{inset:0;height:100%;padding:0}
.savor-reader-shell{height:100%}
.savor-reader-chat{height:100%}
.conversation-shell .savor-reader-list{height:100%;padding:calc(var(--safe-top) + 70px) 14px calc(var(--safe-bottom) + 28px);scroll-padding-top:calc(var(--safe-top) + 70px);scroll-padding-bottom:calc(var(--safe-bottom) + 28px)}
.savor-reader-list .bubble{font-size:.875rem;line-height:1.5}
.savor-reader-list .msg-name{margin:0 0 3px 4px;font-size:11px;opacity:.55}
.savor-reader-list .trail-body{cursor:default}
.savor-reader-list .savor-static-media{pointer-events:none}
.savor-reader-error{height:100%;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted);font-size:.78rem}
@media(max-width:390px){.savor-book{grid-template-columns:15px minmax(0,1fr) 50px}.savor-cover{padding-left:11px;padding-right:10px}.savor-cover b{font-size:1.06rem}.savor-open{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.savor-book{animation:none}}
/* 第二阶段（2026-10-24 迟砚）：原版/公开版切换、改字、水印 */
.savor-reader-shell{position:relative}
.savor-toolbar{position:absolute;left:50%;bottom:calc(var(--safe-bottom) + 14px);transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;white-space:nowrap}
.savor-toolbar button{border:0;background:none;color:var(--muted);font-size:.74rem;padding:7px 12px;border-radius:999px}
.savor-toolbar button.on{background:rgba(var(--accent-rgb),.16);color:var(--accent-deep)}
.savor-toolbar button[hidden]{display:none}
.savor-toolbar i{width:1px;height:16px;margin:0 3px;background:var(--line)}
.conversation-shell .savor-reader-list{padding-bottom:calc(var(--safe-bottom) + 76px)}
.savor-watermark{position:absolute;left:0;right:0;bottom:calc(var(--safe-bottom) + 64px);text-align:center;font-size:12px;letter-spacing:.2em;color:rgba(0,0,0,.18);pointer-events:none;z-index:5;user-select:none}
.savor-editing .msg-row[data-pos]{cursor:pointer}
.savor-editing .msg-row[data-pos] .bubble{outline:1px dashed rgba(var(--accent-rgb),.35);outline-offset:2px}
.savor-create textarea{width:100%;box-sizing:border-box;font-size:16px;line-height:1.5;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(var(--glass-rgb),.2);color:var(--ink);resize:vertical}
.savor-more label{display:block;margin-top:12px}
.savor-more .sheet-actions{margin-top:8px}
.savor-pub-line{margin:14px 2px 0;color:var(--muted);font-size:.72rem;line-height:1.6;overflow-wrap:anywhere}
.savor-pub-line a{color:var(--accent-deep)}
