.museum-platform{min-height:100%;padding:var(--space-xl)}.museum-platform-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl);gap:var(--space-md);flex-wrap:wrap}.museum-platform-head h1{margin:0 0 4px;font-size:1.75rem}.museum-platform-head p{margin:0;color:var(--muted);font-size:.95rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-md)}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:var(--space-sm);transition:transform .12s,box-shadow .12s,border-color .12s;cursor:pointer}.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-cyan-500);text-decoration:none}.project-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.project-card h3{margin:0;font-size:1.1rem;font-family:var(--font-display);line-height:1.3}.project-card-desc{color:var(--muted);font-size:.875rem;margin:0;flex:1}.project-card-meta{display:flex;gap:var(--space-md);font-size:.75rem;color:var(--muted);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.project-card-meta span{display:inline-flex;align-items:center;gap:4px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.status-pill:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill.is-active{background:#22c55e1f;color:#15803d}.status-pill.is-draft{background:#eab30826;color:#a16207}.status-pill.is-archived{background:#64748b26;color:#475569}.project-empty{background:var(--color-cream-50);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg);text-align:center;color:var(--muted)}.project-empty h2{font-size:1.1rem;margin:0 0 var(--space-sm);color:var(--color-navy-900)}.project-form{max-width:540px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.project-form-field{display:flex;flex-direction:column;gap:6px}.project-form-field label{font-size:.8rem;font-weight:600;color:var(--color-navy-900)}.project-form-field input,.project-form-field textarea,.project-form-field select{font-family:inherit;font-size:.9rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-white);width:100%}.project-form-field input:focus-visible,.project-form-field textarea:focus-visible,.project-form-field select:focus-visible{outline:none;border-color:var(--color-cyan-500);box-shadow:0 0 0 3px #3cb4e826}.project-form-field textarea{min-height:80px;resize:vertical}.project-form-error{background:#c13b3b14;color:#c13b3b;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.875rem}.project-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-xl)}.project-dashboard-title{display:flex;align-items:center;gap:var(--space-md)}.project-dashboard-title h1{margin:0;font-size:1.5rem}.project-dashboard-back{font-size:.85rem;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:4px}.project-dashboard-back:hover{color:var(--color-cyan-500)}.project-panels{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-lg)}@media (max-width: 1100px){.project-panels{grid-template-columns:1fr}}.project-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg)}.project-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.project-panel-head h2{margin:0;font-size:1.05rem}.project-panel-head-actions{display:flex;gap:var(--space-sm)}.project-panel-body{font-size:.9rem}.project-panel-disabled{background:var(--color-cream-50);border:1px dashed var(--border);border-radius:var(--radius-md);padding:var(--space-md);color:var(--muted);font-size:.85rem}.device-table{width:100%;border-collapse:collapse;font-size:.85rem}.device-table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--border)}.device-table td{padding:10px 12px;border-bottom:1px solid var(--border)}.device-table tr:last-child td{border-bottom:none}.device-table tr.is-offline{opacity:.55}.device-table .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.lang-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.lang-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s;position:relative;margin-bottom:-1px}.lang-tab:hover{background:var(--color-cream-50);color:var(--color-navy-900)}.lang-tab.is-active{background:var(--surface);border-color:var(--border);color:var(--color-navy-900)}.lang-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--surface)}.lang-tab-name{text-transform:capitalize}.lang-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;background:#1f7cff1f;color:var(--color-navy-900);border-radius:999px;font-size:.7rem;font-weight:700}.lang-tab.is-active .lang-tab-count{background:#1f7cff33}.lang-tab-add{margin-left:auto;color:var(--muted);border:1px dashed var(--border);font-weight:500}.lang-tab-add:hover{color:var(--color-navy-900);border-style:solid}.lang-tab-add-form{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.input-control-sm{padding:6px 10px;font-size:.85rem;width:200px}.tips-editor{display:flex;flex-direction:column;gap:var(--space-sm)}.tips-empty{padding:var(--space-md);text-align:center;color:var(--muted);font-size:.85rem;background:var(--color-cream-50);border:1px dashed var(--border);border-radius:var(--radius-md)}.tip-row{display:grid;grid-template-columns:32px 1fr auto;align-items:start;gap:var(--space-sm);padding:10px 12px;background:var(--color-cream-50);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .12s}.tip-row:focus-within{border-color:#1f7cff80;background:var(--surface)}.tip-row-num{display:inline-flex;align-items:center;justify-content:center;height:24px;width:24px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-weight:600;color:var(--muted);margin-top:4px}.tip-row-input{width:100%;background:transparent;border:none;outline:none;resize:vertical;font-family:inherit;font-size:.9rem;line-height:1.5;color:var(--color-navy-900);padding:4px 0;min-height:44px}.tip-row-input::placeholder{color:#0000004d}.tip-row-delete{display:inline-flex;align-items:center;justify-content:center;height:32px;width:32px;margin-top:4px;background:transparent;border:none;border-radius:6px;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.tip-row-delete:hover{background:#c13b3b1a;color:#c13b3b}.tips-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border);flex-wrap:wrap}.modal-backdrop{position:fixed;inset:0;background:#0d19308c;backdrop-filter:blur(4px);display:grid;place-items:center;padding:var(--space-md);z-index:100;animation:modal-fade .12s ease-out}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 24px 48px #00000040;width:min(720px,100%);max-height:calc(100vh - 2 * var(--space-md));overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xs)}.modal-head h2{margin:0;font-size:1.15rem}.modal-close{flex-shrink:0}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.bulk-import-preview{background:var(--color-cream-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.bulk-import-preview-head{display:flex;align-items:baseline;gap:8px;font-size:.9rem;margin-bottom:6px}.bulk-import-preview-list{margin:0;padding-left:22px;font-size:.82rem;color:var(--color-navy-900);line-height:1.5}.bulk-import-preview-list li{padding:2px 0}.bulk-import-warnings{margin:var(--space-sm) 0 0;padding-left:22px;font-size:.78rem;color:#c13b3b}.bulk-import-mode{display:flex;flex-direction:column;gap:6px;padding:var(--space-sm) var(--space-md);background:var(--color-cream-50);border-radius:var(--radius-md);border:1px solid var(--border);font-size:.85rem}.version-add-card{margin-top:var(--space-sm);background:var(--color-cream-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md)}.version-add-step{display:grid;grid-template-columns:32px 1fr;gap:var(--space-sm);align-items:flex-start;padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px dashed var(--border)}.version-add-step:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.version-add-step-num{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.78rem;font-weight:700;color:var(--muted);margin-top:2px}.version-add-step-num.done{background:#1f7cff1f;border-color:#1f7cff66;color:var(--color-cyan-500, #1a9fd4)}.version-add-step-body strong{font-size:.92rem}.version-add-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-sm)}.version-list{margin-top:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs)}.version-row{background:var(--color-cream-50);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.version-row-head{display:flex;align-items:center;gap:var(--space-sm);padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border)}.version-row-body{padding:8px 12px;font-size:.82rem}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.check-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--color-cream-50);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:400}.check-row:hover{background:var(--surface)}.check-row input{cursor:pointer}.kiosks-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.kiosks-table{width:100%;border-collapse:collapse;font-size:.85rem}.kiosks-table th{background:var(--color-cream-50);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;text-align:left;padding:8px 12px;font-weight:600;border-bottom:1px solid var(--border)}.kiosks-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.kiosks-table tbody tr:last-child td{border-bottom:none}.kiosks-dot-online,.kiosks-dot-stale,.kiosks-dot-offline{display:inline-block;width:8px;height:8px;border-radius:999px}.kiosks-dot-online{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.kiosks-dot-stale{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b2e}.kiosks-dot-offline{background:#5c6478}.museum-tabs{display:flex;gap:4px;margin:var(--space-md) 0 var(--space-lg);padding-bottom:0;border-bottom:1px solid var(--border)}.museum-tab{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;text-decoration:none;color:var(--muted);font-size:.88rem;font-weight:600;border-radius:8px 8px 0 0;border:1px solid transparent;border-bottom:none;margin-bottom:-1px;transition:color .12s,background .12s}.museum-tab:hover{color:var(--color-navy-900);background:var(--color-cream-50);text-decoration:none}.museum-tab.is-active{color:var(--color-navy-900);background:var(--surface);border-color:var(--border);position:relative}.museum-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--surface)}.kiosks-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-sm);margin-bottom:var(--space-md)}.kiosks-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px;display:flex;flex-direction:column;gap:4px}.kiosks-stat-card.tone-ok{border-left:3px solid #22c55e}.kiosks-stat-card.tone-warning{border-left:3px solid #f59e0b}.kiosks-stat-card.tone-error{border-left:3px solid #ef4444}.kiosks-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.kiosks-stat-value{font-size:1.5rem;font-weight:700;color:var(--color-navy-900)}.kiosks-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-sm);margin-bottom:var(--space-md)}.kiosks-overview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px}.kiosks-overview-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin-bottom:6px}.kiosks-checks-detail{display:flex;flex-direction:column;gap:6px}.kiosks-check-row{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:var(--color-cream-50);border:1px solid var(--border);border-radius:var(--radius-md);border-left-width:3px}.kiosks-check-row.status-ok{border-left-color:#22c55e}.kiosks-check-row.status-warning{border-left-color:#f59e0b}.kiosks-check-row.status-error{border-left-color:#ef4444}.kiosks-check-row.status-unknown{border-left-color:var(--muted)}.kiosks-check-dot{display:inline-block;width:9px;height:9px;border-radius:999px;background:var(--muted);margin-top:6px;flex-shrink:0}.kiosks-check-dot.status-ok{background:#22c55e}.kiosks-check-dot.status-warning{background:#f59e0b}.kiosks-check-dot.status-error{background:#ef4444}.kiosks-installed-rows{display:flex;flex-direction:column;gap:6px}.kiosks-installed-row{background:var(--color-cream-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 14px;font-size:.88rem}.kiosks-progress{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:var(--space-md)}.kiosks-progress-bar{height:6px;background:var(--color-cream-50);border-radius:999px;overflow:hidden}.kiosks-progress-fill{height:100%;background:var(--color-cyan-500, #1a9fd4);transition:width .3s}.kiosks-progress.phase-failed .kiosks-progress-fill{background:#ef4444}.kiosks-progress.phase-done .kiosks-progress-fill{background:#22c55e}.spin{animation:museum-spin 1s linear infinite}@keyframes museum-spin{to{transform:rotate(360deg)}}.project-tabs{display:flex;gap:4px;margin:var(--space-md) 0 var(--space-lg);padding-bottom:0;border-bottom:1px solid var(--border)}.project-tab{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer;transition:color .12s,background .12s;margin-bottom:-1px}.project-tab:hover{color:var(--color-navy-900);background:var(--color-cream-50)}.project-tab.is-active{color:var(--color-navy-900);background:var(--surface);border-color:var(--border);position:relative}.project-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--surface)}.markdown-body{line-height:1.65;font-size:.9rem;color:var(--color-navy-900)}.markdown-body h1{font-size:1.6rem;margin:0 0 var(--space-md);padding-bottom:8px;border-bottom:1px solid var(--border)}.markdown-body h2{font-size:1.2rem;margin:var(--space-lg) 0 var(--space-sm)}.markdown-body h3{font-size:1rem;margin:var(--space-md) 0 var(--space-xs)}.markdown-body h4{font-size:.92rem;margin:var(--space-md) 0 var(--space-xs);font-weight:700}.markdown-body p{margin:0 0 var(--space-sm)}.markdown-body code{background:var(--color-cream-50);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.84em}.markdown-body pre{background:var(--color-cream-50);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;overflow-x:auto;font-size:.82rem;line-height:1.5;margin:0 0 var(--space-md)}.markdown-body pre code{background:none;border:none;padding:0;font-size:inherit}.markdown-body a{color:var(--color-cyan-500, #1a9fd4);text-decoration:underline;text-underline-offset:2px}.markdown-body a:hover{text-decoration:none}.markdown-body table{border-collapse:collapse;margin:0 0 var(--space-md);font-size:.82rem}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:6px 10px;text-align:left}.markdown-body th{background:var(--color-cream-50);font-weight:700}.markdown-body ul,.markdown-body ol{margin:0 0 var(--space-md);padding-left:24px}.markdown-body li{margin-bottom:4px}.markdown-body li>ul,.markdown-body li>ol{margin-bottom:0}.markdown-body hr{border:0;border-top:1px solid var(--border);margin:var(--space-lg) 0}.markdown-body blockquote{margin:0 0 var(--space-md);padding:8px 14px;border-left:3px solid var(--color-cyan-500, #1a9fd4);background:#1f7cff0a;color:var(--muted);font-size:.88rem}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rs-indeterminate-sweep{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(26,159,212,.6) 50%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:rs-sweep 1.2s linear infinite}@keyframes rs-sweep{0%{background-position:-40% 0}to{background-position:140% 0}}.ps-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin:0}.ps-meta>div{display:flex;flex-direction:column;gap:2px}.ps-meta dt{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;display:inline-flex;align-items:center;gap:4px}.ps-meta dd{margin:0;font-size:.92rem;font-weight:500}.ps-postponed{margin-top:var(--space-md);padding:8px 12px;background:#fbbf241a;border:1px solid rgba(251,191,36,.35);color:#92400e;font-size:.82rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:8px}input.input-control.is-invalid{border-color:#ef444499;background:#ef44440a}.bp-snippet{margin:var(--space-md) 0;border:1px solid var(--border);border-radius:var(--radius-md);background:#161825;overflow:hidden}.bp-snippet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:6px 10px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08)}.bp-snippet-label{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.bp-copy-btn{font-size:.74rem;padding:4px 10px;border-radius:var(--radius-sm);background:#ffffff14;color:#e7eaf2;border:1px solid rgba(255,255,255,.12);cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.bp-copy-btn:hover{background:#ffffff24;border-color:#ffffff38}.bp-copy-btn.is-copied{background:#22c55e38;border-color:#22c55e59;color:#d4fadc}.bp-snippet canvas.klee{display:block;width:100%;height:auto;min-height:360px;background:#1a1d2e;font-family:var(--font-mono, monospace);font-size:.7rem;color:#ffffff73}.bp-source-hidden{display:none!important}.bp-source-details{border-top:1px solid rgba(255,255,255,.08);background:#0003}.bp-source-details>summary{padding:8px 12px;font-size:.78rem;color:#ffffffa6;cursor:pointer;user-select:none;list-style:none}.bp-source-details>summary::-webkit-details-marker{display:none}.bp-source-details>summary:before{content:"▶ ";display:inline-block;margin-right:6px;transition:transform .12s ease}.bp-source-details[open]>summary:before{transform:rotate(90deg)}.bp-source-details>summary:hover{color:#ffffffe6}.bp-source-details>pre{margin:0;padding:12px;font-family:var(--font-mono, monospace);font-size:.72rem;line-height:1.5;background:transparent;color:#ffffffd1;overflow-x:auto;max-height:320px}.bp-source-details>pre>code{background:transparent;padding:0;color:inherit;white-space:pre}.mu-content-tabs{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-md);border-bottom:1px solid var(--border-color, rgba(0,0,0,.08))}.mu-content-tab{appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;padding:var(--space-xs) var(--space-sm);margin-bottom:-1px;font:inherit;font-size:.85rem;color:var(--text-muted, #6b7280);cursor:pointer;transition:color .12s,border-color .12s}.mu-content-tab:hover{color:var(--text-color, #1f2937)}.mu-content-tab.is-active{color:var(--accent-color, #06b6d4);border-bottom-color:var(--accent-color, #06b6d4);font-weight:600}.mu-content-error{margin:0 0 var(--space-sm);padding:var(--space-xs) var(--space-sm);background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:6px;color:#991b1b;font-size:.85rem}.mu-content-saved-pill{font-size:.75rem;color:var(--accent-color, #06b6d4);font-weight:600;margin-right:var(--space-xs)}.mu-content-list{display:flex;flex-direction:column;gap:var(--space-sm)}.mu-content-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-md);padding:var(--space-sm);border:1px solid var(--border-color, rgba(0,0,0,.08));border-radius:8px;background:var(--surface-color, #fff)}.mu-content-thumb{width:88px;background:#083c820f;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.mu-content-thumb img{width:100%;height:100%;object-fit:cover;display:block}.mu-content-thumb-character{aspect-ratio:3 / 4}.mu-content-thumb-environment{aspect-ratio:476 / 468}.mu-content-thumb-spawnEvent{aspect-ratio:720 / 400}.mu-content-thumb-empty{color:var(--text-muted, #6b7280);font-size:.7rem;text-align:center;padding:4px}.mu-content-row-fields{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.mu-content-row-fields .form-label{margin:0}.mu-content-row-fields .form-label>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #6b7280);display:block;margin-bottom:2px}.mu-content-row-id{display:flex;align-items:center;gap:var(--space-xs);font-size:.78rem}.mu-content-row-id .form-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #6b7280);display:inline;margin:0}.mu-content-row-id code{background:#083c8212;padding:1px 6px;border-radius:4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;color:var(--text-color, #1f2937)}.mu-content-row-id small{color:var(--text-muted, #6b7280);font-size:.72rem}.mu-content-row-actions{display:flex;gap:var(--space-xs);align-items:center;flex-shrink:0}.mu-content-row-actions .btn-secondary,.mu-content-row-actions .btn-ghost{display:inline-flex;align-items:center;gap:4px}.mu-content-background{display:flex;flex-direction:column;gap:var(--space-sm)}.mu-content-bg-preview{aspect-ratio:16 / 9;background:linear-gradient(135deg,#0a1f3a,#051528);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#ffffffb3;font-size:.85rem;text-align:center;padding:var(--space-md)}.mu-content-bg-preview img{width:100%;height:100%;object-fit:cover;display:block}.mu-content-durations{display:flex;flex-direction:column;gap:var(--space-sm)}.mu-content-durations-blurb{margin:0 0 var(--space-xs);font-size:.85rem;color:var(--text-muted, #6b7280)}.mu-content-durations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md)}.mu-content-duration-field{margin:0}.mu-content-duration-field>span{display:block;font-size:.78rem;font-weight:600;color:var(--text-color, #1f2937);margin-bottom:4px}.mu-content-duration-input{display:flex;align-items:center;gap:var(--space-xs)}.mu-content-duration-input input{flex:0 1 90px}.mu-content-duration-input span{font-size:.85rem;color:var(--text-muted, #6b7280)}.mu-crop-backdrop{position:fixed;inset:0;background:#080c188c;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.mu-crop-modal{background:var(--surface-color, #fff);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:min(560px,100%);max-height:90vh;display:flex;flex-direction:column}.mu-crop-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--border-color, rgba(0,0,0,.08))}.mu-crop-head h2{margin:0;font-size:1rem}.mu-crop-subtitle{margin:4px 0 0;font-size:.8rem;color:var(--text-muted, #6b7280)}.mu-crop-body{padding:var(--space-md);overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.mu-crop-drop{width:100%;min-height:200px;border:2px dashed var(--border-color, rgba(0,0,0,.15));border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;color:var(--text-muted, #6b7280);transition:border-color .12s,background .12s}.mu-crop-drop:hover{border-color:var(--accent-color, #06b6d4);background:#06b6d40a}.mu-crop-drop input{display:none}.mu-crop-drop span{font-size:.95rem;font-weight:600;color:var(--text-color, #1f2937)}.mu-crop-drop small{font-size:.75rem}.mu-crop-window{background:#0a1224;border-radius:6px;overflow:hidden;position:relative;cursor:grab;user-select:none;touch-action:none}.mu-crop-window:active{cursor:grabbing}.mu-crop-window img{position:absolute;top:0;left:0;max-width:none;pointer-events:none;user-select:none}.mu-crop-controls{width:100%;display:flex;gap:var(--space-md);align-items:center}.mu-crop-zoom{flex:1;display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--text-muted, #6b7280)}.mu-crop-zoom input{width:100%}.mu-crop-error{width:100%;padding:6px var(--space-sm);background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:6px;color:#991b1b;font-size:.85rem}.mu-crop-foot{display:flex;justify-content:flex-end;gap:var(--space-xs);padding:var(--space-md);border-top:1px solid var(--border-color, rgba(0,0,0,.08))}.mu-content-row-wide{grid-template-columns:minmax(220px,280px) 1fr}.mu-content-row-meta{display:flex;flex-direction:column;gap:var(--space-xs)}.mu-content-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);align-items:start}.mu-content-slot{display:flex;flex-direction:column;gap:var(--space-xs)}.mu-content-slot .mu-content-thumb{width:100%}.mu-content-shared-borders{background:#083c8208;border:1px solid var(--border-color, rgba(0,0,0,.08));border-radius:8px;padding:var(--space-md);margin-bottom:var(--space-md)}.mu-content-shared-borders-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);max-width:480px}.mu-content-sub-heading{margin:0 0 var(--space-sm);font-size:.9rem;font-weight:600;color:var(--text-color, #1f2937);text-transform:uppercase;letter-spacing:.04em}.mu-border-field{display:flex;flex-direction:column;gap:var(--space-xs)}.mu-border-field-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #6b7280);font-weight:600}.mu-border-field-preview{width:100%;background:linear-gradient(45deg,rgba(0,0,0,.05) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.05) 75%) 0 0 / 16px 16px,linear-gradient(45deg,rgba(0,0,0,.05) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.05) 75%) 8px 8px / 16px 16px,#fafafa;border:1px solid var(--border-color, rgba(0,0,0,.08));border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.mu-border-field-preview img{width:100%;height:100%;object-fit:contain;display:block}.mu-border-field-empty{font-size:.75rem;color:var(--text-muted, #6b7280);text-align:center;padding:8px}.mu-border-field-actions{display:flex;gap:var(--space-xs);align-items:center}.mu-border-field-actions .btn-secondary,.mu-border-field-actions .btn-ghost{display:inline-flex;align-items:center;gap:4px}@media (max-width: 900px){.mu-content-row-wide,.mu-content-slots{grid-template-columns:1fr}}body.museum-controller-page #root{background:transparent;height:auto;min-height:100vh}body.museum-controller-page{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#050d18;color:#e6f1ff}body.museum-controller-page *{box-sizing:border-box}body.museum-controller-page{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(66,172,255,.22),transparent 35%),radial-gradient(circle at bottom right,rgba(0,198,177,.18),transparent 32%),linear-gradient(180deg,#08111d,#04080f)}body.museum-controller-page button,body.museum-controller-page select,body.museum-controller-page input,body.museum-controller-page textarea{font:inherit}body.museum-controller-page a{color:inherit}body.museum-controller-page .mu-shell{min-height:100vh;padding:18px}body.museum-controller-page .remote-shell{padding:14px}body.museum-controller-page .app-frame{max-width:1200px;margin:0 auto;display:grid;gap:16px}body.museum-controller-page .remote-layout{min-height:calc(100vh - 28px);display:grid;grid-template-rows:1fr 1fr 1fr;gap:14px}body.museum-controller-page .admin-frame{max-width:1280px}body.museum-controller-page .panel{border:1px solid rgba(138,191,255,.14);background:#0a1322db;box-shadow:0 14px 40px #00000047;backdrop-filter:blur(12px);border-radius:24px;padding:18px}body.museum-controller-page .stage-panel{min-height:0;display:grid;grid-template-rows:auto 1fr;gap:14px}body.museum-controller-page .topbar,body.museum-controller-page .section-head,body.museum-controller-page .status-stack,body.museum-controller-page .admin-actions,body.museum-controller-page .inline-row,body.museum-controller-page .tip-add-row,body.museum-controller-page .mini-status-row,body.museum-controller-page .bubble-line,body.museum-controller-page .stage-title-wrap{display:flex}body.museum-controller-page .topbar,body.museum-controller-page .section-head,body.museum-controller-page .bubble-line{justify-content:space-between;align-items:center;gap:12px}body.museum-controller-page .topbar h1,body.museum-controller-page .section-head h2,body.museum-controller-page .stage-head h2{margin:0}body.museum-controller-page .topbar,body.museum-controller-page .section-head{flex-wrap:wrap}body.museum-controller-page .stage-head{display:flex;justify-content:space-between;align-items:center}body.museum-controller-page .stage-title-wrap{gap:12px;align-items:center}body.museum-controller-page .stage-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;font-size:1.6rem;background:#8abfff1f}body.museum-controller-page .eyebrow,body.museum-controller-page .label,body.museum-controller-page .helper-text,body.museum-controller-page .selector-subtitle{color:#8da7c8}body.museum-controller-page .eyebrow,body.museum-controller-page .label{margin:0 0 6px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}body.museum-controller-page h1{font-size:clamp(1.7rem,3vw,2.4rem);margin:0}body.museum-controller-page h2{font-size:1.18rem}body.museum-controller-page p{margin:0}body.museum-controller-page .status-stack{flex-direction:column;align-items:flex-end;gap:8px}body.museum-controller-page .pill,body.museum-controller-page .mini-chip,body.museum-controller-page .mini-link{border-radius:999px;padding:8px 12px;font-size:.84rem;font-weight:600}body.museum-controller-page .pill.online{background:#1fa3662e;color:#8ef4b5}body.museum-controller-page .pill.offline{background:#be49492e;color:#ffaea8}body.museum-controller-page .mini-chip,body.museum-controller-page .mini-link{background:#8abfff1f;text-decoration:none;border:0;color:#e6f1ff}body.museum-controller-page .value{font-size:1rem;font-weight:600}body.museum-controller-page .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}body.museum-controller-page .select-wrap{margin-top:10px}body.museum-controller-page .device-select,body.museum-controller-page .text-input,body.museum-controller-page .tip-input{width:100%;border:1px solid rgba(127,178,237,.28);background:#08101de6;color:#eff6ff;border-radius:16px;padding:16px;outline:none}body.museum-controller-page .primary-button,body.museum-controller-page .secondary-button,body.museum-controller-page .text-button{border:0;border-radius:14px;padding:14px 16px;cursor:pointer}body.museum-controller-page .primary-button{background:linear-gradient(180deg,#43a8ff,#1877ff);color:#fff;font-weight:700}body.museum-controller-page .secondary-button{background:#8abfff24;color:#e6f1ff}body.museum-controller-page .text-button{background:transparent;color:#8fc7ff;padding:8px 0}body.museum-controller-page .danger-button{background:#be494929}body.museum-controller-page button:disabled,body.museum-controller-page select:disabled{opacity:.45;cursor:default}body.museum-controller-page .pairing-overlay{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:#040912eb;backdrop-filter:blur(10px);z-index:40;transition:opacity .18s ease}body.museum-controller-page .pairing-overlay.hidden{opacity:0;pointer-events:none}body.museum-controller-page .pairing-overlay.visible{opacity:1}body.museum-controller-page .pairing-panel{width:min(720px,100%);padding:34px;display:grid;gap:16px;justify-items:start}body.museum-controller-page .mu-brand-mark{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;background:#8abfff24;font-size:2rem}body.museum-controller-page .pairing-select{font-size:1.1rem;padding:18px}body.museum-controller-page .pairing-meta,body.museum-controller-page .mini-status-row,body.museum-controller-page .admin-actions,body.museum-controller-page .tip-add-row,body.museum-controller-page .inline-row{gap:10px;flex-wrap:wrap}body.museum-controller-page .display-chip{position:fixed;top:16px;left:16px;z-index:30;border-radius:999px;padding:10px 14px;font-weight:700;background:#091221db;border:1px solid rgba(138,191,255,.16);backdrop-filter:blur(12px);box-shadow:0 10px 24px #0000004d;opacity:0;transform:translateY(-8px);transition:opacity .16s ease,transform .16s ease;pointer-events:none;cursor:pointer;color:inherit;font-family:inherit;font-size:inherit}body.museum-controller-page .display-chip.visible{opacity:1;transform:translateY(0);pointer-events:auto}body.museum-controller-page .display-chip.visible.secret-admin-trigger.label-hidden{opacity:0}body.museum-controller-page .floating-admin-dock{position:fixed;right:18px;bottom:18px;z-index:25}body.museum-controller-page .dock-button{width:58px;height:58px;border-radius:999px;border:1px solid rgba(138,191,255,.18);background:#091221eb;color:#fff;font-size:1.35rem;box-shadow:0 12px 28px #00000059;backdrop-filter:blur(12px);cursor:pointer}body.museum-controller-page .dock-panel{position:absolute;right:0;bottom:72px;width:320px;display:grid;gap:10px}body.museum-controller-page .bubble-status{white-space:nowrap}body.museum-controller-page .compact-select-wrap{margin-top:0}body.museum-controller-page .compact-device-select{padding:12px 14px}body.museum-controller-page .locked-panel{opacity:.68}body.museum-controller-page .snap-carousel{min-height:0;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:18px;align-items:center;height:100%}body.museum-controller-page .carousel-side,body.museum-controller-page .carousel-center,body.museum-controller-page .event-card{border:1px solid rgba(127,178,237,.18);background:linear-gradient(180deg,#0f1e34f2,#081220f2);color:inherit;display:grid;justify-items:center;align-content:center;gap:10px;transition:transform .12s ease,opacity .12s ease,border-color .12s ease}body.museum-controller-page .carousel-side,body.museum-controller-page .carousel-center{border-radius:28px;min-height:0;height:100%;padding:18px}body.museum-controller-page .carousel-side{opacity:.72;transform:scale(.82)}body.museum-controller-page .carousel-center{border-color:#58b5ffd9;box-shadow:0 0 0 2px #58b5ff2e inset;transform:scale(1.02)}body.museum-controller-page .carousel-center-icon{font-size:clamp(2.4rem,6vw,4rem)}body.museum-controller-page .carousel-item-mini-icon{font-size:clamp(1.8rem,4vw,2.8rem)}body.museum-controller-page .carousel-center-label{font-size:clamp(1.3rem,2vw,1.8rem);font-weight:800}body.museum-controller-page .carousel-side-label{font-size:1rem;font-weight:700}body.museum-controller-page .selector-title{font-size:1.08rem;font-weight:700}body.museum-controller-page .selector-subtitle{font-size:.92rem}body.museum-controller-page .full-height-grid{min-height:0;height:100%;align-content:stretch}body.museum-controller-page .event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}body.museum-controller-page .event-card{border-radius:24px;padding:18px;min-height:0;height:100%}body.museum-controller-page .event-icon{font-size:clamp(2rem,5vw,3rem)}body.museum-controller-page .admin-grid{display:grid;gap:14px}body.museum-controller-page .admin-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}body.museum-controller-page .admin-card{border:1px solid rgba(127,178,237,.14);background:#070e1ab8;border-radius:18px;padding:16px}body.museum-controller-page .tips-table-wrap{overflow:hidden;border:1px solid rgba(127,178,237,.14);border-radius:20px;background:#070e1aa3;max-width:100%}body.museum-controller-page .spreadsheet-wrap{padding:0}body.museum-controller-page .spreadsheet-scroller{min-height:420px;max-height:min(68vh,820px);overflow:auto;max-width:100%}body.museum-controller-page .spreadsheet-wrap .Spreadsheet{width:max-content;min-width:100%}body.museum-controller-page .spreadsheet-wrap table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;background:#070e1a59}body.museum-controller-page .spreadsheet-wrap th,body.museum-controller-page .spreadsheet-wrap td{border-right:1px solid rgba(127,178,237,.08);border-bottom:1px solid rgba(127,178,237,.08);background:#070e1a57}body.museum-controller-page .spreadsheet-wrap thead th,body.museum-controller-page .spreadsheet-wrap .Spreadsheet__header{position:sticky;top:0;z-index:4;background:#0c182afa;color:#eff6ff}body.museum-controller-page .spreadsheet-wrap tbody th:first-child,body.museum-controller-page .spreadsheet-wrap thead th:first-child{position:sticky;left:0;z-index:6;background:#0c182afa}body.museum-controller-page .spreadsheet-wrap tbody td:first-of-type,body.museum-controller-page .spreadsheet-wrap thead th:nth-child(2){position:sticky;left:72px;z-index:5;background:#0a1424fb}body.museum-controller-page .spreadsheet-wrap thead th:nth-child(2){z-index:7}body.museum-controller-page .spreadsheet-wrap .Spreadsheet__cell,body.museum-controller-page .spreadsheet-wrap .Spreadsheet__data-viewer,body.museum-controller-page .spreadsheet-wrap .Spreadsheet__input{min-width:280px}body.museum-controller-page .spreadsheet-wrap .Spreadsheet__cell{padding:0;height:88px}body.museum-controller-page .spreadsheet-wrap .Spreadsheet__data-viewer,body.museum-controller-page .spreadsheet-wrap .Spreadsheet__input{min-height:88px;padding:14px 16px;background:transparent;color:#eff6ff;white-space:pre-wrap;line-height:1.35}body.museum-controller-page .spreadsheet-wrap .Spreadsheet__input{border:0;outline:none}body.museum-controller-page .spreadsheet-wrap tbody th{width:72px;min-width:72px;text-align:center;color:#8da7c8;font-weight:700}body.museum-controller-page .spreadsheet-wrap thead th{padding:12px 14px;text-transform:capitalize}body.museum-controller-page .spreadsheet-wrap tbody td:first-of-type,body.museum-controller-page .spreadsheet-wrap thead th:nth-child(2),body.museum-controller-page .spreadsheet-wrap tbody th:first-child,body.museum-controller-page .spreadsheet-wrap thead th:first-child{box-shadow:1px 0 #7fb2ed1f}body.museum-controller-page .spreadsheet-wrap .Spreadsheet__selected{box-shadow:inset 0 0 0 2px #58b5ffcc}body.museum-controller-page .table-mini-delete{width:32px;height:32px;border-radius:999px;border:0;background:#be494929;color:#ffdbdb;cursor:pointer}body.museum-controller-page .mu-empty-state{border:1px dashed rgba(127,178,237,.24);border-radius:18px;padding:18px;color:#8da7c8;margin:14px}body.museum-controller-page .error-panel{max-width:720px;margin:80px auto}body.museum-controller-page .error-panel code,body.museum-controller-page .subtle code{display:inline-block;margin-top:8px;padding:3px 7px;border-radius:8px;background:#ffffff14}body.museum-controller-page .subtle{color:#8da7c8;margin-top:14px}@media (max-width: 900px){body.museum-controller-page .remote-layout{min-height:calc(100vh - 28px);grid-template-rows:repeat(3,minmax(220px,1fr))}body.museum-controller-page .snap-carousel{grid-template-columns:1fr 1.35fr 1fr;gap:10px}body.museum-controller-page .admin-grid.two-up{grid-template-columns:1fr}}@media (max-width: 760px){body.museum-controller-page .mu-shell,body.museum-controller-page .remote-shell{padding:12px}body.museum-controller-page .remote-layout{grid-template-rows:repeat(3,minmax(190px,1fr));gap:12px}body.museum-controller-page .event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.museum-controller-page .topbar,body.museum-controller-page .section-head{flex-direction:column;align-items:flex-start}body.museum-controller-page .status-stack{align-items:flex-start}body.museum-controller-page .dock-panel{width:min(320px,calc(100vw - 24px))}body.museum-controller-page .pairing-panel{padding:24px}}body.museum-controller-page .row-delete-input{width:88px;min-width:88px;padding:12px 14px}body.museum-controller-page .delete-row-inline{align-items:center}body.museum-controller-page .controller-shell{min-height:100vh;display:grid;place-items:center;padding:16px}body.museum-controller-page .controller-app-shell{width:100%;min-height:calc(100vh - 32px);display:grid;place-items:center}body.museum-controller-page .controller-ipad{width:100%;height:100%;border:none;border-radius:0;background:transparent;box-shadow:none}body.museum-controller-page .select-tile-group{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;gap:18px;min-height:0;padding:20px 40px}body.museum-controller-page .select-tile{position:relative;width:100%;height:88%;display:grid;place-items:center;opacity:.72;transform:scale(.91);filter:saturate(.62) contrast(.92) brightness(1.08);transition:transform .18s ease,opacity .18s ease,filter .18s ease,box-shadow .18s ease}body.museum-controller-page .select-tile.selected{z-index:4;opacity:1;transform:scale(1.06);filter:saturate(1.55) contrast(1.08) brightness(1.04) hue-rotate(-5deg)}body.museum-controller-page .select-tile:not(:disabled):active{transform:scale(1.02)}body.museum-controller-page .select-tile.selected:not(:disabled):active{transform:scale(1.04)}body.museum-controller-page .select-tile:disabled{opacity:.48}body.museum-controller-page .select-tile.selected:disabled{opacity:.82}body.museum-controller-page .select-tile img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}body.museum-controller-page .controller-effect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;align-content:center;gap:10px;min-height:0;padding:20px 40px}body.museum-controller-page .controller-effect-button{position:relative;min-height:0;transition:opacity .16s ease,transform .12s ease,filter .16s ease}body.museum-controller-page .controller-effect-button:not(:disabled):active{transform:scale(.985)}body.museum-controller-page .controller-effect-button:disabled{opacity:.5;filter:saturate(.6)}body.museum-controller-page .controller-effect-button img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}body.museum-controller-page .water-overlay{position:absolute;inset:0;z-index:50;pointer-events:none;overflow:hidden}body.museum-controller-page .water-layer{position:absolute;inset:0;transform:translateY(100%);animation:waterFillDrain 5s linear forwards;background:radial-gradient(circle at 18% 28%,rgba(255,255,255,.2),transparent 7%),radial-gradient(circle at 72% 44%,rgba(255,255,255,.18),transparent 9%),linear-gradient(180deg,#3eadeba3,#0d52a5d1)}body.museum-controller-page .wave{position:absolute;left:-20%;right:-20%;top:-46px;height:96px;opacity:.82;background-repeat:repeat-x;background-size:220px 96px;animation:waveMove 1.8s linear infinite}body.museum-controller-page .wave-one{background-image:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.8) 0 18%,transparent 19%)}body.museum-controller-page .wave-two{top:-22px;opacity:.42;background-image:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.72) 0 18%,transparent 19%);animation-duration:2.5s;animation-direction:reverse}body.museum-controller-page .wave-three{top:3px;opacity:.22;background-image:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.62) 0 18%,transparent 19%);animation-duration:3.4s}body.museum-controller-page .play-message{position:absolute;left:50%;top:50%;min-width:min(80%,420px);transform:translate(-50%,-50%);padding:24px 28px;border:2px solid rgba(255,255,255,.68);border-radius:30px;background:#0c569e94;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:clamp(16px,2.6vw,25px);text-shadow:0 2px 10px rgba(0,0,0,.22);backdrop-filter:blur(5px);box-shadow:0 18px 50px #083c824d}body.museum-controller-page .bubble{position:absolute;bottom:-25px;width:14px;height:14px;border:2px solid rgba(255,255,255,.85);border-radius:50%;opacity:0;animation:bubbleRise 2s ease-in infinite}body.museum-controller-page .bubble-one{left:16%}body.museum-controller-page .bubble-two{left:52%;width:19px;height:19px;animation-delay:.45s}body.museum-controller-page .bubble-three{left:82%;width:11px;height:11px;animation-delay:.9s}@keyframes waterFillDrain{0%{transform:translateY(100%)}50%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes waveMove{0%{transform:translate(0) translateY(0)}to{transform:translate(220px) translateY(3px)}}@keyframes bubbleRise{0%{transform:translateY(0) scale(.7);opacity:0}20%{opacity:.85}to{transform:translateY(-110px) scale(1.25);opacity:0}}@media (max-width: 720px){body.museum-controller-page .controller-ipad{width:100%;height:100%;border:none;border-radius:0;background:transparent;box-shadow:none}body.museum-controller-page .controller-screen{width:100%;height:100%;margin:0;background:linear-gradient(rgba(45,102,190,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(45,102,190,.045) 1px,transparent 1px),var(--mu-background-image, none) center / cover no-repeat,#f8fbff;background-size:14px 14px,14px 14px,cover,auto;display:grid;grid-template-rows:30% 40% 30%;gap:12px;padding:24px}body.museum-controller-page .select-tile-group{gap:8px}body.museum-controller-page .select-tile{transform:scale(.9)}body.museum-controller-page .select-tile.selected{transform:scale(1.05)}body.museum-controller-page .controller-effect-grid{padding:0 16px;gap:6px 10px}}body.museum-controller-page .pairing-select option,body.museum-controller-page .compact-device-select option{color:#eff6ff;background:#071426}body.museum-controller-page .select-tile,body.museum-controller-page .controller-effect-button,body.museum-controller-page .secret-admin-trigger{border:0;outline:none;-webkit-tap-highlight-color:transparent}body.museum-controller-page .select-tile:focus,body.museum-controller-page .controller-effect-button:focus,body.museum-controller-page .secret-admin-trigger:focus{outline:none}body.museum-controller-page .select-tile:focus-visible,body.museum-controller-page .controller-effect-button:focus-visible,body.museum-controller-page .secret-admin-trigger:focus-visible{outline:none;box-shadow:0 0 0 4px #2c69cd38}body.museum-controller-page .secret-admin-trigger{pointer-events:auto;appearance:none;color:#e6f1ff}body.museum-controller-page .display-chip.visible.secret-admin-trigger{opacity:1;transform:translateY(0)}body.museum-controller-page .admin-lock-shell{min-height:100vh;display:grid;place-items:center}body.museum-controller-page .admin-lock-panel{width:min(460px,100%);display:grid;gap:14px}body.museum-controller-page .admin-password-input{font-size:1.1rem}body.museum-controller-page .admin-lock-error{color:#ffaea8;font-weight:700}body.museum-controller-page .pairing-admin-button{margin-top:4px;min-width:120px}body.museum-controller-page .select-tile,body.museum-controller-page .controller-effect-button,body.museum-controller-page .select-tile.selected,body.museum-controller-page .controller-effect-button:focus,body.museum-controller-page .controller-effect-button:focus-visible,body.museum-controller-page .select-tile:focus,body.museum-controller-page .select-tile:focus-visible{appearance:none!important;-webkit-appearance:none!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent!important}body.museum-controller-page .select-tile img,body.museum-controller-page .controller-effect-button img{background:transparent!important;box-shadow:none!important;border:0!important}body.museum-controller-page .controller-effect-button{background:transparent!important}body.museum-controller-page .select-tile,body.museum-controller-page .controller-effect-button{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;appearance:none;-webkit-appearance:none}body.museum-controller-page .select-tile:focus,body.museum-controller-page .select-tile:focus-visible,body.museum-controller-page .controller-effect-button:focus,body.museum-controller-page .controller-effect-button:focus-visible{outline:none!important;box-shadow:none!important}body.museum-controller-page .select-tile.selected{filter:saturate(1.55) contrast(1.08) brightness(1.04) hue-rotate(-5deg) drop-shadow(0 0 16px rgba(44,105,205,.35))}body.museum-controller-page html,body.museum-controller-page body,body.museum-controller-page #root{width:100%;height:100%;overflow:hidden}body.museum-controller-page .controller-app-shell{width:100%;height:100%;display:flex;align-items:center;justify-content:center}body.museum-controller-page .controller-screen{width:100%;height:100%;margin:0;background:linear-gradient(rgba(45,102,190,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(45,102,190,.045) 1px,transparent 1px),var(--mu-background-image, none) center / cover no-repeat,#f8fbff;background-size:14px 14px,14px 14px,cover,auto;display:grid;grid-template-rows:30% 40% 30%;gap:12px;padding:24px}body.museum-controller-page .character-select,body.museum-controller-page .environment-select{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;height:100%}body.museum-controller-page .select-tile{width:100%;height:100%}body.museum-controller-page .effectGrid{height:100%;grid-template-columns:repeat(2,1fr);gap:20px}body.museum-controller-page .effectButton{width:100%;height:100%}body.museum-controller-page .controller-app-shell{display:block}body.museum-controller-page html,body.museum-controller-page body,body.museum-controller-page #root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}body.museum-controller-page .mu-shell.remote-shell.controller-shell{width:100vw;height:100vh;min-height:100vh;padding:0!important;margin:0!important;background:#000!important;overflow:hidden;display:grid!important;place-items:center!important}body.museum-controller-page .remote-shell{padding:0!important}body.museum-controller-page .controller-app-shell{width:min(820px,100vw,calc(100vh * 820 / 1180))!important;height:auto!important;aspect-ratio:820 / 1180!important;max-width:820px!important;max-height:1180px!important;min-height:0!important;padding:0!important;margin:0!important;display:block!important;background:transparent!important}body.museum-controller-page .controller-ipad{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden}body.museum-controller-page .controller-screen{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important}body.museum-controller-page .controller-effect-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:12px;font-weight:600;letter-spacing:.5px;color:#2d66be8c;text-align:center;padding:4px}body.museum-controller-page .select-tile-content,body.museum-controller-page .controller-effect-content{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;display:block}body.museum-controller-page .select-tile:has(.select-tile-border) .select-tile-content,body.museum-controller-page .controller-effect-button:has(.controller-effect-border) .controller-effect-content{object-fit:cover}body.museum-controller-page .select-tile-border,body.museum-controller-page .controller-effect-border{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;display:block;z-index:2;transition:opacity .22s ease}body.museum-controller-page .select-tile-border-active,body.museum-controller-page .controller-effect-border-active{opacity:0}body.museum-controller-page .select-tile.selected .select-tile-border-idle,body.museum-controller-page .controller-effect-button:not(:disabled):active .controller-effect-border-idle{opacity:0}body.museum-controller-page .select-tile.selected .select-tile-border-active,body.museum-controller-page .controller-effect-button:not(:disabled):active .controller-effect-border-active{opacity:1}body.museum-controller-page .select-tile.has-border.selected{filter:saturate(1.1) contrast(1.02) brightness(1)}body.museum-controller-page .select-tile-group,body.museum-controller-page .controller-effect-grid{overflow:visible}body.museum-controller-page .select-tile-group.character-select .select-tile{aspect-ratio:470 / 696;width:100%;height:auto;max-height:100%}body.museum-controller-page .select-tile-group.environment-select .select-tile{aspect-ratio:476 / 468;width:100%;height:auto;max-height:100%}body.museum-controller-page .controller-effect-button{aspect-ratio:720 / 400;height:auto;max-height:100%;width:100%;place-self:center}body.museum-controller-page .select-tile{opacity:1;transform:scale(1);filter:none;z-index:1;transition:transform .22s ease,z-index 0s linear .22s}body.museum-controller-page .select-tile.selected{transform:scale(var(--mu-active-scale, 1));filter:none;opacity:1;z-index:10;transition:transform .22s ease,z-index 0s}body.museum-controller-page .select-tile:not(:disabled):active{transform:scale(calc(var(--mu-active-scale, 1) * .985))}body.museum-controller-page .select-tile.selected:not(:disabled):active{transform:scale(calc(var(--mu-active-scale, 1) * .985))}body.museum-controller-page .select-tile:disabled{opacity:.5}body.museum-controller-page .select-tile.selected:disabled{opacity:.85}body.museum-controller-page .select-tile-group.is-carousel .select-tile{grid-column:1 / 2;grid-row:1 / 2;transform:translate(calc(var(--carousel-slot, 0) * (100% + 18px))) scale(.9);transition:transform var(--mu-carousel-rotate, 1s) ease}body.museum-controller-page .select-tile-group.is-carousel .select-tile.selected{transform:translate(calc(var(--carousel-slot, 0) * (100% + 18px))) scale(var(--mu-active-scale, 1));transition:transform var(--mu-carousel-rotate, 1s) ease}body.museum-controller-page .select-tile-group.character-select .select-tile-content{inset:0 0 auto;width:100%;height:calc(622 / 696 * 100% - 2px)}body.museum-controller-page .controller-loading-image{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;z-index:45;pointer-events:none;opacity:0}body.museum-controller-page .controller-loading-image.is-in{animation:muLoadingPhaseIn var(--mu-loading-fade, .25s) ease-out forwards}body.museum-controller-page .controller-loading-image.is-out{animation:muLoadingPhaseOut var(--mu-loading-fade, .25s) ease-out forwards}@keyframes muLoadingPhaseIn{0%{opacity:0}to{opacity:1}}@keyframes muLoadingPhaseOut{0%{opacity:1}to{opacity:0}}body.museum-controller-page .controller-screen .environment-select{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr;min-width:0;min-height:0}body.museum-controller-page .controller-screen .environment-select .select-tile{min-width:0;min-height:0;max-width:100%;max-height:100%}body.museum-controller-page .environment-select .select-tile-content,body.museum-controller-page .environment-select .select-tile-border{position:absolute!important}body.museum-controller-page .controller-screen .environment-select .select-tile.selected{transform:scale(min(1.5,var(--mu-active-scale, 1)))}body.museum-controller-page .controller-screen .environment-select.is-carousel .select-tile.selected{transform:translate(calc(var(--carousel-slot, 0) * (100% + 18px))) scale(min(1.5,var(--mu-active-scale, 1)))}body.museum-controller-page .controller-screen .environment-select .select-tile:not(:disabled):active,body.museum-controller-page .controller-screen .environment-select .select-tile.selected:not(:disabled):active{transform:scale(calc(min(1.5,var(--mu-active-scale, 1))*.985))}
