/* Visual Master V32 — a coherent visual layer above the legacy feature styles. */
:root{--vm-ink:#0f0d0b;--vm-deep:#1b1612;--vm-wood:#382519;--vm-brass:#c8a574;--vm-light:#f3e5c9;--vm-line:rgba(202,165,112,.4)}
html{scroll-behavior:smooth}
body{background:radial-gradient(circle at top,#352519,#0b0a08 48%);color:var(--vm-light);-webkit-font-smoothing:antialiased}
button{transition:background-color .18s ease,border-color .18s ease,filter .18s ease,transform .18s ease}
.topbar{height:76px!important;display:flex!important;align-items:center!important;gap:clamp(10px,2.3vw,36px)!important;padding:0 clamp(16px,2.5vw,48px)!important;background:linear-gradient(90deg,#140f0cee,#261a13f4,#140f0cf5)!important;box-shadow:0 10px 32px #0009!important;border-bottom:1px solid var(--vm-line)!important;backdrop-filter:blur(18px);z-index:100!important}
.wordmark{font-family:var(--display)!important;font-size:clamp(31px,3vw,44px)!important;color:var(--vm-light)!important;white-space:nowrap;min-width:max-content;text-shadow:0 2px 12px #0009!important}
.top-actions{gap:8px!important;display:flex;align-items:center;margin-inline-start:auto}
.master-topnav{display:flex;gap:clamp(4px,1.4vw,18px);align-items:center;justify-content:center;flex:1;min-width:0}
.master-topnav button{font-family:var(--ui);font-size:clamp(12px,1.1vw,15px);border:0;border-bottom:1px solid transparent;min-height:45px;white-space:nowrap;padding:0 9px;color:#d4bb94;background:none;cursor:pointer}
.master-topnav button:hover,.master-topnav button:focus-visible{border-bottom-color:#d3aa70;color:#fff1d4;background:#ffffff08}
.iconbtn,.toplink{min-width:40px!important;height:42px!important;display:inline-grid;place-items:center;background:#ffffff08!important;border:1px solid #d1ae7350!important;box-shadow:none!important;border-radius:12px!important;color:#e4c99e!important}
.toplink{padding-inline:12px!important}
.toplink:hover,.iconbtn:hover{background:#ac86412a!important;border-color:#deb87f!important}
.master-icon{display:block;width:22px;height:22px}
.view{padding-top:76px!important}
/* Focal hall: polished palace atmosphere, five separate realistic doorway assets. */
.hall-scene{
 position:relative!important;isolation:isolate;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
 min-height:calc(100svh - 143px)!important;padding:38px 20px 60px!important;
 background:radial-gradient(circle at 50% 8%,#8a66424c,transparent 50%),linear-gradient(#1a120d50,#130d0b9a),url('assets/palace-atmosphere.webp') center /cover no-repeat!important;
 overflow:hidden;
}
.hall-scene::before{display:block!important;content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#0605040c,#130c0926 58%,#0706069a 100%)!important}
.hall-scene::after{content:"";position:absolute;inset:auto 0 0;height:25%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at center,#c79a542e,transparent 70%),repeating-linear-gradient(90deg,#1d150c66 0 5px,#3a271444 5px 7px,transparent 7px 60px);opacity:.45}
.hall-heading{z-index:2!important;position:relative;margin:0 auto!important;max-width:880px!important;padding:2px 16px 0!important;text-align:center!important;background:none!important;box-shadow:none!important}
.mini-rule{font-family:var(--ui)!important;letter-spacing:.07em!important;color:#ddbf8d!important;font-size:clamp(11px,1vw,14px)!important;display:flex;align-items:center;justify-content:center;gap:15px}
.mini-rule-line{width:42px;height:1px;background:linear-gradient(90deg,transparent,#b6925e,transparent);display:inline-block}
.wood-plaque{display:flex!important;align-items:center!important;justify-content:center!important;max-width:max-content!important;min-width:0!important;padding:0 38px!important;margin:8px auto 0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.wood-plaque::before,.wood-plaque::after{content:"❧";color:#bc945b;opacity:.78;font-size:29px}
.wood-plaque .plaque-orn{display:none!important}
.wood-plaque h1{font-family:var(--display)!important;font-size:clamp(67px,6.5vw,104px)!important;font-weight:400!important;line-height:1.3!important;margin:0 10px!important;padding:0!important;color:#f1d5a5!important;text-shadow:0 4px 2px #070402a8,0 0 28px #deae6760!important}
.welcome{font-family:var(--text)!important;max-width:850px!important;font-size:clamp(18px,1.8vw,25px)!important;margin:0 auto 0!important;line-height:1.8!important;color:#f4e7cc!important;text-shadow:0 3px 14px #000!important}
.hall-doors{z-index:3!important;position:relative!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:clamp(12px,1.6vw,24px)!important;align-items:start!important;width:min(1340px,97%)!important;max-width:1340px!important;height:auto!important;aspect-ratio:auto!important;margin:22px auto 45px!important;padding:0!important;background:none!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.hall-doors .portal,.hall-doors .portal[data-go]{position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-direction:column!important;width:100%!important;min-width:0!important;height:clamp(325px,33vw,455px)!important;margin:0!important;padding:0 10px 24px!important;border:1px solid #e1c38a77!important;border-radius:115px 115px 8px 8px!important;overflow:visible!important;cursor:pointer;isolation:isolate;background-color:#1c120c!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:center center!important;box-shadow:inset 0 0 0 5px #28170ea6,0 22px 22px #0604029a,0 0 0 3px #443122!important;transition:transform .28s ease,box-shadow .28s ease,filter .28s ease!important;transform:none!important;backdrop-filter:none!important}
.hall-doors .portal[data-go="music"]{background-image:url('assets/photographic-door-music.webp')!important}
.hall-doors .portal[data-go="literature"]{background-image:url('assets/photographic-door-literature.webp')!important}
.hall-doors .portal[data-go="letters"]{background-image:url('assets/photographic-door-letters.webp')!important}
.hall-doors .portal[data-go="reflection"]{background-image:url('assets/photographic-door-reflection.webp')!important}
.hall-doors .portal[data-go="guests"]{background-image:url('assets/photographic-door-guests.webp')!important}
.hall-doors .portal::before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none;background:linear-gradient(180deg,#09060500 0%,#130c0800 35%,#130b091f 65%,#070403b2 100%)!important;border-radius:inherit!important}
.hall-doors .portal::after{content:"";position:absolute;inset:5px;border:1px solid #f1d5a340;border-radius:inherit;pointer-events:none;opacity:.7;transition:opacity .2s}
.hall-doors .portal:hover,.hall-doors .portal:focus-visible{transform:translateY(-9px)!important;filter:brightness(1.12)!important;box-shadow:inset 0 0 0 5px #28170eb8,0 29px 32px #060402ab,0 0 0 3px #c8a574!important}
.hall-doors .portal:focus-visible{outline:3px solid #f8dfae!important;outline-offset:6px!important}
.hall-doors .portal .arch,.hall-doors .portal .lantern{display:none!important}
.hall-doors .door-title{position:absolute!important;top:52%!important;bottom:auto!important;inset-inline:6%!important;z-index:2!important;display:block!important;width:88%!important;max-width:none!important;text-align:center!important;margin:0!important;padding:7px 4px!important;background:linear-gradient(110deg,#190e08f5,#412512fa 49%,#1e120afa)!important;color:#f6e1b7!important;line-height:1.5!important;font-family:var(--display)!important;font-size:clamp(15px,1.55vw,22px)!important;font-weight:normal!important;border:1px solid #dbb679!important;border-radius:4px!important;box-shadow:0 4px 16px #000b,inset 0 0 0 2px #1c1009!important;white-space:normal!important}
.hall-doors .door-note{position:absolute!important;inset:auto 0 -40px!important;display:block!important;margin:0!important;padding:0 3px!important;color:#d4bc94!important;text-align:center!important;font:clamp(10px,.96vw,13px)/1.5 var(--ui)!important;text-shadow:0 2px 10px #000!important;opacity:.94!important;overflow:hidden;max-height:42px}
.hall-doors .portal[aria-current="true"] .door-title{border-color:#f8ddb0!important}
.hall-foreground,.hall-window,.ceiling{display:none!important}
.hall-bottom{z-index:5!important}
.hall-caption{font-family:var(--text)!important;background:linear-gradient(90deg,#100e0b,#201810,#100e0b)!important;color:#d7bb8b!important;border-block:1px solid #b28b4c46!important;text-align:center!important;padding:14px!important;letter-spacing:.025em!important}
.hall-caption-orn{color:#a9824c;font-size:18px;margin:0 10px}
/* Interior sections — framed painterly interior views and more generous hierarchy. */
.room-view{background:radial-gradient(ellipse at top,#43302288,transparent 45%),linear-gradient(180deg,#1c1510,#0d0b09 75%)!important}
.room-hero{display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:center!important;text-align:right!important;min-height:450px!important;padding:58px clamp(28px,8vw,130px)!important;border-bottom:1px solid #c8a57466!important;background:linear-gradient(90deg,#150f0fe6,#3825159c),url('assets/palace-atmosphere.webp') center/cover!important;overflow:hidden!important}
.room-hero::before{z-index:0!important;background:linear-gradient(90deg,#17100eae 0%,#19110feb 48%,#21160b99 100%)!important}
.room-hero::after{inset:22px!important;border:1px solid #e2bf8b38!important;border-radius:4px!important}
.room-hero h2{z-index:2!important;max-width:55%;font-size:clamp(50px,6.6vw,92px)!important;line-height:1.4!important;letter-spacing:0!important;color:#f5e0b8!important;text-shadow:0 4px 20px #000!important}
.room-hero p{z-index:2!important;max-width:50%!important;line-height:1.9!important;font-size:clamp(17px,1.7vw,24px)!important;color:#e9d8b9!important}
.room-hero .room-kicker{z-index:2!important;color:#bf965d!important;font-size:13px!important;letter-spacing:.12em!important}
.room-hero .back-door{z-index:2!important;margin-top:14px!important;border:1px solid #c1a070!important;background:#2a1c13ec!important;color:#f3ddb3!important;border-radius:8px!important;padding:11px 20px!important}
.room-hero .back-door:hover{background:#69492b!important}
.room-decor,.starfield{display:none!important}
.master-room-art{position:absolute!important;left:clamp(34px,8vw,132px)!important;right:auto!important;top:25px!important;bottom:25px!important;width:min(30%,370px)!important;height:calc(100% - 50px)!important;z-index:1!important;padding:9px;background:linear-gradient(160deg,#dfbe86,#51351d,#d0a565)!important;box-shadow:0 20px 60px #000b,inset 0 0 0 5px #24170c!important;border:1px solid #daba81!important;border-radius:160px 160px 4px 4px!important;overflow:hidden!important}
.master-room-art img{display:block;width:100%;height:100%;object-fit:cover;border-radius:150px 150px 1px 1px;filter:saturate(.88) contrast(1.04)}
.music-room .room-hero{background-color:#342215!important}
.literature-room .room-hero{background-color:#403124!important}
.letters-room .room-hero{background-color:#3f2618!important}
.reflection-room .room-hero{background-color:#14222a!important}
.guests-room .room-hero{background-color:#34261a!important}
.content-shell{max-width:1280px!important;padding-top:56px!important}
.section-heading{max-width:900px;margin-inline:auto;text-align:center!important}
.section-heading h3{font-family:var(--display)!important;font-size:clamp(34px,4vw,56px)!important;font-weight:normal;color:#f3ddb4!important}
.section-heading span{color:#bd9861!important;font:13px var(--ui)!important;letter-spacing:.12em}
.album-card,.tracks-pane,.guest-card,.guest-ledger,.journal,.playlist-picker{border:1px solid #b992626e!important;background:linear-gradient(145deg,#2b2118,#15110d)!important;box-shadow:0 28px 55px #0007!important;border-radius:13px!important}
.music-layout{gap:clamp(18px,2vw,32px)!important}
.album-card{overflow:hidden!important}
.album-frame{border:4px solid #9e7843!important;box-shadow:inset 0 0 0 1px #f4dfad4a!important}
.tracks-pane,.playlist-picker{background:linear-gradient(160deg,#2a2119,#19120e)!important}
.track-cards button,.manuscript-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.track-cards button:hover,.manuscript-card:hover{transform:translateY(-3px);border-color:#e1bd85!important;box-shadow:0 12px 30px #0005}
.parchment,.letter-paper,.reading-paper,.book-reader{background:linear-gradient(160deg,#f8eed6,#e7d0a6)!important;color:#38271a!important;border-color:#b08b55!important}
.tabs button{border-radius:8px!important}
.tabs button.selected{background:linear-gradient(160deg,#d5b277,#9c713d)!important;color:#211308!important}
.player{border-top:1px solid #d9b7785f!important;background:linear-gradient(110deg,#17110df6,#302219fa,#17110df6)!important;backdrop-filter:blur(24px);box-shadow:0 -15px 45px #000b!important}
.player-buttons>button,.player-volume>button{border-radius:11px!important}
.player-buttons .play-circle{border-radius:15px!important}
.player-volume #playerVolume{accent-color:#d9b37e!important}
/* Tablet */
@media (max-width:1120px) and (min-width:701px){
 .master-topnav button{font-size:12px;padding:0 3px}
 .topbar{gap:8px!important;padding-inline:12px!important}
 .toplink span{display:none}
 .hall-doors{gap:12px!important;width:98%!important}
 .hall-doors .portal,.hall-doors .portal[data-go]{height:clamp(290px,39vw,405px)!important}
 .hall-doors .door-title{font-size:clamp(13px,1.6vw,18px)!important}
 .hall-doors .door-note{font-size:10px!important}
 .room-hero{padding-inline:7vw!important}
 .master-room-art{left:5%!important;width:33%!important}
}
/* Mobile-first luxurious single-door gallery */
@media(max-width:700px){
 .topbar{height:62px!important;gap:8px!important;padding:0 10px!important}
 .view{padding-top:62px!important}
 .wordmark{font-size:34px!important}
 .master-topnav{display:none!important}
 .top-actions{gap:5px!important}
 .top-actions .toplink{display:none!important}
 .iconbtn{width:38px!important;height:38px!important;min-width:38px!important;border-radius:10px!important}
 .master-icon{width:20px;height:20px}
 .hall-scene{min-height:calc(100svh - 130px)!important;padding:25px 10px 74px!important}
 .hall-heading{margin:0 auto!important;padding:0!important;width:100%!important}
 .mini-rule{font-size:11px!important;letter-spacing:0!important}
 .mini-rule-line{width:17px!important}
 .wood-plaque{margin:4px auto!important;padding:0 12px!important}
 .wood-plaque h1{font-size:clamp(57px,16vw,76px)!important;line-height:1.35!important}
 .wood-plaque::before,.wood-plaque::after{font-size:19px}
 .welcome{font-size:clamp(17px,4vw,20px)!important;max-width:380px!important;line-height:1.8!important;padding:0 12px!important}
 .hall-doors{display:flex!important;width:min(290px,73vw)!important;max-width:none!important;min-height:0!important;height:clamp(335px,42svh,360px)!important;aspect-ratio:auto!important;justify-content:center!important;align-items:center!important;margin:20px auto 52px!important;padding:0!important;gap:0!important}
 .hall-doors .portal,.hall-doors .portal[data-go]{display:none!important;position:relative!important;inset:auto!important;flex:0 0 100%!important;width:100%!important;height:clamp(335px,42svh,360px)!important;min-height:335px!important;padding-bottom:24px!important;box-shadow:inset 0 0 0 5px #28170ea6,0 20px 25px #000a,0 0 0 3px #443122!important}
 .hall-doors .portal.mobile-active{display:flex!important}
 .hall-doors .portal:hover{transform:none!important}
 .hall-doors .door-title{font-size:23px!important;top:51%!important}
 .hall-doors .door-note{bottom:-42px!important;font-size:12px!important}
 .hall-bottom{display:flex!important;z-index:10!important;bottom:160px!important;direction:ltr;align-items:center!important;gap:12px}
 .hall-bottom button{height:43px!important;width:47px!important;border:1px solid #d1ac795c!important;border-radius:12px!important;background:#251a12e8!important;color:#f1d9ad!important;font-size:22px!important}
 .hall-bottom #doorCounter{font-family:var(--ui)!important;font-size:12px!important;min-width:68px;color:#ebd4ad}
 .hall-caption{font-size:14px!important;padding:11px 0!important}
 .room-hero{min-height:375px!important;padding:48px 23px!important;align-items:flex-start!important}
 .room-hero h2{max-width:100%!important;font-size:clamp(42px,10vw,61px)!important;line-height:1.3!important}
 .room-hero p{max-width:90%!important;font-size:17px!important;line-height:1.8!important}
 .room-hero .room-kicker{font-size:11px!important;max-width:76%}
 .room-hero::before{background:linear-gradient(90deg,#140d0bb3,#130c0bda)!important}
 .master-room-art{left:-32px!important;right:auto!important;top:8px!important;bottom:8px!important;width:65%!important;height:calc(100% - 16px)!important;opacity:.21!important;border:0!important;box-shadow:none!important;border-radius:140px 140px 0 0!important;padding:0!important}
 .master-room-art img{border-radius:inherit}
 .content-shell{padding-top:35px!important;padding-bottom:235px!important}
 .section-heading h3{font-size:37px!important}
 .player{box-shadow:0 -6px 30px #000a!important}
}
@media(max-width:370px){.hall-doors{height:330px!important;width:255px!important}.hall-scene{padding-bottom:60px!important}.room-hero h2{font-size:40px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hall-doors .portal{transition:none!important}}

/* Music deck: a compact, polished control station for desktop. */
@media(min-width:701px){
 .player{display:grid!important;grid-template-columns:64px minmax(240px,1fr) auto!important;align-items:center!important;gap:17px!important;height:98px!important;padding:12px clamp(16px,3vw,48px)!important}
 .player>img{width:64px!important;height:64px!important;object-fit:cover;border:1px solid #d5b17b6e;border-radius:12px!important;grid-column:1!important}
 .player-info{grid-column:2!important;display:flex!important;flex-direction:column!important;justify-content:center;gap:4px;min-width:0!important;max-width:680px!important}
 .player-info strong{font-size:17px!important;color:#f3dfb9!important;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
 .player-info small{font:11px var(--ui)!important;color:#c9ac80!important}
 .player-info #seek{display:block;width:100%!important;max-width:670px!important;height:11px!important;margin:6px 0 0!important;accent-color:#d0ad75!important}
 .player-times{display:flex!important;justify-content:space-between;font-size:11px!important;direction:ltr;color:#bda883}
 .player-buttons{grid-column:3!important;direction:ltr!important;display:flex!important;align-items:center!important;gap:8px!important}
 .player-volume{gap:6px!important}
}

/* Uniform line icons in fixed navigation */
.bottom-nav button{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:3px!important;padding:6px 10px!important;border-radius:10px!important}
.bottom-nav button .master-icon{height:20px;width:20px;color:#e2c48f}
.bottom-nav button span{font-family:var(--ui);line-height:1.3}
.top-actions button .master-icon{height:20px;width:20px}
@media(max-width:700px){
 .bottom-nav{padding-bottom:env(safe-area-inset-bottom)!important;background:#160f0ce9!important;backdrop-filter:blur(14px)}
 .bottom-nav button{min-height:51px!important;padding:4px 6px!important;flex:1 1 0;min-width:0}
 .bottom-nav button .master-icon{width:19px;height:19px}
 .bottom-nav button span{font-size:10px!important}
}
