.ui-button{min-height:var(--touch-min);border-radius:var(--radius-md);padding:0 var(--space-16);justify-content:center;align-items:center;gap:var(--space-8);color:var(--text-strong);font:inherit;letter-spacing:.01em;cursor:pointer;border:1px solid #0000;font-weight:700;transition:transform .16s ease-out,border-color .16s ease-out,background .16s ease-out;display:inline-flex}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)}.ui-button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.ui-button:disabled{cursor:not-allowed;opacity:.42}.ui-button svg{width:18px;height:18px}.ui-button--compact{min-height:var(--touch-min);padding-inline:var(--space-12);font-size:var(--type-label)}.ui-button--primary{background:var(--accent);color:#11100c;box-shadow:0 10px 28px #e0b15d2e}.ui-button--primary:hover:not(:disabled){background:var(--accent-strong)}.ui-button--secondary{background:var(--surface-raised);border-color:var(--border)}.ui-button--secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.ui-button--ghost{color:var(--text-muted);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-strong)}.ui-button--danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-text)}.status-badge{border:1px solid var(--border);border-radius:var(--radius-pill);white-space:nowrap;min-height:26px;font-size:var(--type-meta);align-items:center;gap:4px;padding:2px 9px;font-weight:700;line-height:1.2;display:inline-flex}.status-badge--sm{min-height:22px;padding:1px 7px}.status-badge svg{flex:none;width:12px;height:12px}.status-badge--neutral{background:var(--surface-soft);color:var(--text-muted)}.status-badge--current{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}.status-badge--success{background:var(--success-soft);border-color:var(--success-border);color:var(--success-text)}.status-badge--warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning-text)}.status-badge--danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-text)}.status-badge--info{background:var(--info-soft);border-color:var(--info-border);color:var(--info-text)}.ui-card{min-width:0;padding:var(--space-20);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-panel)}.ui-card--soft{background:var(--surface-soft)}.ui-card__header{margin-bottom:var(--space-12);justify-content:space-between;align-items:flex-start;gap:var(--space-12);display:flex}.ui-card__titles{min-width:0}.ui-card__eyebrow{color:var(--accent-text);font-size:var(--type-meta);letter-spacing:.12em;font-weight:800;display:block}.ui-card__eyebrow--info{color:var(--info-text);letter-spacing:.1em}.ui-card__title{font:800 var(--type-section) var(--font-display);margin:3px 0 0}.ui-card--over-nested{outline-offset:2px;outline:2px solid #ff4d4f}.ui-field{gap:var(--space-6);min-width:0;display:grid}.ui-field__label{color:var(--text-muted);font-size:var(--type-label);font-weight:800}.ui-field__hint{color:var(--text-subtle);font-size:var(--type-meta);line-height:1.5}.ui-field__error{color:var(--danger-text);font-size:var(--type-meta);font-weight:700}.ui-field--invalid input,.ui-field--invalid select,.ui-field--invalid textarea{border-color:var(--danger-border)}.ui-empty{min-height:132px;padding:var(--space-20);align-content:center;place-items:center;gap:var(--space-8);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-soft);color:var(--text-muted);text-align:center;display:grid}.ui-empty--compact{min-height:72px;padding:var(--space-12)}.ui-empty>svg{width:26px;height:26px;color:var(--text-subtle)}.ui-empty__title{color:var(--text-strong);font:800 1.1rem var(--font-display)}.ui-empty__description{max-width:420px;font-size:var(--type-label);font-weight:700;line-height:1.6}.ui-empty__action{margin-top:var(--space-4)}.seat-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);min-width:52px;min-height:52px;color:var(--text-strong);font-variant-numeric:tabular-nums;cursor:pointer;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.seat-button__number{z-index:1;font-family:var(--font-display);font-size:1.06rem;font-weight:700;position:relative}.seat-button__check{z-index:1;background:var(--accent);color:#17130d;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:5px;right:5px}.seat-button__check svg{stroke-width:3px;width:11px;height:11px}.seat-button__dead{z-index:1;color:var(--danger-text);place-items:center;display:grid;position:absolute;bottom:4px;right:4px}.seat-button__dead svg{stroke-width:2.2px;width:13px;height:13px}.seat-button__self{z-index:1;border-radius:var(--radius-pill);background:var(--info-soft);color:var(--info-text);font-size:var(--type-meta);letter-spacing:0;padding:0 4px;font-weight:800;line-height:1.35;position:absolute;top:3px;left:3px}.seat-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.seat-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.seat-button--selected{border:2px solid var(--accent-strong);background:var(--accent-soft);color:var(--accent-text)}.seat-button--dead{border-style:dashed;border-color:var(--danger-border);color:var(--danger-text)}.seat-button--dead .seat-button__number{opacity:.82}.seat-button--selected.seat-button--dead{border-style:dashed;border-color:var(--accent-strong);color:var(--accent-text)}.seat-button--selected.seat-button--dead .seat-button__number{opacity:1}.seat-button--subdued{color:var(--text-subtle);opacity:.62}.seat-button--selected.seat-button--subdued{opacity:1}.seat-button:disabled{cursor:not-allowed;opacity:.42}.role-disc{--disc-size:124px;width:var(--disc-size);aspect-ratio:1;color:#33291d;background:radial-gradient(circle,#eee6d5 0,#e7ddc8 72%,#d9cdb4 100%);border:1px solid #92846d;border-radius:50%;flex:none;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 14px #0000003d}.role-disc--small{--disc-size:58px}.role-disc--large{--disc-size:clamp(112px, 13cqw, 140px)}.role-disc--active{border-width:2px;border-color:var(--accent-strong);box-shadow:0 0 18px #e0b15d24,0 7px 22px #00000047}.role-disc__label{border-radius:inherit;color:#33291d;width:100%;height:100%;font-family:var(--font-display);font-size:calc(var(--disc-size) * .2);place-items:center;font-weight:900;display:grid;position:relative;overflow:hidden}.role-disc__icon{object-fit:contain;object-position:50% 50%;image-rendering:auto;width:calc(100% - 4px);height:calc(100% - 4px);display:block}.role-disc__change-mark{width:clamp(22px, calc(var(--disc-size) * .23), 32px);aspect-ratio:1;border:1px solid var(--info-border);background:var(--surface-panel);color:var(--info-text);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:4%;right:3%}.role-disc__change-mark svg{width:55%;height:55%}.role-disc--concealed{background:var(--surface-raised);border-color:var(--border-strong)}.role-disc--concealed .role-disc__label{color:var(--text-subtle)}.role-disc__concealed-icon{opacity:.78;width:32%;height:32%}.sheet-overlay{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020508c2;animation:.18s ease-out sheet-fade;position:fixed;inset:0}.sheet-overlay--nested{z-index:60}.sheet-content{z-index:51;inset:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) auto;border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--surface-panel);flex-direction:column;width:min(680px,100vw - 32px);animation:.22s cubic-bezier(.2,.8,.2,1) sheet-enter;display:flex;position:fixed;overflow:hidden;box-shadow:-24px 0 90px #0000007a}.sheet-content--nested{z-index:61}.sheet-content--page{width:100vw;box-shadow:none;border:0;border-radius:0;animation:none;inset:0}.sheet-header{padding:var(--space-20) var(--space-20) var(--space-16);border-bottom:1px solid var(--border);justify-content:space-between;gap:var(--space-16);display:flex}.sheet-header h2{font:800 1.5rem/1.2 var(--font-display);margin:0}.sheet-header p{color:var(--text-muted);font-size:var(--type-label);margin:6px 0 0}.sheet-close{width:var(--touch-min);height:var(--touch-min);border:1px solid var(--border);background:var(--surface-soft);color:var(--text-muted);cursor:pointer;border-radius:50%;place-items:center;display:grid}.sheet-close:hover{color:var(--text-strong);border-color:var(--border-strong)}.sheet-close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sheet-body{overscroll-behavior:contain;min-height:0;overflow:auto}.sheet-content--record,.sheet-content--role-change{width:min(440px,100vw - 32px)}.sheet-content--page.sheet-content--record,.sheet-content--page.sheet-content--role-change,.sheet-content--page.sheet-content--player-status,.sheet-content--page.sheet-content--timeline-history{width:100vw}.sticky-action-bar{z-index:12;min-height:76px;padding:var(--space-12) max(var(--space-16), env(safe-area-inset-right)) calc(var(--space-12) + env(safe-area-inset-bottom)) max(var(--space-16), env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:var(--space-12);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090d12f5;display:flex;position:sticky;bottom:0}@keyframes sheet-fade{0%{opacity:0}}@keyframes sheet-enter{0%{opacity:0;transform:translate(22px)}}@media (width<=560px){.sheet-content{border:0;border-radius:0;width:100vw;inset:0}.sticky-action-bar{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.ui-button,.sheet-overlay,.sheet-content{transition:none;animation:none}}.ui-host-notice{width:min(1080px, calc(100% - var(--space-32)));max-height:0;margin:0 auto;transition:max-height .18s,margin .18s;overflow:hidden}.ui-host-notice.is-visible{max-height:96px;margin-block:var(--space-8)}.ui-host-notice__text{min-height:38px;padding:7px var(--space-16);align-items:center;gap:var(--space-8);border:1px solid var(--info-border);border-radius:var(--radius-md);background:var(--info-soft);color:var(--info-text);font-size:var(--type-label);font-weight:700;display:flex}@media (prefers-reduced-motion:reduce){.ui-host-notice{transition:none}}.ui-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-phase-track{z-index:30;min-height:58px;padding:0 var(--space-20);align-items:center;gap:var(--space-12);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e13eb;display:flex;position:sticky;top:0}.ui-phase-track__nodes{align-items:center;gap:var(--space-8);scrollbar-width:none;flex:auto;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.ui-phase-track__nodes::-webkit-scrollbar{display:none}.ui-phase-track__actions{padding-left:var(--space-10);border-left:1px solid var(--border);flex:none;align-items:center;gap:3px;display:flex}.ui-phase-track__actions .ui-button{min-height:44px;color:var(--text-muted);gap:6px;padding-inline:10px}.ui-phase-track__actions .ui-button svg{width:17px;height:17px}.ui-phase-track__actions .ui-phase-track__reset{color:var(--danger-text);margin-left:4px}.ui-phase-node{min-height:38px;padding:0 var(--space-12);border-radius:var(--radius-pill);color:var(--text-subtle);font-size:var(--type-label);white-space:nowrap;align-items:center;gap:6px;font-weight:800;display:flex}.ui-phase-node__dot{border:1.5px solid;border-radius:50%;width:8px;height:8px}.ui-phase-node--done{color:var(--text-muted)}.ui-phase-node--done .ui-phase-node__dot{background:currentColor}.ui-phase-node--open{color:var(--accent-text);background:var(--accent-soft)}.ui-phase-node--open .ui-phase-node__dot{box-shadow:0 0 0 3px var(--accent-soft);background:currentColor}.ui-phase-node--suggest{color:var(--info-text);background:var(--info-soft)}.ui-phase-node--idle{color:var(--text-subtle);opacity:.7}@container app-frame (width<=560px){.ui-phase-node__label{font-size:var(--type-meta)}.ui-phase-node{padding:0 6px}.ui-phase-track{padding-inline:var(--space-8);gap:var(--space-4);flex-wrap:wrap}.ui-phase-track__nodes{flex-basis:100%;min-width:0}.ui-phase-track__actions{border-left:0;flex-wrap:wrap;max-width:100%;padding-left:0}.ui-phase-track__actions .ui-button{min-height:44px;font-size:var(--type-meta);padding-inline:6px}.ui-phase-track__actions .ui-button svg{display:none}}
