:root{--ink-900: #08090d;--ink-800: #0d0f15;--ink-700: #14171f;--ink-600: #1b1f29;--ink-500: #242936;--bg: var(--ink-900);--surface: rgba(16, 18, 25, .94);--surface-solid: var(--ink-700);--surface-raised: var(--ink-600);--field-bg: #0a0c11;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--text: #f3f5f9;--muted: #b6bdcb;--faint: #8b93a3;--accent: #f0b44a;--accent-hover: #ffc663;--accent-text: #1a1206;--accent-soft: rgba(240, 180, 74, .13);--accent-line: rgba(240, 180, 74, .42);--danger: #ff7a7a;--danger-border: rgba(255, 122, 122, .45);--danger-text: #ffd0d0;--danger-soft: rgba(255, 122, 122, .12);--positive: #7ddba4;--surface-hud: rgba(13, 15, 21, .66);--border-hud: rgba(255, 255, 255, .22);--font-gothic: system-ui, -apple-system, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans JP", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;--font-ui: var(--font-gothic);--font-display: "Segoe UI Variable Display", var(--font-gothic);--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-2xs: .75rem;--font-xs: .8125rem;--font-sm: .875rem;--font-md: .9375rem;--font-lg: 1rem;--font-xl: 1.125rem;--font-2xl: 1.375rem;--font-display-1: clamp(2.4rem, 7vw, 3.5rem);--font-display-2: clamp(1.6rem, 4vw, 2.1rem);--space-3xs: .25rem;--space-2xs: .375rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.25rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--radius-xs: 6px;--radius-sm: 9px;--radius: 13px;--radius-lg: 20px;--radius-pill: 999px;--control-h: 2.625rem;--control-h-sm: 2.125rem;--touch-min: 44px;--focus-ring-width: 2px;--focus-ring-color: var(--accent);--focus-ring-offset: 2px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 10px 28px -12px rgba(0, 0, 0, .7);--shadow-lg: 0 24px 60px -20px rgba(0, 0, 0, .8);--blur-panel: blur(14px) saturate(1.2);--dur-fast: .12s;--dur: .2s;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);color-scheme:dark}a:focus-visible,.button:focus-visible,.brand:focus-visible,.language-selector select:focus-visible,.control select:focus-visible,.text-input:focus-visible,.studio-tab:focus-visible,.rooms-card-select input:focus-visible+.rooms-card-check,input[type=checkbox]:focus-visible,.template-option input:focus-visible+.template-card,.start-path-option input:focus-visible+.start-path-card,.chip input:focus-visible+.chip-body,.chip input:focus-visible+.chip-dot{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:16px/1.55 var(--font-ui);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px;transition:color var(--dur-fast) var(--ease)}a:hover{color:var(--accent-hover)}kbd{display:inline-block;min-width:1.6em;padding:.1em .4em;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:var(--radius-xs);background:#ffffff12;color:var(--text);font-family:var(--font-ui);font-size:.8em;font-weight:600;line-height:1.4;text-align:center}code{font-family:var(--font-mono)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.eyebrow,.chip-field legend{display:block;color:var(--faint);font-family:var(--font-ui);font-size:var(--font-2xs);font-weight:600;letter-spacing:.09em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:var(--control-h);padding:.4em 1.05em;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-solid);color:var(--text);font:inherit;font-size:var(--font-md);font-weight:500;line-height:1.3;text-decoration:none;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.button:hover:not(:disabled){border-color:#ffffff47;background:var(--surface-raised)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.42;cursor:not-allowed}.button-primary{background:var(--accent);border-color:transparent;color:var(--accent-text);font-weight:650}.button-primary:hover:not(:disabled){background:var(--accent-hover);border-color:transparent}.button-danger{background:transparent;border-color:var(--danger-border);color:var(--danger-text)}.button-danger:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.button-small{min-height:var(--control-h-sm);padding:.3em .75em;border-radius:var(--radius-sm);font-size:var(--font-sm)}.button-quiet{border-color:transparent;background:transparent}.button-quiet:hover:not(:disabled){border-color:var(--border);background:#ffffff0f}.button-icon{width:var(--control-h);min-width:var(--control-h);padding:0}.button-small.button-icon{width:var(--control-h-sm);min-width:var(--control-h-sm)}.button-block{width:100%}.icon{flex-shrink:0}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-md)}.control select,.language-selector select{appearance:none;-webkit-appearance:none;min-height:var(--control-h-sm);padding:.35em 2em .35em .7em;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface-solid);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23b6bdcb' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6em center;background-size:.75em;color:var(--text);font:inherit;font-size:var(--font-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.control select:hover,.language-selector select:hover{border-color:#ffffff47;background-color:var(--surface-raised)}.control select option,.language-selector select option{background:var(--surface-solid);color:var(--text)}.text-input{width:100%;min-height:var(--control-h);padding:.55em .85em;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--field-bg);color:var(--text);font:inherit;font-size:var(--font-md);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.text-input::placeholder{color:var(--faint)}.text-input:hover{border-color:#ffffff3d}.text-input[aria-invalid=true]{border-color:var(--danger-border);box-shadow:0 0 0 1px var(--danger-border)}input[type=checkbox]{width:1.15rem;height:1.15rem;margin:0;accent-color:var(--accent);cursor:pointer}.spinner{display:inline-block;width:1.15rem;height:1.15rem;flex-shrink:0;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .72s linear infinite}.spinner-lg{width:1.75rem;height:1.75rem;border-width:2.5px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--muted)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(100deg,var(--ink-700) 30%,var(--ink-600) 50%,var(--ink-700) 70%);background-size:300% 100%;animation:skeleton-sweep 1.4s var(--ease) infinite}@keyframes skeleton-sweep{0%{background-position:140% 0}to{background-position:-40% 0}}.app-frame{display:flex;flex-direction:column;min-height:100%;background-color:var(--bg);background-image:radial-gradient(80rem 42rem at 78% -12%,rgba(240,180,74,.07),transparent 62%),radial-gradient(60rem 40rem at 4% 8%,rgba(96,132,214,.06),transparent 60%);background-attachment:fixed;background-repeat:no-repeat}.page{flex:1 0 auto;padding:clamp(1.5rem,4vw,2.75rem) var(--space-lg) var(--space-3xl);overflow-y:auto}.page-loading{display:flex;align-items:center;justify-content:center;min-height:100%;margin:0;color:var(--muted)}.page-inner{max-width:46rem;margin:0 auto}.site-header{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm) var(--space-md);padding:var(--space-sm) var(--space-lg);padding-top:max(var(--space-sm),var(--safe-top));border-bottom:1px solid var(--border);background:#08090dd1;backdrop-filter:var(--blur-panel)}.brand{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:var(--control-h-sm);padding:var(--space-3xs) var(--space-2xs);margin-inline-start:calc(var(--space-2xs) * -1);border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font-family:var(--font-display);font-size:var(--font-xl);font-weight:700;letter-spacing:-.015em;line-height:1;cursor:pointer}.brand:hover .brand-mark{color:var(--accent-hover)}.brand-mark{color:var(--accent);transition:color var(--dur-fast) var(--ease)}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2xs)}.site-header>.page-toolbar{margin-inline-start:auto}.page-toolbar .button[aria-current=page]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text);font-weight:600;cursor:default}.language-selector{display:flex;align-items:center;gap:var(--space-xs);margin:0;color:var(--muted);font-size:var(--font-sm)}.site-footer{flex-shrink:0;padding:var(--space-lg);padding-bottom:max(var(--space-lg),var(--safe-bottom));border-top:1px solid var(--border);color:var(--faint);font-size:var(--font-2xs);text-align:center}.site-footer p{margin:0}.page-header{margin-bottom:var(--space-xl)}.page-header h1{margin:0 0 var(--space-sm);font-size:var(--font-display-2);letter-spacing:-.02em;line-height:1.15}.lede{margin:0 0 var(--space-xl);max-width:40ch;color:var(--muted);font-size:var(--font-lg);line-height:1.6}.muted{color:var(--muted)}.hero{margin-bottom:var(--space-2xl)}.hero h1{margin:0 0 var(--space-sm);font-size:var(--font-display-1);letter-spacing:-.03em;line-height:1}.hero-lede{margin:0 0 var(--space-sm);max-width:34ch;color:var(--text);font-size:clamp(1.05rem,2.4vw,1.3rem);line-height:1.45}.hero-detail{margin:0;max-width:46ch;color:var(--muted);font-size:var(--font-sm);line-height:1.6}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--space-sm);margin:0 0 var(--space-2xl);padding:0;list-style:none;counter-reset:step}.steps li{counter-increment:step;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius);background:#14171f8c}.steps li:before{content:counter(step);display:flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;margin-bottom:var(--space-sm);border:1px solid var(--accent-line);border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--font-2xs);font-weight:700;font-variant-numeric:tabular-nums}.steps strong{display:block;margin-bottom:var(--space-3xs);font-size:var(--font-md);font-weight:600}.steps span{display:block;color:var(--muted);font-size:var(--font-xs);line-height:1.5}.banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin:0 0 var(--space-lg);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-inline-start:3px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);font-size:var(--font-sm);line-height:1.5}.banner-error{border-color:var(--danger-border);border-inline-start-color:var(--danger);background:var(--danger-soft);color:var(--danger-text)}.banner-info{border-color:var(--accent-line);border-inline-start-color:var(--accent);background:var(--accent-soft)}.banner-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.create-form{display:flex;flex-direction:column;gap:var(--space-lg);margin-bottom:var(--space-2xl);counter-reset:create-step}.form-section{padding:0;border:0;margin:0;counter-increment:create-step}.form-section>legend{display:flex;align-items:baseline;gap:var(--space-xs);width:100%;padding:0;margin:0 0 var(--space-sm);color:var(--text);font-family:var(--font-ui);font-size:var(--font-md);font-weight:600}.form-section>legend:before{content:counter(create-step);display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0;border:1px solid var(--border-strong);border-radius:50%;color:var(--faint);font-size:var(--font-2xs);font-weight:700;font-variant-numeric:tabular-nums}.form-section-note{margin:calc(var(--space-xs) * -1) 0 var(--space-sm);padding-inline-start:2rem;color:var(--muted);font-size:var(--font-xs);line-height:1.5}.create-form-exhibits{display:flex;flex-direction:column;gap:var(--space-sm)}.create-form-field{display:flex;flex-direction:column;gap:var(--space-3xs)}.create-form-field label{color:var(--muted);font-size:var(--font-xs);font-weight:600}.create-form-field-row{display:flex;gap:var(--space-xs);align-items:center}.create-form-field-row .text-input{flex:1;min-width:0}.field-error{display:flex;align-items:flex-start;gap:var(--space-3xs);margin:var(--space-3xs) 0 0;color:var(--danger);font-size:var(--font-xs);line-height:1.5}.field-error:before{content:"!";display:flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;flex-shrink:0;margin-top:.15em;border:1px solid currentColor;border-radius:50%;font-size:.85em;font-weight:700;line-height:1}.create-form-add{margin:var(--space-3xs) 0 0}.create-submit{position:sticky;bottom:0;z-index:2;padding:var(--space-sm) 0;padding-bottom:max(var(--space-sm),var(--safe-bottom));margin-top:calc(var(--space-xs) * -1);background:linear-gradient(to top,var(--bg) 62%,rgba(8,9,13,0))}.template-picker{min-width:0;margin:0;padding:0;border:0}.template-picker legend{padding:0;margin-bottom:var(--space-sm)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:var(--space-xs)}.template-option{position:relative;display:block;cursor:pointer}.template-option input,.start-path-option input,.chip input,.rooms-card-select input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}.template-card{display:block;height:100%;padding:var(--space-2xs) var(--space-2xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.template-option:hover .template-card{border-color:var(--border-strong);background:var(--surface-raised)}.template-card strong{display:block;padding-inline:var(--space-3xs);font-size:var(--font-sm);font-weight:600}.template-card small{display:block;padding-inline:var(--space-3xs);margin-top:.1rem;color:var(--muted);font-size:var(--font-2xs);line-height:1.4}.template-swatch{display:block;height:4rem;margin-bottom:var(--space-xs);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px #00000040}.template-option input:checked+.template-card{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.template-option input:checked+.template-card:after{content:"";position:absolute;top:calc(var(--space-2xs) + .4rem);right:calc(var(--space-2xs) + .4rem);width:1.2rem;height:1.2rem;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%231a1206' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.3 5 8.8l4.5-5'/%3E%3C/svg%3E") center / .75rem no-repeat;box-shadow:0 0 0 2px #00000059}.start-path{min-width:0;margin:0;padding:0;border:0}.start-path-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-xs)}.start-path-option{display:block;cursor:pointer}.start-path-card{position:relative;display:block;height:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.start-path-option:hover .start-path-card{border-color:var(--border-strong);background:var(--surface-raised)}.start-path-card strong{display:block;font-size:var(--font-md);font-weight:600}.start-path-card small{display:block;margin-top:var(--space-3xs);color:var(--muted);font-size:var(--font-xs);line-height:1.5}.start-path-option input:checked+.start-path-card{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.notice{padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);background:#14171f80;color:var(--muted);font-size:var(--font-sm);line-height:1.65}.notice>p{margin:0}.notice>p+p{margin-top:var(--space-sm)}.notice h2{margin:0 0 var(--space-sm);color:var(--text);font-size:var(--font-lg)}.notice ul{margin:0;padding:0;list-style:none}.notice li{position:relative;padding-inline-start:var(--space-md)}.notice li:before{content:"";position:absolute;inset-inline-start:0;top:.72em;width:.5rem;height:1px;background:var(--accent-line)}.notice li+li{margin-top:var(--space-xs)}.rooms-toolbar{flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin:var(--space-lg) 0}.rooms-toolbar-spacer{flex:1 1 auto}.rooms-count{color:var(--faint);font-size:var(--font-xs);font-variant-numeric:tabular-nums}.rooms-confirm{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-xs)}.rooms-grid{list-style:none;margin:0 0 var(--space-2xl);padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:var(--space-md)}.rooms-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface-solid);box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.rooms-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.rooms-card[data-selected=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.rooms-card-thumb{height:6.5rem;border-bottom:1px solid var(--border)}.rooms-card-body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-3xs);padding:var(--space-md)}.rooms-card-select{position:absolute;top:var(--space-xs);left:var(--space-xs);display:flex;align-items:center;justify-content:center;width:var(--touch-min);height:var(--touch-min);cursor:pointer}.rooms-card-check{display:flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-xs);background:#08090db8;box-shadow:var(--shadow-sm);transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.rooms-card-select:hover .rooms-card-check{border-color:#fff}.rooms-card-select input:checked+.rooms-card-check{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%231a1206' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.3 5 8.8l4.5-5'/%3E%3C/svg%3E") center / .8rem no-repeat}.rooms-card-name{margin:0;font-family:var(--font-ui);font-size:var(--font-md);font-weight:600;letter-spacing:0;overflow-wrap:anywhere}.rooms-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3xs) var(--space-xs);margin:0 0 var(--space-xs);color:var(--faint);font-size:var(--font-2xs)}.rooms-card-template{color:var(--muted)}.rooms-card .button-row{margin-top:auto;padding-top:var(--space-xs)}.rooms-card .button-row .button-primary{flex:1 1 auto}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-3xl) var(--space-lg);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:#14171f66;text-align:center}.empty-state-mark{color:var(--faint);font-size:2rem;line-height:1}.empty-state h2{margin:0;font-size:var(--font-xl)}.empty-state p{margin:0;max-width:34ch;color:var(--muted);font-size:var(--font-sm);line-height:1.6}.empty-state .button{margin-top:var(--space-xs)}.rooms-skeleton{height:13.5rem;border-radius:var(--radius)}.gallery-root{position:fixed;inset:0;height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.gallery-stage{position:absolute;inset:0}.gallery-css3d .exhibit-card{transform-origin:50% 50%}.gallery-css3d .exhibit-card{--card-bg: #ffffff;--card-text: #2b2f36;--card-muted: #5c626d;--card-button-bg: #eef0f4;--card-button-border: #cfd4dc;display:flex;flex-direction:column;align-items:stretch;justify-content:center;background:var(--card-bg);border-radius:var(--radius-xs);overflow:hidden;transition:opacity .12s linear}.exhibit-embed-slot{display:flex;flex-direction:column;align-items:center}.instagram-embed-holder{width:100%}.exhibit-card,.exhibit-card *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.exhibit-card:focus{outline:none}.gallery-css3d .exhibit-card,.exhibit-embed-slot{touch-action:pan-y}.exhibit-status{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-2xl) var(--space-lg);color:var(--card-text);font-size:var(--font-lg);text-align:center}.exhibit-status p{margin:0}.exhibit-status-title{font-size:var(--font-xl);font-weight:650}.exhibit-status-body{max-width:30ch;color:var(--card-muted);font-size:var(--font-sm);line-height:1.55}.exhibit-status-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs);margin-top:var(--space-xs)}.exhibit-status .button{background:var(--card-button-bg);border-color:var(--card-button-border);color:var(--card-text)}.exhibit-status .button:hover:not(:disabled){border-color:var(--card-muted);background:#e2e6ec}.exhibit-status[data-status=loading]{flex-direction:row;justify-content:center;color:var(--card-muted);font-size:var(--font-sm)}.exhibit-status .spinner{border-color:var(--card-button-border);border-top-color:var(--card-muted)}.gallery-input{-webkit-tap-highlight-color:transparent;cursor:crosshair}.gallery-input.cursor-hidden{cursor:none}.joystick-base{position:absolute;width:112px;height:112px;margin:-56px 0 0 -56px;border:1.5px solid rgba(255,255,255,.42);border-radius:50%;background:#08090d4d;box-shadow:inset 0 0 24px #00000059,0 2px 10px #00000059;backdrop-filter:blur(2px);pointer-events:none}.joystick-knob{position:absolute;top:50%;left:50%;width:48px;height:48px;border-radius:50%;background:#ffffffd1;box-shadow:0 0 0 1.5px #00000059,0 2px 8px #0006;transform:translate(-50%,-50%)}.hud{position:absolute;inset:0;z-index:4;pointer-events:none;padding:max(var(--space-sm),var(--safe-top)) max(var(--space-sm),var(--safe-right)) max(var(--space-sm),var(--safe-bottom)) max(var(--space-sm),var(--safe-left));--read-prompt-bottom: max(var(--space-xl), var(--safe-bottom))}.hud button,.hud a,.hud input,.hud select,.hud .panel,.hud .help,.hud .reading-bar,.hud .hud-banner{pointer-events:auto}.hud input,.hud textarea{-webkit-user-select:text;user-select:text}.hud-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:var(--space-3xs)}.hud-top .button,.vertical-controls .button{background:var(--surface-hud);border-color:var(--border-hud);box-shadow:var(--shadow-md);backdrop-filter:var(--blur-panel)}.hud-top .button:hover:not(:disabled),.vertical-controls .button:hover:not(:disabled){border-color:#ffffff6b;background:#181c26d1}.hud-top .button[aria-expanded=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.hud-top .button-label{display:none}.hud-top .button{min-width:2.375rem}@media (min-width: 900px){.hud-top .button-label{display:inline}}.hud-banner{max-width:min(30rem,100%);margin:0 0 var(--space-xs) auto;box-shadow:var(--shadow-md);backdrop-filter:var(--blur-panel)}.hud-top,.read-prompt,.vertical-controls{transition:opacity .24s ease}.hud[data-idle=true] .hud-top,.hud[data-idle=true] .read-prompt,.hud[data-idle=true] .vertical-controls{opacity:0}.read-prompt{position:absolute;bottom:var(--read-prompt-bottom);left:50%;display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs);padding-inline-end:var(--space-sm);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-lg);backdrop-filter:var(--blur-panel);animation:read-prompt-in .22s var(--ease-out) both;transform:translate(-50%);max-width:calc(100vw - 1.5rem)}@keyframes read-prompt-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}}.read-prompt .button{border-radius:var(--radius-pill)}.read-prompt-hint{color:var(--muted);font-size:var(--font-xs)}.vertical-controls{position:absolute;right:max(.75rem,var(--safe-right));bottom:calc(var(--read-prompt-bottom) + 3.75rem);display:flex;flex-direction:column;gap:.4rem}.vertical-controls .button{width:var(--touch-min);height:var(--touch-min);min-height:var(--touch-min);padding:0;justify-content:center;border-radius:var(--radius-pill)}.vertical-controls .button[aria-pressed=true]{background:var(--accent);border-color:transparent;color:var(--accent-text)}.reading-bar{position:absolute;bottom:max(1rem,var(--safe-bottom));left:max(.75rem,var(--safe-left));right:max(.75rem,var(--safe-right));width:fit-content;margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-2xs);padding-inline:var(--space-sm);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-lg);backdrop-filter:var(--blur-panel);font-size:var(--font-sm)}.reading-bar .button{border-radius:var(--radius-pill)}.reading-bar-mode{display:inline-flex;align-items:center;gap:var(--space-3xs);padding-inline:var(--space-2xs);color:var(--accent);font-size:var(--font-2xs);font-weight:650;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.reading-bar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-xs)}.reading-bar .button{flex-shrink:0;white-space:nowrap}.panel{position:absolute;top:4.2rem;right:max(.75rem,var(--safe-right));width:min(21rem,calc(100vw - 1.5rem - var(--safe-left) - var(--safe-right)));max-height:min(70dvh,34rem);overflow-y:auto;touch-action:pan-y;padding:var(--space-sm) var(--space-md) var(--space-lg);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);backdrop-filter:var(--blur-panel);animation:panel-in .18s var(--ease-out) both;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px)}}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding-bottom:var(--space-sm);margin-bottom:var(--space-xs);border-bottom:1px solid var(--border)}.panel-header h2{margin:0;font-size:var(--font-xl)}.panel-note{margin:var(--space-xs) 0 var(--space-md);color:var(--muted);font-size:var(--font-xs);line-height:1.55}.panel-note-quiet{color:var(--faint)}.control{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-xs) var(--space-sm);margin:0;padding:var(--space-2xs) 0}.control+.control{border-top:1px solid rgba(255,255,255,.05)}.control label{min-width:0;color:var(--muted);font-size:var(--font-xs)}.control select{flex:1 1 9.5rem;min-width:0;max-width:100%}.pattern-swatch{flex:1 0 100%;display:block;margin-top:var(--space-2xs);line-height:0}.pattern-swatch canvas{display:block;width:100%;height:48px;border:1px solid var(--border);border-radius:var(--radius-xs)}.outlook-swatch{flex:1 0 100%;display:block;margin-top:var(--space-2xs);line-height:0}.outlook-swatch canvas{display:block;width:7rem;height:7rem;border:1px solid var(--border-strong);border-radius:var(--radius-xs)}.control-checkbox{justify-content:flex-start;gap:var(--space-xs)}.control-checkbox label{color:var(--text);font-size:var(--font-sm)}.control-actions{justify-content:flex-start;padding-top:var(--space-sm)}.panel-share .text-input{margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--font-2xs)}.panel-share .share-status[data-copied=true]{color:var(--positive)}.panel-about .notice{border:none;background:none;padding:0;font-size:var(--font-xs)}.panel-about .notice p+p{margin-top:var(--space-sm)}.panel-about .page-header{margin-bottom:var(--space-sm)}.panel-about .page-header h1{font-size:var(--font-lg)}.panel-about .lede{margin-bottom:var(--space-sm);font-size:var(--font-xs)}.panel-studio{width:min(26rem,calc(100vw - 1.5rem - var(--safe-left) - var(--safe-right)));max-height:min(80dvh,42rem);display:flex;flex-direction:column;overflow:hidden}.studio-actions{flex-wrap:wrap;align-items:center;margin:var(--space-sm) 0 var(--space-xs);gap:var(--space-2xs)}.studio-actions .studio-history{display:flex;gap:1px}.studio-history .button:first-child{border-start-end-radius:0;border-end-end-radius:0}.studio-history .button:last-child{border-start-start-radius:0;border-end-start-radius:0}.studio-status{margin:0 0 var(--space-xs);color:var(--faint);font-size:var(--font-2xs);line-height:1.5}.studio-status strong{color:var(--muted);font-weight:600}.studio-tabs{display:flex;flex:none;gap:var(--space-3xs);margin:var(--space-3xs) calc(var(--space-3xs) * -1) 0;padding:var(--space-3xs) 1.5rem var(--space-xs) var(--space-3xs);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;touch-action:pan-x;scroll-padding-inline:var(--space-3xs) 1.5rem;border-bottom:1px solid var(--border);-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 1.5rem),transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 1.5rem),transparent 100%)}.studio-tab{flex:0 0 auto;min-height:var(--control-h-sm);padding:.3em .85em;border:1px solid transparent;border-radius:var(--radius-pill);background:none;color:var(--muted);font:inherit;font-size:var(--font-xs);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.studio-tab:hover{background:#ffffff0f;color:var(--text)}.studio-tab[aria-selected=true]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent);font-weight:650}.studio-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;touch-action:pan-y;padding-top:var(--space-sm);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.panel-studio .template-picker{margin:0;padding:0}.panel-studio .template-picker legend{margin-bottom:var(--space-xs)}.panel-studio .template-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}.panel-studio .template-swatch{height:2.6rem}.studio-skeleton{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.studio-skeleton span{display:block;height:2rem}.chip-field{min-width:0;margin:0 0 var(--space-md);padding:0;border:0}.chip-field legend{padding:0;margin-bottom:var(--space-xs)}.chip-grid{display:grid;gap:var(--space-3xs)}.chip-grid-scheme{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}.chip-grid-tone{grid-template-columns:repeat(auto-fill,minmax(2.25rem,1fr));gap:var(--space-2xs)}.chip{position:relative;display:block;cursor:pointer}.chip-body{display:block;height:100%;padding:var(--space-3xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-solid);transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.chip:hover .chip-body{border-color:var(--border-strong);background:var(--surface-raised)}.chip-swatch{display:block;height:1.35rem;border-radius:var(--radius-xs);box-shadow:inset 0 0 0 1px #00000047}.chip-swatch-wide{margin-bottom:var(--space-3xs)}.chip-label{display:block;color:var(--muted);font-size:var(--font-2xs);line-height:1.25}.chip input:checked+.chip-body .chip-label{color:var(--text);font-weight:600}.chip-dot{display:grid;place-items:center;aspect-ratio:1;border:1px solid rgba(255,255,255,.22);border-radius:50%;font-size:.7rem;line-height:1;transition:box-shadow var(--dur-fast) var(--ease)}.chip input:checked+.chip-body{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.chip input:checked+.chip-dot{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.control-note{flex:1 0 100%;margin:var(--space-3xs) 0 0;padding-inline-start:var(--space-xs);border-inline-start:2px solid var(--accent-line);color:var(--muted);font-size:var(--font-2xs);line-height:1.45}.exhibit-list{list-style:none;margin:0 0 var(--space-md);padding:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.exhibit-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-solid);font-size:var(--font-xs)}.exhibit-list-name{min-width:0;overflow-wrap:anywhere;font-weight:600}.exhibit-list-wall{display:block;color:var(--faint);font-size:var(--font-2xs);font-weight:400}.exhibit-add{display:flex;flex-direction:column;gap:var(--space-3xs)}.exhibit-add label{color:var(--muted);font-size:var(--font-xs);font-weight:600}.help{position:absolute;z-index:1;bottom:max(1rem,var(--safe-bottom));left:max(.75rem,var(--safe-left));width:min(26rem,calc(100vw - 1.5rem - var(--safe-left) - var(--safe-right)));max-height:min(80dvh,32rem);overflow-y:auto;touch-action:pan-y;padding:var(--space-md) var(--space-lg) var(--space-lg);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);backdrop-filter:var(--blur-panel);animation:panel-in .18s var(--ease-out) both;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.help h2{margin:0 0 var(--space-sm);font-size:var(--font-xl)}.help-grid{margin:0 0 var(--space-md);font-size:var(--font-sm)}.help-grid dt{color:var(--accent);font-size:var(--font-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.help-grid dd{margin:var(--space-3xs) 0 0;padding-bottom:var(--space-sm);color:var(--muted);line-height:1.6}.help-grid dd+dt{padding-top:var(--space-sm);border-top:1px solid var(--border)}.help-grid dd:last-of-type{padding-bottom:0}.gallery-root{--room-inset-right: 0px;--dock-width: 26rem}.gallery-root[data-dock=true]{--room-inset-right: var(--dock-width)}.gallery-root[data-dock=true] .gallery-stage{right:var(--room-inset-right)}.gallery-root[data-dock=true] .hud{padding-right:calc(var(--room-inset-right) + max(var(--space-sm),var(--safe-right)))}.gallery-root[data-dock=true] .panel[data-docked=true]{top:0;right:0;bottom:0;width:var(--dock-width);max-height:none;padding:var(--space-md) var(--space-lg) var(--space-xl);padding-inline-end:max(var(--space-lg),var(--safe-right));padding-block-start:max(var(--space-md),var(--safe-top));border:0;border-inline-start:1px solid var(--border-strong);border-radius:0;background:var(--surface-solid);box-shadow:-12px 0 32px #00000059;backdrop-filter:none;animation:dock-in .2s var(--ease-out) both}.gallery-root[data-dock=true] .panel-studio[data-docked=true]{display:flex;flex-direction:column;overflow:hidden}@keyframes dock-in{0%{opacity:0;transform:translate(12px)}}.gallery-root[data-dock=true] .vertical-controls{right:calc(var(--room-inset-right) + max(.75rem,var(--safe-right)))}.gallery-root[data-dock=true] .read-prompt{left:calc(50% - var(--room-inset-right) / 2);max-width:calc(100vw - var(--room-inset-right) - 1.5rem)}@media (min-width: 900px){.create-submit{position:static;background:none;padding-bottom:0}.create-submit .button-block{width:auto;min-width:14rem}}@media (max-width: 640px){.site-header{position:static;padding-inline:var(--space-md)}.site-header>.language-selector label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.page{padding-inline:var(--space-md)}.brand{order:1;flex:0 1 auto}.site-header>.language-selector{order:2;margin-inline-start:auto}.site-header>.page-toolbar{order:3;flex:1 0 100%;margin-inline-start:0;justify-content:flex-start}.reading-bar-mode{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.help{bottom:auto;top:4.2rem;max-height:min(58dvh,28rem)}.panel{max-height:min(58dvh,28rem)}.panel-studio{max-height:min(70dvh,34rem)}.panel-studio .template-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr))}.template-grid{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr))}}@media (max-height: 520px){.panel,.help{top:3.6rem;bottom:auto;max-height:calc(100dvh - 5rem)}}@media (pointer: coarse){.brand,.button{min-height:var(--touch-min)}.button-icon,.button-small.button-icon{width:var(--touch-min);min-width:var(--touch-min)}.hud-top .button{min-width:var(--touch-min)}.studio-tab{min-height:var(--touch-min)}.control select,.language-selector select{min-height:2.375rem}.site-header .language-selector select{min-height:var(--touch-min)}.read-prompt{left:auto;right:max(.75rem,var(--safe-right));transform:none}@keyframes read-prompt-in{0%{opacity:0;transform:translateY(8px)}}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media (forced-colors: active){.template-option input:checked+.template-card,.start-path-option input:checked+.start-path-card,.chip input:checked+.chip-body,.chip input:checked+.chip-dot,.rooms-card[data-selected=true],.studio-tab[aria-selected=true],.page-toolbar .button[aria-current=page],.hud-top .button[aria-expanded=true]{border:2px solid Highlight}.chip-swatch,.chip-dot,.template-swatch,.rooms-card-thumb{forced-color-adjust:none}}
