.journey-player { --journey-progress: 12.5%; --cursor-x: 78%; --cursor-y: 18%; margin-top: 52px; }
.journey-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; border:1px solid #343835; border-bottom:0; border-radius:18px 18px 0 0; background:#202321; color:#cbd0cc; font-size:11px; }
.journey-toolbar-status,.journey-controls { display:flex; align-items:center; gap:8px; }
.journey-live-dot { width:7px; height:7px; border-radius:50%; background:#78aa8a; box-shadow:0 0 0 4px rgba(120,170,138,.1); }
.journey-controls button { min-width:34px; height:30px; padding:0 10px; border:1px solid #3b403c; border-radius:8px; color:#e2e5e2; background:#292d2a; }
.journey-controls button[data-journey-toggle] { min-width:58px; }
.journey-stage { position:relative; min-height:650px; overflow:hidden; border:1px solid #343835; background:#f6f7f5; color:#171918; }
.journey-stage.is-changing .journey-surface > *, .journey-stage.is-changing .journey-context > * { animation:journey-reveal .4s ease both; }
@keyframes journey-reveal { from { opacity:.15; transform:translateY(7px); } to { opacity:1; transform:none; } }
.journey-app { display:grid; grid-template-columns:176px minmax(0,1fr) 238px; grid-template-rows:48px minmax(520px,1fr); min-height:650px; background:#f7f8f6; }
.journey-titlebar { grid-column:1 / -1; display:grid; grid-template-columns:176px 1fr auto; align-items:center; border-bottom:1px solid #e0e4e0; background:white; font-size:10px; }
.journey-wordmark { padding-left:18px; font-size:14px; font-weight:760; letter-spacing:-.04em; }
.journey-device { color:#7b847e; }
.journey-local { margin-right:16px; padding:6px 9px; border-radius:999px; color:#286047; background:#e8f2ec; font-weight:700; }
.journey-nav { position:relative; padding:22px 14px; color:#cbd0cc; background:#151716; }
.journey-nav > small { display:block; color:#747f78; font-size:8px; letter-spacing:.1em; }
.journey-nav > strong { display:block; margin:5px 4px 24px 0; color:white; font-size:12px; line-height:1.3; }
.journey-nav nav { display:flex; flex-direction:column; gap:4px; }
.journey-nav nav span { padding:9px 10px; border-radius:8px; font-size:10px; }
.journey-nav nav .is-active { color:white; background:#2a2e2b; }
.journey-nav-footer { position:absolute; left:16px; right:16px; bottom:20px; display:flex; align-items:center; gap:8px; color:#8e9a92; }
.journey-nav-footer span { color:#70a082; }
.journey-nav-footer small { font-size:9px; }
.journey-surface { min-width:0; padding:34px 34px 98px; background:#f8f9f7; }
.journey-context { padding:30px 20px 98px; border-left:1px solid #dfe3df; background:#eef1ee; }
.journey-context-kicker,.journey-page-heading p,.journey-evidence-header p { margin:0; color:#748078; font-size:8px; font-weight:760; letter-spacing:.11em; }
.journey-context h4 { margin:7px 0 16px; font-size:17px; letter-spacing:-.02em; }
.journey-context dl { margin:0; }
.journey-context dl div { display:flex; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid #d9ded9; font-size:9px; }
.journey-context dt { color:#747d77; }
.journey-context dd { margin:0; text-align:right; font-weight:700; }
.journey-context-note { margin-top:20px; padding:13px; border-radius:10px; color:#5a655e; background:#fff; font-size:9px; line-height:1.5; }
.journey-context-note.positive { color:#315c46; background:#e8f2ec; }
.journey-context-note.warning { color:#655522; background:#fff3cf; }
.journey-page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.journey-page-heading.compact { margin-bottom:24px; }
.journey-page-heading h3,.journey-evidence-header h3 { max-width:680px; margin:5px 0 5px; font-size:24px; line-height:1.15; letter-spacing:-.035em; }
.journey-page-heading > div > span,.journey-evidence-header > div > span { display:block; color:#6b746e; font-size:10px; }
.journey-primary { border:0; border-radius:9px; padding:10px 14px; color:white; background:#171918; font-size:10px; font-weight:700; }
.journey-filterbar { display:flex; align-items:center; gap:7px; padding:10px 12px; border:1px solid #e0e4e0; border-radius:10px 10px 0 0; color:#69736c; background:white; font-size:9px; }
.journey-filterbar > span { padding:5px 7px; border-radius:6px; background:#f2f4f2; }
.journey-filterbar i { flex:1; }
.journey-source-list { border:1px solid #e0e4e0; border-top:0; border-radius:0 0 10px 10px; background:white; }
.journey-source-row { display:grid; grid-template-columns:18px 22px 1fr auto; gap:8px; align-items:center; min-height:58px; padding:0 13px; border-bottom:1px solid #edf0ed; }
.journey-source-row:last-child { border-bottom:0; }
.journey-checkbox { display:grid; width:15px; height:15px; place-items:center; border:1px solid #cfd5cf; border-radius:4px; color:white; font-size:8px; }
.journey-source-row.is-selected .journey-checkbox { border-color:#537762; background:#537762; }
.journey-file-icon { color:#6c776f; font-size:15px; }
.journey-source-row b,.journey-source-row small { display:block; }
.journey-source-row b { font-size:10px; }
.journey-source-row small { margin-top:2px; color:#7b847e; font-size:8px; }
.journey-source-row em { color:#89918c; font-size:8px; font-style:normal; }
.journey-composer { overflow:hidden; border:1px solid #dfe3df; border-radius:14px; background:white; box-shadow:0 10px 34px rgba(18,22,19,.05); }
.journey-composer label { display:block; padding:15px 18px 8px; color:#69736c; font-size:9px; font-weight:700; }
.journey-typebox { min-height:126px; padding:4px 18px 18px; color:#202420; font-size:15px; line-height:1.55; }
.journey-typebox i { display:inline-block; width:1px; height:17px; margin-left:2px; vertical-align:-3px; background:#2e5b48; animation:journey-caret .7s step-end infinite; }
@keyframes journey-caret { 50% { opacity:0; } }
.journey-rules { display:flex; flex-wrap:wrap; gap:7px; padding:14px 18px; border-top:1px solid #edf0ed; background:#fafbfa; }
.journey-rules span { padding:6px 8px; border-radius:999px; color:#46604f; background:#eaf2ed; font-size:8px; }
.journey-composer-footer { display:flex; align-items:center; justify-content:space-between; padding:13px 18px; border-top:1px solid #edf0ed; }
.journey-composer-footer small { color:#7a837d; font-size:9px; }
.journey-scope-card { overflow:hidden; border:1px solid #dfe3df; border-radius:14px; background:white; }
.journey-scope-metrics { display:grid; grid-template-columns:repeat(4,1fr); }
.journey-scope-metrics span { padding:22px 18px; border-right:1px solid #e5e8e5; }
.journey-scope-metrics span:last-child { border-right:0; }
.journey-scope-metrics b,.journey-scope-metrics small { display:block; }
.journey-scope-metrics b { font-size:20px; }
.journey-scope-metrics small { margin-top:4px; color:#78817b; font-size:8px; }
.journey-scope-rule { margin:0 18px 18px; padding:16px; border-radius:10px; background:#f2f4f2; }
.journey-scope-rule span,.journey-scope-rule b,.journey-scope-rule small { display:block; }
.journey-scope-rule span { color:#7a837d; font-size:8px; }
.journey-scope-rule b { margin-top:4px; font-size:12px; }
.journey-scope-rule small { margin-top:4px; color:#69736c; font-size:9px; }
.journey-scope-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 18px; border-top:1px solid #e5e8e5; }
.journey-scope-footer > span { color:#737c76; font-size:9px; }
.journey-start { box-shadow:0 0 0 4px rgba(46,91,72,.08); }
.journey-run-clock { display:flex; align-items:center; gap:7px; padding:7px 9px; border-radius:999px; color:#356148; background:#e8f1ec; font-size:9px; }
.journey-run-clock i { width:7px; height:7px; border-radius:50%; background:#4e8a65; animation:journey-pulse 1.2s ease infinite; }
@keyframes journey-pulse { 50% { opacity:.35; transform:scale(.8); } }
.journey-run-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:14px; }
.journey-run-steps,.journey-run-metrics { border:1px solid #dfe3df; border-radius:13px; background:white; }
.journey-run-steps > div { display:grid; grid-template-columns:28px 1fr; gap:10px; align-items:center; padding:15px 17px; border-bottom:1px solid #edf0ed; opacity:.46; }
.journey-run-steps > div:last-child { border-bottom:0; }
.journey-run-steps > div > span { display:grid; width:23px; height:23px; place-items:center; border:1px solid #cfd5d0; border-radius:50%; font-size:8px; }
.journey-run-steps b,.journey-run-steps small { display:block; }
.journey-run-steps b { font-size:10px; }
.journey-run-steps small { margin-top:2px; color:#78817b; font-size:8px; }
.journey-run-steps .is-active,.journey-run-steps .is-done { opacity:1; }
.journey-run-steps .is-active > span { border-color:#53816a; color:white; background:#53816a; animation:journey-pulse 1.2s ease infinite; }
.journey-run-steps .is-done > span { border-color:#dce9e1; color:#356148; background:#e8f1ec; }
.journey-run-metrics { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; }
.journey-run-metrics > span { padding:18px; border-right:1px solid #edf0ed; border-bottom:1px solid #edf0ed; }
.journey-run-metrics > span:nth-child(2) { border-right:0; }
.journey-run-metrics small,.journey-run-metrics b { display:block; }
.journey-run-metrics small { color:#78817b; font-size:8px; }
.journey-run-metrics b { margin-top:4px; font-size:24px; }
.journey-run-wave { grid-column:1 / -1; display:flex; align-items:flex-end; gap:5px; min-height:86px; padding:18px; }
.journey-run-wave i { flex:1; height:35%; border-radius:4px 4px 0 0; background:#dce8e0; animation:journey-wave 1.1s ease-in-out infinite alternate; }
.journey-run-wave i:nth-child(2n) { animation-delay:-.4s; height:65%; }
.journey-run-wave i:nth-child(3n) { animation-delay:-.7s; height:90%; }
@keyframes journey-wave { to { height:80%; background:#b8cfc0; } }
.journey-lock,.journey-complete,.journey-generating { align-self:flex-start; padding:7px 9px; border-radius:999px; color:#356148; background:#e8f1ec; font-size:8px; font-weight:700; white-space:nowrap; }
.journey-generating { display:flex; align-items:center; gap:6px; }
.journey-generating i { width:7px; height:7px; border-radius:50%; background:#4f8765; animation:journey-pulse 1s infinite; }
.journey-findings { display:flex; flex-direction:column; gap:9px; }
.journey-finding { display:grid; grid-template-columns:28px 1fr auto; gap:11px; align-items:start; width:100%; padding:16px; border:1px solid #dfe3df; border-radius:11px; color:inherit; background:white; text-align:left; }
.journey-finding.is-focus { border-color:#94ad9d; box-shadow:0 8px 25px rgba(41,76,56,.08); }
.journey-finding-index { color:#7a837d; font-size:9px; font-weight:700; }
.journey-finding-copy b,.journey-finding-copy small,.journey-finding-meta small { display:block; }
.journey-finding-copy b { font-size:11px; }
.journey-finding-copy small { margin-top:4px; max-width:620px; color:#67716a; font-size:9px; line-height:1.45; }
.journey-finding-meta { text-align:right; }
.journey-finding-meta em { display:inline-block; padding:4px 6px; border-radius:999px; color:#2f6448; background:#e9f3ed; font-size:7px; font-style:normal; font-weight:760; text-transform:uppercase; }
.journey-finding-meta em.state-partial { color:#75601e; background:#fff2c9; }
.journey-finding-meta small { margin-top:5px; color:#78817b; font-size:8px; }
.journey-evidence-header { display:flex; justify-content:space-between; gap:18px; margin-bottom:15px; }
.journey-evidence-header > button { align-self:flex-start; border:1px solid #d7ddd8; border-radius:8px; padding:8px 10px; color:#4a554e; background:white; font-size:9px; }
.journey-support-pill { display:inline-block!important; margin-top:3px; padding:4px 7px; border-radius:999px; color:#2f6448!important; background:#e9f3ed; font-size:7px!important; font-weight:760; }
.journey-evidence-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:12px; }
.journey-evidence-sources { display:flex; flex-direction:column; gap:9px; }
.journey-evidence-source,.journey-synthesis { padding:13px; border:1px solid #dfe3df; border-radius:10px; background:white; }
.journey-evidence-source.is-selected { border-color:#94ad9d; }
.journey-evidence-source.is-conflict { border-color:#d8c07a; background:#fffdf6; }
.journey-evidence-source b { font-size:9px; }
.journey-evidence-source p { margin:6px 0; color:#414a44; font-size:9px; line-height:1.45; }
.journey-evidence-source small { color:#79827c; font-size:8px; }
.journey-synthesis { color:#33483c; background:#edf4ef; }
.journey-synthesis small { color:#5f7567; font-size:7px; font-weight:760; letter-spacing:.08em; }
.journey-synthesis p { margin:6px 0 0; font-size:9px; line-height:1.45; }
.journey-document { overflow:hidden; border:1px solid #dfe3df; border-radius:10px; background:#eef1ee; }
.journey-docbar { display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border-bottom:1px solid #dfe3df; font-size:8px; }
.journey-docbar span { color:#79827c; }
.journey-paper { min-height:270px; margin:12px; padding:20px; border-radius:6px; background:white; box-shadow:0 7px 22px rgba(20,24,21,.06); }
.journey-paper h4 { margin:0 0 20px; font-size:11px; }
.journey-paper p { color:#5f6962; font-size:11px; line-height:1.55; }
.journey-paper mark { display:block; margin:18px 0; padding:11px; color:#57481d; background:#fff1c8; font-size:11px; line-height:1.5; }
.journey-brief { overflow:hidden; border:1px solid #dfe3df; border-radius:12px; background:white; }
.journey-brief-title { padding:18px; border-bottom:1px solid #e7eae7; }
.journey-brief-title small { color:#78817b; font-size:7px; font-weight:760; letter-spacing:.09em; }
.journey-brief-title p { margin:7px 0 0; max-width:760px; font-size:11px; line-height:1.5; }
.journey-brief ol { list-style:none; margin:0; padding:0; }
.journey-brief li { display:grid; grid-template-columns:26px 1fr auto; gap:10px; align-items:start; padding:14px 18px; border-bottom:1px solid #edf0ed; }
.journey-brief li:last-child { border-bottom:0; }
.journey-brief li > span:nth-child(2) b,.journey-brief li > span:nth-child(2) small { display:block; }
.journey-brief li b { font-size:10px; }
.journey-brief li small { margin-top:3px; color:#6b746e; font-size:8px; }
.journey-brief li button { border:0; color:#315c93; background:transparent; font-size:8px; font-weight:700; }
.brief-number { color:#7a837d; font-size:8px; font-weight:700; }
.journey-final { display:grid; grid-template-columns:1fr 190px; gap:12px; }
.journey-final-brief,.journey-final-proof { border:1px solid #dfe3df; border-radius:12px; background:white; }
.journey-final-brief { padding:20px; }
.journey-final-brief > small { color:#78817b; font-size:7px; font-weight:760; letter-spacing:.09em; }
.journey-final-brief > h4 { max-width:750px; margin:7px 0 18px; font-size:14px; line-height:1.45; }
.journey-final-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.journey-final-grid > div { padding:12px; border-radius:9px; background:#f3f5f3; }
.journey-final-grid span,.journey-final-grid b,.journey-final-grid small { display:block; }
.journey-final-grid span { color:#78817b; font-size:7px; }
.journey-final-grid b { margin-top:10px; font-size:9px; line-height:1.35; }
.journey-final-grid small { margin-top:7px; color:#5e6e64; font-size:7px; }
.journey-final-proof { display:flex; flex-direction:column; gap:10px; padding:18px; background:#edf2ee; }
.journey-final-proof span { color:#68736c; font-size:8px; text-transform:uppercase; letter-spacing:.07em; }
.journey-final-proof b { font-size:9px; }
.journey-final-proof button { margin-top:auto; border:0; border-radius:8px; padding:9px; color:white; background:#171918; font-size:9px; }
.journey-caption { position:absolute; z-index:7; left:0; right:0; bottom:0; display:grid; grid-template-columns:92px 1fr; gap:14px; min-height:78px; padding:14px 20px; color:white; background:rgba(18,21,19,.94); backdrop-filter:blur(8px); }
.journey-caption > span { align-self:start; padding-top:2px; color:#8ea398; font-size:7px; font-weight:760; letter-spacing:.1em; }
.journey-caption strong { display:block; font-size:12px; }
.journey-caption p { margin:3px 0 0; max-width:790px; color:#b8c0bb; font-size:9px; line-height:1.45; }
.journey-cursor { position:absolute; z-index:8; left:var(--cursor-x); top:var(--cursor-y); width:22px; height:26px; pointer-events:none; transform:translate(-3px,-3px); transition:left .75s cubic-bezier(.2,.8,.2,1),top .75s cubic-bezier(.2,.8,.2,1); filter:drop-shadow(0 2px 2px rgba(0,0,0,.25)); }
.journey-cursor svg { width:18px; fill:#151716; stroke:white; stroke-width:1.4; }
.journey-cursor i { position:absolute; left:0; top:0; width:16px; height:16px; border:1px solid rgba(46,91,72,.55); border-radius:50%; opacity:0; animation:journey-click 1.3s ease infinite; }
@keyframes journey-click { 55% { opacity:0; transform:scale(.4); } 70% { opacity:.9; } 100% { opacity:0; transform:scale(2.2); } }
.journey-timeline { padding:15px 12px 8px; border:1px solid #343835; border-top:0; border-radius:0 0 18px 18px; background:#202321; }
.journey-track { position:relative; height:2px; margin:0 14px 12px; overflow:hidden; border-radius:999px; background:#3a3e3b; }
.journey-track i { display:block; width:var(--journey-progress); height:100%; background:#7ca48b; transition:width .45s ease; }
.journey-steps { display:grid; grid-auto-flow:column; grid-auto-columns:1fr; }
.journey-steps button { display:flex; flex-direction:column; gap:3px; align-items:flex-start; min-width:0; padding:6px 8px; border:0; color:#78817c; background:transparent; text-align:left; }
.journey-steps button span { font-size:8px; font-weight:760; }
.journey-steps button small { overflow:hidden; width:100%; color:#69736d; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.journey-steps button.is-past span,.journey-steps button.is-active span { color:#9bc0aa; }
.journey-steps button.is-active small { color:#dce2de; }

@media (max-width:1080px) {
  .journey-app { grid-template-columns:150px minmax(0,1fr) 205px; }
  .journey-titlebar { grid-template-columns:150px 1fr auto; }
  .journey-surface { padding-inline:26px; }
  .journey-final-grid { grid-template-columns:1fr; }
  .journey-final { grid-template-columns:1fr 175px; }
}

@media (max-width:760px) {
  .journey-toolbar-status { max-width:65%; }
  #journey-step-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .journey-stage { min-height:690px; }
  .journey-app { grid-template-columns:1fr; grid-template-rows:44px 1fr; min-height:690px; }
  .journey-titlebar { grid-column:1; grid-template-columns:1fr auto; padding-inline:14px; }
  .journey-wordmark { padding-left:0; }
  .journey-device,.journey-nav,.journey-context { display:none; }
  .journey-surface { padding:24px 18px 104px; }
  .journey-page-heading h3,.journey-evidence-header h3 { font-size:20px; }
  .journey-scope-metrics { grid-template-columns:1fr 1fr; }
  .journey-scope-metrics span:nth-child(2) { border-right:0; }
  .journey-scope-metrics span:nth-child(-n+2) { border-bottom:1px solid #e5e8e5; }
  .journey-run-grid,.journey-evidence-layout,.journey-final { grid-template-columns:1fr; }
  .journey-run-metrics { display:none; }
  .journey-document { max-height:250px; }
  .journey-paper { min-height:180px; }
  .journey-finding { grid-template-columns:24px 1fr; }
  .journey-finding-meta { grid-column:2; text-align:left; }
  .journey-final-proof { display:none; }
  .journey-caption { grid-template-columns:70px 1fr; min-height:90px; padding:12px 14px; }
  .journey-cursor { display:none; }
  .journey-steps button { align-items:center; padding-inline:2px; }
  .journey-steps button small { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .journey-stage.is-changing .journey-surface > *,.journey-stage.is-changing .journey-context > *,.journey-cursor i,.journey-typebox i,.journey-run-clock i,.journey-generating i,.journey-run-wave i,.journey-run-steps .is-active > span { animation:none!important; }
  .journey-cursor,.journey-track i { transition:none!important; }
}
