.ta-books[data-lm-app="bookstore"]{
  --ta-books-bg:var(--jj-page);--ta-books-surface:var(--jj-paper);--ta-books-text:var(--jj-text);--ta-books-muted:var(--jj-muted);--ta-books-border:var(--jj-border);--ta-books-control:var(--jj-input);--ta-books-selected:var(--jj-green-light);--ta-books-accent:var(--jj-green);--ta-books-error:var(--jj-danger);
  --ta-books-font:var(--lm-app-font-body,14px);--ta-books-small:var(--lm-app-font-small,12px);--ta-books-title:var(--lm-app-font-section,18px);--ta-books-space-1:var(--lm-ui-space-1,4px);--ta-books-space-2:var(--lm-ui-space-2,8px);--ta-books-gap:var(--lm-ui-space-3,12px);--ta-books-pad:var(--lm-ui-space-4,16px);--ta-books-radius:var(--lm-ui-radius-control,12px);--ta-books-line:1.85;--ta-books-small-line:1.65;--ta-books-icon:22px;--ta-books-cover-w:66px;--ta-books-cover-h:88px;--ta-books-avatar:30px;--ta-books-reply-indent:40px;--ta-books-empty-pad:28px;--ta-books-content-width:800px;
  position:absolute;inset:0;z-index:5200;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--ta-books-bg);color:var(--ta-books-text);font-family:var(--jj-font);font-size:var(--ta-books-font);letter-spacing:0;
}
.ta-books *{box-sizing:border-box}
.ta-books [hidden]{display:none!important}
.ta-books button,.ta-books select{font:inherit;color:inherit;letter-spacing:0}
.ta-books button{border:0;min-height:44px;background:transparent;cursor:pointer}
.ta-books button:disabled{opacity:.55;cursor:default}
.ta-books button:focus-visible,.ta-books select:focus-visible{outline:2px solid var(--ta-books-accent);outline-offset:2px}
.ta-books-header{display:flex;align-items:center;gap:var(--ta-books-space-1);flex:none;border-bottom:1px solid var(--ta-books-border);padding:max(var(--ta-books-space-1),var(--lm-safe-top,0px)) max(var(--ta-books-space-2),var(--lm-safe-right,0px)) var(--ta-books-space-1) max(var(--ta-books-space-2),var(--lm-safe-left,0px));background:var(--ta-books-surface)}
.ta-books-header strong{flex:1;min-width:0;text-align:center;font-size:var(--ta-books-font);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ta-books .ta-books-icon{display:grid;place-items:center;flex:none;width:44px;padding:0;border-radius:var(--ta-books-radius)}
.ta-books-icon img,.ta-books-icon svg{width:var(--ta-books-icon);height:var(--ta-books-icon)}
.ta-books-icon svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ta-books-status{flex:none;margin:0;padding:var(--ta-books-space-2) var(--ta-books-pad);font-size:var(--ta-books-small);line-height:var(--ta-books-small-line);background:var(--ta-books-control);overflow-wrap:anywhere}
.ta-books-status.is-error{color:var(--ta-books-error)}
.ta-books main{flex:1;min-height:0;width:100%;max-width:var(--ta-books-content-width);align-self:center;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--ta-books-pad) max(var(--ta-books-pad),var(--lm-safe-right,0px)) max(var(--ta-books-pad),var(--lm-safe-bottom,0px)) max(var(--ta-books-pad),var(--lm-safe-left,0px))}
.ta-books-tabs{display:flex;gap:var(--ta-books-space-1);margin-bottom:var(--ta-books-pad);padding:var(--ta-books-space-1);border-radius:var(--ta-books-radius);background:var(--ta-books-control)}
.ta-books-tabs button{flex:1;min-width:0;padding:var(--ta-books-space-2);border-radius:calc(var(--ta-books-radius) - var(--ta-books-space-1))}
.ta-books-tabs [aria-selected="true"]{background:var(--ta-books-surface);color:var(--ta-books-accent)}
.ta-books .ta-books-row{display:flex;align-items:center;gap:var(--ta-books-gap);width:100%;padding:var(--ta-books-gap) 0;border-bottom:1px solid var(--ta-books-border);text-align:left}
.ta-books-row:active{background:var(--ta-books-control)}
.ta-books-cover{display:block;width:var(--ta-books-cover-w);height:var(--ta-books-cover-h);flex:none;object-fit:cover;border-radius:calc(var(--ta-books-radius) / 2);background:var(--ta-books-control);color:var(--ta-books-muted)}
.ta-books-cover-title{display:flex;align-items:center;justify-content:center;padding:var(--ta-books-space-2);text-align:center;font-size:var(--ta-books-small);overflow:hidden;overflow-wrap:anywhere}
.ta-books-row-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--ta-books-space-2)}
.ta-books-row-copy strong{font-weight:600;line-height:var(--ta-books-small-line);overflow-wrap:anywhere}
.ta-books-row-copy small,.ta-books-muted{font-size:var(--ta-books-small);color:var(--ta-books-muted);line-height:var(--ta-books-small-line);overflow-wrap:anywhere}
.ta-books-row-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--ta-books-small);line-height:var(--ta-books-small-line);color:var(--ta-books-muted);overflow-wrap:anywhere}
.ta-books-empty{margin:0;padding:var(--ta-books-empty-pad) 0;text-align:center;font-size:var(--ta-books-small);color:var(--ta-books-muted);line-height:var(--ta-books-small-line)}
.ta-books-detail-head{display:flex;align-items:center;gap:var(--ta-books-pad);padding:var(--ta-books-space-1) 0 var(--ta-books-pad);border-bottom:1px solid var(--ta-books-border)}
.ta-books-detail-head>div{flex:1;min-width:0}
.ta-books h1{font-size:var(--ta-books-title);font-weight:600;line-height:var(--ta-books-small-line);margin:0 0 var(--ta-books-space-2);overflow-wrap:anywhere}
.ta-books-detail-head p{margin:var(--ta-books-space-1) 0}
.ta-books-section{padding:var(--ta-books-pad) 0;border-bottom:1px solid var(--ta-books-border)}
.ta-books h2{font-size:var(--ta-books-font);font-weight:600;line-height:var(--ta-books-small-line);margin:0 0 var(--ta-books-gap);overflow-wrap:anywhere}
.ta-books-prose,.ta-books-chapter p{margin:0 0 var(--ta-books-gap);white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--ta-books-line)}
.ta-books-prose:last-child{margin-bottom:0}
.ta-books-chapter-select{width:100%;min-width:0;min-height:44px;margin:var(--ta-books-pad) 0;padding:var(--ta-books-space-2);border:1px solid var(--ta-books-border);border-radius:var(--ta-books-radius);background:var(--ta-books-control);text-overflow:ellipsis}
.ta-books-chapter{line-height:var(--ta-books-line);padding-bottom:var(--ta-books-gap)}
.ta-books-thread{padding:var(--ta-books-gap) 0;border-bottom:1px solid var(--ta-books-border)}
.ta-books-thread:last-child{border-bottom:0}
.ta-books-comment{display:flex;align-items:flex-start;gap:var(--ta-books-gap)}
.ta-books-avatar{flex:none;width:var(--ta-books-avatar);height:var(--ta-books-avatar);display:grid;place-items:center;border-radius:50%;background:var(--ta-books-selected);font-size:var(--ta-books-small);color:var(--ta-books-muted)}
.ta-books-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.ta-books-comment-copy{flex:1;min-width:0}
.ta-books-comment strong{font-size:var(--ta-books-small);font-weight:500;color:var(--ta-books-muted);overflow-wrap:anywhere}
.ta-books-comment p{margin:var(--ta-books-space-2) 0 0;line-height:var(--ta-books-line);white-space:pre-wrap;overflow-wrap:anywhere}
.ta-books-comment-quote{margin:var(--ta-books-space-2) 0 0;padding:var(--ta-books-space-2);border-left:2px solid var(--ta-books-border);background:var(--ta-books-control);font-size:var(--ta-books-small);line-height:var(--ta-books-small-line);white-space:pre-wrap;overflow-wrap:anywhere}
.ta-books-comment-copy>small{display:block;margin-top:var(--ta-books-space-2)}
.ta-books-comment-reply{margin:var(--ta-books-gap) 0 0 var(--ta-books-reply-indent)}
.ta-books-comment-reply .ta-books-avatar{width:calc(var(--ta-books-avatar) - var(--ta-books-space-1));height:calc(var(--ta-books-avatar) - var(--ta-books-space-1))}
.ta-books-footer{display:flex;gap:var(--ta-books-gap);flex:none;border-top:1px solid var(--ta-books-border);padding:var(--ta-books-space-2) max(var(--ta-books-pad),var(--lm-safe-right,0px)) max(var(--ta-books-space-2),var(--lm-safe-bottom,0px)) max(var(--ta-books-pad),var(--lm-safe-left,0px));background:var(--ta-books-surface)}
.ta-books-footer button{min-width:0;flex:1;padding:var(--ta-books-space-2) var(--ta-books-gap);border-radius:var(--ta-books-radius);line-height:var(--ta-books-small-line)}
.ta-books .ta-books-primary{background:var(--ta-books-selected);color:var(--ta-books-accent)}
.ta-books .ta-books-secondary{background:var(--ta-books-control)}

.ta-books .ta-books-reading-stats{color:var(--ta-books-accent);font-variant-numeric:tabular-nums}
.ta-books-header [aria-busy="true"] img{opacity:.35}

.ta-books-status{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ta-books-gap);background:color-mix(in srgb,var(--ta-books-bg) 94%,transparent);padding:var(--ta-books-pad);text-align:center}
.ta-books-status>p{margin:0;max-width:32em;white-space:pre-wrap;overflow-wrap:anywhere}
.ta-books-status>button{flex:none;min-width:88px;border-radius:var(--ta-books-radius);padding:var(--ta-books-space-2) var(--ta-books-pad);background:var(--ta-books-control)}

.ta-books-section>.ta-books-prose,.ta-books-note>.ta-books-prose{text-indent:2em;white-space:normal;line-height:1.9;margin:0 0 .8em}
.ta-books-note{padding:var(--ta-books-gap) 0;border-bottom:1px dashed var(--ta-books-border)}
.ta-books-note:last-child{padding-bottom:0;border-bottom:0}
.ta-books-note>.ta-books-prose:last-child{margin-bottom:0}
