/* Account theme tokens and clipped accents; scoped to the Lore workspace. */
#panelLore [hidden] { display:none !important; }
.admin-shell:has(#panelLore) { grid-template-columns:minmax(0,1fr); }
.admin-panel:has(#panelLore) { min-width:0; }
.lore-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 30px; margin:16px 0; background:linear-gradient(115deg,var(--accent-bg-medium),transparent 65%),var(--bg-subtle); clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%); border-left:3px solid var(--accent); }
.lore-title { font-family:'Bebas Neue',sans-serif; font-size:64px; line-height:1; letter-spacing:3px; margin:10px 0; color:var(--text-primary); }
.lore-workspace { display:grid; grid-template-columns:190px minmax(0,1fr) 300px; gap:18px; margin-top:16px; align-items:start; }
.lore-outline,.lore-palette { background:var(--bg-subtle); padding:18px; min-width:0; }
.lore-palette { max-height:calc(100vh - 125px); overflow:auto; overscroll-behavior:contain; position:sticky; top:100px; }
#panelLore .lore-canvas { background:var(--bg-panel); padding:clamp(18px,3vw,38px); min-width:0; border-top:2px solid var(--accent); min-height:500px; }
.lore-field { display:grid; gap:7px; margin:14px 0; color:var(--text-muted); font-size:12px; }
#panelLore input,#panelLore textarea,#panelLore select { width:100%; box-sizing:border-box; font:inherit; color:var(--text-primary); background:var(--bg-input); border:1px solid var(--border-medium); padding:10px; border-radius:0; }
#panelLore textarea { resize:vertical; line-height:1.8; }
#panelLore :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.lore-nav { display:block; width:100%; text-align:left; padding:10px 12px; margin:5px 0; background:var(--bg-subtle); border:0; border-left:2px solid transparent; color:var(--text-secondary); cursor:pointer; overflow-wrap:anywhere; }
.lore-nav[aria-current=true] { border-left-color:var(--accent); background:var(--accent-bg-medium); color:var(--text-primary); }
.lore-actions { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
.lore-actions button { min-height:34px; }
.lore-block { margin:22px 0; }
.lore-block img,.lore-reader img { max-width:100%; max-height:450px; object-fit:contain; display:block; margin:auto; }
.lore-reader { color:var(--text-primary); line-height:1.9; overflow-wrap:anywhere; white-space:pre-wrap; }
.lore-reader h2,.lore-reader h3 { font-family:'Bebas Neue',sans-serif; letter-spacing:1px; margin:25px 0 12px; }
.lore-reader blockquote { border-left:3px solid var(--accent); padding-left:20px; margin:20px 0; }
.lore-reader figcaption { color:var(--text-muted); font-size:13px; text-align:center; }
.lore-cast { display:flex; align-items:center; gap:8px; padding:8px 0; color:var(--text-secondary); }
#panelLore .lore-cast input { width:auto; }
.lore-cast img { width:32px; height:38px; object-fit:cover; }
#loreLibrary { margin-top:26px; border-top:2px solid var(--accent); padding-top:20px; }
.lore-library-tabs { display:flex; gap:4px; flex-wrap:wrap; }
.lore-library-tabs button { font:inherit; color:var(--text-muted); background:var(--bg-subtle); border:1px solid var(--border-medium); padding:8px; cursor:pointer; }
.lore-library-tabs button[aria-pressed=true] { background:var(--accent-bg-medium); border-color:var(--accent); color:var(--text-primary); }
.lore-library-list { max-height:220px; overflow:auto; }
.lore-entity-editor,.lore-scene-link { border-top:1px solid var(--border-medium); margin-top:18px; padding-top:18px; }
.lore-entity-editor h3 { font-family:'Bebas Neue',sans-serif; color:var(--text-primary); font-size:26px; letter-spacing:1px; }
.lore-reference { padding:10px; margin:16px 0; background:var(--bg-body); }
.lore-reference img { width:100%; max-height:220px; object-fit:contain; }
.lore-reference audio { width:100%; min-width:0; }
.lore-nav small { display:block; font-size:11px; color:var(--text-muted); margin-top:4px; }
#loreLibrary summary { cursor:pointer; color:var(--text-secondary); margin-top:20px; }
#loreLibrary .btn-secondary { padding:10px 15px; max-width:100%; }
.persona-media-views { min-width:0; width:100%; }
.persona-media-views [hidden] { display:none !important; }
.persona-media-views .lore-library-tabs { margin-bottom:14px; }
.persona-lore-summary { margin:16px 0; color:var(--text-secondary); overflow-wrap:anywhere; }
.persona-lore-summary p { white-space:pre-wrap; margin:10px 0; }
.persona-reference-thumbs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.persona-reference-thumbs img { width:100%; height:100px; object-fit:contain; background:var(--bg-input); }
.lore-workspace.is-focus { grid-template-columns:minmax(0,850px); justify-content:center; }
.lore-workspace.is-focus>.lore-outline,.lore-workspace.is-focus>.lore-palette { display:none; }
@media(max-width:1150px) { .lore-workspace { grid-template-columns:180px minmax(0,1fr); } .lore-palette { grid-column:1 / -1; position:static; max-height:75vh; } }
@media(max-width:650px) { .lore-workspace { grid-template-columns:minmax(0,1fr); } .lore-hero { padding:20px; flex-wrap:wrap; } .lore-title { font-size:48px; } .lore-outline { max-height:300px; overflow:auto; } #panelLore .btn-secondary { padding:10px 16px; max-width:100%; } }

/* Writing and world-building are separate, equally sized workspaces. */
.lore-hero { padding:12px 18px; margin:8px 0 12px; gap:16px; justify-content:flex-start; }
.lore-title { font-size:32px; margin:0; }
#loreStatus { margin-left:auto; font-size:11px; max-width:190px; }
#panelLore .btn-secondary { padding:7px 12px; font-size:11px; letter-spacing:.5px; min-height:30px; }
#panelLore .lore-hero .btn-primary { padding:9px 18px; font-size:11px; }
.lore-workspace { grid-template-columns:190px minmax(0,1fr); gap:12px; margin:0; }
.lore-outline { padding:12px; }
.lore-field { gap:4px; margin:10px 0; }
#panelLore .lore-canvas { padding:0; border-top:0; }
.lore-editor-bar,.lore-format-bar { display:flex; gap:5px; align-items:center; flex-wrap:wrap; padding:8px 12px; border-bottom:1px solid var(--border-medium); }
.lore-bar-spacer { flex:1; }
.lore-format-bar { background:var(--bg-subtle); }
.lore-format-bar small { margin-left:auto; color:var(--text-muted); font-size:10px; }
.lore-settings { padding:10px 18px; color:var(--text-primary); }
.lore-settings summary { cursor:pointer; font-size:13px; }
.lore-settings summary span { color:var(--text-muted); font-size:10px; margin-left:12px; }
.lore-manuscript,.lore-reader { padding:20px clamp(18px,4vw,60px) 40px; max-width:920px; margin:auto; }
#panelLore .lore-scene-title { border:0; background:transparent; font-family:'Bebas Neue',sans-serif; font-size:32px; padding:0 0 14px; }
.lore-block { position:relative; margin:0 0 12px; }
#panelLore .lore-prose { display:block; border:0; border-radius:0; background:transparent; resize:none; overflow:hidden; padding:0; font-size:16px; line-height:1.8; min-height:29px; }
#panelLore .lore-prose:focus-visible { outline:none; box-shadow:-3px 0 var(--border-accent); }
#panelLore .lore-kind-heading .lore-prose { font-size:24px; font-weight:600; }
#panelLore .lore-kind-quote .lore-prose { padding-left:16px; border-left:2px solid var(--accent); font-style:italic; }
.lore-block-actions { display:flex; gap:4px; justify-content:flex-end; height:0; visibility:hidden; position:relative; z-index:2; }
.lore-block:hover .lore-block-actions,.lore-block:focus-within .lore-block-actions { visibility:visible; }
.lore-block-actions button { transform:translateY(-5px); background:var(--bg-surface); }
.lore-continue { padding:10px 0; border:0; background:transparent; color:var(--text-muted); font:inherit; cursor:text; }
.lore-workspace.is-focus { grid-template-columns:minmax(0,1fr); }
#loreLibrary { display:grid; grid-template-columns:240px minmax(0,1fr); gap:20px; margin:0; border:0; padding:0; }
.lore-library-browser { padding:14px; background:var(--bg-subtle); }
.lore-library-list { max-height:60vh; margin-top:12px; }
.lore-library-list .lore-nav { display:flex; align-items:center; gap:10px; }
.lore-library-list img { width:38px; height:44px; object-fit:cover; }
.lore-entity-editor { border:0; margin:0; padding:12px 20px 30px; background:var(--bg-panel); min-width:0; }
.lore-entity-editor>h3 { font-size:32px; }
.lore-entity-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.lore-entity-fields .lore-field { align-content:start; }
.lore-entity-fields input,.lore-entity-fields select { height:38px; }
.lore-reference-gallery { align-items:start; }
#panelLore .lore-prose { white-space:pre-wrap; overflow-wrap:anywhere; color:var(--text-primary); font-family:inherit; }
.lore-prose:empty::before { content:attr(data-placeholder); color:var(--text-placeholder); pointer-events:none; }
.lore-reference-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.lore-reference { margin:0; }
.lore-library-empty { padding:50px 30px; color:var(--text-muted); }
.lore-library-empty h2 { font-family:'Bebas Neue',sans-serif; font-size:40px; color:var(--text-primary); }
.lore-drawer,.lore-notice { background:var(--bg-surface); color:var(--text-primary); border:1px solid var(--border-accent); padding:0; box-shadow:0 20px 80px var(--shadow-panel); }
.lore-drawer { width:min(480px,94vw); max-height:90vh; margin:auto 18px auto auto; padding:20px; }
.lore-drawer::backdrop,.lore-notice::backdrop { background:var(--bg-overlay-heavy); }
.lore-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.lore-drawer h2 { font-family:'Bebas Neue',sans-serif; font-size:30px; }
.lore-link-card { padding:12px; margin:10px 0; border-left:2px solid var(--accent); background:var(--bg-subtle); }
.lore-reference-result { display:flex; gap:6px; align-items:center; padding:8px 0; border-bottom:1px solid var(--border-medium); }
.lore-reference-result>div { flex:1; min-width:0; overflow-wrap:anywhere; }
.lore-reference-result small { display:block; color:var(--text-muted); }
@media(max-width:800px) { #loreLibrary { grid-template-columns:180px minmax(0,1fr); } .lore-entity-fields,.lore-reference-gallery { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) { .lore-workspace,#loreLibrary { grid-template-columns:minmax(0,1fr); } .lore-outline,.lore-library-list { max-height:180px; overflow:auto; } .lore-hero { gap:10px; flex-wrap:wrap; } #loreStatus { order:4; margin:0; max-width:none; width:100%; } .lore-title { font-size:28px; } .lore-manuscript,.lore-reader { padding:18px 14px; } .lore-format-bar small { width:100%; } .lore-drawer { margin:auto; } .lore-entity-editor { padding:12px; } }
