/* Adapted from iyzyzoe/website: css/base.css and css/bottom-dock.css.
   Dark glass chrome surrounds a daylight photographic gallery. */
:root{--bg:#18181b;--text-strong:#d4d4d4;--text-mid:#999;--accent:#7a9bb5;--glass-bg:rgba(45,45,52,.40);--glass-bg-elevated:rgba(52,52,60,.55);--glass-bg-solid:rgba(32,32,38,.88);--glass-blur:blur(20px) saturate(1.3);--glass-border:1px solid rgba(255,255,255,.08);--elev-2:0 1px 0 #ffffff0d,0 8px 32px #00000059;--elev-3:0 1px 0 #ffffff0f,0 24px 64px #0000008c;--radius-sm:2px;--radius-md:6px;--font-display:'Cormorant Garamond',Georgia,serif;--font-body:'Montserrat','Helvetica Neue',Arial,sans-serif;--ease-out:cubic-bezier(.23,1,.32,1)}
*{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:#ffffff12;color:#fff}button:active{background:#ffffff21}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-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:var(--glass-border);box-shadow:var(--elev-2)}.wordmark{font-family:var(--font-display);text-decoration:none;font-size:27px;font-weight:400;letter-spacing:.14em;color:#f2f0ec;line-height:1.1;white-space:nowrap}.wordmark span{display:block;font-family:var(--font-body);font-size:10px;letter-spacing:.18em;margin-top:6px;color:#ddd9d4}nav{display:flex;align-items:center;gap:8px;font-size:14px}nav button{white-space:nowrap}nav .count-tag{font-size:12px;opacity:.7;margin-left:14px}.exhibition{position:absolute;top:108px;left:clamp(20px,4vw,64px);padding:24px 26px;max-width:310px;background: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:12px;letter-spacing:.18em;line-height:1.5;margin:0 0 18px;color:#b9b9bf}.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:#f2f0ec}.subtitle{font-size:14px;color:#c7c3bb;line-height:1.7;margin:0}.fine-rule{width:35px;height:1px;background:#ffffff30;margin:20px 0 15px}.small{display:none}.sample-note{font-size:12px;color:#b4b4bd;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-bg-solid);border:var(--glass-border);border-radius:var(--radius-sm);font-size:12px;letter-spacing:.08em;color:#dcdcdf;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.line{height:1px;width:16px;background:#c7c3bb}.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-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:#5b5c68}.tour{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:5px;background: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(--elev-2)}.tour button{font-size:14px;white-space:nowrap;padding:9px 14px}.tour #count{display:inline-block;margin-left:16px;font-size:12px;color:#b8b8c1;letter-spacing:.08em;font-variant-numeric:tabular-nums}.home{background: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:14px;padding:12px 18px}.keyboard-note{position:absolute;bottom:12px;left:clamp(20px,4vw,64px);font-size:12px;color:#fff;text-shadow:0 1px 7px #000,0 1px 2px #000}.minimap{position:absolute;right:clamp(20px,4vw,64px);bottom:111px;padding:14px;background: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:10px;letter-spacing:.16em;margin-bottom:5px;color:#bcbcc5}.minimap canvas{display:block;width:120px;height:98px}.crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:16px;pointer-events:none;color:#ffffffaa;text-shadow:0 0 3px #0006}#hint{position:absolute;left:50%;bottom:106px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 330px);font-size:12px;line-height:1.5;text-align:center;color:#ededf0;background: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-bg-solid);border:var(--glass-border);box-shadow:var(--elev-3);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-md);z-index:4;color:#dedee4;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:14px;line-height:1.7;color:#bfc0c9}#settings label{display:block;margin:22px 0 10px;font-size:14px}#settings select{width:100%;font-size:16px;padding:11px 12px;border:var(--glass-border);background:#ffffff09;border-radius:var(--radius-sm);color:#ededf2}#settings option{background:#25252b}#settings input[type=range]{width:100%;accent-color:var(--accent)}#settings output{float:right;color:#b7cddd;font-size:12px}#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:13px;color:#c4d8e6;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.muted{color:#b6b6bf;font-size:13px;line-height:1.7}dialog{color:#d4d4d4;background:var(--glass-bg-solid);border:var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--elev-3);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);max-width:94vw;max-height:92dvh;padding:28px}dialog::backdrop{background:rgba(15,15,18,.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:#202026d9;z-index:1;border-radius:var(--radius-sm);color:#fff}#largePhoto{display:block;max-height:64dvh;width:100%;object-fit:contain;background:#18181b}.art-info{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}#artNumber{font-size:12px;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:13px;color:#b8b8c1;margin:0}.art-info a{font-size:13px;white-space:nowrap;color:#c4d8e6}.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:13px}.viewer-controls span{font-size:12px;color:#aaaab4}#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:12px;color:#adadb7;line-height:1.6;margin-top:8px}#error{position:absolute;top:43%;left:10%;right:10%;background:var(--glass-bg-solid);padding:25px;text-align:center;font-size:16px;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:8px;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:10px}.exhibition .sample-note{font-size:12px}.room-marker{top:auto;bottom:209px;left:16px;right:auto;max-width:205px;font-size:10px}.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:12px}.tour #count{display:block;margin:5px 0 0;font-size:10px}.tour #prev,.tour #next{min-width:28px;padding:9px 5px}.home{position:absolute;right:0;bottom:80px;font-size:12px;padding:9px 13px}.minimap{right:16px;bottom:178px;padding:9px}.minimap canvas{width:78px;height:72px}.minimap span{font-size:9px}.keyboard-note{display:none}#hint{left:16px;bottom:158px;transform:none;max-width:calc(100% - 124px);font-size:11px;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:12px}#largePhoto{max-height:58dvh}.art-info{align-items:start;gap:10px}#artTitle{font-size:28px}.art-info a{padding-top:24px;font-size:12px}.viewer-controls span{display:none}.viewer-controls button{font-size:12px;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:11px}.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:#25252beb}.exhibition,.tour,.home,.movement button,.minimap,#hint,#settings,dialog{background:#222229f5}}

header{color:#ececf0;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:14px;padding:17px 24px;color:#ececf0;background: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:14px;padding:0 12px 0 0;color:#dedee4}#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:14px;font-weight:400;line-height:1.4}.light-switch small{display:block;font-size:12px;color:#b6b6c0;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 #ffffff25;background:#ffffff13;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:#c8c8cf;transition:transform .2s}.light-switch input:checked{background:#7a9bb5;border-color:#9bb7cc}.light-switch input:checked::after{transform:translateX(16px);background:#fff}#settings{scrollbar-width:thin;scrollbar-color:#656570 #24242b}

/* 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:14px;border-radius:var(--radius-sm)}.catalog-link:hover{background:#ffffff12;color:#fff}@media(max-width:700px){.catalog-link{padding:10px 8px;font-size:12px}.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:13px;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:12px;color:#b6b6bf;margin-top:4px}
.room-option[aria-current=true]{border-color:#7a9bb570;background:#7a9bb51a}
.room-step{position:absolute;top:154px;right:clamp(20px,4vw,64px);display:flex;gap:4px;background:var(--glass-bg-solid);border:var(--glass-border);border-radius:var(--radius-md)}
.room-step button{font-size:13px}
#photoNotice{position:absolute;top:205px;right:clamp(20px,4vw,64px);max-width:280px;padding:12px;background:var(--glass-bg-solid);font-size:13px;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:12px;padding:10px 8px}
  .room-step{top:auto;bottom:247px;left:16px;right:auto}
  .room-step button{font-size:12px;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}
