@font-face{font-family:Geist;src:url('assets/geist.woff2') format('woff2');font-weight:100 900;font-display:swap}
*{box-sizing:border-box}html,body{margin:0;background:transparent}svg{display:block;width:100%;height:auto;overflow:visible}text{font-family:Geist,Arial,sans-serif;font-weight:400}
.source-tile{fill:#fcfdf9;stroke:#e9ede3;stroke-width:.8;filter:url(#tile-shadow)}
.source-mark{filter:grayscale(1);opacity:.14}
.input-base,.output-base,.context-line{fill:none;stroke:#dce3d2;stroke-width:1.2}
.input-base{opacity:.15}.input-trace{fill:none;stroke:var(--route-color);stroke-width:1.2;opacity:0;stroke-linecap:round}
.output-base{stroke:#d6dfc9;stroke-width:2;opacity:.6}.output-trace,.stem-trace{fill:none;stroke:#89a957;stroke-width:1.6;opacity:0;stroke-linecap:round}
.core-ring{fill:none;stroke:#a3bd74;stroke-width:1;opacity:0}
.context-line{stroke:#d8e0cc}.category{font-size:17px;fill:#68775b;letter-spacing:-.2px}
.context-label{font-size:13px;fill:#7b896d}.destination-title{font-size:17px;fill:#465c29;letter-spacing:-.2px}
.destination-sub{font-size:12px;fill:#8b947e}.destination-pill{fill:#fcfdf9;stroke:#e1e7d7;stroke-width:.8}
.destination-ring{fill:none;stroke:#bfd397;stroke-width:.8;opacity:.1}.portrait-photo{filter:grayscale(.92)}
.portrait-outline{fill:none;stroke:#adc47d;stroke-width:1;opacity:0}
.analysis-label{font-size:12px;fill:#bbcf9b;letter-spacing:.3px}.work-label rect{fill:#eef2e7;stroke:#dce5d0;stroke-width:.7}.work-label text{font-size:13px;fill:#5b7040}

/* The dark edition keeps the same choreography, on the existing olive section. */
[data-theme=dark] .source-tile{fill:#283220;stroke:#465537;filter:none}
[data-theme=dark] .input-base{stroke:#63794a}
[data-theme=dark] .output-base{stroke:#4c6037}
[data-theme=dark] .output-trace,[data-theme=dark] .stem-trace{stroke:#c5fd68}
[data-theme=dark] .core-face{fill:#2a391f;stroke:#6c8946;stroke-width:1}
[data-theme=dark] .core-ring{stroke:#acd765}
[data-theme=dark] .category{fill:#bacba3}
[data-theme=dark] .context-line{stroke:#4c6037}
[data-theme=dark] #context rect{fill:#26341c}
[data-theme=dark] .context-label{fill:#a0b485}
[data-theme=dark] .destination-title{fill:#d9e7c4}
[data-theme=dark] .destination-sub{fill:#9aaa88}
[data-theme=dark] .destination-pill{fill:#26321d;stroke:#485a34}
[data-theme=dark] .destination-ring{stroke:#9bbe64}
[data-theme=dark] .portrait-outline{stroke:#c5fd68}
[data-theme=dark] .channel-plate{fill:#cfdbbd}
[data-theme=dark] .work-label rect{fill:#29391e;stroke:#556b3b}
[data-theme=dark] .work-label text{fill:#cadfa8}

/* Small, real output fragments move along the routes. Labels stay out of the diagram. */
.card-surface{fill:#fcfdf8;stroke:#cddbbb;stroke-width:1}
.card-heading{fill:#344723;font-size:11.5px;font-weight:450;letter-spacing:-.15px}
.card-value{fill:#344723;font-size:23px;font-weight:500;letter-spacing:-.7px}
.card-muted{fill:#758765;font-size:9.5px}
.card-chart{fill:none;stroke:#be8a63;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.card-button{fill:#dae9bf}.card-button-label{fill:#41552b;font-size:8px;font-weight:500}
[data-theme=dark] .card-surface{fill:#314125;stroke:#758f51}
[data-theme=dark] .card-heading,[data-theme=dark] .card-value{fill:#edf5df}
[data-theme=dark] .card-muted{fill:#a6ba90}
[data-theme=dark] .card-chart{stroke:#e0a27c}
[data-theme=dark] .card-button{fill:#a9c878}
[data-theme=dark] .card-button-label{fill:#26351a}

@media(max-width:640px){.card-heading{font-size:13px}.card-muted{font-size:11px}.card-button-label{font-size:9px}}

/* Stronger contrast for the actual dark website section. */
[data-theme=dark] .source-tile{fill:#24311c;stroke:#8caf58;stroke-width:1.2}
[data-theme=dark] .input-base{stroke:#9fca5f;stroke-width:2}
[data-theme=dark] .input-trace{stroke-width:2.8}
[data-theme=dark] .output-network{opacity:.26}
[data-theme=dark] .output-base{stroke:#9fca5f;stroke-width:2;opacity:1}
[data-theme=dark] .output-trace{stroke:#c5fd68;stroke-width:2.6}
[data-theme=dark] .core-face{fill:#253719;stroke:#add568;stroke-width:1.5}
[data-theme=dark] .core-ring{stroke:#b9f374;stroke-width:1.5}
[data-theme=dark] .portrait-outline{stroke:#c5fd68;stroke-width:2}
[data-theme=dark] .card-surface{fill:#405a2b;stroke:#b1d475;stroke-width:1.4}
[data-theme=dark] .card-heading,[data-theme=dark] .card-value{fill:#f5ffe8}
[data-theme=dark] .card-muted{fill:#d2e4b6}
