/* Bushel's interactive illustration sits within the shared Really Simple product system. */
.bushel-showcase { --column: 1240px; }
.tour-hero { padding: 52px 0 40px; }
.tour-hero h1 { max-width: 21ch; font-size: clamp(44px, 6.2vw, 78px); }
.tour-hero .product-lede { max-width: 65ch; }
.workspace-section { scroll-margin-top: 18px; }
.workspace-label { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 13px; font-size: 12px; color: var(--secondary); }
.workspace-label > span { display: flex; align-items: center; gap: 8px; }
.workspace-label a { font-weight: 550; text-decoration: none; }
.live-dot { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: #65cba8; flex-shrink: 0; }
.tour-app { --app-bg: #10171d; --app-panel: #182129; --app-line: #2c3943; --app-text: #e3ecef; --app-muted: #a7b9c4; --mint: #99e0bd; --term-bg: #102866; --term-text: #e4f5ff; --term-accent: #8bf3ed; --term-line: #477cb2; --term-selected: #1d468c; color: var(--app-text); background: var(--app-bg); border: 1px solid #35424a; border-radius: 15px; overflow: hidden; box-shadow: 0 32px 80px -40px #18212975; text-align: left; }
.tour-app[data-palette="dark"] { --term-bg: #10232a; --term-text: #e0ede4; --term-accent: #a2e0bd; --term-line: #426163; --term-selected: #213c3f; }
.tour-app button, .tour-dialog button, .tour-coach button, .guide-card-top button { font: inherit; cursor: pointer; }
.tour-app button:disabled { opacity: .4; cursor: default; }
.tour-app button, .tour-app input, .tour-app select, .tour-dialog button, .tour-dialog textarea { font-family: system-ui, -apple-system, sans-serif; font-size: 13px; }
.tour-app button:focus-visible, .tour-app input:focus-visible, .tour-app select:focus-visible, .tour-app [tabindex]:focus-visible { outline: 2px solid var(--mint); outline-offset: -3px; }
.tour-app .preview-drawer :focus-visible, .tour-app .download-history :focus-visible { outline-color: #345442; }
.tour-app h3 { color: var(--app-text); line-height: 1.16; letter-spacing: -.035em; }
.tour-app p { line-height: 1.65; }
.tour-app footer { width: auto; margin: 0; }
.app-titlebar { display: flex; justify-content: space-between; align-items: center; padding: 12px 18px; min-height: 50px; background: #202a32; border-bottom: 1px solid var(--app-line); }
.app-titlebar > div { display: flex; align-items: center; gap: 10px; font-size: 12px; }
.app-titlebar strong { font-weight: 550; }
.demo-label { font-size: 10px; color: #bac8d0; border: 1px solid #4b5963; border-radius: 4px; padding: 1px 6px; }
.app-titlebar button { border: 0; color: var(--app-muted); background: transparent; font-size: 11px; padding: 7px 4px; }
.app-titlebar button:hover { color: white; }
.app-layout { display: grid; grid-template-columns: 181px minmax(0, 1fr); }
.tour-rail { background: #131c23; padding: 24px 11px 18px; border-right: 1px solid var(--app-line); display: flex; flex-direction: column; gap: 5px; }
.rail-heading { color: #8295a2; font-size: 9px; letter-spacing: .13em; font-weight: 600; margin: 0 0 14px 9px; }
.tour-rail button { display: flex; align-items: center; gap: 9px; padding: 13px 9px; border-radius: 7px; border: 1px solid transparent; background: transparent; color: #b3c2cb; text-align: left; line-height: 1.3; font-size: 12px; }
.tour-rail button:hover { background: #202d34; color: white; }
.tour-rail button[aria-pressed="true"] { background: #203930; border-color: #345347; color: #c3efd9; }
.rail-icon { width: 23px; height: 28px; display: grid; place-items: center; font-size: 22px; font-weight: 400; }
.tour-rail small { display: block; color: #a7b9c4; font-size: 10px; margin-top: 5px; }
.tour-rail button[aria-pressed="true"] small { color: #9cc8b3; }
.rail-footer { display: flex; align-items: center; gap: 7px; margin: auto 8px 0; padding-top: 36px; color: #98adb8; font-size: 10px; }
.app-main { min-width: 0; }
.app-toolbar { height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border-bottom: 1px solid var(--app-line); gap: 14px; }
.app-toolbar strong { font-size: 13px; font-weight: 550; }
.app-toolbar > span { color: var(--app-muted); font-size: 10px; }
.app-stage { padding: 22px; min-height: 505px; position: relative; }
.app-stage:focus { outline: none; }
.app-status { display: flex; align-items: center; gap: 20px; padding: 10px 17px; background: #1c272f; border-top: 1px solid var(--app-line); color: #b5c5cd; font-size: 10px; line-height: 1.5; }
.app-status > span:first-child { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.app-status .grid-indicator { margin-left: auto; white-space: nowrap; }
.app-status #tour-status { flex: 1; }
.tour-primary, .tour-secondary { min-height: 35px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 5px; padding: 8px 12px; font-weight: 550; text-decoration: none; line-height: 1.3; }
.tour-app .tour-primary, .tour-dialog .tour-primary { background: #a2e0bd; color: #14251e; border: 1px solid #a2e0bd; }
.tour-app .tour-primary:hover, .tour-dialog .tour-primary:hover { background: #c1efd3; }
.tour-app .tour-secondary { border: 1px solid #43515b; color: #d2dfe5; background: #25313a; }
.tour-app .tour-secondary:hover { background: #35444e; }
.scene-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; margin: 20px 0 0; }
.scene-fine, .app-fine { color: #a7bbc6; font-size: 11px; line-height: 1.65; }
.scene-fine { text-align: center; max-width: 74ch; margin: 18px auto 0; }
.app-eyebrow { color: #9cceb5; font-size: 10px; letter-spacing: .11em; font-weight: 600; }
.loading-note { color: #becbd4; padding: 50px; }
/* Fictional terminal screens. */
.terminal-pane { min-width: 0; border: 1px solid #485663; border-radius: 6px; overflow: hidden; background: #111e2b; }
.terminal-pane.focused-pane { border-color: #8ec9b1; }
.pane-label { height: 32px; padding: 0 11px; display: flex; align-items: center; justify-content: space-between; gap: 8px; background: #223039; font-size: 10px; color: #d4e0e5; }
.pane-label > span:first-child { display: inline-flex; align-items: center; gap: 6px; }
.pane-label i { width: 5px; height: 5px; background: #89d7b4; border-radius: 50%; }
.pane-label > span:last-child { color: #9caeb9; font-size: 9px; }
.term-screen { font-family: ui-monospace, "Cascadia Code", "DejaVu Sans Mono", monospace; font-size: 12px; background: var(--term-bg); color: var(--term-text); padding: 17px 14px 12px; min-height: 315px; overflow: auto; line-height: 1.6; }
.term-heading { color: var(--term-accent); border: 1px solid var(--term-line); padding: 5px 8px; display: flex; justify-content: space-between; gap: 10px; font-size: 11px; white-space: nowrap; }
.term-heading strong { font-weight: 600; }
.term-subheading { text-align: center; font-size: 8px; letter-spacing: .09em; color: var(--term-accent); margin: 4px 0 16px; }
.term-fields { display: flex; flex-direction: column; gap: 5px; margin: 0 2px 15px; font-size: 11px; }
.term-fields b { font-weight: 500; color: var(--term-accent); }
.term-fields em { float: right; font-style: normal; color: var(--term-accent); font-size: 9px; }
.term-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.term-table th { color: var(--term-accent); text-align: left; font-weight: 500; border-top: 1px solid var(--term-line); border-bottom: 1px solid var(--term-line); padding: 5px 6px; }
.term-table td { padding: 7px 6px; white-space: nowrap; }
.term-table th:last-child, .term-table td:last-child { text-align: right; }
.term-selected { background: var(--term-selected); }
.term-total { padding-top: 11px; margin: 5px 5px 0; font-size: 10px; border-top: 1px solid var(--term-line); }
.term-total span { float: right; color: var(--term-accent); }
.term-prompt { color: var(--term-accent); font-size: 10px; padding-top: 18px; margin-bottom: 15px; }
.term-cursor { display: inline-block; width: 6px; height: 11px; background: var(--term-accent); margin-left: 7px; vertical-align: middle; }
.term-function-line { font-size: 9px; border-top: 1px solid var(--term-line); padding-top: 7px; color: var(--term-accent); }
.helper-bar { display: flex; gap: 5px; flex-wrap: wrap; padding: 8px; background: #203039; }
.helper-bar kbd { color: #c4d8e2; border: 1px solid #4c606d; border-radius: 3px; padding: 3px 5px; font: 9px system-ui,sans-serif; }
/* File transfers and the preview drawer. */
.file-actions, .capture-tools { display: flex; align-items: center; gap: 8px; margin-bottom: 15px; flex-wrap: wrap; }
.file-actions button { font-size: 11px; }
.file-ready { margin-left: auto; color: #a5d9b9; font-size: 10px; display: flex; align-items: center; gap: 5px; }
.file-ready i { width: 5px; height: 5px; border-radius: 50%; background: #9bd4ac; }
.files-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .86fr); gap: 12px; }
.file-terminal { min-width: 0; }
.upload-zone { display: flex; gap: 10px; align-items: center; padding: 13px 10px; margin-top: 12px; border: 1px dashed #425763; border-radius: 5px; }
.upload-icon { color: #93cdb7; font-size: 22px; }
.upload-zone strong { font-size: 10px; font-weight: 500; display: block; }
.upload-zone small { font-size: 9px; display: block; color: #a6b9c3; line-height: 1.5; }
.upload-zone button { font-size: 9px; padding: 6px 8px; flex-shrink: 0; }
.preview-drawer { background: #f4f6f5; color: #293c3e; border-radius: 6px; overflow: hidden; min-width: 0; min-height: 380px; }
.drawer-title { display: flex; justify-content: space-between; gap: 12px; padding: 12px 13px; border-bottom: 1px solid #d8e1df; align-items: center; font-size: 11px; }
.drawer-title strong { font-weight: 550; }
.drawer-title button, .download-history > div:first-child button { border: 0; background: transparent; font-size: 19px; color: #506461; line-height: 1; padding: 0 5px; }
.format-tabs { display: flex; gap: 4px; padding: 10px 12px; background: #edf1ef; }
.format-tabs button { padding: 5px 10px; border: 1px solid transparent; background: transparent; color: #516560; border-radius: 4px; font-size: 10px; font-weight: 650; }
.format-tabs button[aria-pressed="true"] { background: white; border-color: #c8d4cf; color: #244337; }
.csv-search { padding: 11px 13px; }
.csv-search label { display: block; font-size: 10px; font-weight: 550; color: #41534a; margin-bottom: 5px; }
.csv-search > div { display: flex; gap: 4px; }
.csv-search input { padding: 7px 8px; border: 1px solid #becbc4; border-radius: 4px; background: white; width: 100%; min-width: 0; font-size: 11px; color: #263e32; }
.csv-search button { border: 1px solid #cbd6d0; background: #e5eee8; border-radius: 4px; padding: 5px 10px; color: #345442; }
.csv-search > span { display: block; margin-top: 7px; font-size: 10px; color: #5a7067; }
.csv-table-wrap { overflow: auto; }
.csv-table { width: 100%; border-collapse: collapse; font-size: 10px; line-height: 1.5; }
.csv-table th { padding: 7px 10px; background: #e0e9e3; color: #3b5345; font-weight: 600; text-align: left; }
.csv-table td { padding: 10px; border-bottom: 1px solid #e1e7e3; }
.csv-table td:first-child { font: 9px ui-monospace,monospace; color: #596e62; }
.csv-table td:nth-child(2) { white-space: nowrap; }
.csv-table td:last-child, .csv-table th:last-child { text-align: right; }
.csv-table tr.search-match { background: #edf0b6; }
.csv-table tr.current-match { background: #d8e9a0; box-shadow: inset 3px 0 #648631; }
.drawer-actions { display: flex; gap: 6px; flex-wrap: wrap; padding: 12px; }
.preview-drawer .tour-secondary { color: #335442; background: white; border-color: #c5d5cb; font-size: 9px; padding: 6px 8px; }
.preview-drawer .tour-secondary:hover { background: #e6eee8; }
.document-tools { display: flex; align-items: center; gap: 6px; padding: 8px 14px; font-size: 10px; color: #5a6e62; }
.document-tools > span:first-child { margin-right: auto; }
.document-tools button { min-height: 26px; }
.paper-document { margin: 4px 18px 18px; background: white; border: 1px solid #dce2dc; padding: 21px 18px; min-height: 280px; color: #384541; }
.paper-brand { font-size: 9px; letter-spacing: .09em; color: #537262; font-weight: 700; }
.paper-label { font-size: 6px; color: #667870; margin: 6px 0 16px; }
.paper-document h4 { font-size: 15px; margin: 0 0 10px; font-weight: 550; color: #2a3c33; }
.paper-rule { border-top: 2px solid #42644c; margin-bottom: 14px; }
.paper-document p { font-size: 9px; color: #596b60; }
.paper-line { display: flex; justify-content: space-between; gap: 8px; padding: 8px 0; border-bottom: 1px solid #e2e8e3; font-size: 9px; }
.paper-line b { font-weight: 550; }
.paper-stamp { margin: 25px 0 16px; border: 1px solid #a4b6aa; color: #7a9583; padding: 3px 9px; width: max-content; font-size: 12px; letter-spacing: .13em; transform: rotate(-5deg); }
.paper-document .paper-foot { font-size: 8px; }
.scanned-document { font-family: ui-monospace,monospace; filter: grayscale(1); }
.completion-summary { text-align: center; align-self: center; padding: 25px; }
.completion-summary > span { font-size: 40px; color: var(--mint); }
.completion-summary h3 { font-size: 25px; margin: 8px 0; }
.completion-summary p { font-size: 13px; color: var(--app-muted); }
.completion-summary button { margin: 4px; }
.download-history { max-height: 430px; overflow: auto; position: absolute; inset: 78px 24px auto; z-index: 2; padding: 20px; background: #f1f5f1; border: 1px solid #99b4a2; border-radius: 8px; color: #2b4435; box-shadow: 0 18px 45px #0005; }
.download-history[hidden] { display: none; }
.download-history > div:first-child { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 18px; }
.history-file { padding: 10px 0; border-bottom: 1px solid #d0ded4; display: flex; gap: 12px; align-items: center; font-size: 12px; }
.file-badge { padding: 8px; border: 1px solid #9cbaa8; font-size: 10px; border-radius: 5px; }
.history-file span:nth-child(2) { margin-right: auto; }
.history-file b { font-weight: 550; }
.history-file small { display: block; color: #5b7465; font-size: 10px; }
.download-history .tour-secondary { background: white; color: #354e3d; border-color: #aec6b6; font-size: 10px; }
.download-history p { font-size: 11px; margin: 18px 0 0; color: #506b5a; }
/* First-run setup and managed discovery. */
.setup-layout { display: grid; grid-template-columns: .85fr 1fr; gap: 40px; align-items: center; max-width: 720px; min-height: 450px; margin: 0 auto; padding: 14px 10px; }
.setup-big-number { font-size: 56px; line-height: 1; font-weight: 400; color: #456657; letter-spacing: -.08em; }
.setup-aside h3 { font-size: 29px; margin: 20px 0 15px; }
.setup-aside p { font-size: 13px; color: var(--app-muted); }
.setup-aside .app-fine { font-size: 10px; margin-top: 26px; }
.wizard-card { background: #202d35; border: 1px solid #3d4f57; border-radius: 9px; padding: 24px; }
.wizard-card .app-eyebrow { font-size: 8px; }
.wizard-card .app-eyebrow span { float: right; }
.wizard-card h3 { font-size: 21px; margin: 20px 0; }
.wizard-card label { display: block; font-size: 11px; color: #bdcfd8; margin: 15px 0; }
.wizard-card input { width: 100%; display: block; margin-top: 6px; padding: 10px; border-radius: 5px; border: 1px solid #4a5b64; background: #15232c; color: #d4e5ed; font-size: 12px; }
.connection-choice { display: flex; flex-direction: column; gap: 4px; padding: 12px; background: #1a352c; border: 1px solid #395e4d; border-radius: 5px; font-size: 11px; }
.connection-choice b { color: #b1dec0; font-size: 10px; font-weight: 400; }
.wizard-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.wizard-actions button { font-size: 11px; }
.wizard-note { font-size: 10px; color: #a6bac5; }
.setup-success { text-align: center; max-width: 530px; margin: 25px auto; }
.success-mark { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 23px; background: #254335; border: 1px solid #497057; border-radius: 50%; font-size: 25px; color: #bceac9; }
.setup-success h3 { font-size: 31px; }
.setup-success p { font-size: 13px; color: var(--app-muted); }
.setup-success .app-eyebrow { font-size: 10px; color: #acd6bc; }
.setup-success button { margin: 5px; font-size: 12px; }
.setup-receipt { display: grid; grid-template-columns: 1fr 1fr; text-align: left; gap: 12px; margin: 25px auto; padding: 18px; background: #1c2b33; border: 1px solid #39515b; border-radius: 7px; font-size: 11px; }
.setup-receipt b { text-align: right; font-weight: 400; color: #a9d7bf; }
.managed-intro { text-align: center; max-width: 560px; margin: 20px auto 30px; }
.managed-intro h3 { font-size: 29px; margin-bottom: 14px; }
.managed-intro > p:last-child { color: var(--app-muted); font-size: 13px; }
.discovery-map { display: grid; grid-template-columns: 1fr 30px 1fr 30px 1fr; align-items: center; max-width: 590px; margin: 0 auto; text-align: center; }
.discovery-map > div { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.map-icon { width: 48px; height: 48px; border-radius: 12px; border: 1px solid #4e6566; background: #25363d; display: grid; place-items: center; font-size: 24px; color: #b8d4c8; }
.discovered .map-icon { border-color: #69967d; background: #264837; color: #bce8c6; }
.discovery-map strong { font-size: 12px; font-weight: 550; }
.discovery-map small { font-size: 10px; color: var(--app-muted); }
.map-arrow { font-size: 20px; color: #88aa98; margin-bottom: 30px; }
.discovery-result { max-width: 525px; margin: 30px auto 0; padding: 17px; display: flex; align-items: center; gap: 15px; border: 1px solid #39544a; border-radius: 6px; background: #1c2c28; }
.discovery-result strong { font-size: 12px; font-weight: 500; }
.discovery-result p { color: #adc0b6; font-size: 11px; margin: 4px 0 0; }
.discovery-result small { color: #a7b9b2; font-size: 10px; }
.success-dot { font-size: 25px; color: #b0e5bd; }
/* Paired sessions and live preferences. */
.session-tabbar { display: flex; align-items: center; gap: 7px; margin-bottom: 16px; flex-wrap: wrap; }
.session-tab { background: #1b2b34; border: 1px solid #3e515d; border-radius: 5px; color: #bdcdd5; padding: 8px 11px; font-size: 11px !important; display: flex; align-items: center; gap: 7px; }
.session-tab.active { background: #264238; border-color: #659179; color: #d0e8db; }
.session-tab small { font-size: 8px; color: #9cb5aa; margin-left: 8px; }
.session-actions { margin-left: auto; }
.session-actions button { font-size: 11px; }
.dual-workspace { max-width: 620px; margin: 0 auto; }
.dual-workspace.paired { max-width: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.dual-workspace .term-screen { min-height: 355px; }
.in-app-caption { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 11px; color: #aebfc8; }
.in-app-caption b { color: #c8e4d4; font-weight: 500; }
.settings-workspace { display: grid; grid-template-columns: .9fr 1.2fr; align-items: start; gap: 26px; }
.settings-controls { min-width: 0; }
.settings-controls label { font-size: 11px; color: #d7e4e8; display: block; margin: 13px 0; }
.settings-controls select { width: 100%; display: block; padding: 9px; border: 1px solid #41545d; border-radius: 5px; color: #dde9ee; background: #20313a; margin-top: 6px; font-size: 11px; }
.setting-hint { font-size: 9px; color: #9cb1bd; line-height: 1.6; }
.settings-controls .toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 0; border-top: 1px solid #2e424b; }
.toggle-row small { display: block; color: #9baeb9; font-size: 9px; margin-top: 3px; }
.toggle-row input { accent-color: #a2e0bd; width: 17px; height: 17px; flex-shrink: 0; }
.settings-controls button { font-size: 10px; }
.settings-preview { padding: 17px 0 0; }
.settings-preview > p { color: #9db6b2; font-size: 10px; text-align: center; margin: 13px 0 0; }
.settings-preview > p .live-dot { margin-right: 6px; }
.settings-preview .term-screen { min-height: 340px; }
[data-fit="proportional"] .settings-preview .terminal-pane { margin: 13px 0; }
[data-fit="stretch"] .settings-preview .term-screen { min-height: 390px; }
[data-fit="stretch"] .settings-preview .term-table td { padding-top: 15px; padding-bottom: 15px; }
[data-fit="spacing"] .settings-preview .term-screen { letter-spacing: .7px; }
[data-fit="fixed"] .settings-preview .terminal-pane { width: 335px; max-width: 100%; margin: 0 auto; }
/* Screenshot and report previews. */
.capture-tools > span { margin-left: auto; font-size: 10px; color: #9fb3bd; }
.capture-tools button { font-size: 11px; }
.support-workspace { display: grid; grid-template-columns: 1.3fr .8fr; gap: 27px; align-items: center; }
.support-explainer h3 { font-size: 26px; margin-bottom: 13px; }
.support-explainer > p { font-size: 12px; color: #aebfc8; }
.support-explainer .app-eyebrow { font-size: 9px; color: #a9d6bb; }
.support-explainer .app-fine { font-size: 10px; }
.report-stack { display: flex; flex-direction: column; margin: 22px 0; gap: 8px; }
.report-stack span { padding: 8px 11px; border: 1px solid #3f555e; border-radius: 4px; background: #24343c; font-size: 10px; color: #c5dbd4; }
.tour-dialog { width: min(680px, calc(100% - 32px)); max-height: calc(100vh - 40px); overflow: auto; border: 1px solid #b9c7bf; border-radius: 13px; padding: 30px; background: #f4f6f2; color: #283c33; font: 15px/1.6 system-ui,sans-serif; }
.tour-dialog::backdrop { background: #0a1828b5; backdrop-filter: blur(5px); }
.tour-dialog h2 { font-family: inherit; color: #263c2f; font-size: 27px; letter-spacing: -.035em; }
.dialog-close { position: absolute; right: 12px; top: 12px; background: transparent; border: 0; font-size: 27px !important; color: #476252; }
.dialog-eyebrow { color: #607c69; font-size: 10px; letter-spacing: .13em; font-weight: 600; }
.tour-dialog > p { font-size: 13px; color: #526a5b; }
.tour-dialog canvas { display: block; width: 100%; height: auto; border-radius: 5px; }
.dialog-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.tour-dialog .tour-secondary { background: white; color: #345b41; border: 1px solid #aec3b6; }
.tour-dialog .dialog-status { font-size: 12px; margin: 14px 0 0; }
.tour-dialog label { display: block; font-size: 12px; font-weight: 550; margin-bottom: 5px; }
.tour-dialog textarea { width: 100%; padding: 10px; font-size: 13px; border: 1px solid #b8c9be; border-radius: 5px; background: white; color: #293c30; margin-bottom: 15px; resize: vertical; }
.report-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; font-size: 12px; }
.report-meta dt { color: #617f6a; font-size: 10px; }
.report-meta dd { margin: 0; }
.tour-dialog .dialog-fine { font-size: 11px; }
/* Product narration and detailed feature guide. */
.tour-coach { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 29px 31px; background: #ede7dc; border: 1px solid #e0d7c7; border-radius: 0 0 13px 13px; margin: 0 14px; }
.coach-kicker { font-size: 9px; letter-spacing: .12em; font-weight: 650; color: var(--accent); margin: 0 0 8px; }
.tour-coach h2 { font-size: 22px; margin: 0 0 6px; letter-spacing: -.035em; }
.tour-coach p:last-child { max-width: 78ch; font-size: 13px; line-height: 1.65; margin: 0; color: var(--secondary); }
.tour-coach button { border: 1px solid #cbbda9; color: #4d372a; border-radius: 6px; padding: 10px 13px; background: #f7f4ee; white-space: nowrap; font-size: 11px; }
.tour-coach button:hover { background: #fff9ee; }
.tour-footnote { text-align: center; color: #777168; font-size: 10px; margin: 17px 10px 0; }
.guide-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 55px; align-items: end; margin-bottom: 33px; }
.guide-heading h2 { font-size: clamp(30px, 3.2vw, 43px); line-height: 1.1; margin-bottom: 0; }
.guide-heading > p { font-size: 16px; line-height: 1.75; color: var(--secondary); margin: 0; max-width: 45ch; }
.feature-guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.guide-card { padding: 30px 32px; background: #fcfaf6; border: 1px solid var(--border); border-radius: 13px; }
.guide-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 23px; }
.guide-card-top > span { color: var(--accent); font-size: 9px; letter-spacing: .09em; font-weight: 650; }
.guide-card-top button { border: 0; color: var(--accent); background: #eee6d9; border-radius: 5px; font-size: 10px; padding: 6px 10px; }
.guide-card-top button:hover { background: #e3d4c0; }
.guide-card h3 { font-size: 28px; line-height: 1.13; margin-bottom: 17px; }
.guide-card p, .guide-card li { color: var(--secondary); font-size: 14px; line-height: 1.75; }
.guide-card ul { padding-left: 18px; margin: 20px 0 0; }
.guide-card li { margin: 8px 0; }
.guide-card li::marker { color: #aa8769; }
.guide-card .guide-note { font-size: 11px; margin: 19px 0 0; }
.guide-wide { grid-column: 1 / -1; }
.guide-wide > p { max-width: 80ch; }
.format-guide { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; margin: 27px 0 0; }
.format-guide b { font-size: 13px; font-weight: 600; color: var(--accent); }
.format-guide p { font-size: 13px; line-height: 1.7; margin: 8px 0 0; }
.rmi-details { border: 1px solid var(--border); border-radius: 9px; margin-top: 22px; padding: 20px 28px; }
.rmi-details summary { cursor: pointer; font-size: 14px; font-weight: 550; }
.rmi-details > div { max-width: 85ch; font-size: 14px; color: var(--secondary); margin-top: 20px; }
.release-timing { margin-top: 20px; }
.independence { margin-top: 10px !important; }
@media (min-width: 1250px) { .files-workspace { grid-template-columns: 1fr .85fr; } .term-screen { font-size: 14px; } .term-table { font-size: 12px; } .term-fields { font-size: 12px; } .term-heading { font-size: 12px; } .csv-table { font-size: 12px; } .app-stage { min-height: 545px; } }
@media (max-width: 1060px) {
  .app-layout { grid-template-columns: 150px minmax(0,1fr); }
  .tour-rail { padding-left: 7px; padding-right: 7px; }
  .tour-rail button { padding: 11px 5px; gap: 5px; font-size: 11px; }
  .tour-rail small { font-size: 9px; }
  .app-stage { padding: 15px; }
  .files-workspace { grid-template-columns: minmax(0,1fr) minmax(250px,.9fr); }
  .term-heading { font-size: 9px; padding-left: 4px; padding-right: 4px; }
  .term-screen { padding: 12px 8px; }
  .term-table { font-size: 9px; }
  .term-table td, .term-table th { padding-left: 3px; padding-right: 3px; }
  .upload-zone { flex-wrap: wrap; }
  .upload-zone > div { flex: 1; }
  .upload-zone button { margin-left: 30px; }
  .setup-layout { gap: 20px; }
  .settings-workspace { gap: 16px; }
  .support-workspace { gap: 20px; }
}
@media (max-width: 800px) {
  .app-layout { grid-template-columns: minmax(0,1fr); }
  .tour-rail { flex-direction: row; gap: 7px; overflow-x: auto; padding: 10px; border-right: 0; border-bottom: 1px solid var(--app-line); scrollbar-color: #4b6258 #131c23; }
  .tour-rail button { flex-shrink: 0; padding: 8px 12px; font-size: 12px; gap: 8px; }
  .rail-heading, .rail-footer, .tour-rail small { display: none; }
  .rail-icon { font-size: 19px; width: 18px; }
  .app-stage { min-height: 485px; }
  .workspace-label a { display: none; }
  .tour-coach { flex-direction: column; align-items: flex-start; gap: 20px; padding: 22px; }
  .tour-coach button { min-height: 44px; }
  .guide-heading { gap: 25px; }
  .guide-card { padding: 25px; }
  .guide-card h3 { font-size: 25px; }
}
@media (max-width: 590px) {
  .tour-hero { padding: 38px 0 30px; }
  .tour-hero h1 { font-size: clamp(38px, 9.4vw, 54px); }
  .wide-only { display: none; }
  .workspace-label { font-size: 10px; }
  .app-titlebar { padding: 10px 12px; }
  .app-titlebar > div { gap: 7px; font-size: 11px; }
  .demo-label { display: none; }
  .app-titlebar button { font-size: 10px; min-height: 32px; }
  .app-toolbar { padding: 0 13px; height: 45px; }
  .app-toolbar strong { font-size: 12px; }
  .app-toolbar > span { font-size: 9px; }
  .app-toolbar > span { max-width: 45%; text-align: right; }
  .app-stage { padding: 12px; min-height: 0; }
  .files-workspace, .dual-workspace.paired, .settings-workspace, .support-workspace, .setup-layout { grid-template-columns: minmax(0,1fr); }
  .file-actions { gap: 6px; }
  .file-actions button { font-size: 10px; min-height: 40px; padding: 9px; }
  .file-ready { display: none; }
  .term-screen, .dual-workspace .term-screen { min-height: 300px; }
  .term-heading, .term-fields { font-size: 11px; }
  .term-table { font-size: 11px; }
  .term-table td { padding: 9px 4px; }
  .term-subheading { font-size: 8px; }
  .term-prompt { font-size: 10px; }
  .pane-label { font-size: 10px; }
  .pane-label > span:last-child { font-size: 8px; }
  .upload-zone { padding: 12px; }
  .upload-zone strong { font-size: 11px; }
  .upload-zone small { font-size: 10px; }
  .upload-zone button { margin-left: 0; min-height: 40px; font-size: 10px; }
  .preview-drawer { margin-top: 4px; min-height: 0; }
  .drawer-title { font-size: 12px; }
  .drawer-title button { min-width: 32px; min-height: 32px; }
  .format-tabs button { font-size: 12px; min-height: 38px; }
  .csv-search label { font-size: 11px; }
  .csv-search input { font-size: 16px; }
  .csv-search button { min-width: 38px; min-height: 40px; }
  .csv-table { font-size: 12px; }
  .csv-table td:first-child { font-size: 10px; }
  .drawer-actions .tour-secondary { min-height: 40px; font-size: 11px; }
  .app-status { padding: 10px 12px; gap: 10px; align-items: start; }
  .app-status > span:first-child { font-size: 9px; padding-top: 2px; }
  .app-status #tour-status { font-size: 9px; }
  .grid-indicator { display: none; }
  .tour-coach { margin: 0 7px; padding: 20px; }
  .tour-coach h2 { font-size: 22px; }
  .tour-coach p:last-child { font-size: 13px; }
  .tour-footnote { font-size: 10px; }
  .session-tabbar { gap: 6px; }
  .session-tab { min-height: 39px; font-size: 10px !important; }
  .session-tab small { display: none; }
  .session-actions { margin-left: 0; }
  .session-actions button { min-height: 40px; }
  .in-app-caption { font-size: 11px; }
  .setup-layout { min-height: 0; gap: 15px; padding: 5px 0; }
  .setup-big-number { display: none; }
  .setup-aside h3 { font-size: 25px; margin-top: 10px; }
  .setup-aside .app-fine { margin-top: 10px; }
  .wizard-card { padding: 20px; }
  .wizard-card input { font-size: 16px; }
  .wizard-card label { font-size: 12px; }
  .wizard-actions button { min-height: 44px; font-size: 12px; }
  .managed-intro { margin: 12px 0 22px; }
  .managed-intro h3 { font-size: 24px; }
  .discovery-map { grid-template-columns: 1fr 16px 1fr 16px 1fr; }
  .map-icon { width: 38px; height: 38px; font-size: 20px; }
  .discovery-map strong { font-size: 10px; }
  .discovery-map small { font-size: 8px; }
  .discovery-result { padding: 12px; }
  .scene-actions button { min-height: 44px; font-size: 12px; }
  .settings-controls label { font-size: 13px; }
  .settings-controls select { font-size: 16px; min-height: 44px; }
  .settings-controls button { font-size: 12px; min-height: 44px; }
  .setting-hint, .toggle-row small { font-size: 11px; }
  .toggle-row input { width: 22px; height: 22px; }
  .settings-preview { padding-top: 0; }
  .capture-tools button { min-height: 44px; }
  .capture-tools > span { margin-left: 0; font-size: 10px; }
  .support-explainer { padding: 8px; }
  .support-explainer > p { font-size: 13px; }
  .report-stack span { font-size: 12px; }
  .guide-heading { grid-template-columns: 1fr; gap: 20px; }
  .guide-heading h2 { font-size: 32px; }
  .feature-guide-grid { grid-template-columns: 1fr; }
  .guide-wide { grid-column: auto; }
  .format-guide { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .guide-card-top button { min-height: 38px; }
  .rmi-details { padding: 18px; }
  .rmi-details summary { font-size: 13px; }
  .download-history { inset: 65px 12px auto; padding: 16px; }
  .history-file { flex-wrap: wrap; gap: 8px; }
  .history-file span:nth-child(2) { width: calc(100% - 60px); }
  .history-file button { min-height: 40px; }
  .tour-dialog { padding: 25px 18px; }
  .tour-dialog h2 { font-size: 24px; }
  .tour-dialog textarea { font-size: 16px; }
  .tour-dialog button { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) { .bushel-showcase *, .bushel-showcase *::before, .bushel-showcase *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
