:root{
--bg:#08100f;--bg2:#11111f;--panel:rgba(12,27,23,.76);--panel-solid:#0d1b18;--panel2:rgba(21,30,45,.72);
--text:#f6f3e8;--muted:#a4b2ae;--faint:#758682;--line:rgba(255,199,93,.16);--line2:rgba(83,221,182,.16);
--gold:#f0c66b;--gold2:#c99b3f;--saffron:#f39c45;--emerald:#65d3a8;--emerald2:#1e9b73;--marigold:#ffb638;
--lotus:#ff6f91;--peacock:#62c8ff;--turmeric:#ff9a2a;--plum:#af83ff;--red:#ff7f72;--blue:#8bc4ff;--violet:#cba6ff;
--shadow:0 24px 80px rgba(0,0,0,.36);--grid:rgba(255,255,255,.03);--chip:rgba(255,255,255,.06);
--ok:#65d3a8;--y:#f0c66b;--r:#ff7f72;--b:#8bc4ff;--p:var(--panel-solid);--t:var(--text);--m:var(--muted);--ln:var(--line)
}
html[data-theme="light"]{
--bg:#fbf2e3;--bg2:#f5ead7;--panel:rgba(255,255,255,.80);--panel-solid:#fffdfa;--panel2:rgba(255,247,236,.92);
--text:#202925;--muted:#5e6c66;--faint:#87928e;--line:rgba(161,98,15,.18);--line2:rgba(14,120,84,.16);
--gold:#b8790c;--gold2:#8c5e11;--saffron:#d76e1e;--emerald:#12845d;--emerald2:#0e6e4e;--marigold:#de8c12;
--lotus:#d95383;--peacock:#2b89d6;--turmeric:#e18418;--plum:#7d62cb;--red:#cf4e45;--blue:#3476b5;--violet:#7653b8;
--shadow:0 28px 72px rgba(70,55,26,.13);--grid:rgba(78,58,24,.055);--chip:rgba(24,52,43,.06);
--ok:#12845d;--y:#b8790c;--r:#cf4e45;--b:#3476b5;--p:var(--panel-solid);--t:var(--text);--m:var(--muted);--ln:var(--line)
}
html{scroll-behavior:smooth;background:var(--bg)}
body{
background:
radial-gradient(circle at 12% -8%,rgba(255,176,57,.14),transparent 25%),
radial-gradient(circle at 90% 10%,rgba(101,211,168,.13),transparent 22%),
radial-gradient(circle at 54% 3%,rgba(255,111,145,.09),transparent 18%),
radial-gradient(circle at 75% 78%,rgba(98,200,255,.08),transparent 19%),
linear-gradient(180deg,var(--bg),var(--bg2))!important;color:var(--text)!important;position:relative
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.top{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 96%,transparent),color-mix(in srgb,var(--bg) 86%,transparent))!important;backdrop-filter:blur(22px);border-bottom:1px solid var(--line)!important;box-shadow:0 8px 34px rgba(0,0,0,.08)}
.back{color:var(--gold)!important}.btn,.tab{background:var(--panel)!important;color:var(--text)!important;border-color:var(--line)!important;backdrop-filter:blur(14px);transition:.2s}.btn:hover,.tab:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold) 44%,transparent)!important}.tab.on,.btn.on{background:linear-gradient(135deg,var(--gold),var(--turmeric))!important;color:#2b2009!important;border-color:transparent!important;font-weight:800}
.search{background:var(--panel)!important;color:var(--text)!important;border-color:var(--line)!important}.wrap{max-width:1920px!important}.hero,.card,.box,details{background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--panel2) 84%,transparent))!important;border-color:var(--line)!important;box-shadow:0 13px 45px rgba(0,0,0,.08);backdrop-filter:blur(18px)}
.sec{scroll-margin-top:154px}.sec h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:var(--text);letter-spacing:-.015em}
.plan-hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;padding:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 92%,transparent),color-mix(in srgb,var(--panel2) 86%,transparent));box-shadow:var(--shadow);margin-bottom:14px}
.plan-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:310px;height:310px;border-radius:50%;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);box-shadow:0 0 0 38px rgba(101,211,168,.025),0 0 0 76px rgba(240,198,107,.018);pointer-events:none}
.plan-kicker{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--emerald);font-weight:850}.plan-hero h2{font-size:clamp(28px,3.6vw,52px);margin:7px 0 8px}.plan-hero p{max-width:1150px;color:var(--muted);line-height:1.65;margin:0}
.live-strip{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.live-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:var(--chip);font-size:11px;color:var(--muted)}.live-pill b{color:var(--text)}.live-pill i{width:7px;height:7px;border-radius:50%;background:var(--emerald);box-shadow:0 0 12px color-mix(in srgb,var(--emerald) 60%,transparent)}
.master-controls{position:sticky;top:112px;z-index:14;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel-solid) 90%,transparent);backdrop-filter:blur(20px);margin:12px 0}
.master-controls .spacer{flex:1}.depth-group,.view-group{display:flex;gap:5px;flex-wrap:wrap}.mini-btn{border:1px solid var(--line);background:var(--chip);color:var(--muted);border-radius:9px;padding:7px 9px;cursor:pointer;font-size:10px}.mini-btn.on{background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 85%,white 5%),var(--turmeric));color:#2d2108;font-weight:850;border-color:transparent}.master-search{min-width:260px;flex:0 1 410px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:8px 10px}
.status-legend{display:flex;gap:10px;flex-wrap:wrap;margin:9px 0 12px;color:var(--muted);font-size:10px}.status-legend span{display:inline-flex;align-items:center;gap:6px}.status-legend i{width:8px;height:8px;border-radius:50%}
.s-accepted,.s-active{background:var(--emerald)}.s-progress{background:var(--gold)}.s-blocked,.s-failed{background:var(--red)}.s-gated{background:var(--saffron)}.s-planned{background:var(--blue)}.s-reference{background:var(--violet)}.s-historical,.s-superseded{background:var(--faint)}
.blueprint-shell{border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--panel-solid) 84%,transparent);overflow:auto;box-shadow:0 18px 60px rgba(0,0,0,.11);position:relative}
.blueprint{display:flex;align-items:stretch;gap:18px;min-width:max-content;padding:26px 26px 30px}
.phase-column{width:350px;flex:0 0 350px;position:relative}.phase-column:after{content:"→";position:absolute;right:-18px;top:55px;color:var(--gold);font-size:23px;font-weight:300;opacity:.65}.phase-column:last-child:after{display:none}
.phase-card{height:100%;border:1px solid var(--line);border-radius:18px;background:linear-gradient(165deg,var(--panel),color-mix(in srgb,var(--panel2) 76%,transparent));box-shadow:0 12px 36px rgba(0,0,0,.08);overflow:hidden;display:flex;flex-direction:column}
.phase-head{padding:15px 15px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:color-mix(in srgb,var(--panel-solid) 94%,transparent);z-index:2}.phase-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.phase-code{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:900}.phase-status{font-size:9px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.phase-head h3{margin:7px 0 4px;font-family:Georgia,serif;font-size:19px;font-weight:500;line-height:1.05}.phase-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.4}.phase-items{display:grid;gap:6px;padding:9px}
.micro{border:1px solid color-mix(in srgb,var(--line) 74%,transparent);border-radius:12px;padding:9px;background:color-mix(in srgb,var(--chip) 68%,transparent);transition:.18s;cursor:pointer}.micro:hover{transform:translateX(2px);border-color:color-mix(in srgb,var(--gold) 35%,transparent);background:color-mix(in srgb,var(--chip) 95%,transparent)}.micro.hidden{display:none}.micro-top{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:start}.micro-dot{width:7px;height:7px;border-radius:50%;margin-top:5px}.micro-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;color:var(--gold);font-weight:800}.micro-title{font-size:11px;font-weight:800;line-height:1.28;color:var(--text);margin-top:2px}.micro-badge{font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:3px 5px;border-radius:999px;white-space:nowrap}.micro-detail{font-size:9px;line-height:1.45;color:var(--muted);margin:6px 0 0}.micro-dep{font-size:8px;color:var(--faint);margin-top:6px;border-top:1px dashed color-mix(in srgb,var(--line) 70%,transparent);padding-top:5px}.micro-evidence{font-size:8px;color:var(--peacock);margin-top:3px;word-break:break-word}
.depth-compact .micro-detail,.depth-compact .micro-dep,.depth-compact .micro-evidence{display:none}.depth-executive .micro:nth-child(n+7){display:none}.depth-executive .micro-detail,.depth-executive .micro-dep,.depth-executive .micro-evidence{display:none}
.detail-drawer{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.5fr);gap:12px;margin:13px 0}.focus-card,.live-card{border:1px solid var(--line);border-radius:17px;padding:15px;background:var(--panel);min-height:150px}.focus-card h3,.live-card h3{margin:0 0 8px}.focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.focus-cell{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--chip)}.focus-cell small{display:block;color:var(--faint);font-size:8px;text-transform:uppercase;letter-spacing:.1em}.focus-cell b{display:block;margin-top:3px;font-size:10px;color:var(--text)}
.section-block{margin:20px 0}.section-block .head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:9px}.section-block h3{margin:0;font-family:Georgia,serif;font-weight:500;font-size:22px}.section-block .head p{margin:4px 0 0;color:var(--muted);font-size:10px}
.connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.connection{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel);min-height:92px}.connection .from,.connection .to{font-size:10px;font-weight:800}.connection .arrow{color:var(--gold);padding:0 5px}.connection p{margin:7px 0 0;color:var(--muted);font-size:9px;line-height:1.45}
.maturity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.maturity{border:1px solid var(--line);border-radius:13px;padding:11px;background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--panel2) 78%,transparent));position:relative}.maturity:before{content:"PLANNED / RECONCILED";position:absolute;right:8px;top:8px;font-size:7px;letter-spacing:.09em;color:var(--blue)}.maturity b{color:var(--gold);font-size:11px}.maturity h4{margin:7px 0 4px;font-size:12px}.maturity p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}
.registry-wrap{border:1px solid var(--line);border-radius:16px;overflow:auto;background:var(--panel)}.registry-table{width:100%;min-width:1150px;border-collapse:collapse}.registry-table th{position:sticky;top:0;z-index:2;background:var(--panel-solid);color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.registry-table td,.registry-table th{padding:8px 9px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);vertical-align:top}.registry-table td{font-size:9px;color:var(--muted);line-height:1.45}.registry-table td:first-child{color:var(--text);font-weight:800}.registry-table code{font-size:8px;color:var(--peacock);word-break:break-word}.registry-more{display:flex;justify-content:center;padding:10px}.empty-note{padding:24px;color:var(--muted);text-align:center}
.issue-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.issue-card{border:1px solid var(--line);border-radius:13px;padding:10px;background:var(--panel)}.issue-card b{font-size:10px}.issue-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:6px 0 0}
.print-note{color:var(--muted);font-size:9px;margin-top:8px}
@media(max-width:1100px){.detail-drawer{grid-template-columns:1fr}.connection-grid{grid-template-columns:1fr 1fr}.maturity-grid{grid-template-columns:1fr 1fr}.issue-strip{grid-template-columns:1fr 1fr}.master-controls{top:142px}}
@media(max-width:680px){.connection-grid,.maturity-grid,.issue-strip{grid-template-columns:1fr}.phase-column{width:310px;flex-basis:310px}.master-search{min-width:100%}.focus-grid{grid-template-columns:1fr}}
@page{size:A0 landscape;margin:8mm}
@media print{
.top,.master-controls,.detail-drawer,.registry-more{display:none!important}.wrap{max-width:none!important;padding:0!important}.sec{display:block!important;page-break-before:always}.sec#planwall{page-break-before:auto}.sec:not(#planwall){display:none!important}
.plan-hero{box-shadow:none}.blueprint-shell{overflow:visible!important;border:0!important}.blueprint{transform:none!important;display:flex!important;gap:8px!important;padding:4px!important;min-width:0!important}.phase-column{width:auto!important;flex:1 1 0!important;min-width:0!important}.phase-column:after{display:none}.phase-card{box-shadow:none!important}.phase-head{position:static!important;padding:6px!important}.phase-head h3{font-size:8px!important}.phase-head p,.phase-status{font-size:5px!important}.phase-items{padding:3px!important;gap:2px!important}.micro{padding:3px!important;border-radius:4px!important}.micro-title{font-size:5.2px!important}.micro-id,.micro-detail,.micro-dep,.micro-evidence,.micro-badge{font-size:4.2px!important;line-height:1.2!important}.micro-dot{width:3px;height:3px;margin-top:2px}.section-block{page-break-inside:avoid}.connection-grid{grid-template-columns:repeat(6,1fr)!important}.maturity-grid{grid-template-columns:repeat(6,1fr)!important}.registry-wrap{overflow:visible}.registry-table{min-width:0!important}.registry-table td,.registry-table th{font-size:4.7px!important;padding:3px!important}.plan-hero h2{font-size:15px!important}.plan-hero p,.live-pill{font-size:5px!important}.status-legend{font-size:5px!important}
}
.master-site-sidebar{position:fixed;left:0;top:0;bottom:0;width:256px;padding:22px 15px 18px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel-solid) 84%,transparent);backdrop-filter:blur(28px);z-index:60;display:flex;flex-direction:column}
.master-brand{display:flex;align-items:center;gap:12px;padding:2px 8px 20px}.master-brandmark{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,rgba(240,198,107,.18),rgba(101,211,168,.12));border:1px solid rgba(240,198,107,.24);box-shadow:inset 0 1px rgba(255,255,255,.09),0 10px 30px rgba(0,0,0,.14)}.master-brandmark b{font-family:Georgia,serif;color:var(--gold);font-size:15px}.master-brandcopy strong{display:block;font-size:14px}.master-brandcopy span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.master-nav-label{padding:8px 10px 7px;color:var(--faint);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:800}.master-site-nav{display:grid;gap:4px}.master-site-nav a{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:13px;color:var(--muted);font-size:13px;transition:.2s;border:1px solid transparent;text-decoration:none}.master-site-nav a:hover{color:var(--text);background:var(--chip)}.master-site-nav a.active{color:var(--text);background:linear-gradient(90deg,rgba(240,198,107,.11),rgba(101,211,168,.07));border-color:var(--line);box-shadow:inset 3px 0 var(--gold)}.master-site-nav .ico{width:19px;text-align:center;color:var(--gold)}
.master-side-status{margin-top:auto;padding:13px;border:1px solid var(--line2);border-radius:16px;background:linear-gradient(160deg,rgba(101,211,168,.08),rgba(240,198,107,.04));font-size:10px;color:var(--muted);line-height:1.5}.master-side-status b{display:block;color:var(--text);font-size:11px;margin-bottom:4px}.master-side-status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--emerald);margin-right:7px;box-shadow:0 0 12px color-mix(in srgb,var(--emerald) 55%,transparent)}
body>.top{margin-left:256px;padding-left:24px;padding-right:24px}.wrap{max-width:none!important;margin-left:256px!important;margin-right:0!important;padding-left:24px!important;padding-right:24px!important}
@media(max-width:900px){.master-site-sidebar{display:none}body>.top{margin-left:0}.wrap{margin-left:0!important}}
@media print{.master-site-sidebar{display:none!important}body>.top,.wrap{margin-left:0!important}}

/* R3 — detailed architecture diagram */
.architecture-diagram-section{margin:16px 0 18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--panel2) 84%,transparent));box-shadow:var(--shadow);overflow:hidden}
.arch-diagram-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding:18px 18px 13px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(240,198,107,.055),transparent 38%,rgba(101,211,168,.045))}
.arch-diagram-head h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:25px;letter-spacing:-.015em;margin:4px 0 6px}.arch-diagram-head p{margin:0;max-width:930px;color:var(--muted);font-size:10px;line-height:1.55}
.arch-diagram-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-width:300px}.arch-diagram-actions .mini-btn{white-space:nowrap}
.arch-zone-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:9px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel-solid) 76%,transparent)}
.arch-zone{border:1px solid var(--line);border-radius:10px;padding:8px 9px;background:var(--chip);min-height:46px}.arch-zone b{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.arch-zone span{display:block;margin-top:3px;color:var(--muted);font-size:8px;line-height:1.35}.arch-zone.native b{color:var(--gold)}.arch-zone.reference b{color:var(--violet)}.arch-zone.product b{color:var(--peacock)}.arch-zone.infra b{color:var(--emerald)}.arch-zone.control b{color:var(--saffron)}
.arch-modebar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel-solid) 83%,transparent)}.arch-modebar .label{font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:900;margin-right:2px}.arch-modebar .spacer{flex:1}.arch-zoom-readout{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--gold);font-size:9px;min-width:42px;text-align:center}
.architecture-viewport{height:min(78vh,930px);min-height:620px;overflow:auto;position:relative;background:
radial-gradient(circle at 12% 2%,rgba(240,198,107,.075),transparent 18%),
radial-gradient(circle at 72% 0%,rgba(101,211,168,.055),transparent 18%),
color-mix(in srgb,var(--bg) 78%,var(--panel-solid));
scrollbar-width:thin;scrollbar-color:var(--gold2) transparent}
.architecture-stage{position:relative;transform-origin:0 0;min-width:max-content;min-height:max-content}
#architectureSvg{display:block;max-width:none!important;overflow:visible}
.arch-grid-major{stroke:color-mix(in srgb,var(--text) 7%,transparent);stroke-width:1}.arch-cluster-bg{fill:color-mix(in srgb,var(--panel-solid) 90%,transparent);stroke:color-mix(in srgb,var(--gold) 18%,transparent);stroke-width:1.2}.arch-cluster-head{fill:color-mix(in srgb,var(--gold) 8%,var(--panel-solid));stroke:color-mix(in srgb,var(--gold) 20%,transparent);stroke-width:1}.arch-cluster-phase{fill:var(--gold);font-size:11px;font-weight:900;letter-spacing:1.5px}.arch-cluster-title{fill:var(--text);font-family:Georgia,"Times New Roman",serif;font-size:19px}.arch-cluster-sub{fill:var(--muted);font-size:9px}.arch-node-bg{fill:color-mix(in srgb,var(--panel2) 90%,transparent);stroke-width:1.4}.arch-node-bg.accepted,.arch-node-bg.active{stroke:var(--emerald)}.arch-node-bg.progress{stroke:var(--gold)}.arch-node-bg.blocked,.arch-node-bg.failed{stroke:var(--red)}.arch-node-bg.gated{stroke:var(--saffron)}.arch-node-bg.planned{stroke:var(--blue)}.arch-node-bg.reference{stroke:var(--violet);stroke-dasharray:7 4}.arch-node-bg.historical,.arch-node-bg.superseded{stroke:var(--faint);stroke-dasharray:4 4}.arch-node-id{fill:var(--gold);font-size:9px;font-weight:900;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.arch-node-title{fill:var(--text);font-size:11px;font-weight:800}.arch-node-detail{fill:var(--muted);font-size:8.5px}.arch-node-status{font-size:7.6px;text-transform:uppercase;font-weight:900;letter-spacing:.5px}.arch-node-dep{fill:var(--faint);font-size:7.4px}.arch-status-dot.accepted,.arch-status-dot.active{fill:var(--emerald)}.arch-status-dot.progress{fill:var(--gold)}.arch-status-dot.blocked,.arch-status-dot.failed{fill:var(--red)}.arch-status-dot.gated{fill:var(--saffron)}.arch-status-dot.planned{fill:var(--blue)}.arch-status-dot.reference{fill:var(--violet)}.arch-status-dot.historical,.arch-status-dot.superseded{fill:var(--faint)}
.arch-edge{fill:none;stroke:color-mix(in srgb,var(--muted) 35%,transparent);stroke-width:1.2;opacity:.58}.arch-edge.dependency{stroke:color-mix(in srgb,var(--peacock) 48%,transparent);stroke-dasharray:5 5}.arch-edge.core{stroke:var(--gold);stroke-width:3;opacity:.9;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--gold) 25%,transparent))}.arch-edge.reference{stroke:var(--violet);stroke-width:1.8;stroke-dasharray:8 6;opacity:.8}.arch-edge.runtime{stroke:var(--emerald);stroke-width:2;opacity:.75}.arch-node-group{cursor:pointer;transition:opacity .16s}.arch-node-group.dim{opacity:.14}.arch-node-group.match .arch-node-bg{stroke-width:3;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--gold) 42%,transparent))}.arch-node-group:hover .arch-node-bg{stroke-width:2.6;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--gold) 28%,transparent))}
.arch-special-bg{fill:color-mix(in srgb,var(--panel-solid) 94%,transparent);stroke-width:1.7}.arch-special-title{fill:var(--text);font-size:13px;font-weight:900}.arch-special-sub{fill:var(--muted);font-size:8.5px}.arch-special.reference .arch-special-bg{stroke:var(--violet);stroke-dasharray:8 5}.arch-special.native .arch-special-bg{stroke:var(--gold)}.arch-special.control .arch-special-bg{stroke:var(--saffron)}.arch-special.product .arch-special-bg{stroke:var(--peacock)}.arch-ribbon{fill:color-mix(in srgb,var(--gold) 5%,transparent);stroke:color-mix(in srgb,var(--gold) 22%,transparent);stroke-dasharray:9 7}.arch-ribbon.reference{fill:color-mix(in srgb,var(--violet) 4%,transparent);stroke:color-mix(in srgb,var(--violet) 25%,transparent)}.arch-ribbon-label{fill:var(--gold);font-size:10px;font-weight:900;letter-spacing:1.4px}.arch-ribbon-label.reference{fill:var(--violet)}
.arch-selection{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:8px;padding:10px 12px 12px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel-solid) 76%,transparent)}.arch-selection-main,.arch-selection-side{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--chip)}.arch-selection small{display:block;color:var(--faint);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.arch-selection b{display:block;margin-top:4px;font-size:11px;color:var(--text)}.arch-selection p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.arch-selection code{color:var(--peacock);font-size:8px}
.architecture-diagram-section:fullscreen{background:var(--bg);overflow:auto}.architecture-diagram-section:fullscreen .architecture-viewport{height:calc(100vh - 188px)}
@media(max-width:1100px){.arch-zone-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.arch-diagram-head{flex-direction:column}.arch-diagram-actions{justify-content:flex-start;min-width:0}.arch-selection{grid-template-columns:1fr}}
@media(max-width:680px){.arch-zone-strip{grid-template-columns:1fr}.architecture-viewport{min-height:520px;height:70vh}}
@media print{.architecture-diagram-section{page-break-after:always;box-shadow:none!important}.arch-diagram-actions,.arch-modebar,.arch-selection{display:none!important}.architecture-viewport{height:auto!important;overflow:visible!important}.architecture-stage{transform:none!important}.arch-zone-strip{grid-template-columns:repeat(5,1fr)!important}}

/* R4 — plain approved ASCII architecture. Intentionally not polished. */
.ascii-architecture-wrap{margin:14px 0 18px}
.ascii-architecture-actions{margin:0 0 8px}
.ascii-architecture-pre{
  margin:0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel-solid);
  color:var(--text);
  font-family:Consolas,"Courier New",monospace;
  font-size:12px;
  line-height:1.28;
  white-space:pre;
  overflow:auto;
  tab-size:4;
  text-align:left;
  box-shadow:none;
  min-height:420px;
}
html[data-theme="light"] .ascii-architecture-pre{background:#fff;color:#111}
@media print{
  .ascii-architecture-actions{display:none!important}
  .ascii-architecture-pre{font-size:5.4pt!important;line-height:1.05!important;border:0!important;padding:0!important;overflow:visible!important;white-space:pre!important;background:#fff!important;color:#000!important}
}
