/* Shared semantic colours; dark values preserve the existing palette. */
:root{--border:#2c382c;--border-strong:#536153;--tag-text:#d7e2d6;--tag-border:#3c4a3c;--tag-bg:#ffffff05;--media-bg:#0d120e;--diagram-node:#0a0d0b;--diagram-line:#a8ee5480;--tone-border-2e392f:#2e392f;--tone-shadow-00000024:#00000024;--tone-border-354136:#354136;--tone-media-c0fa74:#c0fa74;--tone-text-ff9b85:#ff9b85;--tone-border-c5d1c3:#c5d1c3;--tone-media-ffffff8a:#ffffff8a;--tone-shadow-4f8f1617:#4f8f1617;--tone-border-b3c2b2:#b3c2b2;--tone-border-314132:#314132;--tone-media-rgba1682388409:rgba(168,238,84,.09);--tone-media-101610:#101610;--tone-media-090c0a:#090c0a;--tone-media-rgba16823884045:rgba(168,238,84,.045);--tone-media-rgba1013116:rgba(10,13,11,.6);--tone-border-4a5b48:#4a5b48;--tone-media-rgba16221678:rgba(16,22,16,.78);--tone-media-rgba10131142:rgba(10,13,11,.42);--tone-media-rgba10131172:rgba(10,13,11,.72);--tone-media-rgba10131166:rgba(10,13,11,.66);--tone-media-rgba10131134:rgba(10,13,11,.34);--tone-border-293229:#293229;--tone-media-0d120e:#0d120e;--tone-border-263126:#263126;--tone-media-121912:#121912;--tone-border-2b372b:#2b372b;--tone-border-293329:#293329;--tone-media-111711:#111711;--tone-shadow-0005:#0005;--tone-media-edf1fb:#edf1fb;--tone-border-455545:#455545;--tone-media-ffffff03:#ffffff03;--tone-border-2c382c:#2c382c;--tone-line-a8ee5480:#a8ee5480;--tone-line-536153:#536153;--tone-text-a8ee540b:#a8ee540b;--tone-media-101510:#101510;--tone-media-141c15:#141c15;--tone-media-a8ee5409:#a8ee5409;--tone-border-29332a:#29332a;--tone-media-0f1510:#0f1510;--tone-border-597051:#597051;--tone-shadow-rgba16823884025:rgba(168,238,84,.025);--tone-shadow-rgba1682388407:rgba(168,238,84,.07);--tone-border-3c4a3c:#3c4a3c;--tone-shadow-rgba00026:rgba(0,0,0,.26);--tone-text-d4e6c5:#d4e6c5;--tone-border-6e6650:#6e6650;--tone-text-e1cb7e:#e1cb7e;--tone-media-e1cb7e:#e1cb7e;--tone-shadow-e1cb7e:#e1cb7e;--tone-border-50736d:#50736d;--tone-text-8fdfd3:#8fdfd3;--tone-media-8fdfd3:#8fdfd3;--tone-shadow-8fdfd3:#8fdfd3;--tone-line-a8ee5436:#a8ee5436;--tone-line-f1f3ed18:#f1f3ed18;--tone-line-a8ee5457:#a8ee5457;--tone-text-a8ee547d:#a8ee547d;--tone-shadow-a8ee54:#a8ee54;--tone-line-4f8f167a:#4f8f167a;--tone-line-4f8f1645:#4f8f1645;--tone-line-4f8f16a8:#4f8f16a8;--tone-text-39720cb5:#39720cb5;--tone-shadow-4f8f16:#4f8f16;--tone-border-354034:#354034;--tone-text-b6c1b6:#b6c1b6;--tone-text-536053:#536053;--tone-shadow-0000002e:#0000002e;--tone-shadow-00000036:#00000036;--tone-shadow-0000003d:#0000003d;--tone-shadow-00000022:#00000022;--tone-media-292a20:#292a20;--tone-shadow-292a20:#292a20;--tone-media-273126:#273126;--tone-shadow-00000032:#00000032;--tone-media-334034:#334034;--tone-border-455246:#455246;--tone-shadow-a8ee5433:#a8ee5433;--tone-border-2b352c:#2b352c;--tone-shadow-4f8f161c:#4f8f161c;--tone-media-a8ee5416:#a8ee5416;--tone-line-a8ee5438:#a8ee5438;--tone-line-f1f3ed19:#f1f3ed19;--tone-line-a8ee5465:#a8ee5465;--tone-line-a8ee5488:#a8ee5488;--tone-text-a8ee5418:#a8ee5418;--tone-shadow-a8ee5444:#a8ee5444;--tone-text-a8ee54a8:#a8ee54a8;--tone-text-7d897e:#7d897e;--tone-text-edf4ed:#edf4ed;--tone-line-a8ee5440:#a8ee5440;--tone-line-a8ee5424:#a8ee5424;--tone-line-4f8f1672:#4f8f1672;--tone-line-4f8f1636:#4f8f1636;--tone-line-4f8f16aa:#4f8f16aa;--tone-border-435044:#435044;--tone-border-9aab98:#9aab98;--tone-media-ffffffa8:#ffffffa8;--tone-border-334034:#334034;--tone-media-0000008a:#0000008a;--tone-border-3e4c40:#3e4c40;--tone-media-000:#000;--tone-shadow-0000008c:#0000008c;--tone-border-2c362d:#2c362d;--tone-shadow-0000001c:#0000001c;--tone-shadow-00000020:#00000020;--tone-border-344034:#344034;--tone-border-354235:#354235;--tone-media-0c110c:#0c110c;--tone-text-d7e2d6:#d7e2d6;--tone-media-ffffff05:#ffffff05;--tone-border-a8ee547a:#a8ee547a;--tone-border-2d3a2d:#2d3a2d;--tone-line-687268:#687268;--tone-line-475448:#475448;--tone-media-151d15:#151d15;--tone-media-0b0f0c:#0b0f0c;--tone-border-2a362a:#2a362a;--tone-media-a8ee5412:#a8ee5412;--tone-shadow-a8ee5420:#a8ee5420;--tone-line-a8ee547a:#a8ee547a;--tone-text-0a0d0b:#0a0d0b;--tone-text-a8ee5410:#a8ee5410;--tone-media-182018:#182018;--tone-media-0e120e:#0e120e;--tone-border-364236:#364236;--tone-media-ffffff08:#ffffff08;--tone-media-2b372b:#2b372b;--tone-media-a8ee541c:#a8ee541c;--tone-border-637663:#637663;--tone-media-0c120d:#0c120d;--tone-shadow-a8ee5408:#a8ee5408;--tone-shadow-00000045:#00000045;--tone-border-334334:#334334;--tone-text-b9c8b9:#b9c8b9;--tone-border-283228:#283228;--tone-border-344134:#344134;--tone-media-172117:#172117;--tone-media-0b100c:#0b100c;--tone-border-354035:#354035;--tone-media-f1f3ed:#f1f3ed;--tone-text-243024:#243024;--tone-shadow-00000044:#00000044;--tone-text-657265:#657265;--tone-text-4c5a4d:#4c5a4d;--tone-media-c8cec7:#c8cec7}
html.light{--bg:#f6f8f3;--surface:#ffffff;--soft:#e3ebdf;--text:#172018;--muted:#505c51;--quiet:#59645a;--accent:#386d10;--ink:#fff;--border:#d3dcd1;--border-strong:#b9c6b7;--tag-text:#3d4a3e;--tag-border:#b9c6b7;--tag-bg:#ffffff80;--media-bg:#dfe8dc;--diagram-node:#f6f8f3;--diagram-line:#4f8f1680;--tone-border-2e392f:#b9c6b7;--tone-shadow-00000024:#263b2412;--tone-border-354136:#b9c6b7;--tone-media-c0fa74:#dfe8dc;--tone-text-ff9b85:#a5301d;--tone-border-c5d1c3:#b9c6b7;--tone-media-ffffff8a:#dfe8dc;--tone-shadow-4f8f1617:#263b2412;--tone-border-b3c2b2:#b9c6b7;--tone-border-314132:#b9c6b7;--tone-media-rgba1682388409:#dfe8dc;--tone-media-101610:#dfe8dc;--tone-media-090c0a:#dfe8dc;--tone-media-rgba16823884045:#dfe8dc;--tone-media-rgba1013116:#dfe8dc;--tone-border-4a5b48:#b9c6b7;--tone-media-rgba16221678:#dfe8dc;--tone-media-rgba10131142:#dfe8dc;--tone-media-rgba10131172:#dfe8dc;--tone-media-rgba10131166:#dfe8dc;--tone-media-rgba10131134:#dfe8dc;--tone-border-293229:#b9c6b7;--tone-media-0d120e:#dfe8dc;--tone-border-263126:#b9c6b7;--tone-media-121912:#dfe8dc;--tone-border-2b372b:#b9c6b7;--tone-border-293329:#b9c6b7;--tone-media-111711:#dfe8dc;--tone-shadow-0005:#263b2412;--tone-media-edf1fb:#fbfcfa;--tone-border-455545:#b9c6b7;--tone-media-ffffff03:#dfe8dc;--tone-border-2c382c:#b9c6b7;--tone-line-a8ee5480:#4f8f1680;--tone-line-536153:#4f8f1680;--tone-text-a8ee540b:#386d10;--tone-media-101510:#dfe8dc;--tone-media-141c15:#dfe8dc;--tone-media-a8ee5409:#4f8f1610;--tone-border-29332a:#b9c6b7;--tone-media-0f1510:#dfe8dc;--tone-border-597051:#b9c6b7;--tone-shadow-rgba16823884025:#263b2412;--tone-shadow-rgba1682388407:#263b2412;--tone-border-3c4a3c:#b9c6b7;--tone-shadow-rgba00026:#263b2412;--tone-text-d4e6c5:#3d4a3e;--tone-border-6e6650:#b9c6b7;--tone-text-e1cb7e:#386d10;--tone-media-e1cb7e:#dfe8dc;--tone-shadow-e1cb7e:#263b2412;--tone-border-50736d:#b9c6b7;--tone-text-8fdfd3:#386d10;--tone-media-8fdfd3:#dfe8dc;--tone-shadow-8fdfd3:#263b2412;--tone-line-a8ee5436:#4f8f1680;--tone-line-f1f3ed18:#4f8f1680;--tone-line-a8ee5457:#4f8f1680;--tone-text-a8ee547d:#386d10;--tone-shadow-a8ee54:#263b2412;--tone-line-4f8f167a:#4f8f1680;--tone-line-4f8f1645:#4f8f1680;--tone-line-4f8f16a8:#4f8f1680;--tone-text-39720cb5:#3d4a3e;--tone-shadow-4f8f16:#263b2412;--tone-border-354034:#b9c6b7;--tone-text-b6c1b6:#3d4a3e;--tone-text-536053:#3d4a3e;--tone-shadow-0000002e:#263b2412;--tone-shadow-00000036:#263b2412;--tone-shadow-0000003d:#263b2412;--tone-shadow-00000022:#263b2412;--tone-media-292a20:#dfe8dc;--tone-shadow-292a20:#263b2412;--tone-media-273126:#dfe8dc;--tone-shadow-00000032:#263b2412;--tone-media-334034:#dfe8dc;--tone-border-455246:#b9c6b7;--tone-shadow-a8ee5433:#263b2412;--tone-border-2b352c:#b9c6b7;--tone-shadow-4f8f161c:#263b2412;--tone-media-a8ee5416:#4f8f1610;--tone-line-a8ee5438:#4f8f1680;--tone-line-f1f3ed19:#4f8f1680;--tone-line-a8ee5465:#4f8f1680;--tone-line-a8ee5488:#4f8f1680;--tone-text-a8ee5418:#386d10;--tone-shadow-a8ee5444:#263b2412;--tone-text-a8ee54a8:#386d10;--tone-text-7d897e:#3d4a3e;--tone-text-edf4ed:#3d4a3e;--tone-line-a8ee5440:#4f8f1680;--tone-line-a8ee5424:#4f8f1680;--tone-line-4f8f1672:#4f8f1680;--tone-line-4f8f1636:#4f8f1680;--tone-line-4f8f16aa:#4f8f1680;--tone-border-435044:#b9c6b7;--tone-border-9aab98:#b9c6b7;--tone-media-ffffffa8:#dfe8dc;--tone-border-334034:#b9c6b7;--tone-media-0000008a:#dfe8dc;--tone-border-3e4c40:#b9c6b7;--tone-media-000:#dfe8dc;--tone-shadow-0000008c:#263b2412;--tone-border-2c362d:#b9c6b7;--tone-shadow-0000001c:#263b2412;--tone-shadow-00000020:#263b2412;--tone-border-344034:#b9c6b7;--tone-border-354235:#b9c6b7;--tone-media-0c110c:#dfe8dc;--tone-text-d7e2d6:#3d4a3e;--tone-media-ffffff05:#dfe8dc;--tone-border-a8ee547a:#b9c6b7;--tone-border-2d3a2d:#b9c6b7;--tone-line-687268:#4f8f1680;--tone-line-475448:#4f8f1680;--tone-media-151d15:#dfe8dc;--tone-media-0b0f0c:#dfe8dc;--tone-border-2a362a:#b9c6b7;--tone-media-a8ee5412:#4f8f1610;--tone-shadow-a8ee5420:#263b2412;--tone-line-a8ee547a:#4f8f1680;--tone-text-0a0d0b:#3d4a3e;--tone-text-a8ee5410:#386d10;--tone-media-182018:#dfe8dc;--tone-media-0e120e:#dfe8dc;--tone-border-364236:#b9c6b7;--tone-media-ffffff08:#dfe8dc;--tone-media-2b372b:#dfe8dc;--tone-media-a8ee541c:#4f8f1610;--tone-border-637663:#b9c6b7;--tone-media-0c120d:#dfe8dc;--tone-shadow-a8ee5408:#263b2412;--tone-shadow-00000045:#263b2412;--tone-border-334334:#b9c6b7;--tone-text-b9c8b9:#3d4a3e;--tone-border-283228:#b9c6b7;--tone-border-344134:#b9c6b7;--tone-media-172117:#dfe8dc;--tone-media-0b100c:#dfe8dc;--tone-border-354035:#b9c6b7;--tone-media-f1f3ed:#fbfcfa;--tone-text-243024:#3d4a3e;--tone-shadow-00000044:#263b2412;--tone-text-657265:#3d4a3e;--tone-text-4c5a4d:#3d4a3e;--tone-media-c8cec7:#dfe8dc;color-scheme:light}
html.light :is(.project,.case-reference,.note-card,.capability,.module,.decision,.numbers){border:1px solid var(--border);box-shadow:0 12px 30px var(--tone-shadow-00000024)}
html.light .tag{color:var(--tag-text);border-color:var(--tag-border);background:var(--tag-bg)}
html.light :is(.project-visual,.ledger-phone,.visual-folio,.diagram-wrap,.case-mini-diagram){background:var(--media-bg);border-color:var(--border-strong)}
html.light :is(.diagram-wrap,.visual-architecture,.cdc-diagram) rect{fill:var(--diagram-node);stroke:var(--border-strong)}
html.light :is(.diagram-wrap,.visual-architecture,.cdc-diagram) text{fill:var(--text)}
html.light :is(.diagram-wrap,.visual-architecture,.cdc-diagram) path{stroke:var(--diagram-line)}
html.light :is(.topology-label,.topology-sub,.request-label){fill:var(--muted)}
html.light .system-stage .system-caption{color:var(--text)}
html.light .folio-preview article{background:var(--surface);color:var(--text)}
html.light .folio-preview :is(p,h5){color:var(--muted)}
html.light :is(.retry-system,.cdc-system) :is(.system-shell span,.note-part b){color:var(--accent)}
.theme-detail-toggle{margin-left:auto;margin-right:18px;border:1px solid var(--border-strong);border-radius:7px;background:transparent;color:var(--muted);width:34px;height:34px;cursor:pointer;font-size:18px}
.theme-toast{position:fixed;z-index:101;top:76px;right:20px;max-width:min(340px,calc(100vw - 40px));padding:14px 35px 14px 16px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--text);font:12px/1.5 var(--mono);box-shadow:0 8px 28px var(--tone-shadow-00000024)}
.theme-toast button{position:absolute;right:8px;top:8px;border:0;background:transparent;color:var(--text);cursor:pointer}
.theme-toast-counter{display:block;margin-top:6px;color:var(--muted)}
#bugs{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}
.beetle{position:absolute;width:16px;height:16px;border:0;padding:0;background:none;color:var(--text);pointer-events:auto;cursor:pointer;animation:crawl 5.5s ease-in-out forwards}
.beetle svg{display:block;width:16px;height:16px;overflow:visible}
.beetle .legs{transform-origin:center;animation:legs .18s alternate infinite}
.beetle.squashed{animation:squash .18s ease-out forwards;pointer-events:none}
.bug-fixed{position:absolute;white-space:nowrap;font:11px var(--mono);color:var(--text);pointer-events:none;animation:fixed-label .8s ease-out forwards}
@keyframes crawl{0%{opacity:0;transform:translate(0,0) rotate(-18deg)}15%{opacity:1}50%{transform:translate(var(--crawl-x),12px) rotate(16deg)}85%{opacity:1}100%{opacity:0;transform:translate(0,28px) rotate(-12deg)}}
@keyframes legs{to{transform:rotate(8deg)}}@keyframes squash{to{transform:scale(1.4,.2);opacity:0}}@keyframes fixed-label{to{opacity:0;transform:translateY(-12px)}}
@media(prefers-reduced-motion:reduce){#bugs,.theme-toast{display:none}.beetle{animation:none}}

