@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,figure,ul{margin:0;padding:0}ul{list-style:none}button{font:inherit;color:inherit;background:0 0;border:none}}@layer tokens{:root{--ink:#f4f1ea;--ink-dim:#a8a29a;--ground:#0d0f12;--panel:#121418eb;--line:#f4f1ea24;--accent:#c2452f;--space-1:.375rem;--space-2:.75rem;--space-3:1.25rem;--space-4:2rem;--radius:4px;--panel-width:22rem;--font-ui:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ease:cubic-bezier(.2, .7, .2, 1);--duration:.22s}@media (prefers-reduced-motion:reduce){:root{--duration:1ms}}}@layer base{html,body{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);-webkit-text-size-adjust:100%;line-height:1.5;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}}@layer canvas{.stage{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.stage:not([data-ready]){opacity:0}.stage[data-ready]{opacity:1;transition:opacity var(--duration) var(--ease)}}@layer layout{.overlay{gap:var(--space-3);padding:var(--space-3);pointer-events:none;grid-template:"masthead menu""tour menu""chat menu"1fr"controls."/1fr auto;display:grid;position:fixed;inset:0}.overlay>*{pointer-events:auto}.masthead{grid-area:masthead;max-width:min(30rem,70vw)}.menu{width:min(20rem, calc(100vw - 2 * var(--space-3)));max-height:calc(100vh - 2 * var(--space-3));grid-area:menu;place-self:start end;overflow-y:auto}.tour{width:min(26rem, calc(100vw - 2 * var(--space-3)));grid-area:tour;place-self:start}.chat{width:min(20rem, calc(100vw - 2 * var(--space-3)));grid-area:chat;place-self:end start}.controls{align-self:end;align-items:flex-end;gap:var(--space-3);grid-area:controls;display:flex}}@layer components{.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-3)}.masthead{align-items:flex-start;gap:var(--space-3);display:flex}.icon-button{border:1px solid var(--line);border-radius:var(--radius);width:2.25rem;height:2.25rem;color:var(--ink-dim);cursor:pointer;flex:none;place-items:center;display:grid}.icon-button:hover{color:var(--ink);background:#f4f1ea12}.menu-head{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.menu h2{font-size:1rem;font-weight:600}.menu h3{margin-top:var(--space-3);margin-bottom:var(--space-1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);font-size:.6875rem;font-weight:600}.menu-rooms,.menu-works{gap:2px;display:grid}.menu-rooms button,.menu-works button{width:100%;padding:var(--space-1) var(--space-2);text-align:left;border-radius:var(--radius);cursor:pointer;font-size:.875rem}.menu-rooms button:hover,.menu-works button:hover{background:#f4f1ea14}.menu-rooms button[aria-current=true]{color:var(--ink);background:#f4f1ea1f}.menu-rooms small,.menu-works small{color:var(--ink-dim);font-size:.75rem;display:block}.menu-keys{gap:var(--space-1) var(--space-2);grid-template-columns:auto 1fr;font-size:.8125rem;display:grid}.menu-keys dt{color:var(--ink-dim);white-space:nowrap}.menu-keys dd{margin:0}.tour-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.tour h2{margin:var(--space-1) 0 var(--space-2);letter-spacing:-.01em;font-size:1.0625rem;font-weight:600}.tour p:not(.hint){text-wrap:pretty;font-size:.9375rem;line-height:1.6}.tour-steps{gap:var(--space-1);margin-top:var(--space-3);display:flex}.tour-steps button{text-align:center;flex:1}.focus{padding:var(--space-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#060709d1;place-items:center;display:grid;position:fixed;inset:0}.focus-card{gap:var(--space-3) var(--space-4);width:min(78rem,100%);height:min(48rem, calc(100vh - 2 * var(--space-3)));padding:var(--space-3) var(--space-4) var(--space-4);grid-template:"bar bar""work info"minmax(0,1fr)/minmax(0,3fr) minmax(0,2fr);display:grid;position:relative;overflow:hidden}.focus-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--line);grid-area:bar;display:flex}.focus-step{align-items:center;gap:var(--space-2);display:flex}.text-button{padding:var(--space-1) var(--space-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-dim);cursor:pointer;font-size:.8125rem}.text-button:hover{color:var(--ink);background:#f4f1ea12}.focus-image{touch-action:none;cursor:zoom-in;grid-area:work;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.focus-image[data-zoomed]{cursor:grab}.focus-canvas{transform-origin:50%;will-change:transform;max-width:100%;max-height:100%;display:block;position:relative}.focus-canvas img{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%;display:block;box-shadow:0 1.5rem 3rem #0000008c}.focus-pins{position:absolute;inset:0}.focus-pin{color:#fff;cursor:pointer;width:1.5rem;height:1.5rem;transform:scale(clamp(.55, calc(1 / var(--zoom,1)), 1));background:#c2452fe6;border:1px solid #ffffffb3;border-radius:50%;place-items:center;margin:-.75rem 0 0 -.75rem;font-size:.75rem;font-weight:600;display:grid;position:absolute}.focus-pin:hover{background:var(--accent)}.focus-info{flex-direction:column;grid-area:info;min-width:0;display:flex;overflow:hidden}.focus-info h2{letter-spacing:-.01em;font-size:1.5rem;font-weight:600}.focus-info .artist{margin-top:var(--space-1);color:var(--ink-dim);font-size:1rem}.focus-info h3{margin-top:var(--space-3);margin-bottom:var(--space-1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);font-size:.6875rem;font-weight:600}.focus-tabs{gap:var(--space-1);margin:var(--space-3) 0 var(--space-2);border-bottom:1px solid var(--line);display:flex}.focus-tabs button{padding:var(--space-1) var(--space-2);color:var(--ink-dim);cursor:pointer;border-bottom:2px solid #0000;font-size:.875rem}.focus-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.focus-info [data-panel]{padding-right:var(--space-2);overflow-y:auto}.focus-info dl{gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;font-size:.875rem;display:grid}.focus-info dt{color:var(--ink-dim)}.focus-info dd{margin:0}#focus-description{text-wrap:pretty;font-size:.9375rem;line-height:1.65}.focus-palette{gap:3px;display:flex}.focus-palette li{border:1px solid #f4f1ea1f;border-radius:2px;width:2.25rem;height:1.5rem}.focus-scale{color:var(--ink)}.focus-scale svg{width:100%;max-width:20rem;height:auto}.focus-notes{gap:var(--space-2);display:grid}.focus-notes li{padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.focus-notes li[data-current]{border-color:var(--accent);background:#c2452f1a}.focus-notes h3{margin:0 0 var(--space-1);letter-spacing:0;text-transform:none;color:var(--ink);font-size:.875rem}.focus-notes p{color:var(--ink-dim);font-size:.875rem;line-height:1.6}.focus-record-list{gap:var(--space-1);font-size:.875rem;line-height:1.55;display:grid}.focus-record-list li{padding-left:var(--space-2);border-left:1px solid var(--line)}.focus-enquire{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--accent);border-radius:var(--radius);color:var(--ink);font-size:.875rem;text-decoration:none;display:inline-block}.focus-media{gap:var(--space-2);margin-top:var(--space-3);display:grid}.focus-media a{padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font-size:.875rem;text-decoration:none;display:block}.focus-media a:hover{background:#f4f1ea12}.focus-media span{color:var(--ink-dim)}.focus-media audio,.focus-media video{border-radius:var(--radius);width:100%}@media (max-width:60rem){.focus-card{gap:var(--space-2);padding:var(--space-2);grid-template:"bar""work"minmax(0,1.1fr)"info"minmax(0,1fr)/1fr}.focus-bar{flex-wrap:wrap}}.masthead h1{letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.masthead p{color:var(--ink-dim);font-size:.875rem}.hint{color:var(--ink-dim);font-size:.8125rem}.pad{left:50%;bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px));gap:var(--space-1);grid-template-areas:".forward.""left back right";display:none;position:fixed;transform:translate(-50%)}.pad-button{border:1px solid var(--line);border-radius:var(--radius);width:3.75rem;height:3.25rem;color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;-webkit-user-select:none;user-select:none;background:#1214189e;place-items:center;display:grid}.pad-forward{grid-area:forward}.pad-left{grid-area:left}.pad-back{grid-area:back}.pad-right{grid-area:right}.pad-button[data-held]{background:#f4f1ea3d}.chat ul{gap:var(--space-1);max-height:9rem;margin:var(--space-2) 0;font-size:.8125rem;display:grid;overflow-y:auto}.chat li span{color:var(--ink-dim)}.chat input{width:100%;padding:var(--space-1) var(--space-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:#f4f1ea0f}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{top:var(--space-2);left:var(--space-2);z-index:50;padding:var(--space-2) var(--space-3);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}#sound[aria-pressed=true] .sound-off,#sound[aria-pressed=false] .sound-wave{display:none}.catalogue{padding:var(--space-4);background:var(--ground);position:fixed;inset:0;overflow-y:auto}.catalogue ul{gap:var(--space-3);max-width:44rem;margin-top:var(--space-3);display:grid}.catalogue li{border-top:1px solid var(--line);padding-top:var(--space-2)}.catalogue .artist{color:var(--ink-dim)}}@layer state{[hidden],[data-embed] .masthead-title{display:none}.focus{opacity:0;transition:opacity var(--duration) var(--ease)}.focus[data-open]{opacity:1}.focus-card{transition:transform var(--duration) var(--ease);transform:scale(.985)}.focus[data-open] .focus-card{transform:none}.hint-coarse{display:none}@media (pointer:coarse){.pad{display:grid}.overlay{padding-bottom:calc(7.75rem + env(safe-area-inset-bottom,0px))}.hint-fine{display:none}.hint-coarse{display:block}}}@layer overrides;
