.ae4 *{box-sizing:border-box;margin:0;padding:0}
.ae4{font-family:var(--font-sans)}

.style-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:2px solid var(--color-border-tertiary)}
.style-btn{padding:11px 8px;border:none;border-bottom:3px solid transparent;background:transparent;cursor:pointer;font-size:12px;font-weight:500;color:var(--color-text-secondary);font-family:var(--font-sans);transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:3px}
.style-btn .icon{font-size:18px}
.style-btn.on{color:var(--color-text-primary)}
.style-btn.s-action.on{border-bottom-color:#E24B4A;color:#A32D2D}
.style-btn.s-drama.on{border-bottom-color:#534AB7;color:#3C3489}
.style-btn.s-fantasy.on{border-bottom-color:#1D9E75;color:#0F6E56}
.style-btn.s-horror.on{border-bottom-color:#888780;color:#444441}

.pane{display:none;padding:0}
.pane.on{display:block}

.toc-strip{display:flex;gap:0;overflow-x:auto;border-bottom:0.5px solid var(--color-border-tertiary)}
.tc{padding:7px 13px;border:none;border-bottom:2px solid transparent;background:transparent;cursor:pointer;font-size:11px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;font-family:var(--font-sans);transition:all .12s}
.tc.on{color:var(--color-text-primary)}

.content-body{padding:18px 16px;max-height:420px;overflow-y:auto}

.pull-quote{border-left:3px solid currentColor;padding:10px 14px;margin:12px 0;font-size:15px;font-style:italic;line-height:1.6}
.chapter-title{font-size:18px;font-weight:500;margin-bottom:6px;line-height:1.3}
.chapter-sub{font-size:12px;margin-bottom:14px}
.body-text{font-size:13px;line-height:1.75;margin-bottom:12px}
.highlight-box{border-radius:var(--border-radius-md);padding:11px 14px;margin:10px 0;font-size:12px;line-height:1.65}
.data-row{display:flex;justify-content:space-between;font-size:12px;padding:5px 0;border-bottom:0.5px solid var(--color-border-tertiary)}
.data-row:last-child{border:none}

.toc-panel{background:var(--color-background-secondary);border-right:0.5px solid var(--color-border-tertiary);padding:14px}
.toc-item{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:0.5px solid var(--color-border-tertiary);cursor:pointer}
.toc-item:last-child{border:none}
.toc-num{font-size:10px;font-family:var(--font-mono);min-width:18px;margin-top:1px}
.toc-label{font-size:12px;line-height:1.4}

.layout-split{display:grid;grid-template-columns:180px 1fr;gap:0;min-height:380px}