.partner-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;padding:0;border:1px solid #cfb48c;border-radius:22px;color:#604734;background:#fff9ec;box-shadow:0 5px 0 #99714130,0 22px 70px #49302635;overflow:hidden;color-scheme:light}
.partner-dialog[open]{display:flex;flex-direction:column;animation:partner-dialog-in .18s ease-out}
.partner-dialog:not([open]){display:none}
.partner-dialog::backdrop{background:#62462f56;backdrop-filter:blur(2px)}
.partner-dialog *{box-sizing:border-box}
.partner-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:17px 15px 10px 20px;flex:0 0 auto}
.partner-dialog-header h2{display:flex;align-items:center;gap:9px;min-width:0;margin:0;color:#624a37;font-size:19px;font-weight:800;line-height:1.4;letter-spacing:.01em}
.partner-dialog-header h2:focus{outline:none}
.partner-dialog-dot{display:block;width:12px;height:12px;flex:none;border:2px solid #f8cf92;border-radius:50%;background:#d78b4c;box-shadow:0 0 0 3px #ebbe772b}
.partner-dialog button{font:inherit;cursor:pointer;touch-action:manipulation}
.partner-dialog button:disabled{cursor:default;opacity:.45}
.partner-dialog .partner-dialog-close{display:grid;place-items:center;flex:none;width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:50%;color:#9b8067;background:transparent;font-size:26px;font-weight:400;line-height:1;box-shadow:none}
.partner-dialog .partner-dialog-close:hover{background:#f2e4cd}
.partner-dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 20px 15px;scrollbar-width:thin;scrollbar-color:#d4bb94 transparent}
.partner-dialog-suggestion{margin:1px 0 0;padding:14px 15px;border:1px solid #e5d1af;border-radius:14px;background:#f5e7cf;color:#71553c;font-size:15px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.partner-dialog-actions{flex:0 0 auto;padding:13px 20px 10px;background:#fff9ec;border-top:1px solid #eadac0}
.partner-dialog .partner-dialog-accept{display:block;width:100%;min-height:46px;padding:11px 12px;border:1px solid #d4a650;border-radius:12px;color:#624525;background:#f2c767;box-shadow:0 3px 0 #ccaa6c;font-size:15px;font-weight:800;line-height:1.4}
.partner-dialog .partner-dialog-accept:hover{background:#f7ce74}
.partner-dialog .partner-dialog-accept[hidden],.partner-dialog-suggestion[hidden]{display:none!important}
.partner-dialog-secondary{display:flex;gap:8px;margin-top:11px}
.partner-dialog .partner-dialog-secondary button{flex:1;min-width:0;min-height:39px;padding:8px 7px;border:1px solid #dfc9a7;border-radius:10px;color:#856444;background:#fcf4e5;font-size:12px;line-height:1.4;box-shadow:none}
.partner-dialog .partner-dialog-secondary button:hover{background:#f2e5cd}
.partner-dialog .partner-dialog-cancel{display:block;min-height:34px;margin:4px auto 0;padding:7px 12px;border:0;border-radius:8px;color:#9b7e66;background:transparent;font-size:11px;line-height:1.4;box-shadow:none}
.partner-dialog .partner-dialog-cancel:hover{color:#79533b;text-decoration:underline}
.partner-dialog-edit{margin:12px 0 0;padding:12px 0 0;border-top:1px solid #e1cfb0}
.partner-dialog-edit[hidden]{display:none}
.partner-dialog-suggestion[hidden]+.partner-dialog-edit{margin-top:0;padding-top:0;border-top:0}
.partner-dialog-actions:has(.partner-dialog-accept[hidden]) .partner-dialog-secondary{margin-top:0}
.partner-dialog-edit label{display:block;margin-bottom:6px;color:#8a694a;font-size:12px;line-height:1.5}
.partner-dialog .partner-dialog-edit textarea{display:block;width:100%;min-height:82px;max-height:180px;resize:vertical;padding:10px 11px;border:1px solid #cfb58f;border-radius:10px;color:#604734;background:#fffdf6;font:inherit;font-size:14px;line-height:1.55;box-shadow:none}
.partner-dialog .partner-dialog-edit textarea::placeholder{color:#a18b74;opacity:1}
.partner-dialog .partner-dialog-revise-submit{display:block;width:100%;min-height:44px;margin-top:11px;padding:10px 12px;border:1px solid #d4a650;border-radius:11px;color:#624525;background:#f2c767;font-size:14px;font-weight:800;line-height:1.4;box-shadow:0 3px 0 #ccaa6c}
.partner-dialog .partner-dialog-revise-submit:hover{background:#f7ce74}
.partner-dialog button:focus-visible,.partner-dialog textarea:focus-visible{outline:3px solid #7595a4;outline-offset:3px}
@keyframes partner-dialog-in{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:340px){.partner-dialog{width:calc(100vw - 20px);border-radius:18px}.partner-dialog-header{padding:13px 10px 8px 15px}.partner-dialog-header h2{font-size:17px;gap:8px}.partner-dialog-body{padding:0 15px 12px}.partner-dialog-suggestion{padding:11px 12px;font-size:14px;line-height:1.65}.partner-dialog-actions{padding:11px 15px 7px}.partner-dialog .partner-dialog-accept{font-size:14px}.partner-dialog-secondary{gap:6px}}
@media(max-height:540px){.partner-dialog{max-height:calc(100dvh - 16px);border-radius:16px}.partner-dialog-header{padding-top:9px;padding-bottom:7px}.partner-dialog-header h2{font-size:17px}.partner-dialog-body{padding-bottom:9px}.partner-dialog-suggestion{padding:10px 12px;font-size:13px;line-height:1.6}.partner-dialog-actions{padding-top:9px;padding-bottom:4px}.partner-dialog .partner-dialog-accept{min-height:41px;padding:8px 10px}.partner-dialog-secondary{margin-top:8px}.partner-dialog .partner-dialog-secondary button{min-height:35px;padding:6px}.partner-dialog .partner-dialog-cancel{min-height:29px;margin-top:2px;padding:5px 9px}.partner-dialog .partner-dialog-edit textarea{min-height:68px}}
@media(prefers-reduced-motion:reduce){.partner-dialog[open]{animation:none}.partner-dialog::backdrop{backdrop-filter:none}}

/* Internal recording nodes never participate in the player interface. */
[data-internal-ui]{display:none!important}

/* The ready page is the map view behind the optional proposal dialog. Waiting
   and failure keep the original detail, repair controls and visibility. */
.preparation-panel>.preparation-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;flex:0 0 auto;max-width:100%}
body.single-level.prepared #preparation-detail{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
body.single-level.prepared #review-suggestion{min-height:36px;padding:8px 10px;border:1px solid #d0ad70;border-radius:8px;color:#77542f;background:#f3d48f;font-size:12px;font-weight:700;box-shadow:0 2px 0 #d5ba88}
body.single-level.prepared #review-suggestion:hover{background:#f7dc9e}
body.single-level.prepared .preparation-panel{gap:8px;align-items:center}
body.single-level.prepared #coach,
body.single-level.prepared .partner-line,
body.single-level.prepared .command-tools,
body.single-level.prepared .quick-commands{display:none!important}
body.single-level.cue-ui.playing.prepared .stage{width:min(100%,calc((100svh - 240px)*16/18 + 10px))}
