/* R1 palette. Scoped to the diagram; no global brand, hero or scene overrides. */
.architecture-v2{--arch-panel:#10152a;--arch-cyan:#73d8ff;--arch-gold:#ffbd72;--arch-text:#f7f8ff;--arch-muted:#9da6bf;max-width:760px}
.architecture-v2 .architecture-heading{margin-bottom:20px;gap:8px}
.architecture-v2 .architecture-heading>b{font-size:clamp(24px,2vw,30px);line-height:1.4;letter-spacing:0}
.architecture-v2 .architecture-heading>small{font-size:14px;line-height:1.6;color:#b8c4db}
.architecture-v2 .architecture-stack{display:block;isolation:isolate}
.architecture-v2 .architecture-connections{z-index:1;overflow:visible}
.architecture-v2 .architecture-connections path{stroke:var(--arch-cyan);stroke-width:1.3;stroke-dasharray:none;animation:none;stroke-linejoin:round;stroke-linecap:round}
.architecture-v2 .architecture-connections path.arch-command{stroke:var(--arch-gold)}
.architecture-v2 .architecture-connections path.arch-feedback{stroke:#b3bfd8;stroke-dasharray:4 5}
.arch-band{position:relative;z-index:2}
.arch-band-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;font-size:14px;color:var(--arch-muted)}
.arch-band-heading span:first-child{color:#d4ddf0}
.arch-band-heading small{font-size:12px;font-weight:400}
.arch-life{padding:0 0 20px;border-bottom:1px solid #2b3751;margin-bottom:18px}
.arch-life-nodes{display:flex;gap:8px;flex-wrap:wrap}
.arch-node{position:relative;display:grid;gap:6px;min-width:0;text-align:left;font-family:inherit;background:#0b1223;color:var(--arch-text);border:1px solid #364361;border-radius:8px;padding:14px 12px;cursor:pointer;transition:border-color 160ms,background 160ms}
.arch-node>b{font-size:16px;font-weight:600;line-height:1.5}
.arch-node>small{font-size:13px;line-height:1.65;color:#b1bed6}
.arch-node>span{font:12px/1.4 ui-monospace,monospace;color:var(--arch-cyan)}
.arch-node::before{content:"";position:absolute;top:-4px;left:14px;width:6px;height:6px;border-radius:50%;background:var(--arch-cyan);border:1px solid #060713}
.arch-node:hover{border-color:var(--arch-cyan)}
.arch-node[aria-pressed=true]{border-color:var(--arch-gold);background:var(--arch-panel)}
.arch-node:focus-visible{outline:3px solid var(--arch-cyan);outline-offset:3px}
.arch-life .arch-node{min-height:44px;padding:10px 16px;display:block;flex:1;text-align:center;background:transparent}
.arch-life .arch-node::before{display:none}
.arch-life .arch-node>b{font-size:14px}
.arch-logic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.arch-logic .arch-node{min-height:105px}
.arch-devices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;margin-top:62px}
.arch-devices .arch-node{min-height:90px}
.arch-feedback-label{position:absolute;z-index:2;top:calc(100% + 27px);left:50%;transform:translate(-50%,0);background:#080d1c;color:#b3bfd8;font-size:12px;line-height:1.5;padding:0 8px;white-space:nowrap;pointer-events:none}
.arch-foundation{margin-top:20px;padding:16px;border:1px solid #354361;border-radius:8px;background:var(--arch-panel)}
.arch-foundation-nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.arch-foundation .arch-node{background:transparent;border-color:transparent;padding:8px 6px;min-height:64px;gap:2px}
.arch-foundation .arch-node::before{display:none}
.arch-foundation .arch-node>b{font-size:14px}
.arch-foundation .arch-node>small{font-size:12px}
.arch-foundation .arch-node[aria-pressed=true]{border-color:#63728f}
.arch-foundation .arch-node:hover{border-color:var(--arch-cyan)}
.arch-legend{position:relative;z-index:2;display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;color:#b3bfd8;font-size:12px;line-height:1.7}
.arch-legend span{display:inline-flex;align-items:center;gap:7px}
.arch-legend i{width:19px;border-top:1px solid var(--arch-cyan)}
.arch-legend .arch-command-key{border-color:var(--arch-gold)}
.arch-legend .arch-feedback-key{border-color:#b3bfd8;border-top-style:dashed}
.architecture-v2 .architecture-detail{min-height:132px;margin-top:18px;padding-top:14px}
.architecture-v2 .architecture-detail>span{color:var(--arch-gold);font-size:12px}
.architecture-v2 .architecture-detail h2{font-size:19px;line-height:1.5;margin:6px 0;letter-spacing:0}
.architecture-v2 .architecture-detail p{font-size:14px;line-height:1.8;color:#b1bed6}
.architecture-v2 .architecture-note{color:var(--arch-muted);font-size:12px;line-height:1.75;margin:10px 0 0}
@media(max-width:1100px) and (min-width:761px){.arch-node{padding:12px 8px}.arch-node>b{font-size:14px}.arch-node>small{font-size:12px}.arch-logic{gap:22px}.arch-devices{gap:22px}.arch-foundation{padding:12px}}
@media(max-width:760px){.architecture-v2{max-width:none}.architecture-v2 .architecture-heading>b{font-size:24px}.arch-node{padding:12px 8px}.arch-node>b{font-size:14px}.arch-node>small{font-size:13px}.arch-logic{gap:18px}.arch-logic .arch-node{min-height:112px}.arch-devices{gap:18px;margin-top:64px}.arch-devices .arch-node{min-height:100px}.arch-foundation{padding:12px}.arch-foundation-nodes{gap:6px}.arch-foundation .arch-node{padding:6px 2px}.arch-life .arch-node{padding:10px 8px}.arch-band-heading small{font-size:12px}.architecture-v2 .architecture-detail{min-height:0}.arch-legend{gap:12px}}
@media(max-width:350px){.arch-logic{gap:14px}.arch-node>b{font-size:13px}.arch-node>small{font-size:12px}.arch-foundation-nodes{grid-template-columns:1fr}.arch-foundation .arch-node{min-height:44px;grid-template-columns:1fr 1fr;align-items:center}}
@media(prefers-reduced-motion:reduce){.architecture-v2 .arch-node{transition:none}}
