@font-face{font-family:Suisse Intl;src:url(/fonts/SuisseIntl-Book.woff2) format("woff2"),url(/fonts/SuisseIntl-Book.woff) format("woff");font-weight:300;font-display:swap}@font-face{font-family:Suisse Intl;src:url(/fonts/SuisseIntl-Regular.woff2) format("woff2"),url(/fonts/SuisseIntl-Regular.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:Suisse Intl;src:url(/fonts/SuisseIntl-Medium.woff2) format("woff2"),url(/fonts/SuisseIntl-Medium.woff) format("woff");font-weight:500;font-display:swap}@font-face{font-family:Suisse Intl;src:url(/fonts/SuisseIntl-SemiBold.woff2) format("woff2"),url(/fonts/SuisseIntl-SemiBold.woff) format("woff");font-weight:600;font-display:swap}@font-face{font-family:Suisse Intl;src:url(/fonts/SuisseIntl-Bold.woff2) format("woff2"),url(/fonts/SuisseIntl-Bold.woff) format("woff");font-weight:700;font-display:swap}:root{--font: "Suisse Intl", Helvetica, "Helvetica Neue", Arial, sans-serif;--ink: #141414;--paper: #ffffff;--grey-1: #f5f5f6;--grey-2: #ededee;--grey-3: #a6a6ad;--grey-4: #6a6a72;--line: #e6e6e9;--radius: 14px;--radius-modal: 20px;--radius-sm: 10px;--shadow: 0 10px 30px rgba(0, 0, 0, .12);--shadow-lg: 0 24px 70px rgba(0, 0, 0, .28);font-family:var(--font)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;background:#000;color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:var(--font)}button,input,textarea,select{font-family:inherit}button{transition:background .15s ease,color .15s ease,transform .08s ease,box-shadow .15s ease,border-color .15s ease}button:active{transform:translateY(1px)}.app{position:fixed;inset:0}canvas{display:block;touch-action:none}.app,.hud,button,.lang-switch,.tp-menu,.tour-bar,.ctx-menu,[role=button]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea,select,[contenteditable],.modal,.save-issue,.spawn-box{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.crosshair{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border:1.5px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 0 0 1px #00000059;pointer-events:none;z-index:2}.hud-top{position:absolute;top:16px;left:16px;right:16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:flex-start;gap:10px;z-index:5;pointer-events:none}.hud-zone{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}.hud-zone>*{pointer-events:auto}.hud-left{justify-content:flex-start}.hud-center{justify-content:center}.hud-right{justify-content:flex-end}.hud-btn.icon-only{min-width:0;width:40px;height:40px;padding:0;border-radius:50%;flex:0 0 auto}.hud-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.badge{height:40px;display:inline-flex;align-items:center;background:#fffffff2;color:var(--ink);backdrop-filter:blur(10px);padding:0 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.01em;box-shadow:var(--shadow);border:none;font-family:inherit}.badge-done{background:var(--ink);color:#fff}.badge-click{cursor:pointer}.badge-click:hover{background:#fff;transform:translateY(-1px);box-shadow:0 14px 34px #0000002e}.hud-btn{height:40px;min-width:120px;display:inline-flex;align-items:center;gap:8px;justify-content:center;background:#fffffff2;color:var(--ink);backdrop-filter:blur(10px);border:none;padding:0 16px;border-radius:999px;font-size:13px;cursor:pointer;font-weight:600;box-shadow:var(--shadow)}.hud-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 14px 34px #0000002e}.hud-btn svg{color:var(--ink)}.hud-btn.accent{background:var(--ink);color:#fff}.hud-btn.accent svg{color:#fff}.hud-btn.accent:hover{background:#000}.reflection-card{max-width:520px;text-align:center;padding:40px 34px}.reflection-kicker{letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-weight:700;color:#9a9aa2;margin-bottom:8px}.reflection-body{font-size:16px;line-height:1.65;color:var(--ink);margin:16px 0 26px}.reflection-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.reflection-actions .btn-primary{width:auto;padding:12px 22px}.narration-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:9px 16px;border-radius:999px;border:none;background:var(--ink);color:#fff;font-weight:600;font-size:13px;cursor:pointer}.narration-btn:hover{background:#000}.narration-btn svg{color:#fff}.tp-wrap{position:relative}.tp-menu{position:absolute;right:0;top:48px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);min-width:210px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}.tp-menu button{display:flex;align-items:center;gap:10px;background:none;border:none;color:var(--ink);text-align:left;padding:12px 16px;cursor:pointer;font-size:14px;font-weight:500}.tp-menu button:hover{background:var(--grey-1)}.tp-menu svg{color:var(--grey-4)}.overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#0a0a0c80;backdrop-filter:blur(6px);padding:20px;animation:fade .18s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{position:relative;background:var(--paper);color:var(--ink);border-radius:var(--radius-modal);max-width:940px;width:100%;max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg);animation:pop .2s cubic-bezier(.2,.8,.3,1)}@keyframes pop{0%{transform:scale(.97);opacity:.6}to{transform:scale(1);opacity:1}}.modal.panel{max-width:560px;padding:30px}.modal.panel.narrow{max-width:390px}.modal.admin{max-width:1280px;width:94vw;max-height:92vh;padding:28px}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;z-index:2;color:var(--ink)}.modal-close:hover{background:var(--grey-1)}.perf-hud{position:fixed;left:12px;top:68px;z-index:60;font:600 11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff;background:#0c0e12d1;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:7px 10px;min-width:150px;pointer-events:none;backdrop-filter:blur(6px)}.perf-hud .perf-row{display:flex;justify-content:space-between;gap:14px}.align-bar{position:fixed;top:74px;left:50%;transform:translate(-50%);z-index:55;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;background:#0c0e12e6;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 8px;backdrop-filter:blur(8px);box-shadow:0 12px 34px #00000052;max-width:calc(100vw - 24px)}.align-bar.in-tour{top:152px}.align-bar .align-count{color:#9ee7ff;font-size:12px;font-weight:700;padding:0 8px;white-space:nowrap}.align-bar button{border:0;background:#ffffff1a;color:#fff;font-size:12px;font-weight:600;padding:7px 11px;border-radius:999px;cursor:pointer}.align-bar button:hover{background:#ffffff38}.align-bar .align-clear{background:transparent;color:#ff8a8a;padding:7px 9px}.lang-switch{display:inline-flex;align-items:center;gap:2px;height:40px;background:#fffffff2;backdrop-filter:blur(10px);border:0;box-shadow:var(--shadow);border-radius:999px;padding:0 4px}.lang-switch button{border:0;background:transparent;color:var(--ink);font-weight:600;font-size:12px;height:32px;padding:0 12px;border-radius:999px;cursor:pointer;line-height:1}.lang-switch button.on{background:var(--ink);color:#fff}.lang-switch.on-start{margin:0 auto 16px;box-shadow:none;border:1px solid var(--line);background:var(--grey-1)}.artwork-modal-grid{display:grid;grid-template-columns:1.05fr 1fr}.artwork-modal-img{background:#0a0a0a;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-modal) 0 0 var(--radius-modal);overflow:hidden;min-height:min(74vh,600px)}.artwork-modal-img img,.artwork-modal-img video{width:100%;height:100%;max-height:90vh;object-fit:contain}.artwork-modal-grid.no-img{grid-template-columns:1fr}.artwork-modal-grid.no-img .artwork-modal-body{padding:40px}.artwork-modal-body{padding:42px 40px}.artwork-date{font-size:12px;letter-spacing:0;color:var(--grey-4)}.artwork-title{margin:6px 0 4px;font-size:30px;line-height:1.08;font-weight:700}.artwork-artist{margin:0 0 14px;font-size:15px;font-style:italic;color:var(--grey-4)}.theme-pill{display:inline-block;background:var(--grey-2);color:#333;padding:7px 15px;border-radius:999px;font-size:12.5px;font-weight:700}.artwork-desc{margin-top:20px;font-size:15.5px;line-height:1.1;color:#3a3a3a;white-space:pre-wrap}.start-screen{background:radial-gradient(120% 100% at 50% 0%,#1c1c22,#050507)}.start-card{text-align:center;max-width:470px;color:#fff}.start-kicker{letter-spacing:.3em;text-transform:uppercase;font-size:11px;color:var(--grey-3)}.start-card h1{font-size:48px;margin:14px 0 4px;font-weight:700;letter-spacing:-.02em}.start-sub{color:var(--grey-3);margin:0 0 28px;letter-spacing:.04em}.start-help{list-style:none;padding:0;margin:0 0 32px;display:inline-block;text-align:left}.start-help li{padding:8px 0;color:#e2e2e6;font-size:14.5px}.start-help li:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff;margin-right:14px;vertical-align:middle}.btn-primary,.btn-dark,.btn-ghost{height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;padding:0 22px}.btn-primary,.btn-dark{background:var(--ink);color:#fff;border:none}.btn-primary{width:100%}.btn-primary:hover,.btn-dark:hover{background:#2c2c2c;transform:translateY(-1px);box-shadow:var(--shadow)}.btn-dark.sm,.btn-ghost.sm{height:38px;font-size:13px;padding:0 16px}.btn-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}.btn-ghost:hover{background:var(--grey-1)}.icon-btn{border:1px solid var(--line);background:#fff;width:34px;height:34px;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--grey-4)}.icon-btn:hover{background:var(--grey-1);color:var(--ink)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--grey-4)}.field input,.field textarea,.field select{font-weight:400;text-transform:none;letter-spacing:0;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #0000000f}.row{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:14px}.row input[type=range]{flex:1;accent-color:var(--ink)}.row input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink)}.muted{color:var(--grey-4);font-size:13px;line-height:1.5}.error{color:#c0392b;font-size:14px}h2{margin-top:0;font-weight:700;font-size:24px}h3{margin:22px 0 10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-4)}.seg{display:inline-flex;background:var(--grey-1);border-radius:12px;padding:4px;gap:4px}.seg.wide{display:flex}.seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:none;padding:9px 12px;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:9px;color:var(--grey-4)}.seg button:hover{color:var(--ink)}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px #0000001a}.scheme-list{display:flex;flex-direction:column;gap:9px}.scheme-row{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}.scheme-row:hover{border-color:var(--grey-3)}.scheme-row.active{border-color:var(--ink);background:var(--grey-1)}.scheme-row input{accent-color:var(--ink)}.scheme-row span{display:flex;flex-direction:column}.scheme-row em{color:var(--grey-4);font-style:normal;font-size:12px}.admin-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-right:52px}.admin-head .btn-ghost{margin-left:auto}.admin-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:26px;margin-top:18px}.admin-list{display:flex;flex-direction:column;gap:9px;max-height:64vh;overflow:auto;padding-right:4px}.admin-list-head{display:flex;align-items:center;justify-content:space-between}.admin-item{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}.admin-item:hover{background:var(--grey-1)}.admin-item.active{border-color:var(--ink)}.admin-item img{width:46px;height:46px;object-fit:cover;background:var(--grey-2);border-radius:8px}.thumb-empty{width:46px;height:46px;border-radius:8px;background:var(--grey-1);display:inline-flex;align-items:center;justify-content:center;color:var(--grey-3)}.admin-item strong{display:block;font-size:14px}.admin-item em{font-style:normal;color:var(--grey-4);font-size:12px}.admin-preview{width:100%;max-height:190px;object-fit:cover;border-radius:12px;margin-bottom:14px;background:var(--grey-2)}.model-chip{display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;font-size:13px;color:var(--grey-4);object-fit:unset;height:auto}.audio-map{position:relative;background-size:cover;background-position:center;border-radius:12px;border:1px solid var(--line);overflow:hidden;touch-action:none;user-select:none}.zone-rect{position:absolute;border:2px solid #4aa3ff;background:#4aa3ff2e;cursor:move;border-radius:4px}.zone-rect.on{border-color:#ff7a59;background:#ff7a5938}.zone-rect span{position:absolute;top:2px;left:4px;font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none}.zone-handle{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;background:#fff;border:2px solid #4aa3ff;border-radius:3px;cursor:nwse-resize}.gizmo-dock{position:absolute;left:16px;top:16px;bottom:16px;z-index:12;width:380px;max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-lg);animation:pop .2s cubic-bezier(.2,.8,.3,1)}.dock-head{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.dock-head strong{font-size:15px}.gizmo-dock .seg{display:flex;width:100%;margin-bottom:14px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-bottom:11px}.grid3 label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:var(--grey-4);min-width:0}.grid3 input{padding:8px 9px;border:1px solid var(--line);border-radius:9px;font-size:13px;width:100%;min-width:0}.grid3 input:focus{outline:none;border-color:var(--ink)}.dock-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}.dock-actions>*{flex:1 1 auto;min-width:0}.field input,.field textarea,.field select,.row input{max-width:100%;min-width:0}.field-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-bottom:10px;min-width:0}.field-row .field{min-width:0;margin:0}.field-row .field input{width:100%;min-width:0}.builder-bar{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;align-items:center;gap:6px;z-index:8;background:#fffffff5;backdrop-filter:blur(10px);border-radius:999px;padding:6px;box-shadow:var(--shadow-lg);max-width:calc(100vw - 24px);overflow-x:auto}.builder-bar .tool{height:40px;min-width:40px;padding:0 12px;border:none;background:transparent;border-radius:999px;cursor:pointer;color:var(--ink);font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.builder-bar .tool:hover{background:var(--grey-1)}.builder-bar .tool.on{background:var(--ink);color:#fff}.builder-bar .sep{width:1px;height:26px;background:var(--line);margin:0 2px;flex:none}.builder-bar .tool:disabled{opacity:.4;cursor:default}.add-wrap{position:relative}.add-menu{position:absolute;bottom:50px;left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg);min-width:210px;display:flex;flex-direction:column}.add-menu button{display:flex;align-items:center;gap:10px;background:none;border:none;padding:11px 14px;text-align:left;font-size:13.5px;cursor:pointer;color:var(--ink)}.add-menu button:hover{background:var(--grey-1)}.add-menu svg{color:var(--grey-4)}.sound-prompt{position:absolute;left:50%;bottom:96px;transform:translate(-50%);display:flex;align-items:center;gap:10px;z-index:9;cursor:pointer;padding:10px 16px 10px 10px;border-radius:999px;color:#fff;font-weight:600;font-size:14px;background:#14141861;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);box-shadow:0 10px 30px #00000040}.sound-prompt .key-cap{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#fff;color:#111;font-weight:800}.minimap{position:absolute;left:14px;top:64px;z-index:8;background:#1414186b;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:6px;box-shadow:var(--shadow);pointer-events:none;max-width:38vw}.minimap.minimap-bw{background:#fffffff0;border:1px solid rgba(0,0,0,.14)}.hud-btn.on{background:var(--ink);color:#fff}.hud-btn.on svg{color:#fff}.avatar-lib{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.avatar-chip{position:relative;display:inline-flex}.avatar-chip button{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink)}.avatar-chip.on button{background:var(--ink);color:#fff;border-color:var(--ink)}.avatar-chip .x{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:999px;background:#c0392b;color:#fff;font-size:12px;line-height:18px;text-align:center;cursor:pointer}.embed-modal{max-width:940px;width:100%;height:82vh;padding:0;overflow:hidden}.embed-frame{width:100%;height:100%;border:0;border-radius:20px;background:#fff}@media (max-width: 820px){.artwork-modal-grid{grid-template-columns:1fr}.artwork-modal-img{border-radius:var(--radius-modal) var(--radius-modal) 0 0}.artwork-modal-img img{max-height:38vh}.admin-grid{grid-template-columns:1fr}.modal{max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal.admin,.modal.panel{padding:20px;width:calc(100vw - 24px)}.audio-map{width:100%!important;height:auto!important;aspect-ratio:1 / 1}.gizmo-dock{width:calc(100% - 24px);left:12px;bottom:76px;max-height:56vh;overflow:auto}.hud-top{gap:8px}.hud-btn{min-width:0;padding:0 12px}.hud-btn span{display:none}.builder-bar{bottom:12px;max-width:calc(100vw - 16px)}.embed-modal{height:88vh}}@media (min-width: 561px) and (max-width: 1180px) and (pointer: coarse){.builder-bar{flex-wrap:wrap;justify-content:center;overflow-x:visible;border-radius:22px;max-width:min(720px,calc(100vw - 20px));row-gap:4px}.builder-bar .sep{height:20px}}@media (max-width: 560px){.builder-bar .tool span{display:none}.builder-bar .tool{padding:0 9px;min-width:38px}.hud-top{top:10px;left:10px;right:10px;flex-wrap:wrap}.badge{height:34px;font-size:12px;padding:0 12px}.hud-btn{height:38px}.modal.admin,.modal.panel{padding:14px;border-radius:18px}.gizmo-dock{bottom:70px;max-height:50vh}.gizmo-dock .grid3{grid-template-columns:1fr 1fr}.builder-bar{gap:3px;padding:4px}.builder-bar .tool{height:38px}.add-menu{min-width:180px}}.tour-arrow{position:fixed;top:50%;transform:translateY(-50%);width:60px;height:60px;border-radius:50%;border:none;background:#0a0a0ed1;color:#fff;box-shadow:0 6px 26px #00000073;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:60;backdrop-filter:blur(6px);transition:background .15s,transform .1s}.tour-arrow:hover{background:#101014}.tour-arrow:active{transform:translateY(-50%) scale(.94)}.tour-left{left:24px}.tour-right{right:24px}.tour-hud{position:fixed;bottom:26px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;background:#0000009e;color:#fff;padding:9px 10px 9px 18px;border-radius:999px;z-index:60;backdrop-filter:blur(6px)}.tour-count{font-weight:700;font-size:14px;white-space:nowrap}.tour-exit{background:#ffffff29;border:none;color:#fff;border-radius:999px;padding:7px 13px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:5px}.tour-exit:hover{background:#ffffff47}@media (max-width: 600px){.tour-arrow{width:50px;height:50px}.tour-left{left:12px}.tour-right{right:12px}.tour-hud{bottom:92px}}.tour-admin{margin-top:16px}.tour-list{margin-top:12px;max-height:62vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:6px}.tour-row{display:flex;align-items:center;gap:12px;padding:7px 10px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:#fafafa}.tour-row.text{background:#f3f1ff}.tour-ord{display:flex;align-items:center;gap:3px}.tour-ord button{width:24px;height:22px;border:1px solid rgba(0,0,0,.15);background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;padding:0}.tour-ord button:disabled{opacity:.35;cursor:default}.tour-ord input{width:46px;text-align:center;padding:5px 4px;border:1px solid rgba(0,0,0,.15);border-radius:6px;font-weight:700}.tour-oeuvre{display:flex;align-items:center;gap:5px;font-size:12px;color:#555;white-space:nowrap;user-select:none}.tour-thumb{width:38px;height:38px;object-fit:cover;border-radius:6px;background:#e8e8e8;flex:0 0 auto}.tour-thumb.empty{display:flex;align-items:center;justify-content:center;color:#999}.tour-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:#1a1a1a}.tour-label em{font-style:normal;font-weight:400;font-size:11px;color:#999;margin-left:8px}.tour-grip{display:flex;align-items:center;color:#b0b0b8;cursor:grab;flex:0 0 auto;padding:0 2px}.tour-grip:active{cursor:grabbing}.tour-grip:hover{color:#555}.tour-row.dragging{opacity:.4}.tour-row.drop-target{border-color:#2d7dff;box-shadow:0 0 0 2px #2d7dff40 inset}.coll-tools{display:flex;gap:6px;align-items:center;margin:8px 0 6px}.coll-search{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;font-size:13px}.coll-filter{flex:0 0 auto;padding:7px 8px;border:1px solid var(--line);border-radius:9px;font-size:12px;background:#fff}.ai-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.ai-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-badges{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.ai-badges>span{font-size:9px;line-height:1;font-weight:700;letter-spacing:.02em;padding:3px 5px;border-radius:5px;display:inline-flex;align-items:center;gap:2px}.badge-k{background:#e7eaf0;color:#3a3f4a}.badge-image,.badge-gif{background:#e3f0e6;color:#2c6b3a}.badge-video,.badge-web{background:#e6ecf7;color:#2f5aa8}.badge-model{background:#f0eae0;color:#8a6a2a}.badge-empty{background:#f3e6e6;color:#9a4a4a}.badge-bad{background:#b3261e;color:#fff}.badge-n{background:#efe6c8;color:#7a5c10}.badge-tr{background:#eee;color:#aaa;border:1px solid #e2e2e2}.badge-tr.on{background:#dcefe0;color:#2c6b3a;border-color:#bfe3c7}.history-bar{position:fixed;right:12px;top:160px;z-index:25;display:flex;align-items:center;gap:8px;background:#141418db;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 12px 6px 6px;box-shadow:0 8px 28px #00000059;-webkit-user-select:none;user-select:none}.hb-btn{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffffff1a;color:#fff;border:none}.hb-btn:hover:not(:disabled){background:#fff3}.hb-btn:disabled{opacity:.3;cursor:default}.hb-btn.flip svg{transform:scaleX(-1)}.hb-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#d6d6da;padding-right:4px}.hb-dot{width:7px;height:7px;border-radius:50%;background:#9aa0a6}.hb-status.saved .hb-dot{background:#34c759}.hb-status.saving .hb-dot{background:#fc0;animation:hbPulse 1s ease-in-out infinite}@keyframes hbPulse{0%,to{opacity:1}50%{opacity:.3}}.stats-list{display:grid;gap:6px;margin-top:6px}.stats-row{display:grid;grid-template-columns:26px 1fr 120px 44px;align-items:center;gap:10px;font-size:13px}.stats-rank{color:#999;text-align:right;font-variant-numeric:tabular-nums}.stats-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-title em{color:#999;font-style:normal;font-size:11px;margin-left:6px}.stats-bar{height:8px;background:#eee;border-radius:999px;overflow:hidden}.stats-bar span{display:block;height:100%;background:#2d7dff}.stats-count{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.modal-share{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#333;font-size:13px;cursor:pointer}.modal-share:hover{background:#f4f4f6}.tut-overlay{position:fixed;inset:0;z-index:60;background:#08080c8c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:tutFade .3s ease both}.tut-card{position:relative;width:min(92vw,480px);background:#17171c;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:26px 26px 20px;text-align:center;box-shadow:0 24px 80px #0000008c;animation:tutUp .35s ease both}.tut-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;font-size:14px}.tut-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9aa0a6;margin-bottom:4px}.tut-card h2{margin:0 0 6px;font-size:22px}.tut-card p{margin:10px 0 4px;font-size:14px;color:#d6d6da;line-height:1.45;min-height:40px}.tut-visual{min-height:110px;display:flex;align-items:center;justify-content:center;gap:18px;background:#ffffff0d;border-radius:14px;padding:14px 10px;margin-top:10px}.tut-or{color:#9aa0a6;font-size:13px}.key-col{display:grid;gap:6px;justify-items:center}.key-row{display:flex;gap:6px}.keycap{display:inline-flex;align-items:center;justify-content:center;height:46px;border-radius:9px;font-weight:700;font-size:15px;color:#17171c;background:#fff;box-shadow:0 3px #b9b9c0,inset 0 -2px #00000014;animation:keyPulse 1.8s ease-in-out infinite}@keyframes keyPulse{0%,55%,to{transform:translateY(0);background:#fff}12%{transform:translateY(3px);background:#9ee7ff;box-shadow:0 0 #b9b9c0,inset 0 -1px #00000014}28%{transform:translateY(0);background:#fff}}.tut-arc{stroke-dashoffset:0;animation:arcFlow 1.6s linear infinite}@keyframes arcFlow{to{stroke-dashoffset:-32}}.tut-mouse{animation:mouseSway 1.6s ease-in-out infinite alternate;transform-origin:110px 64px}@keyframes mouseSway{0%{transform:translate(-26px)}to{transform:translate(26px)}}.tut-finger{offset-path:path("M 30 60 Q 110 15 190 55");animation:fingerRide 1.8s ease-in-out infinite alternate}@keyframes fingerRide{0%{offset-distance:0%}to{offset-distance:100%}}.tut-jump{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:#ffffff24;color:#fff;font-size:14px;font-weight:700;animation:jumpPulse 1.6s ease-in-out infinite}@keyframes jumpPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12);box-shadow:0 0 0 10px #9ee7ff26}}.tut-dots{display:flex;gap:7px;justify-content:center;margin:14px 0 12px}.tut-dots span{width:8px;height:8px;border-radius:50%;background:#ffffff40;cursor:pointer;transition:background .2s,transform .2s}.tut-dots span.on{background:#9ee7ff;transform:scale(1.25)}.tut-actions{display:flex;gap:10px;justify-content:center}.tut-actions .btn-primary.sm{padding:9px 22px}@keyframes tutFade{0%{opacity:0}to{opacity:1}}@keyframes tutUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.kiosk-toggles{display:grid;gap:2px;margin:4px 0 6px;padding-left:4px}.spawn-box{margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafafa}.spawn-box h3{font-size:14px}.save-issue{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;background:#fdecea;border:1px solid #f5c6c0;border-radius:10px;color:#8c1d18;font-size:13px;line-height:1.35}.save-issue button{margin-left:auto;flex:0 0 auto}.audio-toggle{padding-left:10px;padding-right:10px}.audio-toggle:not(.on){opacity:.5}.rte{border:1px solid #dcdcdc;border-radius:8px;overflow:hidden;background:#fff}.rte-tools{display:flex;gap:2px;padding:4px 5px;background:#f6f6f6;border-bottom:1px solid #e6e6e6;align-items:center}.rte-tools button,.rte-color{min-width:26px;height:24px;border:1px solid transparent;background:transparent;border-radius:5px;cursor:pointer;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:#333}.rte-tools button:hover,.rte-color:hover{background:#e6e6e6}.rte-color{gap:3px;padding:0 4px}.rte-color input{width:16px;height:16px;border:0;padding:0;background:none;cursor:pointer}.rte-area{padding:8px 10px;font-size:14px;line-height:1.45;outline:none;white-space:pre-wrap;color:#222;text-transform:none;font-weight:400;font-style:normal;letter-spacing:normal}.rte-area b,.rte-area strong{font-weight:700}.rte-area:empty:before{content:attr(data-placeholder);color:#aaa}.artwork-question{margin-top:16px;font-size:16px;white-space:pre-wrap}.canvas-crash{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0e0f12;color:#f3f4f6;padding:24px}.canvas-crash-box{max-width:460px;text-align:center}.canvas-crash-box h2{margin:0 0 10px;font-size:20px}.canvas-crash-box p{margin:0 0 18px;font-size:14px;line-height:1.5;color:#b9bec7}.canvas-crash-box button{padding:10px 22px;border:0;border-radius:999px;cursor:pointer;background:#fff;color:#111;font-size:14px;font-weight:600}.ctx-menu{position:fixed;z-index:90;min-width:184px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;overflow:hidden}.ctx-title{font-size:11px;font-weight:700;color:#999;padding:6px 10px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.ctx-menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:var(--ink);padding:9px 10px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500}.ctx-menu button:hover{background:var(--grey-1)}.ctx-menu button svg{color:var(--grey-4)}.ctx-menu button.danger{color:#c0392b}.ctx-menu button.danger svg{color:#c0392b}.idle-veil{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#0a0b0db8;backdrop-filter:blur(3px);padding:24px}.idle-card{background:#fff;color:#111;border-radius:18px;padding:30px 34px;max-width:420px;text-align:center;box-shadow:0 24px 60px -20px #00000080}.idle-lead{margin:0 0 10px;font-size:24px;font-weight:700;letter-spacing:-.01em}.idle-sub{margin:0 0 20px;font-size:15px;line-height:1.5;color:#555}.idle-sub strong{color:#111;font-variant-numeric:tabular-nums}.idle-btn{border:0;border-radius:999px;padding:12px 26px;cursor:pointer;background:#111;color:#fff;font-size:15px;font-weight:600}.idle-btn:focus-visible{outline:3px solid #4aa3ff;outline-offset:2px}.stats-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:0 0 20px}.stats-links>div{background:var(--grey-1);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px}.stats-links strong{display:block;font-size:14px;margin-bottom:5px}.stats-links p{margin:0 0 11px;font-size:13px;line-height:1.45}.stats-links a{display:inline-block;text-decoration:none}.privacy-note{position:fixed;left:50%;transform:translate(-50%);bottom:20px;z-index:40;width:min(1060px,calc(100vw - 28px));display:flex;align-items:center;gap:18px;background:#fffffff7;backdrop-filter:blur(10px);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:11px 18px;color:var(--ink)}.privacy-body{flex:1 1 auto}.privacy-body strong{display:inline;font-size:13px;margin-right:6px}.privacy-body p{margin:0;font-size:12px;line-height:1.45;color:var(--grey-4)}.privacy-body em{font-style:normal;font-weight:600;color:var(--ink)}.privacy-links{margin-top:4px!important;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.privacy-links button{border:0;background:none;padding:0;cursor:pointer;font-size:12.5px;color:var(--ink);font-weight:600;text-decoration:underline}.privacy-links span{color:var(--grey-3)}.privacy-actions{flex:0 0 auto;display:flex;gap:8px;align-items:center}.privacy-ok,.privacy-refuse{border:0;border-radius:999px;cursor:pointer;font-weight:600;font-size:13px;padding:11px 20px}.privacy-ok{background:var(--ink);color:#fff}.privacy-refuse{background:var(--grey-2);color:var(--ink)}.privacy-ok:focus-visible,.privacy-refuse:focus-visible{outline:3px solid #4aa3ff;outline-offset:2px}.info-wrap{position:fixed;right:16px;bottom:16px;z-index:30}.info-btn{width:36px;height:36px;border-radius:50%;cursor:pointer;border:0;background:#ffffffeb;color:var(--ink);backdrop-filter:blur(10px);box-shadow:var(--shadow);font-family:var(--font);font-size:16px;font-weight:700;font-style:italic;line-height:1}.info-btn:hover{background:#fff}.info-menu{position:absolute;right:0;bottom:46px;display:flex;flex-direction:column;min-width:230px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--line)}.info-menu button{border:0;background:none;text-align:left;cursor:pointer;padding:12px 16px;font-size:13.5px;font-weight:500;color:var(--ink)}.info-menu button:hover{background:var(--grey-1)}.legal-modal{max-width:720px;padding:34px 34px 26px}.legal-body h2{margin:0 0 4px;font-size:24px;letter-spacing:-.01em}.legal-body h3{margin:22px 0 6px;font-size:14px;letter-spacing:.02em}.legal-body p,.legal-body li{font-size:14px;line-height:1.6;color:#3a3a3a;margin:0 0 10px}.legal-body ul{margin:0 0 10px;padding-left:20px}.legal-body a{color:var(--ink)}.legal-actions{display:flex;justify-content:flex-end;margin-top:22px}@media (max-width: 1024px){.hud-top{top:12px;left:12px;right:12px;gap:8px}.hud-btn{min-width:0;padding:0 14px}.modal.admin{width:96vw;padding:20px}.artwork-modal-grid{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.hud-btn span{display:none}.hud-btn{width:44px;min-width:44px;height:44px;padding:0;justify-content:center}.hud-btn.accent{width:auto;padding:0 14px}.hud-btn.accent span{display:inline}.hud-top{top:10px;left:10px;right:10px;gap:6px}.badge{height:36px;padding:0 12px;font-size:12px}.tp-menu{right:auto;left:0;min-width:200px;max-width:calc(100vw - 24px)}.privacy-note{flex-direction:column;align-items:stretch;gap:12px;bottom:12px;padding:14px}.privacy-ok{width:100%;padding:13px 20px}.artwork-modal-grid{grid-template-columns:1fr}.artwork-modal-img{min-height:0;max-height:42vh;border-radius:var(--radius-modal) var(--radius-modal) 0 0}.artwork-modal-img img,.artwork-modal-img video{max-height:42vh}.artwork-modal-body{padding:22px 20px 26px}.artwork-title{font-size:24px}.modal{border-radius:var(--radius-modal);max-height:92vh}.modal.panel{padding:22px 18px}.modal.admin{width:100vw;max-height:100vh;border-radius:0;padding:16px 14px}.stats-links{grid-template-columns:1fr}}@media (max-height: 460px) and (orientation: landscape){.hud-top{top:8px}.hud-btn{height:36px;width:36px;min-width:36px}.privacy-note{bottom:8px;padding:10px 12px}}.stats-embed{margin:0 0 20px;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:#fff}.stats-embed iframe{width:100%;height:620px;border:0;display:block}@media (max-width: 640px){.stats-embed iframe{height:460px}}@media (max-width: 640px){.privacy-note{flex-direction:column;align-items:stretch;gap:12px;bottom:12px;padding:14px}.privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.privacy-ok,.privacy-refuse{width:100%;padding:13px 16px}.legal-modal{padding:26px 18px 20px}.info-wrap{right:10px;bottom:14px}}.gizmo-dock .field{margin-bottom:8px}.gizmo-dock .seg{margin-bottom:10px}.gizmo-dock .seg.wide button{padding:7px 6px;font-size:12px}.gizmo-dock .row{margin:6px 0;font-size:13px}.gizmo-dock p.muted{font-size:11.5px;line-height:1.4}.gizmo-dock textarea{min-height:62px}.gizmo-dock .dock-head{margin-bottom:10px}.gizmo-dock .dock-actions{position:sticky;bottom:-16px;background:#fff;padding:10px 0 2px;margin-top:6px}@media (max-width: 640px){.gizmo-dock{inset:8px;width:auto;max-height:calc(100vh - 16px)}}.artwork-credit{margin:18px 0 12px;font-size:12px;line-height:1.45;color:var(--grey-4);letter-spacing:0}.vid-opts{display:flex;flex-wrap:wrap;gap:10px 16px;margin:2px 0 10px}.vid-opts .chk{font-size:12.5px}.start-screen{position:relative;overflow:hidden}.facegrid-bg{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;cursor:crosshair;touch-action:none}.start-screen .start-card{position:relative;z-index:1;padding:30px 34px;border-radius:18px;background:#08080b70;backdrop-filter:blur(3px);box-shadow:0 30px 90px #00000080}.disc-wrap{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#0404069e;backdrop-filter:blur(4px);padding:20px}.disc-card{position:relative;background:#fff;color:#161616;max-width:520px;width:100%;border-radius:16px;padding:30px 28px 24px;box-shadow:0 30px 90px #00000080}.disc-card h2{margin:0 0 12px;font-weight:500;font-size:22px}.disc-card p{margin:0 0 20px;font-size:14px;line-height:1.6;color:#333}.disc-close{position:absolute;top:14px;right:16px;border:0;background:none;font-size:18px;cursor:pointer;color:#777}@media (max-width: 640px){.start-screen .start-card{padding:22px 18px}.disc-card{padding:24px 18px 18px}}.start-screen.entry-v2{position:absolute;inset:0;display:block;padding:0;background:#000;backdrop-filter:none;overflow:hidden}.entry-stage{position:absolute;inset:0}.entry-v2 .facegrid-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;cursor:crosshair;touch-action:none}.entry-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(16px,3vw,40px)}.entry-overlay .lang-switch{pointer-events:auto}.entry-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.entry-brand{color:#a4a8b0;font-size:13px;display:flex;align-items:center;gap:9px}.entry-brand .dot{width:9px;height:9px;background:#ffe800;border-radius:2px;box-shadow:0 0 14px #ffe80099}.entry-lockup{max-width:min(720px,92vw)}.entry-kicker{color:#ffe800;font-size:14px;font-weight:500;margin:0 0 14px;text-shadow:0 1px 20px rgba(0,0,0,.7)}.entry-lockup h1{font-weight:700;margin:0;color:#fff;font-size:clamp(52px,10.5vw,148px);line-height:.9;letter-spacing:-.02em;text-wrap:balance;text-shadow:0 6px 44px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.5)}.entry-sub{color:#e9e9e5;font-size:clamp(14px,1.5vw,19px);margin:20px 0 0;max-width:40ch;line-height:1.4;text-shadow:0 2px 24px rgba(0,0,0,.7)}.entry-actions{display:flex;align-items:center;gap:14px;margin-top:26px;flex-wrap:wrap}.entry-cta{pointer-events:auto;display:inline-flex;align-items:center;gap:11px;font-family:var(--font);font-weight:500;font-size:16px;color:#0a0a0a;background:#ffe800;border:0;border-radius:10px;padding:15px 26px;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .18s;box-shadow:0 10px 40px #ffe80042}.entry-cta:hover{transform:translateY(-2px);box-shadow:0 16px 52px #ffe80066}.entry-cta .arw{transition:transform .18s}.entry-cta:hover .arw{transform:translate(4px)}.entry-reveal{pointer-events:auto;font-family:var(--font);font-weight:500;font-size:14px;color:#f5f5f2;background:#ffffff0f;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:14px 20px;cursor:pointer;transition:background .16s,border-color .16s}.entry-reveal:hover{background:#ffffff1f;border-color:#ffffff52}.entry-reveal.on{background:#ffe800;color:#0a0a0a;border-color:#ffe800}.entry-cta:focus-visible,.entry-reveal:focus-visible{outline:3px solid #fff;outline-offset:3px}.entry-avatars{pointer-events:auto;margin-top:18px}.entry-avatars-label{display:block;color:#a4a8b0;font-size:13px;margin-bottom:8px}.entry-bottom .entry-controls{list-style:none;margin:0;padding:0;display:grid;gap:6px}.entry-controls li{color:#a4a8b0;font-size:13px;text-shadow:0 1px 14px rgba(0,0,0,.8)}.entry-controls .k{color:#fff;font-weight:500}.disc-langs{display:flex;gap:4px;margin-bottom:14px}.disc-langs button{font-family:var(--font);font-weight:500;font-size:13px;color:#161616;background:#f0f0f0;border:0;border-radius:8px;padding:7px 13px;cursor:pointer}.disc-langs button.on{background:#141414;color:#fff}@media (max-width: 640px){.entry-bottom{margin-top:8px}.entry-controls{grid-template-columns:1fr 1fr;gap:6px 16px}.entry-actions{gap:10px}.entry-cta,.entry-reveal{flex:1 1 auto;justify-content:center}}@media (max-height: 520px) and (orientation: landscape){.entry-lockup h1{font-size:clamp(40px,8vw,80px)}.entry-sub,.entry-controls{display:none}}.entry-lockup h1,.entry-kicker,.entry-sub,.entry-brand,.entry-controls li,.entry-controls .k,.entry-cta,.entry-reveal,.entry-overlay .lang-switch button,.entry-avatars-label,.entry-avatars .avatar-chip button,.disc-card h2,.disc-card p,.disc-langs button,.disc-card .btn-primary{font-weight:500}.start-screen.entry-v2,.start-screen.entry-v2 *,.disc-card,.disc-card *{font-family:Suisse Intl,Helvetica,Arial,sans-serif}.vol-wrap{position:relative}.vol-pop{position:absolute;top:50px;left:0;background:#fffffff7;backdrop-filter:blur(10px);border-radius:999px;box-shadow:var(--shadow-lg);padding:8px 14px 8px 8px;display:flex;align-items:center;gap:10px;z-index:20}.vol-mute{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:#eceef1;color:var(--ink)}.vol-mute.on{background:var(--ink);color:#fff}.hud-btn.icon-only.muted{opacity:.55}.vol-pop input[type=range]{width:140px;accent-color:var(--ink)}.vol-pop .vol-val{font-size:12px;font-weight:600;color:var(--ink);min-width:34px;text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 640px){.vol-pop input[type=range]{width:108px}}.museum-loader{position:fixed;inset:0;z-index:60;background:#0c0a10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .48s ease}.museum-loader.out{opacity:0;pointer-events:none}.museum-loader .ml-brand{color:#fff;font-family:Suisse Intl,Helvetica,sans-serif;font-weight:500;font-size:26px;letter-spacing:-.01em}.museum-loader .ml-bar{width:220px;height:4px;background:#ffffff29;border-radius:4px;overflow:hidden}.museum-loader .ml-fill{height:100%;background:#ffe800;border-radius:4px;transition:width .3s ease}.museum-loader .ml-txt{color:#ffffffd9;font-size:13px;font-weight:500;letter-spacing:.04em;font-variant-numeric:tabular-nums}.overlay.with-nav{gap:18px}.art-nav{flex:0 0 auto;z-index:6;width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;background:#fffffff2;color:var(--ink);box-shadow:var(--shadow-lg);font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center}.art-nav:hover{background:#fff;transform:scale(1.05)}.art-step{position:fixed;bottom:22px;left:50%;transform:translate(-50%);font-size:12px;font-weight:500;color:#fff;background:#0a0a0eb8;padding:6px 14px;border-radius:999px;font-variant-numeric:tabular-nums;z-index:6}@media (max-width: 900px){.overlay.with-nav{gap:0}.art-nav{position:fixed;top:50%;transform:translateY(-50%);width:42px;height:42px;font-size:24px}.art-nav.prev{left:6px}.art-nav.next{right:6px}.art-nav:hover{transform:translateY(-50%) scale(1.05)}}.tour-scrim{position:fixed;inset:0;z-index:55;pointer-events:none;background:linear-gradient(to right,#06060a6b,#06060a00 190px),linear-gradient(to left,#06060a6b,#06060a00 190px)}@media (max-width: 640px){.tour-scrim{background:linear-gradient(to right,#06060a61,#06060a00 120px),linear-gradient(to left,#06060a61,#06060a00 120px)}}.tour-row{cursor:pointer}.tour-row.sel{outline:2px solid var(--ink);outline-offset:-2px;background:#0000000d}.tour-row.grouped{box-shadow:inset 4px 0 0 var(--g, #ffe800);background:var(--gt, transparent)}.tour-row.grouped.text{background:var(--gt, #f3f1ff)}.tour-row.grouped.g-open{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.tour-row.grouped.g-mid{border-top-left-radius:0;border-top-right-radius:0}.tour-menu{position:fixed;z-index:200;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;min-width:168px}.tour-menu button{border:0;background:none;text-align:left;padding:9px 12px;border-radius:7px;font-family:var(--font);font-size:13.5px;font-weight:500;color:var(--ink);cursor:pointer}.tour-menu button:hover:not(:disabled){background:var(--grey-1)}.tour-menu button:disabled{opacity:.4;cursor:default}.load-diag{position:fixed;left:50%;transform:translate(-50%);bottom:22px;z-index:70;width:min(560px,calc(100vw - 28px));background:#fff;color:var(--ink);border-radius:14px;box-shadow:var(--shadow-lg);padding:16px 18px}.load-diag strong{display:block;font-size:14px;margin-bottom:4px}.load-diag p{margin:0 0 12px;font-size:12.5px;line-height:1.5;color:var(--grey-4)}.load-diag .ld-code{font-family:ui-monospace,monospace;font-size:11.5px;color:#b00020;word-break:break-all}.load-diag .ld-actions{display:flex;gap:8px}.tour-row.off-tour{opacity:.5}.tour-row.deco .tour-label:after{content:" · décorative";color:var(--grey-3);font-size:11px}.tour-btns{position:fixed;left:50%;transform:translate(-50%);bottom:26px;z-index:60;display:flex;gap:10px;align-items:center}.tour-btn{font-family:var(--font);font-weight:500;font-size:15px;color:var(--ink);background:#fff;border:0;border-radius:12px;padding:14px 24px;cursor:pointer;box-shadow:0 10px 34px #0000004d;transition:transform .15s,box-shadow .15s;white-space:nowrap}.tour-btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px #00000061}.tour-btn:focus-visible{outline:3px solid #4aa3ff;outline-offset:3px}.tour-btn.primary{background:var(--ink);color:#fff}@media (max-width: 720px){.tour-btns{bottom:18px;width:calc(100vw - 24px);justify-content:center}.tour-btn{flex:1 1 0;font-size:14px;padding:14px 10px;text-align:center}}.tour-hud.top{bottom:auto;top:16px;left:50%;transform:translate(-50%);margin-left:150px}@media (max-width: 900px){.tour-hud.top{margin-left:0;top:62px}}@media (max-width: 640px){.info-wrap{right:10px;bottom:14px}}.hud-btn.tour-live svg{color:#ff3b30}.hud-btn.tour-live{box-shadow:0 0 0 1.5px #ff3b308c,var(--shadow)}.tour-cam{font-family:var(--font);font-size:11.5px;font-weight:500;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:5px 9px;cursor:pointer;white-space:nowrap}.tour-cam.on{background:var(--ink);color:#fff;border-color:var(--ink)}.tour-cam.clear{padding:5px 7px}.tour-zone{font-family:var(--font);font-size:11.5px;border:1px solid var(--line);border-radius:8px;padding:5px 6px;max-width:130px;background:#fff;color:var(--ink)}.tour-admin-bar{position:fixed;top:62px;left:50%;transform:translate(-50%);z-index:62;display:flex;flex-direction:column;align-items:stretch;gap:7px;width:max-content;max-width:min(860px,calc(100vw - 24px));background:#0c0c10e6;backdrop-filter:blur(10px);color:#fff;border-radius:20px;padding:9px 12px 10px 14px;box-shadow:var(--shadow-lg)}.tour-admin-bar .tab-row{display:flex;align-items:center;gap:10px;min-width:0}.tour-admin-bar .tab-ctrls{flex-wrap:wrap}.tour-admin-bar .tab-idx{font-size:12px;font-weight:600;color:#9aa0a8;font-variant-numeric:tabular-nums;flex:none}.tour-admin-bar .tab-name{font-size:14px;font-weight:500;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-admin-bar .tab-count{font-size:10.5px;color:#9aa0a8;white-space:nowrap;flex:none}.tour-admin-bar .tab-ord{display:flex;align-items:center;gap:6px;font-size:11px;color:#9aa0a8}.tour-admin-bar .tab-ord input{width:58px;padding:5px 7px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#fff;font-family:var(--font);font-size:12px}.tab-frame{font-family:var(--font);font-size:12px;font-weight:500;border:0;cursor:pointer;border-radius:999px;padding:8px 14px;background:#ffffff24;color:#fff;transition:background .15s,transform .1s;white-space:nowrap}.tab-frame.moved{background:#22c55e;color:#06210f;font-weight:600}.tab-frame.saved{background:#16a34a;color:#fff}.tab-frame:hover{transform:translateY(-1px)}.tab-clear{border:0;background:#ffffff1f;color:#fff;border-radius:999px;width:28px;height:28px;cursor:pointer;font-size:13px}@media (max-width: 720px){.perf-hud{left:10px;min-width:0;font-size:10px;padding:5px 8px}.tour-admin-bar{top:56px;gap:6px;padding:8px 10px;width:calc(100vw - 20px)}.tour-admin-bar .tab-row{gap:7px}.tour-admin-bar .tab-name{font-size:13px}.tour-admin-bar .tab-count{display:none}.tour-admin-bar .tab-ctrls{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.tour-admin-bar .tab-ctrls::-webkit-scrollbar{display:none}.tour-admin-bar .tab-ctrls>*{flex:none}.tour-admin-bar .tab-ord input{width:46px}.tab-frame,.tab-group,.tab-ungroup{padding:8px 12px}}.tour-end{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#06060a8c;backdrop-filter:blur(4px);padding:20px}.tour-end-card{background:#ffe800;color:#0a0a0a;border-radius:16px;padding:34px 32px 28px;max-width:460px;width:100%;text-align:center;box-shadow:0 30px 90px #00000073}.tour-end-card h2{margin:0 0 22px;font-family:var(--font);font-weight:500;font-size:24px;line-height:1.25;color:#0a0a0a;text-wrap:balance}.tour-end-btn{font-family:var(--font);font-weight:500;font-size:15px;background:#0a0a0a;color:#fff;border:0;border-radius:12px;padding:14px 26px;cursor:pointer}.tour-end-btn:hover{background:#000}.tour-end-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}@media (max-width: 640px){.tour-end-card{padding:26px 20px 22px}.tour-end-card h2{font-size:20px}}.tour-admin-bar .tab-cams{font-size:10.5px;color:#9aa0a8;letter-spacing:.04em;white-space:nowrap}.tour-admin-bar .tab-sep{width:1px;height:20px;background:#ffffff29;flex:none}.tour-admin-bar .tab-gdot{width:10px;height:10px;border-radius:50%;flex:none;box-shadow:0 0 0 2px #ffffff38}.tab-group,.tab-ungroup{font-family:var(--font);font-size:12px;font-weight:500;border:0;cursor:pointer;border-radius:999px;padding:7px 13px;white-space:nowrap;transition:transform .12s ease}.tab-group{background:#2d7dff;color:#fff;font-weight:600}.tab-group:disabled{background:#ffffff1f;color:#9aa0a8;cursor:default;font-weight:500}.tab-ungroup{background:#ffffff1f;color:#fff}.tab-group:hover:not(:disabled),.tab-ungroup:hover{transform:translateY(-1px)}.tour-admin-bar .tab-hint{font-size:10.5px;color:#9aa0a8;white-space:nowrap}.tab-pick{font-family:var(--font);font-size:12px;font-weight:500;border:0;cursor:pointer;border-radius:999px;padding:8px 14px;background:#ffffff24;color:#fff;white-space:nowrap}.tab-pick.on{background:#2d7dff;color:#fff;font-weight:600}.tour-admin-bar .tab-warn{font-size:10.5px;font-weight:600;color:#0c0c10;background:#fbbf24;border-radius:999px;padding:3px 9px;white-space:nowrap;flex:none}.tour-cam.off-target{background:#fbbf24!important;color:#3a2a00!important;border-color:#d99e08!important}@media (max-width: 860px){.tour-admin-bar .tab-hint{display:none}}.tab-target{font-family:var(--font);font-size:11.5px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#fff;border-radius:8px;padding:5px 6px}.tour-target-row{display:flex;align-items:center;gap:8px;margin:4px 0 10px;font-size:12.5px}.tour-target-row select{font-family:var(--font);font-size:12.5px;border:1px solid var(--line);border-radius:8px;padding:5px 8px;background:#fff;color:var(--ink)}.modal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.modal-dl{text-decoration:none}.legal-consent{margin:20px 0 4px;padding:14px 16px;border-radius:12px;background:var(--grey-1, #f4f4f5);border:1px solid var(--line, rgba(0,0,0,.08))}.legal-consent strong{font-size:13px}.legal-consent p{margin:5px 0 11px;font-size:13px;color:var(--grey-3, #6b7280)}.legal-consent p.off{color:#b45309}.legal-consent-btns{display:flex;gap:8px;flex-wrap:wrap}.legal-consent-btns button{font-family:var(--font);font-size:13px;cursor:pointer;border:1px solid var(--line, rgba(0,0,0,.14));background:#fff;color:inherit;border-radius:999px;padding:8px 15px}.legal-consent-btns button:hover{border-color:#111}.legal-consent-btns button.on{background:#111;border-color:#111;color:#fff;font-weight:500}.tour-touchbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:var(--grey-1, #f4f4f5);border:1px solid var(--line, rgba(0,0,0,.08))}.tour-touchbar span{font-size:12px;color:var(--grey-3, #6b7280);margin-right:auto}.tour-touchbar button{font-family:var(--font);font-size:12.5px;cursor:pointer;border:1px solid var(--line, rgba(0,0,0,.14));background:#fff;color:inherit;border-radius:999px;padding:8px 14px}.tour-touchbar button:disabled{opacity:.4;cursor:default}.tour-touchbar button:not(:disabled):first-of-type{background:#2d7dff;border-color:#2d7dff;color:#fff;font-weight:600}.tour-touchbar .tt-clear{padding:8px 11px}.stats-tab{max-width:none}.stats-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:12px 34px;align-items:start;margin-top:22px}.stats-tables>section{min-width:0}.stats-tables .stats-list{max-height:46vh;overflow:auto;padding-right:4px}.gaze-rules{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--grey-1);border:1px solid var(--line);font-size:12.5px}.gaze-rules label{display:inline-flex;align-items:center;gap:6px;color:var(--grey-3)}.gaze-rules input{width:62px;padding:5px 7px;border:1px solid var(--line);border-radius:8px;font-family:var(--font);font-size:12.5px}.gaze-rules .muted{font-size:11.5px}@media (max-width: 980px){.stats-tables{grid-template-columns:1fr;gap:22px}.stats-tables .stats-list{max-height:none}}@media (max-width: 620px){.stats-row{grid-template-columns:22px 1fr 60px 38px;gap:7px;font-size:12.5px}.gaze-rules{gap:9px}}.resume-note{position:fixed;left:50%;transform:translate(-50%);bottom:108px;z-index:70;background:#0c0c10eb;color:#fff;font-size:13px;line-height:1.35;padding:10px 16px;border-radius:999px;box-shadow:var(--shadow-lg);backdrop-filter:blur(8px);max-width:calc(100vw - 32px);text-align:center;animation:resume-in .28s ease both;pointer-events:none}@keyframes resume-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (max-width: 620px){.resume-note{bottom:96px;font-size:12.5px}}.tour-btns.above-sticks{bottom:calc(var(--builder-top, 64px) + 12px)}:root{--touch-lift: 0px;--builder-top: 64px;--tourbar-bottom: 0px}.perf-hud{top:max(68px,calc(var(--tourbar-bottom, 0px) + 10px))}.artwork-modal-img img{background-size:contain;background-position:center;background-repeat:no-repeat}body.filming .hud-top,body.filming .builder-bar,body.filming .perf-hud,body.filming .history-bar,body.filming .tour-admin-bar,body.filming .tour-btns,body.filming .align-bar,body.filming .privacy-note,body.filming .resume-note,body.filming .info-wrap,body.filming .modal.admin,body.filming .crosshair,body.filming .touch-layer,body.filming .tut-overlay{display:none!important}body.filming{cursor:none}.cinema-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 18px;margin:4px 0 18px}.cinema-grid label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--grey-3)}.cinema-grid select{font-family:var(--font);font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.cinema-live{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.rec-dot{width:11px;height:11px;border-radius:50%;background:#e0426a;animation:rec-pulse 1.1s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.25}}
