/* Editorial diagrams use opaque reading surfaces in both themes. */
.editorial-model{margin:75px -30px;padding:28px;border:1px solid var(--steel);border-radius:22px;background:var(--cabin);box-shadow:0 14px 38px var(--glass-shadow);overflow:hidden;isolation:isolate}
.model-kicker{font-size:10px;color:var(--ember-2)}
.model-title{font:40px/1.12 var(--display);margin:13px 0 15px;color:var(--bone)}
.model-instruction{font-size:14px;line-height:1.7;max-width:530px;color:var(--bone);margin-bottom:24px}
.model-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:24px}
.model-controls[hidden]{display:none}
.model-controls button{border:1px solid var(--steel);border-radius:12px;min-height:46px;padding:10px 16px;background:var(--void);color:var(--bone);font:12px/1.5 var(--mono)}
.model-controls button:hover:not(:disabled),.model-controls button[aria-pressed='true']{border-color:var(--ember-2);box-shadow:inset 0 0 0 1px var(--ember-2)}
.model-controls button:disabled{border-style:dashed;color:var(--steel)}
.model-controls button:focus-visible,.model-controls input:focus-visible{outline:2px solid var(--ember-2);outline-offset:4px}
.model-status{font:12px/1.8 var(--mono);color:var(--bone);margin:22px 0 0;min-height:44px}
.model-fallback{font-size:13px;margin-top:15px}.model-options{display:flex;gap:8px;width:100%}
.model-range{display:flex;align-items:center;gap:20px;width:100%;font:12px var(--mono);color:var(--bone);margin-top:10px}
.model-range input{accent-color:var(--ember-2);flex:1;min-width:50px;min-height:44px;touch-action:pan-y}
.door-model-scene{position:relative;max-width:440px;height:265px;margin:0 auto;background:var(--void);border:9px solid var(--steel);overflow:hidden;perspective:850px;box-shadow:inset 0 0 45px #000}
.memory-room{display:flex;justify-content:center;gap:10px;align-items:center;height:100%;padding:25px;background:radial-gradient(ellipse at center,var(--cabin),var(--void) 80%)}
.memory-room i{display:block;width:36px;height:68px;border:1px solid var(--ember-2);background:repeating-linear-gradient(0deg,transparent 0 9px,var(--steel) 10px,transparent 11px);transform:rotate(-4deg);box-shadow:0 8px 20px #0005}
.memory-room i:nth-child(even){transform:rotate(5deg) translateY(16px)}
.door-leaf{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(110deg,#495059,#161a1e 60%,#31353b);border:1px solid #9aa3ad;transition:transform .65s ease}
.door-left{left:0;transform:translateX(-96%)}.door-right{right:0;transform:translateX(96%)}
.door-seam{position:absolute;top:0;bottom:0;left:50%;width:2px;pointer-events:none;background:#ff8a50;box-shadow:0 0 22px #c2410c;opacity:0;transition:opacity .4s}
.is-closed .door-leaf{transform:translateX(0)}.is-closed .door-seam{opacity:1}
.tether-scene{height:240px;position:relative;background:linear-gradient(0deg,var(--void),transparent);border-bottom:1px solid var(--steel);overflow:hidden;--travel:0}
.keeper{position:absolute;left:5%;top:65px;width:80px;height:108px;border:1px solid var(--steel);border-radius:5px;background:var(--void);padding:10px}
.keeper span{display:block;font:11px var(--mono);color:var(--steel);text-align:center;margin-bottom:5px}
.keeper i{display:block;height:12px;margin:5px 0;border:1px solid var(--ember-2)}
.tether-line{position:absolute;left:calc(5% + 75px);top:132px;height:2px;width:calc(12% + var(--travel)*.54%);background:var(--ember-2);transform-origin:left;box-shadow:0 0 9px var(--ember);transition:width .12s}
.traveller{position:absolute;left:calc(24% + var(--travel)*.54%);top:101px;width:42px;height:64px;border-radius:5px;background:var(--void);border:2px solid var(--bone);transition:left .12s;box-shadow:0 10px 25px #0004}
.traveller i{display:block;margin:10px;width:18px;height:2px;background:var(--ember-2)}
.departure-line{position:absolute;top:35px;bottom:0;left:85%;border-left:1px dashed var(--steel)}
[data-bond='jean'] .tether-line{width:32px;box-shadow:none;transform:rotate(34deg)}
.reflex-scene{border:1px solid var(--steel);background:var(--void);border-radius:10px;padding:30px 20px}
.sequence-record{display:flex;justify-content:center;gap:18px;min-height:54px}
.sequence-record span{font:30px var(--mono);border-bottom:1px solid var(--ember-2);width:42px;text-align:center;transition:opacity .6s,transform .6s}
[data-erased='true'] .sequence-record span{opacity:0;transform:translateY(-12px)}
.reflex-trace{display:flex;justify-content:center;gap:14px;padding-top:30px}
.reflex-trace i{width:16px;height:16px;border:1px solid var(--steel);border-radius:50%}.reflex-trace i.is-hit{background:var(--ember-2);border-color:var(--ember-2);box-shadow:0 0 14px var(--ember)}
.reflex-keys{display:flex;gap:12px;width:100%;justify-content:center;margin-bottom:10px}.reflex-keys button{width:64px;height:64px;font-size:22px}
.agency-scene{position:relative;border-radius:12px;min-height:200px;background:var(--void);overflow:hidden}
.agency-rail{display:flex;position:relative;z-index:2;padding:50px 12px;justify-content:space-around;gap:8px}
.agency-step{display:flex;align-items:center;flex-direction:column;gap:22px;font:11px var(--mono);color:var(--steel);text-align:center}
.agency-step i{width:34px;height:34px;border:1px solid var(--steel);background:var(--void);transform:rotate(45deg)}
.agency-step.is-current{color:var(--bone)}.agency-step.is-current i{background:var(--cabin);border:2px solid var(--ember-2);box-shadow:0 0 30px var(--ember)}
.agency-step span{padding:7px;background:var(--void);border-radius:6px}
.agency-fire{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 100%,#c2410c,transparent 70%);opacity:0;transition:opacity .6s}.is-complete .agency-fire{opacity:1}
.archive-scene{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.archive-owner{background:var(--void);border:1px solid var(--steel);padding:22px 14px;border-radius:12px}
.archive-owner p{text-align:center;margin:0 0 22px;font:15px var(--mono)}
.archive-slots{display:flex;gap:9px;justify-content:center;min-height:88px}
.archive-slots i{width:32px;height:68px;border:1px dashed var(--steel);transition:transform .5s,background .5s}
.archive-slots i.is-kept{background:var(--cabin);border:1px solid var(--ember-2);transform:rotate(-3deg);box-shadow:0 0 18px #c2410c22}
.archive-pieces{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.editorial-model:not(.is-visible) *,body.motion-paused .editorial-model *{transition:none!important}
@media(max-width:760px){.editorial-model{margin:58px -12px;padding:22px 16px;border-radius:17px}.model-title{font-size:34px}.model-controls button{font-size:11px;padding:10px 13px}.door-model-scene{height:225px}.memory-room{gap:6px;padding:15px}.memory-room i{width:28px}.keeper{left:2%;width:65px}.traveller{width:32px}.archive-scene{gap:10px}.archive-owner{padding:22px 8px}.archive-slots{gap:5px}.archive-slots i{width:25px}.agency-step{font-size:10px}.agency-rail{padding-inline:5px}}
@media(prefers-reduced-motion:reduce){.editorial-model *{transition:none!important}}
@media print{.editorial-model{break-inside:avoid;margin:24px 0;padding:18px;box-shadow:none}.model-controls,.model-status{display:none!important}.door-leaf,.door-seam{display:none}.sequence-record span{opacity:1!important;transform:none!important}.agency-fire{display:none}.model-title{font-size:23pt}}
