/* An opt-in second reality. Removing one attribute restores the atelier. */
html[data-matrix="on"] { background:#020a05; color-scheme:dark; }
html[data-matrix="on"][data-theme] body.editorial.atelier {
  --paper:#020a05; --ink:#c5fbd0; --muted:#87b493; --accent:#70f994;
  --signal:#d8ffe2; --pale:#0a1a10; --hairline:#244331;
  --theme-paper:var(--paper); --theme-deep:var(--paper); --theme-ink:var(--ink);
  --theme-muted:var(--muted); --theme-accent:var(--accent); --theme-signal:var(--signal);
  color-scheme:dark; background:var(--paper); color:var(--ink);
}
.matrix-rain { position:fixed; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
html[data-matrix="on"] .site-shell { position:relative; z-index:1; }
html[data-matrix="on"] body.atelier :is(.hero,.expertise-section,.partner-section,.signature-footer,.conversation-section) { background:transparent; }
html[data-matrix="on"] body.atelier :is(.hero-title strong,.monogram-mark,.mobile-menu-logo,.brand-initials,.conversation-section h2,.conversation-section h2 span) { color:var(--ink); }
html[data-matrix="on"] body.atelier :is(.hero-title strong,.tech-glyph,.signature-drawing) { color:var(--accent); filter:drop-shadow(0 0 9px #4dff8030); }
html[data-matrix="on"] body.atelier :is(.brand-pill,.mobile-menu-top,.mobile-menu-panel,.preview-dialog,.layer-study) { background:var(--paper); color:var(--ink); border-color:var(--hairline); }
html[data-matrix="on"] body.atelier .mobile-menu-panel:is([data-menu-state="opening"],[data-menu-state="closing"]) { border-color:transparent; }
html[data-matrix="on"] body.atelier :is(.eyebrow,.copy-eyebrow,.section-rail,.quiet-link,.reference-note,.theme-picker-heading,.showcase-position,.hero-notation small,.layer-study-header,.footer-meta) { font-family:ui-monospace,'SFMono-Regular',Consolas,monospace; }
html[data-matrix="on"] body.atelier .hero-title { text-shadow:0 0 40px #50ff7812; }
html[data-matrix="on"] body.atelier :is(.status-dot,.action-square) { background:var(--accent); }
html[data-matrix="on"] body.atelier .color-wave.in-view .wave-char { animation-name:matrix-ink; }
@keyframes matrix-ink { 0%,100% { color:inherit; } 45% { color:#70f994; } 65% { color:#d8ffe2; } }
html[data-matrix="on"] body.atelier .signature-solid { fill:var(--accent); }
html[data-matrix="on"] body.atelier .layer-study { --layer-ink:var(--ink); }
html[data-matrix="on"] body.atelier .plane-surface { fill:var(--pale); stroke:var(--hairline); }
html[data-matrix="on"] body.atelier .plane>polygon:first-child { fill:var(--paper); stroke:var(--hairline); }
html[data-matrix="on"] body.atelier :is(.plane-detail,.layer-axis,.layer-leader) { stroke:var(--accent); }
html[data-matrix="on"] body.atelier .plane-node { fill:var(--paper); stroke:var(--accent); }
html[data-matrix="on"] body.atelier .plane.is-active .plane-node { fill:var(--accent); }
html[data-matrix="on"] body.atelier :is(.layer-type,.layer-number) { fill:var(--muted); }
html[data-matrix="on"] body.atelier :is(.layer-controls button,.layer-caption,.conversation-bottom p) { color:var(--muted); }
html[data-matrix="on"] body.atelier .layer-controls button[aria-pressed="true"] { color:var(--accent); }
html[data-matrix="on"] body.atelier .layer-controls button::before { background:var(--accent); }

/* Lives inside the existing inert/focus-managed Appearance section. */
.atelier .matrix-toggle { width:100%; display:flex; align-items:center; gap:14px; padding:15px 0 0; margin-top:16px; border:0; border-top:1px solid var(--hairline); background:none; color:var(--ink); text-align:left; cursor:pointer; }
.matrix-toggle-icon { width:28px; height:30px; flex:none; color:var(--accent); }
.matrix-toggle-icon path { fill:none; stroke:currentColor; stroke-width:1; }
.matrix-toggle-icon rect { fill:currentColor; }
.matrix-toggle-copy { display:grid; gap:4px; flex:1; }
.matrix-toggle-copy strong { font:400 14px/1.4 Inter,sans-serif; }
.matrix-toggle-copy small { font:400 10px/1.5 ui-monospace,monospace; color:var(--muted); letter-spacing:.03em; }
.matrix-toggle-state { font:400 11px/1 ui-monospace,monospace; color:var(--muted); }
.matrix-toggle:hover .matrix-toggle-copy strong,.matrix-toggle[aria-pressed="true"] .matrix-toggle-state { color:var(--accent); }
.matrix-toggle:hover .matrix-toggle-icon g { animation:matrix-icon 1.8s linear infinite; }
.matrix-toggle-icon g:nth-child(2) { animation-delay:-.6s; }
.matrix-toggle-icon g:nth-child(3) { animation-delay:-1.2s; }
@keyframes matrix-icon { 0%,100% { opacity:1; } 50% { opacity:.25; } }
.matrix-toggle:focus-visible { outline:1px solid var(--accent); outline-offset:5px; }

.matrix-hud { position:fixed; z-index:90; bottom:18px; inset-inline:24px; display:flex; justify-content:space-between; align-items:center; pointer-events:none; color:#92cba1; font:10px/1.5 ui-monospace,monospace; letter-spacing:.08em; }
.matrix-hud-label { padding:8px 10px; background:#020a05e8; border-left:1px solid #70f994; }
.matrix-hud button { pointer-events:auto; min-height:44px; padding:10px 14px; border:1px solid #315b3c; background:#020a05ed; color:#c5fbd0; font:11px/1 ui-monospace,monospace; cursor:pointer; letter-spacing:.05em; }
.matrix-hud button:hover { color:#70f994; border-color:#70f994; }
.matrix-hud button:focus-visible { outline:2px solid #70f994; outline-offset:3px; }
.menu-open .matrix-hud { visibility:hidden; }
.matrix-announcement { position:fixed; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.matrix-transition { position:fixed; inset:0; z-index:10000; pointer-events:none; background:linear-gradient(180deg,transparent 0%,#020a05ee 43%,#70f99448 49.8%,#bfffc680 50%,#020a05ee 50.2%,transparent 100%); animation:matrix-scan 1000ms cubic-bezier(.22,.7,.3,1) both; }
@keyframes matrix-scan { from { transform:translateY(-100%); } to { transform:translateY(100%); } }
.matrix-media { position:absolute; inset:0; width:100%; height:100%; border-radius:inherit; pointer-events:none; z-index:2; transition:opacity .5s; }
html[data-matrix="on"] body.atelier .showcase-slide :is(img,video) { filter:grayscale(1) sepia(1) hue-rotate(76deg) saturate(2); }
@media(hover:hover) { .showcase-slide:hover .matrix-media { opacity:.3; } }
@media(max-width:640px) { .matrix-hud { bottom:10px; inset-inline:12px; } .matrix-hud-label { font-size:8px; max-width:150px; } }
@media(prefers-reduced-motion:reduce) { .matrix-transition { display:none; } .matrix-toggle-icon g { animation:none!important; } .matrix-media { transition:none; } }
