:root{color-scheme:light;--bg:#f3ead7;--panel:#fbf5e8;--line:#d7c4a7;--text:#382b26;--muted:#716151;--green:#8a2335;--cyan:#487e7a;--purple:#6c667f;--amber:#926321;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.6}button,input,select{font:inherit}button,select{cursor:pointer}a{color:inherit;text-underline-offset:5px}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--green)}button{color:var(--text)}.wrap{max-width:1512px;margin:auto;padding:0 56px}.header{height:106px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:70px}.brand{display:flex;align-items:center}.brand img{width:175px;height:auto;display:block}.header nav{display:flex;gap:32px}.header nav a{text-decoration:none;font-size:14px;color:var(--muted)}.header nav a:hover,.header nav .active{color:var(--green)}.edition{margin-left:auto;font:11px monospace;letter-spacing:2px;color:var(--muted)}.intro{display:flex;justify-content:space-between;align-items:end;padding:60px 0 44px;gap:50px}.eyebrow{font:11px/1.5 monospace;letter-spacing:2px;color:var(--green);margin:0 0 20px}h1{font-size:clamp(36px,4.2vw,62px);font-weight:400;letter-spacing:-2.5px;line-height:1.08;margin:0}h1 span{color:var(--green)}.intro-note{max-width:330px;font-size:14px;color:var(--muted);padding-bottom:4px}.intro-note p:first-child{color:var(--text)}.intro-note a{font-size:13px;color:var(--green)}h2{font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-.8px;margin:0}h3{font-weight:400;margin:0 0 12px;font-size:18px}.atlas{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden}.atlas-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;gap:20px}.atlas-heading .eyebrow{font-size:10px;margin:0 0 6px;display:block}.atlas-heading h2{font-size:24px}.collection-label{display:flex;align-items:center;gap:15px}label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:5px}input,select{background:#fffaf0;border:1px solid #bba584;border-radius:4px;color:var(--text);height:40px;padding:0 12px;font-size:14px;max-width:100%}.toolbar{display:flex;gap:16px;padding:16px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:end}.search-label{flex:1}.toolbar select{min-width:145px}.view-switch{display:flex;border:1px solid #bba584;border-radius:4px;padding:3px;height:40px}.view-switch button{border:0;background:transparent;font-size:13px;padding:0 14px;border-radius:2px}.view-switch button[aria-pressed=true]{background:#ead9bd;color:var(--green)}.quiet{border:0;background:none;font-size:13px;color:var(--muted);height:40px}.explorer-body{display:grid;grid-template-columns:minmax(0,1fr) 285px}.map-column{min-width:0;background:radial-gradient(ellipse at 50% 20%,#fffdf5 0,transparent 68%)}.map-top{display:flex;justify-content:space-between;padding:15px 22px;gap:12px;color:var(--muted);font:11px monospace;min-height:53px}.map-top p{margin:0}#map-container{position:relative;min-height:300px}#network{display:block;width:100%;height:auto;min-height:320px;max-height:600px}.gridline{stroke:#d9c8ad;stroke-width:1;stroke-dasharray:3 8}.axis-label{fill:#79644e;font:12px monospace}.edge{fill:none;stroke:var(--green);stroke-width:1.5;opacity:.38}.node{cursor:pointer}.node circle{stroke:#fbf5e8;stroke-width:2;transition:opacity .15s,r .15s}.node:hover circle,.node:focus circle{stroke:#382b26;stroke-width:2}.node text{fill:#49382d;font:13px Arial;paint-order:stroke;stroke:#fff8e9;stroke-width:5px;stroke-linejoin:round}.node.selected text{fill:var(--green);font-weight:600}.node.muted circle{opacity:.48}.node .halo{fill:none;stroke:var(--green);stroke-width:1;opacity:.65}.legend{display:flex;flex-wrap:wrap;gap:15px;padding:15px 22px;font:11px monospace;color:var(--muted);border-top:1px solid #d7c4a7;min-height:52px}.legend span{display:flex;align-items:center;gap:7px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.legend .legend-note{margin-left:auto}aside{padding:26px 24px;border-left:1px solid var(--line);background:#eee0c9}aside .eyebrow{font-size:10px;margin-bottom:16px}aside h3{font-size:25px;line-height:1.2;letter-spacing:-.5px;margin-bottom:10px}aside .meta{color:var(--muted);font-size:12px}aside dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 10px;margin:25px 0}dt{font-size:11px;color:var(--muted)}dd{font:19px monospace;margin:3px 0 0}.detail-note{font-size:12px;color:var(--muted);line-height:1.6}.connections-title{border-top:1px solid var(--line);padding-top:18px;margin:20px 0 8px;font:10px monospace;letter-spacing:1px;color:var(--green)}.connection{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:9px 0;border:0;border-bottom:1px solid #d7c4a7;background:none;font-size:12px;text-align:left;line-height:1.4}.connection:hover{color:var(--green)}.connection small{color:var(--muted);flex-shrink:0;font:10px monospace}.source-link{font-size:12px;color:var(--green)}.atlas-foot{display:flex;gap:24px;justify-content:space-between;padding:14px 22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);align-items:center}.atlas-foot p{margin:0;max-width:560px}.trail{display:flex;gap:7px;flex-wrap:wrap;justify-content:end}.trail button{border:1px solid var(--line);background:none;border-radius:3px;padding:4px 8px;font-size:10px;color:var(--green)}#empty{position:absolute;inset:90px 30px auto;text-align:center;color:var(--muted)}[hidden]{display:none!important}#list-container{height:480px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th,td{padding:12px 20px;border-bottom:1px solid var(--line)}th{position:sticky;top:0;background:var(--panel);font-size:12px;color:var(--muted)}td button{background:none;border:0;padding:0;text-align:left;color:var(--green)}.method{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:60px;padding:65px 0;border-bottom:1px solid var(--line)}.method h2{font-size:29px}.method h3{font-size:17px}.method p:not(.eyebrow){color:var(--muted);font-size:14px;margin-bottom:0}.research{padding:75px 0;border-bottom:1px solid var(--line)}.section-top{display:flex;justify-content:space-between;gap:70px;align-items:end}.section-top>p{max-width:430px;color:var(--muted);font-size:15px;margin:0}.research h2,.future h2{font-size:42px;line-height:1.13}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.stats>div{display:flex;flex-direction:column;gap:8px;padding-left:28px;border-left:1px solid var(--line)}.stats>div:first-child{border:0;padding:0}.stats strong{font:36px monospace;color:var(--green);font-weight:400}.stats span{font-size:12px;color:var(--muted)}.research-bottom{display:flex;align-items:center;justify-content:space-between;gap:60px}.research-bottom>div{max-width:700px;display:flex;align-items:start;gap:25px}.tag{white-space:nowrap;border:1px solid #b58b49;padding:5px 9px;color:var(--amber);font:10px monospace;line-height:1.5}.research-bottom p{margin:0;color:var(--muted);font-size:13px}.text-link{font-size:13px;color:var(--green);white-space:nowrap}.future{padding:75px 0;border-bottom:1px solid var(--line)}.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:45px}.future-grid span{font:11px monospace;color:var(--green)}.future-grid h3{margin:16px 0 10px}.future-grid p,.future-note{font-size:14px;color:var(--muted)}.future-note{margin-top:32px;font-size:12px}.about{display:flex;gap:28px;padding:65px 0;align-items:start}.about img{border-radius:50%;object-fit:cover;object-position:center 25%;filter:grayscale(1);margin-top:8px}.about>div{max-width:540px}.about h2{font-size:24px}.about .eyebrow{font-size:10px;margin-bottom:10px}.about p:not(.eyebrow){font-size:14px;color:var(--muted)}.about a{font-size:13px;color:var(--green)}.about-aside{margin-left:auto;font-size:12px!important;line-height:1.9}footer{border-top:1px solid var(--line);display:flex;gap:35px;align-items:center;min-height:100px;font-size:11px;color:var(--muted)}footer>span{letter-spacing:2px;color:var(--text)}footer a{margin-left:auto}.skip{position:absolute;top:-100px;left:20px;z-index:20;padding:12px;background:var(--green);color:#f3ead7}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#error{padding:20px;color:var(--amber)}.document{max-width:860px;padding-top:65px;padding-bottom:70px}.document h1{font-size:46px;margin-bottom:36px}.document h2{font-size:26px;margin-top:35px}.document p,.document li{color:var(--muted)}.document a{color:var(--green)}
@media(min-width:1500px){#network{min-height:490px}}
@media(max-width:1100px){.wrap{padding-left:28px;padding-right:28px}.explorer-body{grid-template-columns:minmax(0,1fr) 245px}.toolbar{gap:10px;padding:15px}.toolbar select{min-width:120px}.intro-note{max-width:290px}.method{gap:30px}.atlas-heading{padding:22px}.edition{display:none}.research-bottom{gap:25px}.node text{font-size:14px}}
@media(max-width:760px){.wrap{padding-left:20px;padding-right:20px}.header{height:82px;justify-content:space-between;gap:15px}.brand img{width:140px}.header nav{gap:17px}.header nav a{font-size:12px}.intro{padding:38px 0 30px;display:block}.intro h1{font-size:43px;letter-spacing:-1.5px}.intro-note{max-width:100%;margin-top:22px}.intro-note p{margin:6px 0}.intro-note a{display:inline-block;margin-top:8px}.atlas-heading{align-items:start;padding:18px;flex-direction:column;gap:15px}.atlas-heading h2{font-size:22px}.collection-label{width:100%;justify-content:space-between}.toolbar{flex-wrap:wrap}.search-label{flex-basis:100%}.toolbar>label:not(.search-label){flex:1;min-width:120px}.toolbar select{width:100%}.view-switch{margin-left:0}.explorer-body{display:block}#network{min-height:330px}.map-top{font-size:10px;padding:14px}.map-top p{max-width:70%}aside{border-left:0;border-top:1px solid var(--line);padding:22px}aside h3{font-size:24px}aside dl{grid-template-columns:repeat(4,1fr)}dd{font-size:17px}.connection{font-size:14px;padding:12px 0}.connections-title{font-size:11px}.detail-note{font-size:13px}.atlas-foot{display:block}.trail{justify-content:start;margin-top:12px}.legend{gap:12px;padding:14px}.legend .legend-note{margin-left:0}.method{grid-template-columns:1fr;gap:24px;padding:42px 0}.method h2 br{display:none}.method .eyebrow{margin-bottom:10px}.section-top{display:block}.section-top>p{margin-top:25px}.research{padding:45px 0}.research h2,.future h2{font-size:34px}.stats{grid-template-columns:1fr 1fr;gap:25px}.stats>div{padding:0;border:0}.stats strong{font-size:30px}.research-bottom,.research-bottom>div{display:block}.research-bottom p{margin:16px 0}.future{padding:45px 0}.future-grid{grid-template-columns:1fr;gap:20px;margin-top:32px}.future-grid h3{margin-top:10px}.about{gap:18px;padding:42px 0}.about img{width:60px;height:60px}.about-aside{display:none}.about h2{font-size:22px}footer{flex-wrap:wrap;gap:8px 20px;padding-top:25px!important;padding-bottom:25px!important}footer p{flex-basis:100%;order:3;margin:0}footer a{font-size:10px}.node text{font-size:18px}.axis-label{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.collection-label{flex-direction:row}
@media(max-width:760px){.header{height:68px}.intro{padding:24px 0}.intro h1{font-size:34px}.intro .eyebrow{margin-bottom:12px}.intro-note{margin-top:15px}.intro-note p:not(:first-child),.intro-note a{display:none}.atlas-heading{gap:12px;padding:16px}.atlas-heading .eyebrow{display:none}.atlas-heading h2{font-size:20px}.toolbar{gap:10px}.collection-label select{flex:1;max-width:220px}.intro-note p:first-child{font-size:13px}}
@media(max-width:760px){#map-container{overflow-x:auto;overscroll-behavior-x:contain}#network{min-width:850px;min-height:0;width:850px}.map-top p:after{content:' · swipe map horizontally'}.node text{font-size:18px}aside dl{grid-template-columns:repeat(2,1fr)}}
/* Commercial positioning and expanded catalog */
@media(max-width:440px){.header{gap:10px}.header .brand img{width:120px}.header nav{gap:12px}.header nav a{font-size:11px}}
.commercial-intro{padding-top:60px;padding-bottom:60px}.hero-description{max-width:570px;color:var(--muted);font-size:18px;line-height:1.6;margin-top:25px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:28px;font-size:14px}.primary-link{display:inline-block;background:var(--green);color:#fff8e9;padding:12px 19px;border-radius:4px;text-decoration:none;font-size:14px}.primary-link:hover{background:#6c1c2a}.services{border-top:1px solid var(--line);padding:38px 0 45px}.services .section-top{align-items:start}.services .section-top>p{font-size:14px}.services h2{font-size:30px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:35px}.service-grid article{border-top:1px solid var(--line);padding-top:22px}.service-grid .eyebrow{display:block;font-size:10px}.service-grid p,.service-delivery p{font-size:14px;color:var(--muted)}.service-delivery{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:20px}.service-delivery strong{color:var(--text);font-weight:400}.contact{display:flex;align-items:center;justify-content:space-between;gap:45px;border-top:1px solid var(--line);padding:50px 0}.contact p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:15px}.contact h2{font-size:30px}.contact .primary-link{white-space:nowrap}.catalog-coverage{padding:12px 24px;border-bottom:1px solid var(--line);color:var(--muted);font:12px/1.7 monospace}.catalog-coverage strong{color:var(--green);font-weight:400}.toolbar{flex-wrap:wrap}.toolbar .search-label{min-width:180px}.toolbar select{min-width:125px;max-width:220px}.metric-source{padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}.metric-source h4{font-size:13px;margin:0 0 8px;color:var(--green);font-weight:400}.metric-source p{font-size:12px;color:var(--muted);margin:6px 0}.metric-source a{font-size:12px;color:var(--green)}.metric-source dl{margin:10px 0;gap:10px}.metric-source dd{font-size:16px}.catalog-table td{font-size:12px}.catalog-table th{font-size:11px}.catalog-table td,.catalog-table th{padding:10px 12px}.report-table{overflow:auto;margin:25px 0}.report-table table{min-width:580px}.report-callout{padding:20px;border-left:2px solid var(--green);background:var(--panel);margin:25px 0}.document .primary-link{color:#fff8e9}.report-stats{display:flex;gap:30px;color:var(--green)}
@media(max-width:760px){.commercial-intro{padding:32px 0}.hero-description{font-size:16px;margin-top:18px}.hero-actions{gap:18px;flex-wrap:wrap}.commercial-intro .intro-note{display:none}.service-grid{grid-template-columns:1fr;gap:18px}.service-grid .eyebrow{margin-bottom:10px}.service-delivery,.contact{display:block}.service-delivery .text-link{display:inline-block;margin-top:10px}.services h2,.contact h2{font-size:25px}.contact .primary-link{margin-top:10px}.toolbar select{max-width:100%}.catalog-coverage{padding:12px 16px}}
/* Collision-aware, screen-space titles and explicit map navigation. */
.map-navigation{padding:10px 20px 12px;border-bottom:1px solid var(--line)}.map-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.map-controls button{min-width:34px;height:34px;border:1px solid #bba584;border-radius:4px;background:#fff8e9;font-size:14px}.map-controls button:hover:not(:disabled){border-color:var(--green);color:var(--green)}.map-controls button:disabled{opacity:.35;cursor:default}#zoom-level{font:12px monospace;min-width:50px;text-align:center}#zoom-fit{padding:0 12px}.pan-controls{display:flex;gap:6px;margin-left:8px}#map-help{font-size:11px;color:var(--muted);margin:8px 0 0;max-width:680px;line-height:1.5}#network{overflow:hidden;touch-action:pan-y;min-width:0;width:100%;min-height:0;max-height:none;aspect-ratio:1080/545;cursor:default}#network.zoomed{cursor:grab;touch-action:none}#network.panning{cursor:grabbing}#map-container{overflow:hidden}.map-world .node-hit{fill:transparent;stroke:none!important;opacity:1!important}.map-world .node circle{vector-effect:non-scaling-stroke;transition:none}.map-world .edge,.map-world .gridline{vector-effect:non-scaling-stroke}.map-labels{pointer-events:none}.map-label rect{fill:#fff8e9;fill-opacity:.95;stroke:#bea786;stroke-width:.7;vector-effect:non-scaling-stroke}.map-label text{font-family:Arial,Helvetica,sans-serif;fill:#49382d}.map-label.selected text{fill:var(--green);font-weight:600}.map-label.selected rect,.map-label.revealed rect{stroke:var(--green)}.label-leader{stroke:#917b5d;stroke-width:.8;opacity:.75;vector-effect:non-scaling-stroke}.map-label.selected .label-leader{stroke:var(--green)}
@media(max-width:760px){#network{aspect-ratio:auto;height:360px}#map-container{min-height:360px}.map-top p:after{content:none}.map-navigation{padding:10px 14px}.map-controls button{min-width:36px;min-height:36px}.pan-controls{margin-left:0;gap:4px}#map-help{font-size:12px}}
.map-axes{pointer-events:none}.map-axes text{paint-order:stroke;stroke:#fbf5e8;stroke-width:4px;stroke-linejoin:round}

/* Warm ivory, burgundy and brass, inspired by the original Famicom. */
.header{border-bottom:3px solid #8a2335}.brand img{filter:grayscale(1) contrast(2) invert(1);mix-blend-mode:multiply;opacity:.88}
h1,h2{color:#6c2632}.atlas{box-shadow:0 5px 22px #67452b0d}.atlas-heading{background:#852537;border-bottom:3px solid #bd9653}.atlas-heading h2,.atlas-heading .eyebrow,.atlas-heading label{color:#fff5df}.atlas-heading select{background:#fff6e4;color:#5c2830;border-color:#c6a46a}.atlas-heading select:focus-visible{outline-color:#f5d692}
.primary-link,.document .primary-link{color:#fff8e9;box-shadow:0 2px 0 #541a27}.primary-link:hover{color:#fff8e9}.view-switch button[aria-pressed=true]{background:#8a2335;color:#fff8e9}.tag{background:#eee0be;color:#77521b}.about img{filter:grayscale(1) sepia(.25)}
input::placeholder{color:#857462;opacity:1}.map-label.selected rect{fill:#852537;fill-opacity:1;stroke:#852537}.map-label.selected text{fill:#fff8e9}.map-label.revealed:not(.selected) rect{fill:#fffaf0;stroke:#8a2335}.map-controls button:hover:not(:disabled){background:#f1e1c6}.skip{color:#fff8e9}.edge{opacity:.48}.map-label rect{fill-opacity:.97}
