.mp{--hidden:#f6f5f252;--warn-bg:var(--ink-3);--warn-line:#f6f5f273;--on-pov:var(--ink);--mono-tracking-ko:.03em;font:15px/1.55 var(--font);word-break:keep-all;overflow-wrap:anywhere}.mp button,.mp a,.mp summary{font:inherit;color:inherit}.mp .lang-switch{justify-content:flex-end;gap:2px;margin-bottom:8px;display:flex}.mp .lang-switch button{cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 8px;font-size:13px}.mp .lang-switch button[aria-pressed=true]{border-color:var(--line-strong);color:var(--text);font-weight:600}.mp .preview-bar{border:1px dashed var(--warn-line);border-radius:var(--radius);color:var(--muted);margin:0 0 12px;padding:8px 12px;font-size:13px}.mp .preview-bar strong{color:var(--text)}.mp .layout{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"stage rail""map map""tools tools";gap:20px;max-width:1280px;margin:0 auto;padding:0 16px 48px;display:grid}.mp .stage{flex-direction:column;grid-area:stage;gap:12px;min-width:0;display:flex}.mp .rail-wrap{grid-area:rail;min-width:0}.mp .map-wrap{grid-area:map;min-width:0}.mp .tools{grid-area:tools;gap:8px;min-width:0;display:grid}@media (max-width:900px){.mp .layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""rail""map""tools";gap:16px}}.mp .player-frame{aspect-ratio:16/9;border-radius:var(--radius);background:#000;width:100%;position:relative;overflow:hidden}.mp .player-frame>div,.mp .player-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}@media (max-width:600px){.mp .layout{padding:0 0 40px}.mp .player-frame{border-radius:0}.mp .stage>:not(.player-frame){margin-left:16px;margin-right:16px}.mp .rail-wrap,.mp .map-wrap,.mp .tools{padding:0 16px}}.mp .intro h1{margin:0 0 4px;font-size:20px;font-weight:700;line-height:1.35}.mp .intro .summary{color:var(--muted);margin:0}.mp .badges{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.mp .badge{border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;line-height:1.4;display:inline-flex}.mp .badge.warn{border-style:dashed;border-color:var(--warn-line);color:var(--text)}.mp .meta-line{color:var(--muted);margin-top:6px;font-size:13px}.mp .t{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:.9em}.mp .controls{flex-wrap:wrap;gap:8px;display:flex}.mp button.btn,.mp .tool-row button,.mp .choice button,.mp .povs button.alt,.mp .notice button{border:1px solid var(--line-strong);background:var(--panel);cursor:pointer;border-radius:8px;min-height:40px;padding:8px 12px;line-height:1.3}.mp button.primary{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600}.mp button:disabled{opacity:.45;cursor:not-allowed}.mp button.ghost{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:13px}.mp button.link{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.mp .info{min-height:48px}.mp .now{align-items:flex-start;gap:10px;display:flex}.mp .now-title{margin:0;font-size:16px;font-weight:700}.mp .now-sub{color:var(--muted);font-size:13px}.mp .notice{border:1px dashed var(--warn-line);background:var(--warn-bg);border-radius:var(--radius);margin-top:8px;padding:10px 12px}.mp .notice p{margin:0 0 8px}.mp .choice{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.mp .reasons{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:13px}.mp .alt-banner{border-left:4px solid var(--pov,var(--pov-n));background:var(--panel);border-radius:0 var(--radius) var(--radius) 0;gap:6px;padding:10px 12px;display:grid}.mp .av{background:var(--pov,var(--pov-n));width:28px;height:28px;color:var(--on-pov);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.mp .pov-tag{align-items:center;gap:6px;font-size:13px;display:inline-flex}.mp .pov-tag .dot{background:var(--pov,var(--pov-n));border-radius:50%;flex-shrink:0;width:9px;height:9px}.mp .povs:empty{display:none}.mp .rail-wrap .povs{margin-bottom:18px}.mp .povs{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:10px}.mp .povs h3{color:var(--muted);margin:0 0 4px;font-size:13px;font-weight:600}.mp .povs .povs-hint{color:var(--muted);margin:0 0 8px;font-size:12px}.mp .povs .preview{font-family:var(--font);color:var(--text)!important}.mp .explainer p{margin:0 0 6px}.mp .povs ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mp .povs button.alt{text-align:left;border-left:4px solid var(--pov,var(--pov-n));align-items:center;gap:10px;width:100%;display:flex}.mp .povs .alt-meta{min-width:0;display:grid}.mp .povs .alt-meta small{color:var(--muted);font-size:12px}.mp .section-title{letter-spacing:var(--mono-tracking-ko);color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:600}.mp .rail{gap:6px;margin:0;padding:0;list-style:none;display:grid}.mp .rail li{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:6px;display:grid}.mp .rail li.shown{border-left-color:var(--pov,var(--pov-n))}.mp .rail li.cur{border-color:var(--line-strong);box-shadow:inset 0 0 0 1px var(--line-strong);border-left-width:4px}.mp .rail .jump{all:unset;cursor:pointer;grid-template-columns:26px 1fr;gap:8px;min-width:0;padding:8px 10px;display:grid}.mp .rail .jump:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:6px}.mp .rail .num{font-family:var(--mono);letter-spacing:var(--mono-tracking);color:var(--muted);padding-top:2px;font-size:12px}.mp .rail .label{min-width:0}.mp .rail .label small{color:var(--muted);font-size:12px;display:block}.mp .rail .alt-line{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;margin-top:-4px;padding:0 10px 8px 44px;font-size:12px;display:flex}.mp .rail .alt-line .pov-tag{gap:5px;font-size:12px}.mp .rail .alt-line .dot{width:7px;height:7px}.mp .rail .pov-link{border:1px solid var(--line);cursor:pointer;color:var(--text);background:0 0;border-radius:999px;padding:2px 8px 2px 6px}.mp .rail .pov-link:hover{border-color:var(--pov,var(--line-strong))}.mp .rail li.hid .label{color:var(--hidden);grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid}.mp .rail li.hid .lock{width:12px;height:12px}.mp .rail li.hid .slot{grid-area:1/2;align-items:center;min-height:18px;display:grid}.mp .rail li.hid .ph,.rail li.hid .hid-hint{grid-area:1/1;transition:opacity .12s}.mp .rail li.hid .ph{background:var(--line);border-radius:4px;width:min(140px,100%);height:8px}.mp .rail li.hid .hid-hint{color:var(--muted);opacity:0;font-size:12px}.mp .rail li.hid .jump:hover .ph,.rail li.hid .jump:focus-visible .ph{opacity:0}.mp .rail li.hid .jump:hover .hid-hint,.rail li.hid .jump:focus-visible .hid-hint{opacity:1}.mp .rail .side{align-items:center;gap:6px;padding-right:10px;display:flex}.mp .rail .mark{letter-spacing:var(--mono-tracking-ko);color:var(--muted);font-size:11px}.mp .rail .mark.now{color:var(--text);font-weight:700}.mp .map-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.mp .map-head .section-title{margin:0}.mp .hint{color:var(--muted);margin:6px 0 10px;font-size:13px}.mp .map{grid-auto-columns:minmax(210px,1fr);grid-auto-flow:column;gap:10px;padding-bottom:6px;display:grid;overflow-x:auto}.mp .map .col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);align-content:start;gap:8px;padding:10px;display:grid}.mp .map .col.hid{color:var(--hidden);background:0 0;border-style:dashed}.mp .map .col.cur{box-shadow:inset 0 0 0 1px var(--line-strong)}.mp .map .col h3{margin:0;font-size:14px}.mp .map .thumb{aspect-ratio:16/9;object-fit:cover;background:var(--panel-2);border-radius:6px;width:100%;display:block}.mp .map .thumb-src{color:var(--muted);margin-top:2px;font-size:11px;display:block}.mp .map .lane{gap:4px;display:grid}.mp .map .lane-label{color:var(--muted);letter-spacing:var(--mono-tracking-ko);font-size:11px}.mp .map .pov-row{border-left:3px solid var(--pov,var(--pov-n));padding-left:8px;font-size:13px;display:grid}.mp .map .pov-row small{color:var(--muted)}.mp .tools details{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:8px 12px}.mp .tools summary{cursor:pointer;letter-spacing:var(--mono-tracking-ko);color:var(--muted);padding:4px 0;font-size:12px;font-weight:600}.mp .tool-row{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.mp .tool-row button{min-height:34px;padding:6px 10px;font-size:13px}.mp .log{max-height:260px;font:12px/1.6 var(--mono);margin:0;padding:0;list-style:none;overflow:auto}.mp .log li{border-top:1px solid var(--line);overflow-wrap:anywhere;padding:3px 0}.mp .kv{grid-template-columns:max-content 1fr;gap:6px 14px;padding:8px 0;font-size:13px;display:grid}.mp .kv a,.mp .kv strong{margin-right:8px}.mp .err-list{font:12px/1.6 var(--mono);margin:8px 0 0;padding-left:18px}.mp .flash{align-items:center;gap:8px;display:flex}.mp .motif{flex-shrink:0;overflow:visible}.mp .motif path{stroke:var(--muted)}.mp .motif .m{stroke:var(--text)}.mp .motif .node{fill:var(--text)}.mp .motif.converge path{stroke-dasharray:1;stroke-dashoffset:1px;animation:.45s cubic-bezier(.3,.7,.3,1) both motif-draw}.mp .motif.converge .s2{animation-delay:80ms}.mp .motif.converge .s3{animation-delay:.16s}.mp .motif.converge .m{animation-duration:.35s;animation-delay:.5s}.mp .motif.converge .node{transform-origin:37px 32px;animation:.25s ease-out .42s both motif-pop}.mp .motif.loading path{stroke-dasharray:1;animation:1.5s ease-in-out infinite both motif-loop}.mp .motif.loading .s2{animation-delay:.12s}.mp .motif.loading .s3{animation-delay:.24s}.mp .motif.loading .m{animation-delay:.45s}.mp .motif.loading .node{transform-origin:37px 32px;animation:1.5s ease-in-out .38s infinite both motif-pulse}@keyframes motif-draw{0%{stroke-dashoffset:1px;opacity:0}8%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes motif-pop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}@keyframes motif-loop{0%{stroke-dashoffset:1px;opacity:0}6%{opacity:1}45%,70%{stroke-dashoffset:0}92%{opacity:1}to{stroke-dashoffset:-1px;opacity:0}}@keyframes motif-pulse{0%,to{opacity:.5;transform:scale(.6)}45%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.mp .motif path,.mp .motif .node{stroke-dashoffset:0!important;opacity:1!important;animation:none!important;transform:none!important}}.mp button,.mp button.btn,.mp .tool-row button,.mp .choice button,.mp .povs button.alt,.mp .notice button,.mp button.ghost,.mp button.primary,.mp a.btn,.mp .rail .pov-link,.mp .lang-switch button,.mp .badge{border-radius:0}
