.editorial-interaction{margin:42px 0 56px;border:1px solid var(--line);border-radius:18px;padding:28px;background:var(--surface);box-shadow:inset 0 1px 0 #f5a9b820;overflow:hidden;isolation:isolate}
.interaction-kicker{display:block;font:10px var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:12px}
.editorial-interaction h4{font:36px/1.1 var(--display);margin:0 0 14px;color:var(--bone)}
.interaction-lead{font-size:14px;line-height:1.7;color:var(--silver);margin:0 0 24px;max-width:58ch}
.interaction-note{font:10px/1.8 var(--mono);color:var(--silver);margin:22px 0 0;border-top:1px solid var(--line);padding-top:14px}
.interaction-fallback{font-size:15px;color:var(--silver)}
.editorial-interaction[data-enhanced='true']>.interaction-fallback{display:none}
.interaction-world{position:relative;overflow:hidden;border:1px solid var(--glass-edge);border-radius:12px;background:linear-gradient(145deg,var(--panel),var(--void));padding:24px;min-height:215px}
.interaction-world:before{content:'';position:absolute;inset:-30% -80%;background:linear-gradient(115deg,transparent 30%,#f5a9b809 50%,transparent 65%);transform:translateX(-15%);pointer-events:none;animation:interaction-drift 9s ease-in-out infinite alternate;animation-play-state:paused}
.is-live .interaction-world:before{animation-play-state:running}
@keyframes interaction-drift{to{transform:translateX(15%)}}
.interaction-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;align-items:center}
.interaction-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:12px 17px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--bone);box-shadow:0 3px 0 var(--void),inset 0 1px 0 #ffffff15;font:12px/1.5 var(--mono);cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;touch-action:manipulation}
.interaction-button.primary{background:var(--accent);color:var(--void);border-color:var(--accent);font-weight:700}
.interaction-button:hover{border-color:var(--accent)}
.interaction-button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--void)}
.interaction-button:disabled{opacity:.5;cursor:default;transform:none}
.interaction-result{border-left:2px solid var(--line);padding:12px 0 12px 16px;font-size:14px;line-height:1.8;color:var(--silver);margin:22px 0 0;min-height:76px}
.interaction-result.complete{border-color:var(--accent);color:var(--bone)}
.model-meter{height:4px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:20px}
.model-meter>span{height:100%;display:block;background:var(--accent);transition:width .2s}
.model-count{font:10px/1.6 var(--mono);display:flex;justify-content:space-between;margin:9px 0 0;color:var(--silver)}
.model-count strong{color:var(--bone)}
.action-prompt{width:100%;font:14px/1.6 var(--body);margin:0;color:var(--bone)}
.key-owners{display:flex;justify-content:space-between;font:12px var(--mono);color:var(--silver);padding-bottom:20px;border-bottom:1px solid var(--line)}
.key-owners b{color:var(--bone);margin-left:9px}
.key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.decision-key{display:flex;flex-direction:column;gap:7px;align-items:center;padding:14px 8px;border:1px solid var(--line);border-radius:8px;font:12px var(--mono);transition:transform .25s,background .25s}
.decision-key i{display:block;width:32px;height:6px;background:var(--silver);margin:8px 0;position:relative}
.decision-key i:before{content:'';position:absolute;left:-5px;top:-5px;width:16px;height:16px;border:4px solid var(--silver);border-radius:50%;background:var(--panel)}
.decision-key i:after{content:'';position:absolute;right:0;top:3px;width:5px;height:10px;background:var(--silver)}
.decision-key small{font:9px/1.6 var(--mono);color:var(--silver)}
.decision-key.host{transform:translateX(-6px);background:var(--void);border-color:var(--accent)}
.decision-key.person{transform:translateX(6px);background:var(--panel);border-color:var(--silver)}
.decision-key.waiting{opacity:.65}
.editorial-interaction[data-enhanced='false'] .interaction-mount,.editorial-interaction[data-enhanced='false']>.interaction-result{display:none}
.model-slider{display:block;margin:20px 0 0;font:12px/1.8 var(--mono);color:var(--bone)}
.model-slider output{float:right;color:var(--accent)}
.model-slider input{display:block;width:100%;height:44px;margin:4px 0 0;accent-color:var(--accent);cursor:ew-resize;touch-action:pan-y}
.table-plates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px}
.table-plate{display:flex;align-items:center;flex-direction:column;gap:10px;font:10px/1.6 var(--mono);color:var(--silver)}
.table-plate i{width:65px;height:65px;max-width:100%;border-radius:50%;border:8px double var(--silver);background:radial-gradient(circle,var(--accent) 32%,transparent 35%);transition:background .2s}
.table-plate.empty i{background:transparent;border-color:var(--line)}
.table-underneath{position:relative;overflow:hidden;min-height:125px;border:1px solid var(--line);border-radius:8px}
.table-costs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:125px}
.table-costs>div{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:14px;border-right:1px solid var(--line);min-width:0}
.table-costs b{font:22px var(--display);color:var(--bone)}
.table-costs span{font:9px/1.6 var(--mono);color:var(--silver)}
.table-cloth{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 20px,#ffffff04 20px 22px),var(--panel);border-left:3px solid var(--accent);display:flex;align-items:center;justify-content:center;gap:18px;padding:12px;font:12px/1.5 var(--mono);color:var(--bone);box-shadow:-10px 0 20px #0005}
.table-cloth i{font:30px var(--display)}
.own-route{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:12px}
.own-route>span,.route-person small{font:10px/1.6 var(--mono);color:var(--silver)}
.own-route strong{font:27px var(--display);color:var(--bone)}
.route-person{display:grid;grid-template-columns:34px 1fr;gap:14px;padding-top:18px}
.route-avatar{align-self:center;display:grid;place-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font:12px var(--mono);color:var(--bone)}
.route-person strong{font:12px/1.5 var(--body);color:var(--bone)}
.route-track{display:block;height:4px;margin:8px 0;background:var(--line);position:relative}
.route-track i{display:block;height:100%;background:var(--silver);transition:width .3s}
.route-person.blocked .route-track:after{content:'×';position:absolute;left:35%;top:-12px;font:20px var(--mono);color:var(--accent);background:var(--panel)}
.route-person.open .route-track i{background:var(--accent)}
.rule-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.rule-comparison>div{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);padding:15px;border-radius:8px}
.rule-comparison .selected{border-color:var(--accent)}
.rule-comparison b{font:27px var(--display);color:var(--bone)}
.rule-comparison span{font:10px/1.8 var(--mono);color:var(--silver)}
.factory-standard{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font:11px/1.8 var(--mono);color:var(--silver)}
.factory-standard strong{color:var(--bone);font-weight:400}
.factory-workbench{height:180px;position:relative;margin:16px auto;max-width:360px;display:grid;place-items:center;background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:30px 30px}
.factory-shape,.factory-target{position:absolute;height:110px;max-width:100%}
.factory-shape{background:var(--accent);opacity:.6;border:2px solid var(--accent)}
.factory-target{border:2px dashed var(--bone);z-index:1;pointer-events:none;transition:width .25s,border-radius .25s}
.factory-legend{display:flex;justify-content:center;gap:25px;font:10px var(--mono);color:var(--silver)}
.factory-controls{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.factory-history{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;font:10px/1.7 var(--mono);color:var(--silver)}
.factory-history span{border:1px solid var(--line);border-radius:4px;padding:7px 10px}
.audience-screen{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:20px 10px;min-height:185px;background:var(--void);border:1px solid var(--line);border-radius:4px 4px 30% 30%}
.audience-screen>span{font:10px var(--mono);color:var(--silver)}
.audience-screen strong{font:50px/1 var(--display);color:var(--accent);transition:transform .2s}
.audience-screen small{font:11px/1.7 var(--mono);color:var(--bone)}
.audience-screen.cue-1{box-shadow:inset 0 0 45px #f5a9b824}
.audience-screen.cue-2 strong{transform:rotate(90deg)}
.audience-seats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;max-width:280px;margin:20px auto}
.audience-seats i{height:12px;border:1px solid var(--line);border-radius:7px 7px 2px 2px;background:var(--void)}
.audience-seats .lit{background:var(--accent);border-color:var(--accent)}
.audience-script{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.script-slot{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;min-width:0;border:1px solid var(--line);border-radius:6px;text-align:center}
.script-slot b{font:25px var(--display);color:var(--silver)}
.script-slot span{font:9px/1.6 var(--mono);color:var(--silver)}
.script-slot.next{border:2px solid var(--accent);padding:11px 5px}
.script-slot.next b,.script-slot.repeated b{color:var(--accent)}
.script-slot.repeated:after{content:'✓';color:var(--bone);font:12px var(--mono)}
.command-platform{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 auto 22px;padding:18px 20px;max-width:260px;background:var(--panel);border:1px solid var(--line);border-radius:8px;transition:background .2s}
.command-platform>span{font:9px var(--mono);color:var(--silver);text-transform:uppercase;letter-spacing:.12em}
.command-platform strong{font:28px var(--display);color:var(--bone);text-align:center}
.command-platform i{font:36px/1.2 var(--display);color:var(--accent);font-style:normal}
.phase-riff .command-platform{background:var(--void);border-color:var(--accent)}
.phase-departed .command-platform,.phase-return .command-platform,.phase-done .command-platform{border-style:dashed}
.ground-line{border-top:1px solid var(--line);font:9px var(--mono);color:var(--silver);padding-top:12px;text-transform:uppercase;letter-spacing:.12em}
.ground-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.ground-person{display:flex;align-items:center;flex-direction:column;gap:12px;padding:16px 8px;border:1px solid var(--line);border-radius:8px;text-align:center}
.ground-person strong{font:13px var(--body);color:var(--bone)}
.ground-person span{font:9px/1.7 var(--mono);color:var(--silver)}
.ground-person i{width:24px;height:24px;border:1px solid var(--silver);border-radius:50%;position:relative}
.ground-person i:after{content:'';position:absolute;left:50%;top:23px;height:12px;border-left:1px solid var(--silver)}
.ground-person.autonomous{border-color:var(--accent);background:var(--panel)}
.ground-person.autonomous i{background:var(--accent);border-color:var(--accent)}
.ground-person.autonomous i:after{width:25px;left:23px;top:50%;height:0;border-top:1px solid var(--accent);border-left:0}
@media(max-width:760px){.editorial-interaction{padding:20px 16px;margin-left:-8px;margin-right:-8px;border-radius:14px}.editorial-interaction h4{font-size:31px}.interaction-world{padding:18px 14px}.interaction-button{font-size:11px;padding:12px 14px}.interaction-actions{gap:10px}.interaction-result{font-size:13px}.interaction-note{font-size:9px}.key-grid{gap:10px}.decision-key{font-size:11px}}
@media(max-width:420px){.table-costs{grid-template-columns:1fr}.table-costs>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}.table-costs>div:last-child{border-bottom:0}.table-costs b{font-size:20px}.audience-script{gap:5px}.script-slot span{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.editorial-interaction *,.editorial-interaction :before,.editorial-interaction :after{animation:none!important;transition:none!important}}
@media print{.editorial-interaction{break-inside:avoid;border:1px solid #999;border-radius:0;padding:15px;background:#fff;box-shadow:none}.interaction-mount,.editorial-interaction>.interaction-result{display:none}.editorial-interaction[data-enhanced='true']>.interaction-fallback{display:block}.editorial-interaction h4{font-size:18pt}.interaction-note{font-size:8pt}}
