.er-chat-log.er-story-log{padding:20px 24px 30px;background:linear-gradient(180deg,rgba(8,11,16,.42),rgba(8,11,16,.12))}
.er-story-line{margin:0;padding:5px 2px;color:#d1d8df;font-size:.96rem;line-height:1.72;border:0;background:transparent}
.er-story-line::before{display:none!important}
.er-story-line p{margin:0;white-space:pre-wrap}
.er-story-line+.er-story-line{margin-top:3px}
.er-story-line.has-avatar{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:start;padding:7px 2px}
.er-story-avatar{width:40px;height:40px;object-fit:cover;border-radius:50%;border:1px solid #364352;background:#0a0e14;margin-top:2px;box-shadow:0 4px 14px rgba(0,0,0,.22)}
.er-story-avatar.is-missing{visibility:hidden}
.er-story-line--speech{color:#eef2f5;margin-top:8px}
.er-story-line--private{color:#e6d5a9}
.er-story-line--thought{color:#cbbfe7;font-style:italic}
.er-story-line--action{color:#c0cad3}
.er-story-line--system{color:#c7d0d8}
.er-story-speaker{font-weight:800;color:#f3dfb1}
.er-npc-live-list{display:grid;gap:8px;margin-bottom:18px}
.er-npc-live{padding:13px 14px;border:1px solid #2b3744;border-radius:14px;background:linear-gradient(145deg,rgba(18,27,37,.95),rgba(12,17,24,.95))}
.er-npc-live__title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.er-npc-live__title strong{font-size:.86rem;color:#f2e3be}
.er-npc-live__title span{font-size:.61rem;font-weight:900;letter-spacing:.12em;color:#7f8b98;text-transform:uppercase}
.er-npc-live__action{margin:7px 0 10px;color:#b8c2cc;font-size:.78rem;line-height:1.45}
.er-npc-live__action b{color:#e7edf3}
.er-npc-live__tools{display:flex;flex-wrap:wrap;gap:6px}
.er-npc-live__tools button{border:1px solid #354252;border-radius:9px;background:#151d27;color:#d6dee6;padding:6px 9px;font-size:.68rem;font-weight:800}
.er-npc-live__tools button:hover{border-color:#6c7d90;background:#1b2531}
.er-npc-live__tools button[data-npc-command="interrupt"]{border-color:#63393c;background:#2a181b;color:#ffd0d2}
.er-npc-live__tools button:disabled{opacity:.45;cursor:wait}
.er-chat-image{padding:8px 14px 0;background:rgba(0,0,0,.08)}
.er-chat-image img{display:block;width:100%;height:auto!important;max-height:min(68vh,760px)!important;object-fit:contain!important;object-position:center!important;background:#05070a;border-radius:14px;margin:0 auto 10px;border:1px solid #303946;cursor:zoom-in}
.er-drawer-image{height:auto!important;max-height:70vh;object-fit:contain!important;object-position:center;background:#05070a;cursor:zoom-in}
.er-image-lightbox{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:24px;background:rgba(2,4,7,.92);backdrop-filter:blur(8px)}
.er-image-lightbox[hidden]{display:none}
.er-image-lightbox img{display:block;max-width:min(96vw,1500px);max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 24px 100px rgba(0,0,0,.72)}
.er-image-lightbox button{position:fixed;top:18px;right:20px;width:42px;height:42px;border:1px solid #4c5968;border-radius:50%;background:#111821;color:#fff;font-size:1.35rem}
.er-speech-voice-control{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin-top:8px;padding-top:10px;border-top:1px solid #27313a}
.er-speech-voice-control>span{font-size:.73rem;color:#cbd3dc;font-weight:800}
.er-speech-voice-control select{width:100%;min-width:0;border:1px solid #34404d;border-radius:9px;background:#0b1016;color:#eef2f6;padding:7px 8px;font-size:.72rem}
.er-speech-voice-control small{color:#7f8a96;font-size:.65rem;line-height:1.35}
.er-scenario-ai-status{display:block;margin:.55rem 0 .85rem;color:#8e99a6;font-size:.76rem;line-height:1.45}
.er-scenario-ai-status.is-error{color:#ffb4b4}
.er-card--scenario textarea{min-height:220px;line-height:1.55}
.er-narrative-style-field{margin:12px 0 4px;padding:13px;border:1px solid rgba(201,164,95,.24);border-radius:12px;background:rgba(201,164,95,.045)}
.er-narrative-style-field label{display:grid;gap:3px;margin-bottom:7px;color:#ecd8a9;font-size:.84rem}.er-narrative-style-field label small{color:#8f9aa6;font-size:.72rem;line-height:1.4}.er-narrative-style-field textarea{width:100%;min-height:100px!important;resize:vertical}
.er-btn--send[aria-busy="true"]{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:wait;opacity:.9}
.er-thinking-spinner{width:14px;height:14px;border:2px solid rgba(16,13,8,.35);border-top-color:#100d08;border-radius:50%;animation:er-thinking-spin .72s linear infinite}
.er-chat-panel.is-thinking .er-composer{box-shadow:inset 0 1px 0 rgba(201,164,95,.16)}
.er-player-state[data-player-id]{position:relative;min-height:52px;padding-left:54px!important}
.er-player-portrait{position:absolute;left:4px;top:4px;width:42px;height:42px;border-radius:10px;object-fit:cover;background:#090d12;border:1px solid #2e3945}
.er-player-portrait.is-missing{visibility:hidden}
.er-character-photo-tools{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.er-character-photo-tools button,.er-live-admin button{border:1px solid #34414e;border-radius:8px;background:#121922;color:#dce4ec;padding:6px 8px;font-size:.66rem;font-weight:800;cursor:pointer}
.er-character-photo-tools button:disabled,.er-live-admin button:disabled{opacity:.45;cursor:wait}
.er-live-admin{border-color:rgba(201,164,95,.28)!important;background:linear-gradient(150deg,rgba(201,164,95,.065),rgba(10,14,20,.65))!important}
.er-live-admin__group{display:grid;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid #29333e}
.er-live-admin label{display:grid;gap:4px;color:#aeb8c2;font-size:.68rem;font-weight:800}
.er-live-admin select{width:100%;min-width:0;border:1px solid #34414e;border-radius:8px;background:#090e14;color:#e8edf2;padding:7px;font-size:.68rem}
.er-snapshot-tools{grid-template-columns:1fr}.er-snapshot-tools select{min-height:34px}

/* Game information: improve readability without enlarging the chat/composer UI. */
.er-game .er-rail-card>span{font-size:.74rem;line-height:1.35}
.er-game .er-rail-card p{font-size:.94rem;line-height:1.65}
.er-game .er-player-state strong{font-size:.92rem}
.er-game .er-player-state small{font-size:.78rem;line-height:1.45}
.er-game .er-world-location__head strong{font-size:.92rem;line-height:1.35}
.er-game .er-world-location__head small{font-size:.76rem;line-height:1.35}
.er-game .er-world-presence,.er-game .er-world-empty{font-size:.88rem;line-height:1.5}
.er-game .er-world-pin span{font-size:.78rem;line-height:1.4}
.er-game .er-cost-breakdown{font-size:.84rem;line-height:1.45}
.er-game .er-cost-breakdown strong,.er-game .er-cost-row strong{font-size:.82rem}
.er-game .er-report-links a{font-size:.84rem;line-height:1.35}

@keyframes er-thinking-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){
  .er-chat-log.er-story-log{padding:16px 22px 26px}
  .er-story-line{font-size:.92rem;line-height:1.68}
  .er-story-line.has-avatar{grid-template-columns:36px minmax(0,1fr);gap:8px}.er-story-avatar{width:34px;height:34px}
  .er-npc-live{margin-left:-4px;margin-right:-4px}
  .er-chat-image img{max-height:52dvh!important}
  .er-game .er-drawer #drawer-content{font-size:.94rem;line-height:1.55}
  .er-game .er-drawer h3{font-size:.86rem}
}
@media(max-width:520px){
  .er-chat-log.er-story-log{padding:14px 16px 24px}
  .er-story-line{font-size:.88rem;line-height:1.62;padding:4px 0}
  .er-npc-live__tools button{flex:1 1 auto}
  .er-image-lightbox{padding:10px}
  .er-image-lightbox img{max-width:100%;max-height:88dvh}
  .er-card--scenario textarea{min-height:260px}
  .er-narrative-style-field textarea{min-height:120px!important}
}