/* Adapted from iyzyzoe/website: css/base.css and css/bottom-dock.css.
   Dark glass chrome surrounds a daylight photographic gallery. */
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;color:var(--text-strong);background:var(--bg);font-family:var(--font-body);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer;color:inherit;min-height:44px;border:0;background:transparent;padding:10px 14px;transition:background .2s,color .2s;border-radius:var(--radius-sm)}button:hover{background:rgba(var(--palette-white-rgb), 0.071);color:var(--palette-white)}button:active{background:rgba(var(--palette-white-rgb), 0.129)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button svg{width:19px;height:19px;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.4}button .button-label{margin-left:9px}#museum{width:100%;height:100dvh;overflow:hidden;position:relative}#scene{display:block;width:100%;height:100%;touch-action:none;outline:none}header{position:absolute;inset:0 0 auto;min-height:76px;padding:12px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:2;background: var(--glass-sheen), var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:var(--glass-border);box-shadow: var(--glass-shadow)}.wordmark{font-family:var(--font-display);text-decoration:none;font-size:27px;font-weight:400;letter-spacing:.14em;color:var(--text-strong);line-height:1.1;white-space:nowrap}.wordmark span{display:block;font-family:var(--font-body);font-size: var(--type-small);letter-spacing:.18em;margin-top:6px;color:var(--text-strong)}nav{display:flex;align-items:center;gap:8px;font-size: var(--type-small)}nav button{white-space:nowrap}nav .count-tag{font-size: var(--type-small);opacity:.7;margin-left:14px}.exhibition{position:absolute;top:108px;left:clamp(20px,4vw,64px);padding:24px 26px;max-width:310px;background: var(--glass-sheen), var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-sm);pointer-events:none;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.eyebrow{font-size: var(--type-small);letter-spacing:.18em;line-height:1.5;margin:0 0 18px;color:var(--text-secondary)}.exhibition h1{font-family:var(--font-display);font-size:38px;line-height:1.1;font-weight:300;font-style:italic;letter-spacing:-.015em;margin:0 0 12px;color:var(--text-strong)}.subtitle{font-size: var(--type-small);color:var(--text-secondary);line-height:1.7;margin:0}.fine-rule{width:35px;height:1px;background:rgba(var(--palette-white-rgb), 0.188);margin:20px 0 15px}.small{display:none}.sample-note{font-size: var(--type-small);color:var(--text-secondary);margin:0;line-height:1.65}.walking .exhibition{opacity:0;transform:translateY(-8px)}.room-marker{position:absolute;top:104px;right:clamp(20px,4vw,64px);display:flex;align-items:center;gap:10px;padding:10px 14px;background: var(--glass-sheen), var(--glass-bg-solid);border:var(--glass-border);border-radius:var(--radius-sm);font-size: var(--type-small);letter-spacing:.08em;color:var(--text-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.line{height:1px;width:16px;background:var(--text-secondary)}.bottom{position:absolute;bottom:34px;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.bottom>*{pointer-events:auto}.movement{display:flex;gap:3px;align-items:center}.movement div{display:flex;flex-direction:column;gap:3px}.movement button{width:44px;height:44px;padding:0;font-size:22px;touch-action:none;user-select:none;-webkit-user-select:none;background: var(--glass-sheen), var(--glass-bg-solid);border:var(--glass-border);border-radius:var(--radius-md);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.movement button:active{background:var(--surface-hover)}.tour{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:5px;background: var(--glass-sheen), var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-md);box-shadow: var(--glass-shadow)}.tour button{font-size: var(--type-small);white-space:nowrap;padding:9px 14px}.tour #count{display:inline-block;margin-left:16px;font-size: var(--type-small);color:var(--text-secondary);letter-spacing:.08em;font-variant-numeric:tabular-nums}.home{background: var(--glass-sheen), var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-md);font-size: var(--type-small);padding:12px 18px}.keyboard-note{position:absolute;bottom:12px;left:clamp(20px,4vw,64px);font-size: var(--type-small);color:var(--palette-white);text-shadow:0 1px 7px var(--palette-black),0 1px 2px var(--palette-black)}.minimap{position:absolute;right:clamp(20px,4vw,64px);bottom:111px;padding:14px;background: var(--glass-sheen), var(--glass-bg-solid);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-md)}.minimap span{display:block;font-size: var(--type-small);letter-spacing:.16em;margin-bottom:5px;color:var(--text-secondary)}.minimap canvas{display:block;width:120px;height:98px}.crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size: var(--type-body);pointer-events:none;color:rgba(var(--palette-white-rgb), 0.667);text-shadow:0 0 3px rgba(var(--palette-black-rgb), 0.400)}#hint{position:absolute;left:50%;bottom:106px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 330px);font-size: var(--type-small);line-height:1.5;text-align:center;color:var(--text-strong);background: var(--glass-sheen), var(--glass-bg-solid);padding:9px 15px;border:var(--glass-border);border-radius:var(--radius-sm);pointer-events:none;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}#settings{position:absolute;top:93px;right:clamp(20px,4vw,64px);width:320px;max-height:calc(100dvh - 120px);overflow:auto;padding:24px;background: var(--glass-sheen), var(--glass-bg-solid);border:var(--glass-border);box-shadow: var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-md);z-index:4;color:var(--text-strong);color-scheme:dark}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{font-family:var(--font-display);font-size:30px;font-weight:300;margin:0}.panel-head button,.dialog-close{font-size:27px;min-width:44px;padding:5px}.panel-head+p{font-size: var(--type-small);line-height:1.7;color:var(--text-secondary)}#settings label{display:block;margin:22px 0 10px;font-size: var(--type-small)}#settings select{width:100%;font-size: var(--type-body);padding:11px 12px;border:var(--glass-border);background:rgba(var(--palette-white-rgb), 0.035);border-radius:var(--radius-sm);color:var(--text-strong)}#settings option{background:var(--surface)}#settings input[type=range]{width:100%;accent-color:var(--accent)}#settings output{float:right;color:var(--accent);font-size: var(--type-small)}#settings .check{display:flex;gap:10px;align-items:center;line-height:1.5}.check input{width:18px;height:18px;flex:none;accent-color:var(--accent)}.text-button{font-size: var(--type-small);color:var(--accent);padding:8px 0;text-decoration:underline;text-underline-offset:4px}.muted{color:var(--text-secondary);font-size: var(--type-small);line-height:1.7}dialog{color:var(--text-strong);background: var(--glass-sheen), var(--glass-bg-solid);border:var(--glass-border);border-radius:var(--radius-md);box-shadow: var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);max-width:94vw;max-height:92dvh;padding:28px}dialog::backdrop{background:rgba(var(--palette-black-rgb), .75);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#viewer{width:min(1100px,94vw)}#viewer>.dialog-close{position:absolute;right:10px;top:10px;background:rgba(var(--palette-black-rgb), 0.851);z-index:1;border-radius:var(--radius-sm);color:var(--palette-white)}#largePhoto{display:block;max-height:64dvh;width:100%;object-fit:contain;background:var(--bg)}.art-info{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}#artNumber{font-size: var(--type-small);margin:20px 0 7px}#artTitle{font-family:var(--font-display);font-size:32px;font-weight:300;font-style:italic;margin:0 0 9px}#artCredit{font-size: var(--type-small);color:var(--text-secondary);margin:0}.art-info a{font-size: var(--type-small);white-space:nowrap;color:var(--accent)}.viewer-controls{border-top:var(--glass-border);display:flex;align-items:center;justify-content:space-between;padding-top:7px;gap:10px}.viewer-controls button{font-size: var(--type-small)}.viewer-controls span{font-size: var(--type-small);color:var(--text-secondary)}#works{width:min(1050px,94vw)}#grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px;margin-top:25px}#grid button{text-align:left;padding:0;border-radius:0}#grid button:hover{background:none}#grid img{display:block;width:100%;height:145px;object-fit:cover;margin-bottom:12px;transition:opacity .2s}#grid button:hover img{opacity:.82}#grid strong{display:block;font-family:var(--font-display);font-weight:400;font-size:23px;line-height:1.2}#grid small{display:block;font-size: var(--type-small);color:var(--text-secondary);line-height:1.6;margin-top:8px}#error{position:absolute;top:43%;left:10%;right:10%;background: var(--glass-sheen), var(--glass-bg-solid);padding:25px;text-align:center;font-size: var(--type-body);line-height:1.7}
@media(max-width:700px){header{min-height:72px;padding:10px 16px;gap:8px}.wordmark{font-size:22px;letter-spacing:.1em}.wordmark span{font-size: var(--type-small);letter-spacing:.12em}nav{gap:1px}nav button{padding:10px;min-width:44px}nav .button-label,nav .count-tag{display:none}.exhibition{top:91px;left:16px;max-width:250px;padding:19px 21px}.exhibition h1{font-size:32px}.exhibition .eyebrow{font-size: var(--type-small)}.exhibition .sample-note{font-size: var(--type-small)}.room-marker{top:auto;bottom:209px;left:16px;right:auto;max-width:205px;font-size: var(--type-small)}.bottom{bottom:calc(21px + env(safe-area-inset-bottom,0px));left:16px;right:16px}.movement{gap:3px}.movement button{width:40px;min-height:42px;height:42px}.tour{left:auto;right:0;transform:none;max-width:calc(100% - 135px);padding:3px;gap:0}.tour button{padding:9px 8px;font-size: var(--type-small)}.tour #count{display:block;margin:5px 0 0;font-size: var(--type-small)}.tour #prev,.tour #next{min-width:28px;padding:9px 5px}.home{position:absolute;right:0;bottom:80px;font-size: var(--type-small);padding:9px 13px}.minimap{right:16px;bottom:178px;padding:9px}.minimap canvas{width:78px;height:72px}.minimap span{font-size: var(--type-small)}.keyboard-note{display:none}#hint{left:16px;bottom:158px;transform:none;max-width:calc(100% - 124px);font-size: var(--type-small);text-align:left;padding:8px 10px}#settings{top:84px;right:12px;width:min(320px,calc(100% - 24px));max-height:calc(100dvh - 103px);padding:21px}.crosshair{display:none}dialog{padding:20px;max-height:92dvh}#grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 14px}#grid img{height:125px}#grid strong{font-size:22px}#grid small{font-size: var(--type-small)}#largePhoto{max-height:58dvh}.art-info{align-items:start;gap:10px}#artTitle{font-size:28px}.art-info a{padding-top:24px;font-size: var(--type-small)}.viewer-controls span{display:none}.viewer-controls button{font-size: var(--type-small);padding:10px 5px}.fine-rule{margin:17px 0 13px}}
@media(max-width:370px){.movement button{width:36px}.tour{max-width:calc(100% - 120px)}.tour button{padding:8px 5px;font-size: var(--type-small)}.wordmark{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header{background:rgba(var(--palette-black-rgb), 0.922)}.exhibition,.tour,.home,.movement button,.minimap,#hint,#settings,dialog{background:rgba(var(--palette-black-rgb), 0.961)}}

header{color:var(--text-strong);backdrop-filter:var(--glass-blur) brightness(.5);-webkit-backdrop-filter:var(--glass-blur) brightness(.5)}

#loading{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);font-size: var(--type-small);padding:17px 24px;color:var(--text-strong);background: var(--glass-sheen), var(--glass-bg-solid);border:var(--glass-border);border-radius:var(--radius-md)}

.lighting-controls{padding:0;margin:25px 0;border:0;border-top:var(--glass-border)}.lighting-controls legend{font-size: var(--type-small);padding:0 12px 0 0;color:var(--text-strong)}#settings .light-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:15px 0;border-bottom:var(--glass-border);cursor:pointer}.light-switch strong{display:block;font-size: var(--type-small);font-weight:400;line-height:1.4}.light-switch small{display:block;font-size: var(--type-small);color:var(--text-secondary);line-height:1.5;margin-top:4px}.light-switch input{appearance:none;-webkit-appearance:none;width:38px;height:22px;min-width:38px;border-radius:12px;border:1px solid rgba(var(--palette-white-rgb), 0.145);background:rgba(var(--palette-white-rgb), 0.075);position:relative;cursor:pointer;transition:background .2s}.light-switch input::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--text-secondary);transition:transform .2s}.light-switch input:checked{background:var(--accent);border-color:var(--accent)}.light-switch input:checked::after{transform:translateX(16px);background:var(--palette-white)}#settings{scrollbar-width:thin;scrollbar-color:var(--text-secondary) var(--bg)}

/* Main-site navigation, alongside the museum controls. */
.catalog-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;text-decoration:none;white-space:nowrap;font-size: var(--type-small);border-radius:var(--radius-sm)}.catalog-link:hover{background:rgba(var(--palette-white-rgb), 0.071);color:var(--palette-white)}@media(max-width:700px){.catalog-link{padding:10px 8px;font-size: var(--type-small)}.catalog-link span{display:none}}

/* Room directory and traversal stay within the existing museum chrome. */
button:disabled{opacity:.38;cursor:default}
#rooms{width:min(650px,94vw)}
#roomList{display:grid;gap:4px;margin-top:22px}
.room-option{display:grid;grid-template-columns:32px 1fr;column-gap:14px;text-align:left;padding:14px;border:1px solid transparent}
.room-option>span{grid-row:span 2;font-size: var(--type-small);color:var(--accent);padding-top:4px;font-variant-numeric:tabular-nums}
.room-option strong{font-family:var(--font-display);font-weight:400;font-size:26px}
.room-option small{font-size: var(--type-small);color:var(--text-secondary);margin-top:4px}
.room-option[aria-current=true]{border-color:rgba(var(--palette-blue-rgb), 0.439);background:rgba(var(--palette-blue-rgb), 0.102)}
.room-step{position:absolute;top:154px;right:clamp(20px,4vw,64px);display:flex;gap:4px;background: var(--glass-sheen), var(--glass-bg-solid);border:var(--glass-border);border-radius:var(--radius-md)}
.room-step button{font-size: var(--type-small)}
#photoNotice{position:absolute;top:205px;right:clamp(20px,4vw,64px);max-width:280px;padding:12px;background: var(--glass-sheen), var(--glass-bg-solid);font-size: var(--type-small);line-height:1.6}
#error{z-index:3}#error p{margin:0 0 12px}#retryGallery{border:var(--glass-border)}
@media(max-width:700px){
  header{flex-wrap:wrap;gap:2px;padding:10px 16px}
  header .wordmark{font-size:20px;flex:1}
  header nav{gap:0}#albumLink{display:none}#roomPicker{font-size: var(--type-small);padding:10px 8px}
  .room-step{top:auto;bottom:247px;left:16px;right:auto}
  .room-step button{font-size: var(--type-small);padding:8px 12px}
  #photoNotice{top:85px;right:12px;left:12px;max-width:none;z-index:3}
  .room-marker{max-width:calc(100% - 125px);white-space:normal;line-height:1.4}
  .exhibition{max-width:240px}.exhibition h1{font-size:30px}
}
.tour[hidden],.room-step[hidden],#collection[hidden]{display:none}
