.character-journal [hidden]{display:none!important}.character-journal-selectors:has(>.field:only-child){grid-template-columns:1fr}
/* Transcript journals use a quiet notebook page with nearby native selectors. */
.character-journal{min-width:0;gap:18px}.character-journal p{margin:0;line-height:1.65}.character-journal-beta{border-left:3px solid var(--action);padding-left:12px;color:var(--secondary)}.character-journal-selectors{display:grid;grid-template-columns:1fr 1fr;gap:12px}.character-journal-selectors>*{min-width:0}.character-journal select,.character-journal textarea{width:100%;max-width:100%;box-sizing:border-box}.character-journal select{min-height:44px;text-overflow:ellipsis}.character-journal-controls{border-bottom:1px solid var(--line);padding-bottom:12px}.character-journal summary{cursor:pointer;min-height:36px;align-content:center;font-weight:600;line-height:1.5}.character-journal summary+.stack,.character-journal summary+form{margin-top:14px}.character-journal summary span{margin-left:8px;font-weight:400}.character-journal small{display:block;line-height:1.6}.character-journal .check{line-height:1.5;align-items:flex-start}.character-journal .check input{flex:none;margin-top:5px}.character-journal-page{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:14px}.character-journal-page h3{font-size:23px;line-height:1.3;margin:0;overflow-wrap:anywhere}.character-journal-prose{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.85!important}.character-journal-editor .field{margin:12px 0}.character-journal-editor textarea{font-size:15px;line-height:1.75;min-height:260px;resize:vertical}.character-journal-editor small{margin-top:10px}.character-journal blockquote{margin:0;border-left:2px solid var(--line);padding:5px 12px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--secondary)}.character-journal #cjStatus:empty{display:none}.character-journal-generate>button{align-self:flex-start}.character-journal .btn{min-height:44px}.character-journal #cjSource:empty{display:none}
@media(max-width:540px){.character-journal{gap:14px}.character-journal-selectors{grid-template-columns:1fr;gap:10px}.character-journal textarea,.character-journal select{font-size:16px}.character-journal-page{padding:18px 0}.character-journal-page h3{font-size:21px}.character-journal-generate>button,.character-journal-editor>.btn{width:100%}.character-journal summary span{display:block;margin-left:16px}}
/* Shared session audio stays above the chat header on desktop and phones. */
.session-recorder-toolbar{position:relative;z-index:35;display:block;padding:8px 28px;min-width:0}
.session-audio-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.session-audio-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--secondary);white-space:nowrap}
.session-audio-actions,#sessionRecordActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex-wrap:wrap}
.session-audio-actions>div:empty,#sessionLatestRecapHost:empty{display:none}
.session-play-latest{gap:7px}
.session-recap-drawer{position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 130px);overflow-y:auto;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:0 15px 28px #17233125;animation:session-drawer-reveal .18s ease-out}
.session-recap-drawer[hidden]{display:none}
#sessionLatestRecapHost .chat-recap-player{margin:0 auto;max-width:820px;border:0;padding:16px 28px 20px}
.session-drawer-chevron{font-size:14px;line-height:1;margin-left:3px}
@keyframes session-drawer-reveal{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.session-recap-drawer{animation:none}}
#sessionRecordActions .session-recording-mic{max-width:180px}
@media(max-width:690px){
  .session-recorder-toolbar{padding:7px 12px}
  .session-audio-row{gap:6px;flex-wrap:wrap}
  .session-audio-label{display:none}
  .session-audio-actions{width:100%;justify-content:space-between;gap:6px}
  #sessionRecordActions{gap:6px;flex:1}
  .session-recording-settings-label{display:none}
  #recordingPermissions{min-width:34px;font-size:16px}
  #sessionLatestRecapHost .chat-recap-player{padding:14px 16px 17px}
}

.session-next-meeting{min-width:0;flex:1}.session-next-meeting-link{display:flex;flex-direction:column;gap:4px;max-width:100%;padding:3px 0;background:none;border:0;text-align:left;color:var(--text);font:inherit;cursor:pointer}.session-next-meeting-link:hover strong{color:var(--action)}.session-next-meeting-link:focus-visible{outline:2px solid var(--action);outline-offset:4px;border-radius:4px}.session-meeting-title{display:flex;align-items:baseline;gap:9px;min-width:0;max-width:100%}.session-meeting-title small{font-size:9px;white-space:nowrap;color:var(--secondary)}.session-meeting-title strong{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.session-meeting-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:10px;color:var(--secondary);line-height:1.5}.session-meeting-going{font-weight:600;color:var(--action)}
@media(max-width:690px){.session-next-meeting:has(.session-next-meeting-link){flex-basis:100%;padding-bottom:4px;border-bottom:1px solid var(--line);margin-bottom:2px}.session-meeting-title strong{font-size:12px}.session-meeting-meta{font-size:10px}.session-next-meeting:has(.session-audio-label){display:none}}

/* One shared phone header. Saved recap audio keeps the same player across views. */
.session-header-center{flex:1;min-width:0}.session-mobile-only,.session-mobile-meeting,.session-mobile-recap-label{display:none}.session-drawer-chevron{display:inline-flex;transition:transform .15s}.session-drawer-chevron.is-open{transform:rotate(180deg)}.session-drawer-chevron svg{width:13px;height:13px}
.session-controls-menu{display:grid;gap:2px}.session-controls-menu>button{display:flex;align-items:center;gap:12px;min-height:47px;padding:11px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}.session-controls-menu>button:hover{background:var(--subtle)}.session-controls-menu>button>span{flex:1}.session-controls-menu>button>svg{color:var(--secondary);flex-shrink:0}.session-controls-menu>button:disabled{opacity:.5;cursor:default}.session-controls-recording{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--secondary);margin:0 0 14px}
@media(min-width:691px){.session-recorder-toolbar.session-header-only{display:none}}
@media(max-width:690px){
 .session-recorder-toolbar{flex:none;min-height:calc(56px + env(safe-area-inset-top));padding:calc(6px + env(safe-area-inset-top)) 10px 6px;background:var(--surface);border-bottom:1px solid var(--line)}
 .session-audio-row{min-height:43px;gap:8px;flex-wrap:nowrap}.session-header-center{align-self:center}.session-mobile-only{display:flex}.session-recorder-toolbar [hidden]{display:none!important}
 #sessionMobileTitle{font-family:inherit;font-size:16px;line-height:1.3;font-weight:650;letter-spacing:-.015em;margin:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .session-next-meeting:has(.session-next-meeting-link){flex-basis:auto;padding:0;border:0;margin:2px 0 0}.session-next-meeting-link{gap:0;padding:0;min-height:17px}.session-meeting-title,.session-meeting-meta,.session-audio-label{display:none}.session-mobile-meeting{display:block;font-size:10px;line-height:1.6;font-weight:450;color:var(--secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.session-next-meeting:has(.session-audio-label){display:block}
 .session-audio-actions{flex:none;width:auto;gap:0}.session-mobile-control,.session-play-latest.btn{display:flex;flex:none;align-items:center;justify-content:center;width:42px;height:42px;min-height:42px;padding:5px;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font:inherit;box-shadow:none}.session-mobile-control:hover,.session-play-latest.btn:hover{background:var(--subtle)}
 #sessionMobileBack{width:32px;margin-left:-3px}.session-mobile-control:focus-visible,.session-play-latest:focus-visible{outline:2px solid var(--action);outline-offset:1px}
 .session-play-latest.btn,.session-recaps-fallback{flex-direction:column;gap:3px}.session-recap-label,.session-drawer-chevron{display:none}.session-mobile-recap-label,.session-recaps-fallback>span{display:block;font-size:9px;line-height:1;font-weight:550}.session-play-latest[aria-expanded=true]{background:var(--selected)}.session-play-latest.btn:disabled{opacity:.45}
 #sessionRecordActions,#sessionRecordingSettings{display:none}#sessionMobileControls{position:relative}.session-mobile-recording-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--danger)}
 .session-recap-drawer{max-height:calc(100dvh - 130px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
}

@media(max-width:690px){
  .session-header-meta{display:flex;align-items:center;gap:5px;min-width:0}
  #sessionMobilePartyLabel{display:block;color:var(--secondary);font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}
  #sessionMobilePartyLabel:not([hidden])::after{content:" ·";color:var(--secondary)}
  .session-header-meta .session-next-meeting:has(.session-next-meeting-link){margin-top:0}
  .session-header-meta .session-mobile-meeting{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

#sessionTableActions { display: flex; align-items: center; gap: 6px; }
.session-journal-button { display: inline-flex; align-items: center; gap: 5px; }
.session-journal-mobile-label { display: none; }
.journal-heading, .journal-session-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.journal-heading h3 { margin: 4px 0; }
.journal-session-row > [data-table-history] { flex: 1; display: grid; gap: 4px; text-align: start; min-width: 0; }
.journal-session-row strong { overflow-wrap: anywhere; }
.journal-session-row small { color: var(--secondary); }
.journal-marks { list-style: none; display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 0; }
.journal-marks li { display: flex; align-items: center; gap: 4px; border: 1px solid var(--line); border-radius: 6px; padding-inline-start: 7px; }
.journal-marks:empty { display: none; }
.journal-draft { border-top: 1px solid var(--line); padding-top: 14px; }
#tableEvent { min-width: 0; max-width: 100%; }
#tableEventTime[hidden], #tableTitleField[hidden], .journal-draft [hidden], #playerJournal [hidden] { display: none !important; }
.journal-draft > .btn, #journalSuggestion > .btn { align-self: start; }

@media (max-width: 690px) {
  #sessionTableActions .session-table-manage { display: none; }
  #sessionTableActions .session-journal-button {
    display: flex; flex-direction: column; justify-content: center; gap: 3px;
    width: 44px; min-height: 44px; padding: 3px; border: 0; background: transparent;
  }
  .session-journal-desktop-label { display: none; }
  .session-journal-mobile-label { display: block; font-size: 9px; line-height: 1; }
}


.journal-notebook-toolbar{display:flex;align-items:flex-end;gap:10px;margin:12px 0 18px}
.journal-notebook-toolbar>.field{flex:1;min-width:0;margin:0}
.journal-notebook-toolbar>.btn{flex:none;min-height:44px;white-space:nowrap}
.journal-notebook-toolbar input{min-height:44px;width:100%}
.journal-search-panel[hidden],.journal-search-panel [hidden]{display:none!important}
.journal-search-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.journal-search-result{display:flex;flex-direction:column;gap:6px;width:100%;padding:15px 0;text-align:left;background:none;color:var(--text);border:0;border-bottom:1px solid var(--line);cursor:pointer}
.journal-search-result:hover strong{text-decoration:underline}
.journal-search-result small{font-size:11px;color:var(--secondary)}
.journal-search-result strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.journal-search-result>span{font-size:13px;line-height:1.65;color:var(--secondary);white-space:pre-wrap;overflow-wrap:anywhere}
.journal-search-panel>#journalSearchMore{margin-top:16px;min-height:44px}
#personalNoteBody{line-height:1.8;min-height:240px;resize:vertical}
@media(max-width:600px){.journal-notebook-toolbar{gap:8px}.journal-notebook-toolbar input,#personalNoteForm input,#personalNoteForm textarea{font-size:16px}.journal-notebook-toolbar>.btn{padding-inline:12px;font-size:13px}.journal-search-heading .btn{font-size:12px;min-height:44px}}
.journal-sharing-links{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 15px}
.journal-sharing-links .btn{min-height:40px}
.journal-sharing-people{border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.journal-sharing-people legend{font-weight:600;padding:0 5px}
.journal-sharing-people .check{padding:9px 0;min-height:44px}
.journal-share-notes{align-items:flex-start}
.journal-share-notes small{display:block;font-size:12px;line-height:1.6;color:var(--secondary);margin-top:5px}
