*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#15181b;color:#d7dce0;font-family:Arial,"Malgun Gothic",sans-serif}main{display:flex;height:100%;isolation:isolate}.side{width:50%;height:100%;position:relative;overflow:hidden;perspective:1000px;background:#15181b}.side+.side{border-left:1px solid #30363c}h1{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;text-align:left;font-size:clamp(48px,6.7vw,116px);font-weight:500;line-height:.99;letter-spacing:-.055em;pointer-events:none;z-index:0;opacity:1;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s}.side.active h1{transform:translate3d(0,-105px,-180px) scale(1.34);opacity:.075}.scene-stage{position:absolute;inset:7% 1% 7%;z-index:1;opacity:0;transition:opacity .55s;pointer-events:none}.side.active .scene-stage{opacity:1;pointer-events:auto}.scene-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.labels{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.labels text{font-size:12px;fill:#bac1c7;font-weight:400;letter-spacing:.01em}.labels path{fill:none;stroke-width:.7;opacity:.7}.labels circle{opacity:.8}.error{position:fixed;bottom:12px;left:12px;color:#e8794a;font-size:14px;display:none}@media(prefers-reduced-motion:reduce){h1,.scene-stage{transition:none}}.item-tip{position:absolute;z-index:3;padding:4px 8px;border:1px solid #49535c;background:#20262eee;color:#e1e8f2;font-size:12px;line-height:18px;pointer-events:none;white-space:nowrap}.item-tip[hidden]{display:none}body[data-detail-side="factory"] #security,body[data-detail-side="security"] #factory{display:none}body[data-detail-side] .side{width:100%}body[data-detail-side] h1{opacity:0!important}body[data-detail-side] .scene-stage{inset:6% 12%}
.entry{display:block;position:absolute;inset:0;color:inherit;text-decoration:none}
.entry:focus-visible{outline:2px solid #d7dce0;outline-offset:-10px}
@media(max-width:600px){h1{font-size:clamp(26px,6.7vw,48px)}.scene-stage{inset:12% 1%}}
@media(prefers-reduced-motion:reduce){h1,.scene-stage{transition:none}}
