| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058 |
- :root {
- color-scheme: dark;
- --bg: oklch(0.145 0.012 255);
- --bg-dots: oklch(0.31 0.018 255 / 0.28);
- --surface: oklch(0.19 0.014 255);
- --surface-raised: oklch(0.235 0.018 255);
- --surface-active: oklch(0.275 0.028 252);
- --line: oklch(0.37 0.022 255);
- --line-strong: oklch(0.53 0.035 255);
- --ink: oklch(0.95 0.008 255);
- --ink-soft: oklch(0.79 0.018 255);
- --muted: oklch(0.66 0.022 255);
- --plan: oklch(0.72 0.12 255);
- --execute: oklch(0.76 0.12 205);
- --validate: oklch(0.78 0.13 150);
- --decide: oklch(0.78 0.14 74);
- --loop: oklch(0.76 0.15 48);
- --danger: oklch(0.7 0.17 27);
- --focus: oklch(0.82 0.13 220);
- --success-line: oklch(0.58 0.09 150);
- --loop-line: oklch(0.48 0.1 48);
- --loop-surface: oklch(0.25 0.045 48);
- --error-line: oklch(0.48 0.1 28);
- --error-surface: oklch(0.24 0.055 28);
- --error-ink: oklch(0.86 0.09 28);
- --shadow: 0 20px 60px oklch(0.05 0.01 255 / 0.4);
- font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif;
- }
- * {
- box-sizing: border-box;
- }
- html,
- body {
- min-height: 100%;
- margin: 0;
- }
- body {
- background: var(--bg);
- color: var(--ink);
- font-size: 14px;
- line-height: 1.5;
- }
- button,
- select {
- font: inherit;
- }
- button {
- color: inherit;
- }
- button:focus-visible,
- select:focus-visible {
- outline: 2px solid var(--focus);
- outline-offset: 3px;
- }
- h1,
- h2,
- h3,
- p {
- margin: 0;
- }
- code,
- pre,
- .ribbon-label,
- .cycle-index,
- .step-type,
- .status-chip,
- .step-metrics,
- .evidence-summary dd {
- font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
- }
- .journey-app {
- min-height: 100dvh;
- background-color: var(--bg);
- background-image: radial-gradient(circle, var(--bg-dots) 1px, transparent 1px);
- background-size: 22px 22px;
- }
- .app-bar {
- position: sticky;
- z-index: 30;
- top: 0;
- min-height: 68px;
- display: flex;
- align-items: center;
- gap: 18px;
- padding: 10px 22px;
- border-bottom: 1px solid var(--line);
- background: oklch(0.16 0.014 255 / 0.96);
- }
- .brand-lockup {
- min-width: 230px;
- display: flex;
- align-items: center;
- gap: 11px;
- }
- .brand-mark {
- width: 24px;
- height: 24px;
- border: 1px solid var(--line-strong);
- border-radius: 7px;
- background:
- linear-gradient(90deg, transparent 45%, var(--ink) 45% 55%, transparent 55%),
- linear-gradient(transparent 45%, var(--ink) 45% 55%, transparent 55%);
- box-shadow: inset 0 0 0 5px var(--surface-raised);
- }
- .brand-lockup > div {
- display: grid;
- }
- .brand-lockup strong {
- font-size: 14px;
- }
- .brand-lockup span:last-child {
- color: var(--muted);
- font-size: 11px;
- }
- .run-picker {
- min-width: 0;
- flex: 1;
- display: flex;
- align-items: center;
- gap: 10px;
- }
- .run-picker > span {
- flex: none;
- color: var(--muted);
- font-size: 11px;
- }
- .run-picker select {
- width: min(540px, 100%);
- height: 44px;
- padding: 0 32px 0 11px;
- overflow: hidden;
- border: 1px solid var(--line);
- border-radius: 8px;
- background: var(--surface);
- color: var(--ink-soft);
- text-overflow: ellipsis;
- }
- .zoom-switch {
- display: flex;
- padding: 3px;
- border: 1px solid var(--line);
- border-radius: 9px;
- background: var(--surface);
- }
- .zoom-switch button {
- min-width: 54px;
- height: 44px;
- padding: 0 10px;
- border: 0;
- border-radius: 6px;
- background: transparent;
- color: var(--muted);
- cursor: pointer;
- }
- .zoom-switch button:hover {
- color: var(--ink);
- }
- .zoom-switch button.active {
- background: var(--surface-active);
- color: var(--ink);
- box-shadow: 0 1px 8px oklch(0.06 0.01 255 / 0.35);
- }
- .icon-button {
- width: 44px;
- height: 44px;
- display: grid;
- flex: none;
- place-items: center;
- border: 1px solid var(--line);
- border-radius: 8px;
- background: var(--surface);
- cursor: pointer;
- }
- .icon-button:hover {
- border-color: var(--line-strong);
- background: var(--surface-raised);
- }
- .mission-strip {
- display: flex;
- align-items: stretch;
- gap: 20px;
- padding: 20px 24px;
- border-bottom: 1px solid var(--line);
- background: oklch(0.17 0.016 255 / 0.92);
- }
- .mission-copy {
- min-width: 0;
- flex: 1;
- display: flex;
- align-items: center;
- gap: 14px;
- }
- .mission-copy h1 {
- max-width: 75ch;
- font-size: 18px;
- font-weight: 650;
- line-height: 1.4;
- text-wrap: pretty;
- }
- .run-status {
- flex: none;
- padding: 4px 7px;
- border: 1px solid var(--line-strong);
- border-radius: 999px;
- color: var(--ink-soft);
- font-size: 10px;
- }
- .input-ribbon {
- max-width: 48%;
- display: flex;
- align-items: center;
- gap: 8px;
- padding: 8px 10px;
- overflow: hidden;
- border: 1px solid var(--line);
- border-radius: 8px;
- background: var(--surface);
- color: var(--muted);
- white-space: nowrap;
- }
- .input-ribbon > * + * {
- padding-left: 8px;
- border-left: 1px solid var(--line);
- }
- .input-ribbon strong {
- max-width: 320px;
- overflow: hidden;
- color: var(--ink-soft);
- font-size: 12px;
- text-overflow: ellipsis;
- }
- .input-ribbon span {
- font-size: 10px;
- }
- .ribbon-label {
- color: var(--execute);
- font-size: 9px !important;
- font-weight: 700;
- }
- .workspace {
- min-height: calc(100dvh - 136px);
- display: flex;
- }
- .overview-canvas,
- .flow-canvas {
- width: min(1180px, calc(100% - 48px));
- margin: 0 auto;
- padding: 42px 0 100px;
- }
- .zoom-evidence .flow-canvas {
- width: auto;
- min-width: 0;
- flex: 1;
- padding-right: 32px;
- padding-left: 32px;
- }
- .overview-heading,
- .flow-heading {
- display: flex;
- align-items: flex-end;
- justify-content: space-between;
- gap: 32px;
- margin-bottom: 28px;
- }
- .overview-heading h2,
- .flow-heading h2 {
- font-size: 21px;
- letter-spacing: -0.015em;
- text-wrap: balance;
- }
- .overview-heading p,
- .flow-heading p {
- max-width: 55ch;
- color: var(--muted);
- font-size: 12px;
- line-height: 1.65;
- text-wrap: pretty;
- }
- .flow-heading > div > span {
- display: block;
- margin-bottom: 5px;
- color: var(--plan);
- font-size: 11px;
- }
- .cycle-line {
- position: relative;
- margin: 0;
- padding: 0;
- list-style: none;
- }
- .cycle-line::before {
- content: "";
- position: absolute;
- top: 34px;
- bottom: 34px;
- left: 31px;
- width: 1px;
- background: var(--line-strong);
- }
- .cycle-line li {
- position: relative;
- padding-bottom: 14px;
- }
- .cycle-line button {
- position: relative;
- width: 100%;
- min-height: 138px;
- display: grid;
- grid-template-columns: 62px minmax(0, 1fr) 24px;
- align-items: center;
- gap: 18px;
- padding: 20px 22px 20px 0;
- border: 1px solid var(--line);
- border-radius: 12px;
- background: var(--surface);
- text-align: left;
- cursor: pointer;
- transition: 180ms cubic-bezier(0.22, 1, 0.36, 1);
- }
- .cycle-line button:hover {
- border-color: var(--line-strong);
- background: var(--surface-raised);
- transform: translateY(-2px);
- box-shadow: var(--shadow);
- }
- .cycle-index {
- position: relative;
- z-index: 1;
- width: 30px;
- height: 30px;
- display: grid;
- place-items: center;
- margin-left: 16px;
- border: 1px solid var(--line-strong);
- border-radius: 50%;
- background: var(--bg);
- color: var(--ink-soft);
- font-size: 10px;
- }
- .cycle-copy {
- min-width: 0;
- }
- .cycle-title-row {
- display: flex;
- align-items: center;
- gap: 12px;
- }
- .cycle-title-row h3 {
- font-size: 16px;
- }
- .cycle-copy > p {
- max-width: 78ch;
- margin-top: 7px;
- overflow: hidden;
- color: var(--ink-soft);
- font-size: 12px;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .cycle-facts,
- .cycle-lifecycle {
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- gap: 7px;
- }
- .cycle-facts {
- margin-top: 12px;
- }
- .cycle-facts span,
- .cycle-lifecycle span {
- display: inline-flex;
- align-items: center;
- gap: 4px;
- color: var(--muted);
- font-size: 10px;
- }
- .cycle-facts span {
- padding: 3px 7px;
- border: 1px solid var(--line);
- border-radius: 999px;
- }
- .cycle-lifecycle {
- margin-top: 12px;
- }
- .cycle-lifecycle span + span::before {
- content: "→";
- margin-right: 3px;
- color: var(--line-strong);
- }
- .cycle-lifecycle span.present {
- color: var(--ink-soft);
- }
- .cycle-open {
- color: var(--muted);
- transform: rotate(-90deg);
- }
- .status-chip {
- display: inline-flex;
- align-items: center;
- padding: 3px 7px;
- border: 1px solid var(--line-strong);
- border-radius: 999px;
- color: var(--ink-soft);
- font-size: 9px;
- font-weight: 700;
- white-space: nowrap;
- }
- .status-passed,
- .status-completed,
- .status-accept,
- .status-accepted {
- border-color: var(--success-line);
- color: var(--validate);
- }
- .status-failed,
- .status-retry,
- .status-revise,
- .status-needs_replan {
- border-color: var(--loop-line);
- color: var(--loop);
- }
- .causal-spine {
- position: relative;
- width: min(900px, 100%);
- margin: 0 auto;
- }
- .causal-spine::before {
- content: "";
- position: absolute;
- top: 12px;
- bottom: 12px;
- left: 50%;
- width: 1px;
- background: var(--line-strong);
- }
- .flow-unit {
- position: relative;
- z-index: 1;
- padding-bottom: 42px;
- }
- .flow-connector {
- position: absolute;
- bottom: 11px;
- left: calc(50% - 13px);
- width: 26px;
- height: 26px;
- display: grid;
- place-items: center;
- border: 1px solid var(--line-strong);
- border-radius: 50%;
- background: var(--bg);
- color: var(--muted);
- }
- .step-node {
- position: relative;
- width: min(680px, 100%);
- margin: 0 auto;
- overflow: hidden;
- border: 1px solid var(--line);
- border-radius: 12px;
- background: var(--surface);
- box-shadow: 0 12px 34px oklch(0.05 0.01 255 / 0.2);
- transition: 180ms cubic-bezier(0.22, 1, 0.36, 1);
- }
- .step-node::before {
- content: "";
- display: block;
- height: 2px;
- background: var(--plan);
- }
- .step-node.type-execute::before { background: var(--execute); }
- .step-node.type-validate::before { background: var(--validate); }
- .step-node.type-decide::before { background: var(--decide); }
- .step-node:hover,
- .step-node.selected {
- border-color: var(--line-strong);
- background: var(--surface-raised);
- box-shadow: var(--shadow);
- transform: translateY(-2px);
- }
- .step-node:has(.step-hit-area:focus-visible) {
- outline: 2px solid var(--focus);
- outline-offset: 3px;
- }
- .step-node.selected {
- outline: 1px solid var(--focus);
- outline-offset: 3px;
- }
- .step-hit-area {
- position: absolute;
- z-index: 2;
- inset: 0;
- width: 100%;
- border: 0;
- background: transparent;
- cursor: pointer;
- }
- .step-header,
- .step-node > h3,
- .step-layer,
- .data-flow,
- .contract-summary,
- .step-metrics {
- position: relative;
- z-index: 1;
- }
- .step-header {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 15px 18px 0;
- }
- .step-type {
- display: inline-flex;
- align-items: center;
- gap: 6px;
- color: var(--plan);
- font-size: 10px;
- font-weight: 700;
- }
- .type-execute .step-type { color: var(--execute); }
- .type-validate .step-type { color: var(--validate); }
- .type-decide .step-type { color: var(--decide); }
- .step-node > h3 {
- padding: 12px 18px 16px;
- font-size: 17px;
- line-height: 1.35;
- text-wrap: balance;
- }
- .step-layer {
- display: grid;
- grid-template-columns: 84px minmax(0, 1fr);
- gap: 4px 10px;
- padding: 12px 18px;
- border-top: 1px solid var(--line);
- }
- .step-layer > span {
- display: inline-flex;
- align-items: center;
- gap: 6px;
- color: var(--plan);
- font-size: 11px;
- font-weight: 700;
- }
- .process-layer > span {
- color: var(--execute);
- }
- .step-layer p {
- color: var(--ink-soft);
- font-size: 12px;
- line-height: 1.65;
- text-wrap: pretty;
- }
- .step-layer small {
- grid-column: 2;
- color: var(--muted);
- font-size: 9px;
- }
- .data-flow {
- display: grid;
- grid-template-columns: 1fr 20px 1fr;
- align-items: stretch;
- gap: 8px;
- padding: 12px 18px;
- border-top: 1px solid var(--line);
- background: oklch(0.16 0.014 255 / 0.45);
- }
- .data-flow > div {
- min-width: 0;
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- gap: 6px;
- }
- .data-flow > svg {
- align-self: center;
- color: var(--line-strong);
- transform: rotate(-90deg);
- }
- .data-flow span {
- display: inline-flex;
- align-items: center;
- gap: 5px;
- color: var(--execute);
- font-size: 10px;
- }
- .data-flow b {
- max-width: 210px;
- overflow: hidden;
- padding: 3px 6px;
- border: 1px solid var(--line);
- border-radius: 5px;
- color: var(--ink-soft);
- font-size: 9px;
- font-weight: 500;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .contract-summary {
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- gap: 7px;
- padding: 11px 18px;
- border-top: 1px solid var(--line);
- color: var(--muted);
- font-size: 9px;
- }
- .contract-summary strong {
- margin-right: 3px;
- color: var(--ink-soft);
- font-size: 10px;
- }
- .contract-summary span + span::before {
- content: "·";
- margin-right: 7px;
- color: var(--line-strong);
- }
- .step-metrics {
- min-height: 34px;
- display: flex;
- align-items: center;
- gap: 10px;
- padding: 7px 18px;
- border-top: 1px solid var(--line);
- color: var(--muted);
- font-size: 9px;
- }
- .evidence-cue {
- display: inline-flex;
- align-items: center;
- gap: 4px;
- margin-left: auto;
- color: var(--ink-soft);
- }
- .parallel-frame {
- width: min(1040px, 100%);
- margin: 0 auto;
- padding: 14px;
- border: 1px dashed var(--line-strong);
- border-radius: 14px;
- background: oklch(0.16 0.014 255 / 0.78);
- }
- .parallel-heading {
- display: flex;
- align-items: center;
- gap: 7px;
- padding: 2px 3px 12px;
- color: var(--execute);
- font-size: 11px;
- }
- .parallel-lanes {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- gap: 12px;
- }
- .parallel-lanes .step-node {
- width: 100%;
- height: 100%;
- }
- .parallel-badge {
- position: absolute;
- z-index: 3;
- top: 49px;
- right: 18px;
- color: var(--execute);
- font-family: "SFMono-Regular", Consolas, monospace;
- font-size: 9px;
- }
- .loop-ribbon {
- position: relative;
- z-index: 3;
- display: flex;
- align-items: center;
- gap: 6px;
- padding: 9px 18px;
- border-top: 1px solid var(--loop-line);
- background: var(--loop-surface);
- color: var(--loop);
- font-size: 10px;
- font-weight: 700;
- }
- .projection-note {
- width: min(680px, 100%);
- margin: 12px auto 0;
- color: var(--muted);
- font-size: 10px;
- text-align: center;
- }
- .evidence-panel {
- position: sticky;
- top: 68px;
- width: min(520px, 42vw);
- height: calc(100dvh - 68px);
- flex: none;
- display: grid;
- grid-template-rows: auto minmax(0, 1fr);
- border-left: 1px solid var(--line);
- background: var(--surface);
- box-shadow: -24px 0 70px oklch(0.05 0.01 255 / 0.32);
- }
- .evidence-header {
- min-height: 92px;
- display: flex;
- align-items: flex-start;
- gap: 16px;
- padding: 17px 18px;
- border-bottom: 1px solid var(--line);
- }
- .evidence-header > div {
- min-width: 0;
- flex: 1;
- }
- .evidence-header span {
- color: var(--plan);
- font-size: 10px;
- }
- .evidence-header h2 {
- margin-top: 6px;
- font-size: 15px;
- line-height: 1.4;
- }
- .evidence-header button {
- width: 44px;
- height: 44px;
- display: grid;
- flex: none;
- place-items: center;
- border: 1px solid var(--line);
- border-radius: 7px;
- background: transparent;
- cursor: pointer;
- }
- .evidence-scroll {
- min-height: 0;
- overflow: auto;
- padding: 16px 18px 60px;
- }
- .evidence-summary {
- padding: 14px;
- border: 1px solid var(--line);
- border-radius: 9px;
- background: var(--surface-raised);
- }
- .evidence-summary > span {
- color: var(--plan);
- font-size: 10px;
- }
- .evidence-summary > p {
- margin-top: 7px;
- color: var(--ink-soft);
- font-size: 12px;
- line-height: 1.65;
- }
- .evidence-summary dl {
- margin: 14px 0 0;
- }
- .evidence-summary dl > div {
- display: grid;
- grid-template-columns: 72px minmax(0, 1fr);
- gap: 8px;
- padding: 5px 0;
- border-top: 1px solid var(--line);
- }
- .evidence-summary dt {
- color: var(--muted);
- font-size: 9px;
- }
- .evidence-summary dd {
- min-width: 0;
- margin: 0;
- overflow: hidden;
- color: var(--ink-soft);
- font-size: 9px;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .evidence-block,
- .artifact-reader {
- margin-top: 13px;
- border: 1px solid var(--line);
- border-radius: 9px;
- background: var(--bg);
- }
- .evidence-block summary,
- .artifact-reader header {
- display: flex;
- align-items: center;
- gap: 7px;
- padding: 11px 12px;
- color: var(--ink-soft);
- cursor: pointer;
- font-size: 11px;
- }
- .evidence-block pre,
- .artifact-reader pre {
- max-height: 420px;
- margin: 0;
- padding: 12px;
- overflow: auto;
- border-top: 1px solid var(--line);
- color: var(--ink-soft);
- font-size: 9px;
- line-height: 1.6;
- white-space: pre-wrap;
- overflow-wrap: anywhere;
- }
- .artifact-reader button {
- min-height: 44px;
- margin: 0 12px 12px;
- padding: 7px 10px;
- border: 1px solid var(--line-strong);
- border-radius: 6px;
- background: var(--surface-raised);
- cursor: pointer;
- }
- .artifact-reader > p {
- padding: 0 12px 12px;
- color: var(--danger);
- font-size: 10px;
- }
- .evidence-empty,
- .empty-state {
- color: var(--muted);
- }
- .evidence-empty {
- padding: 24px 18px;
- }
- .empty-state {
- min-height: 100dvh;
- display: grid;
- place-content: center;
- gap: 10px;
- padding: 24px;
- text-align: center;
- }
- .empty-state h1 {
- color: var(--ink);
- font-size: 22px;
- }
- .empty-state p {
- max-width: 65ch;
- }
- .error-banner {
- display: flex;
- align-items: center;
- gap: 9px;
- padding: 9px 22px;
- border-bottom: 1px solid var(--error-line);
- background: var(--error-surface);
- color: var(--error-ink);
- font-size: 11px;
- }
- .error-banner span {
- flex: 1;
- }
- .error-banner button {
- min-height: 44px;
- border: 0;
- background: transparent;
- color: inherit;
- text-decoration: underline;
- cursor: pointer;
- }
- .journey-skeleton {
- width: min(900px, calc(100% - 48px));
- display: grid;
- gap: 18px;
- margin: 60px auto;
- }
- .journey-skeleton span {
- height: 150px;
- border: 1px solid var(--line);
- border-radius: 12px;
- background: var(--surface);
- animation: skeleton-pulse 1.6s ease-in-out infinite;
- }
- .is-spinning {
- animation: spin 900ms linear infinite;
- }
- @keyframes spin { to { transform: rotate(360deg); } }
- @keyframes skeleton-pulse { 50% { background: var(--surface-raised); } }
- @media (max-width: 1000px) {
- .app-bar { flex-wrap: wrap; }
- .brand-lockup { flex: 1; }
- .run-picker { order: 3; flex-basis: 100%; }
- .run-picker select { max-width: none; }
- .mission-strip { display: grid; }
- .input-ribbon { max-width: 100%; overflow-x: auto; }
- .zoom-evidence .flow-canvas { display: none; }
- .evidence-panel { width: 100%; border-left: 0; }
- }
- @media (max-width: 700px) {
- .app-bar { padding: 10px 14px; }
- .brand-lockup span:last-child { display: none; }
- .zoom-switch button { min-width: 48px; }
- .mission-strip { padding: 16px 14px; }
- .mission-copy { align-items: flex-start; }
- .mission-copy h1 { font-size: 15px; }
- .input-ribbon span:nth-last-child(-n + 2) { display: none; }
- .overview-canvas,
- .flow-canvas { width: calc(100% - 28px); padding-top: 28px; }
- .overview-heading,
- .flow-heading { display: grid; gap: 10px; }
- .cycle-line::before { left: 24px; }
- .cycle-line button { grid-template-columns: 48px minmax(0, 1fr); padding-right: 14px; }
- .cycle-index { margin-left: 9px; }
- .cycle-open { display: none; }
- .cycle-copy > p { white-space: normal; }
- .step-layer { grid-template-columns: 1fr; }
- .step-layer small { grid-column: 1; }
- .data-flow { grid-template-columns: 1fr; }
- .data-flow > svg { margin: 0 auto; transform: none; }
- .parallel-lanes { grid-template-columns: 1fr; }
- }
- @media (prefers-reduced-motion: reduce) {
- *,
- *::before,
- *::after {
- scroll-behavior: auto !important;
- animation-duration: 0.01ms !important;
- transition-duration: 0.01ms !important;
- }
- }
|