/* Bullpen: open space and quiet controls, using the approved palette. */
:root {
  --ui-hairline:color-mix(in srgb,var(--ink) 16%,transparent);
  --ui-hover:color-mix(in srgb,var(--ink) 4%,transparent);
  --sidebar-logo-filter:none;
  --home-logo-filter:none;
  --home-logo-blend:normal;
  --home-logo-surface:var(--bullpen-cream);
}
.main { padding:28px 36px; padding-left:max(36px,env(safe-area-inset-left,0px)); padding-right:max(36px,env(safe-area-inset-right,0px)); }
.rail:not([data-compact]) { width:216px; }
.rail:not([data-compact]) .brand .bullpen-wordmark { width:120px; }
.rail {
  --rail:color-mix(in srgb,var(--canvas) 86%,var(--bullpen-turquoise));
  --rail-ink:var(--ink-2); --rail-line:var(--ui-hairline);
  background:var(--rail); color:var(--rail-ink);
  border-right:1px solid var(--ui-hairline); padding:24px 16px 18px;
  overflow-y:auto; scrollbar-width:thin;
}
:root[data-rail="charcoal"] .rail {
  --rail:color-mix(in srgb,var(--canvas) 88%,var(--bullpen-olive));
}
.rail .brand { padding:4px 6px 24px; gap:14px; }
.rail .brand .bullpen-logo { filter:var(--sidebar-logo-filter); }
.rail nav,.rail .films { gap:4px; }
.rail .navlink,.rail .film { border-radius:4px; opacity:1; font-weight:400; }
.rail .film { padding-block:8px; }
.rail .navlink:hover,.rail .film:hover { background:var(--ui-hover); }
.rail .navlink[aria-current="page"],.rail .film[aria-current="true"] {
  background:transparent; border-radius:0; box-shadow:inset 1px 0 var(--action); font-weight:500;
}
.rail .section {
  margin:20px 10px 8px; color:var(--muted); opacity:1;
  font-family:var(--font-ui); font-size:11px; font-weight:500; text-transform:none; letter-spacing:.02em;
}
.rail .film .count { color:var(--muted); opacity:1; }
.rail .rail-size { border-color:transparent; color:var(--muted); }
.rail .rail-size:hover { background:var(--ui-hover); }
/* Keep identity to two lines and place the two preferences on one row. */
.rail .foot { border-top:1px solid var(--rail-line); padding-top:10px; gap:4px; flex-shrink:0; }
.rail .who { gap:8px; padding:0 6px 4px; }
.rail .who .avatar { width:26px; height:26px; flex:none; font:10px/1 var(--font-ui); }
.rail .who .t { display:flex; flex-wrap:wrap; flex:1; min-width:0; gap:0 6px; line-height:1.4; }
.rail .who .account-name { flex-basis:100%; font-size:12px; font-weight:500; }
.rail .who .role { font-size:10.5px; line-height:1.5; overflow-wrap:anywhere; }
.rail #live-save { margin:0; min-width:0; }
.rail #live-save:not(:empty)::before { content:'·'; margin-right:6px; }
.rail .rail-utilities { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:2px; }
.rail .rail-appearance { margin:0; font-size:11px; }
.rail .foot :is(.rail-appearance > summary,.reading-settings > summary) {
  display:flex; align-items:center; justify-content:center; gap:6px; width:100%; min-height:32px;
  padding:6px 4px; margin:0; border:0; border-radius:3px; background:transparent;
  color:var(--rail-ink); font:11px/1.5 var(--font-ui); text-align:left;
  cursor:pointer; list-style:none; box-shadow:none;
}
.rail .rail-appearance > summary::-webkit-details-marker { display:none; }
.rail .foot :is(.rail-appearance > summary,.reading-settings > summary):hover,
.rail .rail-utilities details[open] > summary { background:var(--ui-hover); }
.rail .foot :is(summary,button):focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
.rail .foot .icon,.rail .foot .reading-mark { width:14px; height:14px; flex:none; }
.rail .foot .reading-mark { font:13px/14px var(--font-ui); text-align:center; letter-spacing:-.06em; }
.rail .appearance-panel {
  position:fixed; bottom:64px; left:16px; width:286px; max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 100px); overflow:auto; padding:14px;
  border:1px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink);
  box-shadow:var(--shadow); z-index:80;
}
.rail:has(.rail-appearance[open]) { z-index:60; }
.rail .appearance-panel .themes button { color:var(--ink); min-height:36px; font-size:12px; }
.rail .appearance-panel .appearance-label { margin:4px 6px 6px; font-size:12px; font-weight:500; }
.rail .appearance-panel .themes + .appearance-label { margin-top:16px; }
.rail[data-compact] .foot { width:100%; gap:4px; }
.rail[data-compact] .who { padding:0 0 4px; justify-content:center; }
.rail[data-compact] .who .t { display:none; }
.rail[data-compact] .rail-utilities { display:block; }
.rail[data-compact] .foot :is(.reading-settings > summary) { justify-content:center; width:36px; padding:8px; }
.rail .who .avatar,.rail .film .initial { background:var(--ui-hover); color:var(--ink-2); }
.rail .who .role { color:var(--muted); opacity:1; }
.rail .themes button { border-color:transparent; opacity:1; }
.rail .themes button[aria-pressed="true"] { background:transparent; text-decoration:underline; text-underline-offset:4px; }
.rail .appearance-label { color:var(--muted); font-size:11px; margin:10px 6px 4px; }
@media(prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) {
    --red:#e29283;
    --sidebar-logo-filter:brightness(0) invert(1);
    --home-logo-filter:invert(1) grayscale(1); --home-logo-blend:screen; --home-logo-surface:transparent;
  }
}
:root[data-theme="dark"] {
  --red:#e29283;
  --sidebar-logo-filter:brightness(0) invert(1);
  --home-logo-filter:invert(1) grayscale(1); --home-logo-blend:screen; --home-logo-surface:transparent;
}
.bullpen-home-logo { background:var(--home-logo-surface); }
.bullpen-home-logo .bullpen-lockup { filter:var(--home-logo-filter); mix-blend-mode:var(--home-logo-blend); }
input::placeholder,textarea::placeholder { color:var(--muted-2); opacity:1; }
.app .ws .iconbtn { background:transparent; }
.app .ws .iconbtn:hover { background:var(--ui-hover); }

/* One open workspace, rather than a stack of nested panels. */
.ws { height:calc(100dvh - 56px); border:0; border-radius:0; box-shadow:none; }
.ws-head { background:transparent; border-bottom:0; padding:6px 0 22px; gap:16px; }
.ws-head h1 { font-weight:500; }
.ws-head .actions { gap:12px; }
.ws-modes { background:transparent; border-bottom-color:var(--ui-hairline); padding-inline:0; }
.ws-modes>a { padding:10px 2px 14px; font-weight:400; }
.ws-modes>a[aria-current="page"] { font-weight:500; border-bottom-width:1px; }
/* Every film module gives its content priority over the workspace controls. */
.main:has(.ws[data-workspace]) { padding-block:12px; }
.ws[data-workspace]:not([data-workspace="board"]) { height:calc(100dvh - 24px); }
.ws[data-workspace] .ws-head { padding:0; gap:12px; flex-wrap:nowrap; border-bottom:1px solid var(--ui-hairline); }
.ws[data-workspace] .ws-head .titleblock { flex:0 1 180px; flex-wrap:nowrap; gap:6px; }
.ws[data-workspace] .workspace-back { flex:0 0 auto; font-size:0; }
.ws[data-workspace] .ws-head h1 { flex:1 1 auto; font-size:18px; min-width:0; }
.ws[data-workspace] .film-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ws[data-workspace] .ws-head .pencil { flex:none; }
.ws[data-workspace] .ws-head .crumb { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.ws[data-workspace] .ws-head .actions { width:auto; flex:none; margin-left:auto; gap:4px; flex-wrap:nowrap; }
.ws[data-workspace] .ws-head .btn { min-height:30px; padding:4px 9px; font-size:12px; }
.ws[data-workspace] .ws-modes { flex:none; gap:12px; border-bottom:0; }
.ws[data-workspace] .ws-modes>a { min-height:32px; padding:5px 2px; font-size:12px; }
@media(max-width:1150px) {
  .ws[data-workspace] .ws-head { flex-wrap:wrap; gap:4px 12px; }
  .ws[data-workspace] .ws-head .titleblock { flex:1 1 140px; }
  .ws[data-workspace] .ws-modes { order:1; flex:1 1 100%; }
}
@media(max-width:900px) {
  .ws[data-workspace]:not([data-workspace="board"]) { height:auto; min-height:calc(100dvh - 80px); }
}
@media(max-width:600px) {
  .ws[data-workspace] .ws-head .titleblock { flex:1 1 100px; }
  .ws[data-workspace] .ws-head .actions { flex-wrap:wrap; flex:0 1 auto; }
  .ws[data-workspace] .ws-modes { gap:0; }
  .ws[data-workspace] .ws-modes>a { padding-inline:3px; font-size:11px; }
}
.story-view-nav { background:transparent; padding:12px 0; border-bottom-color:var(--ui-hairline); }
.story-view-nav a[aria-current] { font-weight:500; border-bottom-width:1px; }
.pane-strip { background:transparent; border-bottom:0; padding:16px 0; }
.ws>.banner { background:transparent; border-bottom-color:var(--ui-hairline); padding:12px 0; }
.actionbar { background:transparent; border-top-color:var(--ui-hairline); }
.docs { background:transparent; border-right-color:var(--ui-hairline); }
.pane+.pane { border-left-color:var(--ui-hairline); }
.pane-scroll { padding:24px 28px 44px; }
.sheet.doc-sheet { background:transparent; border:0; border-radius:0; box-shadow:none; }
.sheet.library-welcome { background:transparent; border:0; border-radius:0; box-shadow:none; padding:4px 0; }

/* Keep primary actions distinct; secondary actions read as quiet text. */
.btn { background:transparent; border-color:transparent; border-radius:6px; color:var(--ink-2); }
.btn:hover,.btn[aria-pressed="true"] { background:var(--ui-hover); border-color:transparent; }
.btn.primary { font-weight:500; }
.btn.mono { background:transparent; border-color:transparent; }
.iconbtn { background:transparent; border-color:transparent; }
.chip:not(.user) { background:transparent; border-color:transparent; padding-inline:0; }
.tag { background:transparent; padding-inline:0; }
.chips { gap:8px 14px; }
.seg { background:transparent; border-color:var(--ui-hairline); }
.composer { background:transparent; border-color:var(--ui-hairline); }
.composer:focus-within { border-color:var(--wash-line); }

/* Films are an editorial list, without a box around every title. */
.home .topline { margin:20px 0 28px; }
.home h1 { font-size:32px; font-weight:500; letter-spacing:-.025em; }
.home .lede { margin-top:10px; line-height:1.7; }
.home .cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:12px 40px; }
.home .filmcard { background:transparent; border:0; border-bottom:1px solid var(--ui-hairline); border-radius:0; padding:22px 0 24px; gap:14px; box-shadow:none; }
.home .filmcard:hover { background:var(--ui-hover); }
.home .filmcard .title { font-weight:500; }
.home .filmcard .logline { line-height:1.65; }
.home .filmcard .meta { gap:8px 14px; }
.home .filmcard .foot { border-top:0; padding-top:4px; gap:12px; }
.home-guide { border-top-color:var(--ui-hairline); margin-top:36px; padding-top:22px; }

/* Report navigation uses spacing and one selection mark. */
.ws .map-report-index { background:transparent; border-right-color:var(--ui-hairline); padding:24px 18px 24px 0; }
.map-report-index h2 { font-weight:500; margin-bottom:24px; }
.map-report-search input { background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:10px 0; }
.map-report-index .map-report-picker { border-top:0; margin-top:20px; gap:3px; }
.map-report-index .map-report-choice { border:0; padding:9px 10px; }
.map-report-index .map-report-choice[aria-current] { background:transparent; box-shadow:inset 2px 0 var(--orange); }
.map-report-index .map-report-choice:hover { background:var(--ui-hover); }
.ws .map-report-content { padding:28px 36px 48px; container-type:inline-size; container-name:docsheet; }
.map-report-content>.doc-body { max-width:860px; margin-inline:auto; }
.mapsec { background:transparent; border:0; border-top:1px solid var(--ui-hairline); border-radius:0; }
.mapsec>summary { padding:16px 0; }
.mapsec .body { padding:0 0 24px; }
.doc-sec,.doc-kv-l,.doc-kv-v { border-color:var(--ui-hairline); }
.read th,.read td { border-bottom-color:var(--ui-hairline); }
.doc-body .doc-table th { background:var(--canvas); border-bottom-color:var(--ui-hairline); }
.doc-stats { border:0; gap:12px 24px; margin-block:8px 28px; }
.doc-stat { background:transparent; border:0; padding:8px 0; gap:5px; }
.doc-count { background:transparent; padding-inline:0; }

/* Preserve board geometry, status colors and structural-anchor outlines. */
.board-viewport { border:0; background-color:transparent; background-image:radial-gradient(var(--ui-hairline) .7px,transparent .7px); background-size:24px 24px; }
.board-card { box-shadow:none; }
.board-card-title { font-weight:500; }

/* Conversations sit on the page instead of inside repeated cards. */
.turn,.room-brief { background:transparent; border:0; border-radius:0; box-shadow:none; }
.turn .strip { background:transparent; border:0; padding:12px 0; }
.turn .q { padding:12px 0; }
.turn .a { padding:12px 0 24px; line-height:1.75; }
.turn .panel { padding-inline:0; }
.turn .foot { border-top-color:var(--ui-hairline); padding-inline:0; }
.desk-compose-field { box-shadow:none; border-color:var(--ui-hairline); }

@media(min-width:901px) {
  .ws[data-workspace="library"] .docs { padding-top:12px; }
  .ws[data-workspace="library"] .pane-strip { padding-inline:28px; }
}
@media(max-width:900px) {
  .main { padding:16px; padding-left:max(16px,env(safe-area-inset-left,0px)); padding-right:max(16px,env(safe-area-inset-right,0px)); }
  .ws { height:auto; min-height:calc(100dvh - 100px); }
  .ws-head { padding:10px 0 18px; }
  .ws-modes { gap:0; }
  .ws-modes>a { padding:12px 4px; }
  .pane-strip { padding:12px 0; }
  .pane-scroll { padding:18px 0 32px; }
  .ws .map-report-content { padding:24px 16px 36px; }
}
@media(max-width:700px) {
  .ws .map-report-index { padding:16px 0; border-right:0; border-bottom-color:var(--ui-hairline); }
  .ws .map-report-content { padding:24px 0 36px; }
  .home .cards { gap:4px 24px; }
  .home .topline { gap:20px; }
}
@media(max-width:600px) {
  .ws[data-workspace="board"] .ws-head { flex-wrap:wrap; }
  .ws[data-workspace="board"] .ws-head .titleblock { flex:1 1 150px; min-width:150px; }
}

/* Compact the secondary navigation and module tools without shrinking reading text. */
.ws[data-workspace] .story-view-nav { padding:0; gap:18px; }
.ws[data-workspace] .story-view-nav a { display:flex; align-items:center; min-height:30px; padding:4px 0; }
.ws[data-workspace] .pane-strip { padding:4px 0; gap:6px; min-height:32px; }
.ws[data-workspace] .pane-strip .btn { min-height:28px; padding:4px 8px; font-size:12px; }
.ws[data-workspace] .pane-strip .title { font-size:12px; }
.ws[data-workspace]:not([data-workspace="board"]) .pane-scroll { padding-top:12px; }
.ws[data-workspace] .pane-scroll:has(.map-report-shell) { padding-top:0; }
.ws[data-workspace] .map-report-content { padding-top:12px; }
.ws[data-workspace] .map-report-index { padding-top:12px; }
.ws[data-workspace] .map-report-index h2 { margin-bottom:12px; }
.ws[data-workspace] .map-report-index .map-report-picker { margin-top:12px; }
.ws[data-workspace] .map-report-layout:has(.srev-workspace) .map-report-index { padding:4px 0; }
.ws[data-workspace] .map-report-content:has(.srev-workspace) { padding:0; }
.ws[data-workspace] .map-report-layout:has(.srev-workspace) .map-topic-select { gap:8px; }
.ws[data-workspace] .map-report-layout:has(.srev-workspace) .map-topic-select select { padding:4px 8px; }
.ws[data-workspace] .srev-head { padding:8px 0 6px; gap:12px; }
.ws[data-workspace] .srev-head>div:first-child { display:flex; flex-wrap:wrap; align-content:start; gap:2px 12px; min-width:0; }
.ws[data-workspace] .srev-head h1 { flex-basis:100%; font:600 20px/1.3 var(--font-ui); margin:0; }
.ws[data-workspace] .srev-head p { margin:0; font-size:12px; line-height:1.5; }
.ws[data-workspace] .srev-head-tools { gap:2px; flex:none; }
.ws[data-workspace] .srev-head-tools .btn { min-height:28px; padding:4px 8px; }
.ws[data-workspace] .srev-filters { gap:0 14px; }
.ws[data-workspace] .srev-filters .btn { min-height:32px; padding:5px 0; font-size:12px; }
@media(max-width:900px) {
 .main:has(.ws[data-workspace]) { padding-top:6px; padding-bottom:6px; }
 .ws[data-workspace] .ws-head .titleblock { min-width:0; }
}
@media(max-width:600px) {
 .ws[data-workspace] .ws-head .titleblock { min-width:0; }
 .ws[data-workspace] .ws-head .actions { gap:2px; }
 .ws[data-workspace] .ws-modes { width:100%; }
 .ws[data-workspace] .ws-modes>a { flex:1; min-width:0; min-height:36px; }
 .ws[data-workspace] .story-view-nav a { min-height:36px; }
 .ws[data-workspace] .srev-head { gap:4px; }
 .ws[data-workspace] .srev-head h1 { font-size:18px; }
 .ws[data-workspace] .srev-head-tools { display:flex; align-items:center; justify-content:space-between; width:100%; }
 .ws[data-workspace] .srev-head-tools .btn,.ws[data-workspace] .srev-filters .btn { min-height:40px; }
 .ws[data-workspace] .srev-filters { gap:0 10px; }
 .ws[data-workspace] .srev-filters .btn { font-size:11px; }
}

.ws[data-workspace] .viz-bar { gap:6px; }
.ws[data-workspace] .viz-bar .btn { min-height:28px; padding:4px 8px; font-size:12px; }
.ws[data-workspace] .viz-head { margin-top:8px; }
.ws[data-workspace] .viz-head h2 { margin:0 0 4px; font-size:21px; }

/* The shared story-review desk uses the same compact header as setup review. */
.ws[data-workspace] .map-report-content:has(.mrev-workspace) { padding:0; }
.ws[data-workspace] .mrev-topic { gap:8px; margin-bottom:6px; }
.ws[data-workspace] .mrev-topic select { padding:4px 8px; }
.ws[data-workspace] .desk-list { padding-top:12px; }
.ws[data-workspace] .desk-list-head { margin-bottom:12px; }
.ws[data-workspace] .desk-list-head h1 { font-size:24px; margin:0 0 6px; }
.ws[data-workspace] .desk-tabs { margin:12px 0; }
@media(max-width:700px) {
 .ws[data-workspace] .mrev-topic { flex-direction:row; align-items:center; }
 .ws[data-workspace] .mrev-topic select { flex:1; min-width:0; width:auto; min-height:40px; }
}

/* Newly added review and board controls share the compact workspace spacing. */
.ws[data-workspace="board"] .brev-workspace { padding-top:6px; }
.ws[data-workspace="board"] .brev-header { padding-bottom:6px; gap:10px; }
.ws[data-workspace="board"] .brev-header h1 { font-size:20px; }
.ws[data-workspace="board"] .brev-header p { margin-top:3px; font-size:12px; }
.ws[data-workspace="board"] .brev-mode { gap:16px; }
.ws[data-workspace="board"] .brev-mode>.btn { min-height:32px; padding:5px 0; font-size:12px; }
.ws[data-workspace="board"] .brev-filters { gap:14px; }
.ws[data-workspace="board"] .brev-filters>.btn { min-height:32px; padding:5px 0; font-size:12px; }
.ws[data-workspace="board"] .brev-board-intro { padding-bottom:4px; gap:6px; }
.ws[data-workspace="board"] .improv-controls { padding:5px 8px; gap:4px 8px; }
.ws[data-workspace="board"] .improv-picker select { padding:4px 8px; }
.ws[data-workspace="board"] .improv-controls>.btn { min-height:30px; padding:4px 8px; font-size:12px; }
.ws[data-workspace="board"] .board-reading-mode>h2 { font-size:20px; margin-bottom:6px; }
.ws[data-workspace="board"] .board-reading-intro { align-items:center; gap:6px 16px; padding-bottom:6px; }
.ws[data-workspace="board"] .board-reading-question { font-size:13px; }
.ws[data-workspace="board"] .board-reading-counts { font-size:12px; margin-top:2px; }
.ws[data-workspace="board"] .board-presentation button { padding:5px 8px; font-size:12px; }
.ws[data-workspace="board"] .board-reading-help { padding-bottom:8px; font-size:12px; gap:4px 14px; }
.ws[data-workspace="board"] .board-reading-story { padding-top:12px; }
@media(max-width:700px) {
 /* The phone review's compact side button must not inherit a full-row width. */
 .ws[data-workspace] .mrev-workspace .srev-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:8px; }
 .ws[data-workspace] .mrev-workspace .srev-head>div:first-child { width:100%; min-width:0; }
 .ws[data-workspace] .mrev-workspace .srev-head-tools { width:auto; max-width:96px; display:flex; justify-content:flex-end; }
 .ws[data-workspace="board"] .brev-header h1 { font-size:18px; }
 .ws[data-workspace="board"] .brev-mode>.btn,.ws[data-workspace="board"] .brev-filters>.btn { min-height:40px; }
 .ws[data-workspace="board"] .improv-picker select { font-size:16px; min-height:36px; }
 .ws[data-workspace="board"] .board-presentation button { min-height:36px; }
}

@media(max-width:600px) {
 .ws[data-workspace="board"] .board-reading-mode .board-toolbar { display:flex; flex-wrap:wrap; }
 .ws[data-workspace="board"] .board-reading-mode .board-act-nav { flex:1; width:auto; }
}

/* Story map is a topic list and a report. Reviewing is an explicit secondary mode. */
.ws[data-workspace="reports"] .pane-strip:has(>.map-report-options) { display:none; }
.ws[data-workspace="reports"] .map-reading-layout { display:grid; grid-template-columns:190px minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
.ws[data-workspace="reports"] .map-reading-layout .map-report-index { display:block; overflow:auto; padding:16px 14px 20px 0; border-right:1px solid var(--ui-hairline); border-bottom:0; }
.ws[data-workspace="reports"] .map-reading-layout .map-report-index h2 { display:block; font-size:12px; color:var(--muted); margin:0 0 8px; }
.ws[data-workspace="reports"] .map-reading-layout .map-report-search { display:block; }
.ws[data-workspace="reports"] .map-reading-layout .map-report-search input { padding:6px 0; font-size:12px; }
.ws[data-workspace="reports"] .map-reading-layout .map-report-picker { display:grid; margin-top:8px; gap:0; }
.ws[data-workspace="reports"] .map-reading-layout .map-report-choice { padding:8px 10px; min-height:34px; }
.ws[data-workspace="reports"] .map-reading-layout .map-report-choice[aria-current] { background:var(--ui-hover); box-shadow:inset 2px 0 var(--ink); }
.map-character-topics>summary { cursor:pointer; padding:8px 10px; color:var(--muted); font-size:12px; }
.map-character-topics .map-report-choice { width:100%; }
.ws[data-workspace="reports"] .map-reading-layout .map-topic-select { display:none; }
.ws[data-workspace="reports"] .map-reading-layout .map-report-content { padding:14px 24px 32px; overflow:auto; }
.ws[data-workspace="reports"] .map-reading-layout .map-report-content>.doc-body { height:auto; max-width:900px; margin-inline:auto; }
.ws[data-workspace="reports"] .mrev-reading { height:auto; }
.mrev-read-tools { display:flex; justify-content:flex-end; margin-bottom:4px; }
.mrev-read-tools .btn { font-size:12px; padding:4px 8px; min-height:30px; }
.mrev-report { min-width:0; }
.ws[data-workspace="reports"] .mrev-in-map .mrev-topic,.ws[data-workspace="reports"] .mrev-in-map .srev-head p,.ws[data-workspace="reports"] .mrev-in-map .srev-save { display:none; }
.ws[data-workspace="reports"] .mrev-in-map .srev-head-tools { display:flex; flex-wrap:wrap; align-items:center; gap:6px; width:auto; max-width:none; }
.ws[data-workspace="reports"] .mrev-in-map .srev-head { align-items:center; padding:0 0 8px; }
.ws[data-workspace="reports"] .mrev-in-map .srev-layout { min-height:420px; }
.ws[data-workspace="reports"] .mrev-in-map .srev-queue { width:auto; }
@media(max-width:900px) {
 .ws[data-workspace="reports"] .map-reading-layout { grid-template-columns:160px minmax(0,1fr); }
 .ws[data-workspace="reports"] .map-reading-layout .map-report-content { padding-inline:16px; }
}
@media(max-width:700px) {
 .ws[data-workspace="reports"] .map-reading-layout { display:block; }
 .ws[data-workspace="reports"] .map-reading-layout .map-report-index { padding:6px 0; border-right:0; border-bottom:1px solid var(--ui-hairline); }
 .ws[data-workspace="reports"] .map-reading-layout .map-report-index :is(h2,.map-report-search,.map-report-picker,.map-search-count) { display:none; }
 .ws[data-workspace="reports"] .map-reading-layout .map-topic-select { display:flex; align-items:center; gap:8px; margin:0; }
 .ws[data-workspace="reports"] .map-reading-layout .map-topic-select select { flex:1; min-width:0; max-width:none; padding:6px 8px; min-height:40px; font-size:16px; }
 .ws[data-workspace="reports"] .map-reading-layout .map-report-content { padding:8px 0 28px; }
 .ws[data-workspace="reports"] .mrev-in-map .srev-head { display:flex; flex-wrap:wrap; gap:4px; }
 .ws[data-workspace="reports"] .mrev-in-map .srev-head>div:first-child { flex:1 1 160px; width:auto; }
 .ws[data-workspace="reports"] .mrev-in-map .srev-head-tools { flex:0 1 auto; }
}

.map-topic-tools { position:relative; margin-top:12px; font-size:12px; color:var(--muted); }
.map-topic-tools>summary { cursor:pointer; padding:8px 10px; }
.map-topic-menu { display:grid; gap:4px; padding:4px; background:var(--canvas); border:1px solid var(--line); }
.map-topic-menu .btn { white-space:normal; text-align:left; justify-content:flex-start; font-size:12px; }
@media(max-width:700px) {
 .ws[data-workspace="reports"] .map-reading-layout .map-report-index { display:flex; gap:8px; align-items:center; overflow:visible; }
 .ws[data-workspace="reports"] .map-reading-layout .map-topic-select { flex:1; min-width:0; font-size:0; gap:0; }
 .map-topic-tools { flex:none; margin:0; }
 .map-topic-tools>summary { padding:8px 4px; font-size:11px; }
 .map-topic-tools[open] .map-topic-menu { position:absolute; right:0; top:100%; width:200px; z-index:20; box-shadow:var(--shadow); }
}

/* Spatial workspaces use the entire pane; floating chat does not reserve a footer. */
.ws[data-workspace="board"] .pane-scroll:has(>.map-board-shell) { padding:0; }
.ws[data-workspace="board"] .map.map-board-shell { max-width:none; width:100%; margin:0; }
.ws[data-workspace="board"] .board-reading-counts { margin:0; }
.ws[data-workspace="board"] .brev-board-intro>p { display:none; }
.ws[data-workspace="board"] .improv-controls>.improv-error { width:auto; margin:0 0 0 auto; font-size:12px; }

.ws[data-workspace] .ing-header-progress .ing-header-open { width:140px; max-width:140px; }

.ws[data-workspace="reports"] .mrev-in-map .srev-queue>[data-act="mrev-native"],
.ws[data-workspace="reports"] .mrev-in-map .srev-progress [data-act="mrev-native"] { display:none; }

@media(max-width:600px) {
 .ws[data-workspace] .ing-header-progress .ing-header-open { width:112px; max-width:112px; }
}

.ws[data-workspace="reports"] .map-reading-layout .map-report-content:has(.mrev-reading) { container-type:inline-size; container-name:docsheet; }

/* The Beat board starts with its cards, beneath one toolbar. */
.ws[data-workspace="board"] .board-toolbar-simple { display:flex; align-items:center; flex-wrap:nowrap; gap:6px 12px; padding:4px 0 7px; margin:0 0 6px; background:transparent; border-bottom:1px solid var(--ui-hairline); }
.ws[data-workspace="board"] .board-toolbar-simple .board-act-nav { flex:none; width:auto; margin:0; }
.ws[data-workspace="board"] .board-toolbar-simple .board-presentation { width:auto; padding:0; gap:0; border:0; border-radius:0; }
.ws[data-workspace="board"] .board-toolbar-simple .board-presentation button { flex:none; padding:5px 7px; min-height:30px; border-radius:0; border-bottom:2px solid transparent; font-size:12px; }
.ws[data-workspace="board"] .board-toolbar-simple .board-presentation button[aria-pressed="true"] { background:transparent; border-bottom-color:var(--ink); }
.ws[data-workspace="board"] .board-toolbar-simple .board-head-actions { flex:1; justify-content:flex-end; gap:4px; }
.ws[data-workspace="board"] .board-toolbar-simple .board-view-actions { flex:none; }
.ws[data-workspace="board"] .board-toolbar-simple .improv-controls { display:block; position:static; padding:0; border:0; background:transparent; }
.improv-menu .improv-menu-panel { width:300px; max-width:calc(100vw - 24px); }
.improv-menu-panel .improv-picker { display:grid; gap:6px; margin-bottom:12px; }
.improv-menu-panel .improv-picker select { width:100%; max-width:none; }
.improv-menu-panel :is(.improv-safe,.improv-error,.improv-progress) { display:block; margin:10px 0 0; padding:0; border:0; }
.board-tool-view { padding:10px 0; margin-block:8px; border-block:1px solid var(--line); }
.board-menu-panel .board-reading-help { display:block; padding:0; font-size:12px; }
.board-menu-panel .board-reading-help p { white-space:normal; font-size:12px; line-height:1.6; }
.board-toolbar-simple .board-mobile-fullscreen { display:none; }
.ws[data-workspace="board"] .board-reading-mode .board-reading-story { padding-top:6px; }
.ws[data-workspace="board"] .brev-header { flex-wrap:wrap; align-items:center; }
.ws[data-workspace="board"] .brev-header>div { flex:1 1 240px; }
@media(max-width:1150px) {
 .ws[data-workspace="board"] .board-toolbar-simple { flex-wrap:wrap; gap:4px 10px; }
 .ws[data-workspace="board"] .board-toolbar-simple .board-head-actions { flex:1 1 auto; flex-wrap:wrap; }
}
@media(max-width:600px) {
 .ws[data-workspace="board"] .board-toolbar-simple .board-act-nav { flex:1; grid-column:auto; }
 .ws[data-workspace="board"] .board-toolbar-simple .board-presentation { flex:none; }
 .ws[data-workspace="board"] .board-toolbar-simple .board-presentation button { padding-inline:6px; font-size:11px; }
 .ws[data-workspace="board"] .board-toolbar-simple .board-head-actions { flex:1 1 100%; min-width:0; justify-content:flex-start; }
 .ws[data-workspace="board"] .board-toolbar-simple .board-view-actions { display:none; }
 .ws[data-workspace="board"] .board-toolbar-simple .board-mobile-fullscreen { display:block; }
 .ws[data-workspace="board"] .board-toolbar-simple .board-menu-panel { right:0; left:auto; max-width:calc(100vw - 24px); max-height:70dvh; overflow:auto; }
 .ws[data-workspace="board"] .board-toolbar-simple .btn,.ws[data-workspace="board"] .board-toolbar-simple .board-presentation button { min-height:36px; }
 .ws[data-workspace="board"] .brev-header>div { flex-basis:100%; }
}
@media(max-width:360px) {
 .ws[data-workspace="board"] .board-toolbar-simple .board-act-nav { gap:0; }
 .ws[data-workspace="board"] .board-toolbar-simple .board-act-filter { padding-inline:4px; font-size:11px; }
}

/* The whole profile is the Settings button, including the compact avatar. */
.rail .who { width:100%; min-height:40px; padding:4px 6px; border:0; border-radius:3px; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.rail .who:hover { background:var(--ui-hover); }
.rail .who:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
.rail[data-compact] .who { width:36px; min-height:36px; padding:4px 0; }
.settings-row { display:grid; grid-template-columns:18px minmax(0,1fr) 16px; align-items:center; gap:12px; width:100%; padding:14px 0; border-bottom:1px solid var(--line); color:var(--ink); text-align:left; cursor:pointer; }
.settings-row:hover .settings-label { text-decoration:underline; text-underline-offset:3px; }
.settings-row:focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
/* Settings holds appearance and reading, which used to sit in the sidebar foot. */
.settings-group { display:grid; gap:8px; padding:4px 0 20px; border-bottom:1px solid var(--line); }
.settings-group + .settings-group { padding-top:18px; }
.settings-group h3 { margin:0; font:600 14px/1.4 var(--font-ui); color:var(--ink); }
.settings-group .appearance-label { margin-top:6px; font:500 12px/1.4 var(--font-ui); color:var(--muted); }
.settings-group .themes { display:flex; gap:4px; }
.settings-group .themes button { flex:1; min-width:0; min-height:40px; padding:8px 4px; border:1px solid var(--line); border-radius:3px; color:var(--ink); background:transparent; font:13px/1.4 var(--font-ui); }
.settings-group .themes button[aria-pressed="true"] { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.settings-group .themes button:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.reading-inline fieldset { min-width:0; border:0; padding:0; margin:6px 0 14px; }
.reading-inline legend { padding:0; margin-bottom:8px; font:500 12px/1.4 var(--font-ui); color:var(--muted); }
.reading-inline .reading-preview { margin:6px 0 8px; }
.reading-inline .reading-status { margin:0 0 6px; color:var(--muted); font:12px/1.6 var(--font-ui); }
.reading-inline button:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
/* With no role line, the save state needs no separator; it shows only while saving or when something is not saved. */
.rail #live-save:not(:empty)::before { content:none; }
.rail #live-save[data-quiet] { display:none; }
.settings-label { display:block; font:14px/1.5 var(--font-ui); }
.settings-help { display:block; margin-top:3px; color:var(--muted); font:12px/1.5 var(--font-ui); }
/* All films: the films come first; Deleted films and the Bullpen lockup sit at the foot. */
.home .topline h1 { margin:0; }
.home-foot { display:grid; justify-items:center; gap:28px; margin-top:56px; padding-top:22px; border-top:1px solid var(--ui-hairline); }
.home-foot .textlink { justify-self:start; display:inline-flex; align-items:center; gap:6px; }
.home-foot .bullpen-home-logo { margin:0 auto; }
/* A side panel (Settings, New, Import, Export) has the writer's attention; the floating chat button waits. */
body:has(#overlay .slide) .room-float-bar { display:none; }
/* A confirmation inside a side panel: the safe choice first, the destructive one beside it. */
.slide-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }
