:root{--green:#174836;--mint:#b7cdbb;--ink:#18382c;--white:#fbfcfa;--gold:#c2a06e;--shadow:0 24px 85px #071e18a6}*{box-sizing:border-box}html,body,#app{height:100%;width:100%;margin:0;overflow:hidden;font-family:Inter,Arial,sans-serif}body{background:#21332e;color:#f7f9f6}button{cursor:pointer;font-family:inherit}button:focus-visible{outline:2px solid #72dcb0;outline-offset:3px}#museum{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#05161090 0%,transparent 36%),linear-gradient(0deg,#071c1880,transparent 22%,transparent 85%,#0b231a33);z-index:1}.left-panel{position:absolute;z-index:5;top:0;left:0;bottom:0;width:264px;padding:24px 16px 72px 22px;background:linear-gradient(110deg,#102b26f5,#14392ee6);border-right:1px solid #f7fff322;display:flex;flex-direction:column;transition:transform .33s;box-shadow:12px 0 36px #05130e55;backdrop-filter:blur(18px)}.left-panel.collapsed{transform:translateX(-264px)}.brand{padding:4px 11px 28px;border-bottom:1px solid #ffffff20}.brand-top{display:flex;align-items:flex-start;justify-content:space-between}.brand img{width:113px;height:76px;object-fit:contain;object-position:left center;background:#f7f9f4;padding:7px;border-radius:8px;opacity:1}.brand-top button{border:1px solid #ffffff3a;background:#ffffff0b;border-radius:9px;color:white;font-size:18px;padding:7px 10px}.brand-kicker{display:block;font-size:8px;letter-spacing:1.8px;line-height:1.6;color:#bad3c7;margin-top:9px;font-weight:700}.brand h1{font-size:18px;letter-spacing:1px;line-height:1.35;margin:10px 0 7px;font-weight:800}.brand h1 em{font-style:normal;color:#bbd5b2}.brand p{font-size:10px;color:#d4e4da;margin:0;line-height:1.5}.nav-label{padding:24px 12px 11px;font-weight:800;font-size:9px;letter-spacing:1.5px;color:#bed3c8}.nav-label span{display:block;font-size:8px;letter-spacing:1px;font-weight:500;color:#83a797;margin-top:5px}#zone-nav{overflow-y:auto;padding:4px 4px 10px 0;scrollbar-width:thin;scrollbar-color:#4f7968 transparent}#zone-nav button{width:100%;border:1px solid transparent;display:flex;align-items:center;text-align:left;border-radius:10px;color:#e3f0e6;background:transparent;padding:12px 10px;gap:10px;transition:background .18s,border .18s}#zone-nav button:hover{background:#ffffff14}#zone-nav button.active{background:#d5f3de1c;border-color:#9bc7aa44}#zone-nav .num{color:#abcaad;font-size:10px;letter-spacing:1.5px;align-self:center;font-weight:800}#zone-nav .nav-text{font-size:11px;line-height:1.3;font-weight:700}#zone-nav small{display:block;font-size:9px;line-height:1.5;font-weight:400;color:#9db8a9;margin-top:3px}.sidebar-end{margin-top:auto;padding:13px 9px 0;border-top:1px solid #ffffff1a;font-size:9px;letter-spacing:1px;font-weight:700;color:#b7d2c0}.sidebar-end p{font-size:9px;line-height:1.5;letter-spacing:0;font-weight:400;color:#8ca99b}.status-dot,.real3d b{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8fd2a3;margin-right:6px;box-shadow:0 0 12px #7cde92}.header{z-index:3;position:absolute;top:0;right:0;left:264px;padding:21px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.menu-toggle{display:none;border:1px solid #ffffff6a;background:#163d30cf;color:#f6fff8;border-radius:9px;padding:9px 12px;font-size:15px}.sidebar-hidden .menu-toggle{display:inline-flex}.sidebar-hidden .header{left:0}.sidebar-hidden .center-title{left:5%}.sidebar-hidden .bottom-ui,.sidebar-hidden .credit{left:24px}.header .path{display:flex;align-items:center;gap:11px;font-size:11px;color:#dbe7dc;text-shadow:0 2px 9px #0007}.header .path span:first-child{font-weight:900;color:white;letter-spacing:1px}.header i{opacity:.5}.header-right{display:flex;align-items:center;gap:9px}.real3d{font-size:9px;letter-spacing:1px;background:#0b342ab5;color:#d8f4dd;border:1px solid #b1dfc455;border-radius:30px;padding:10px 14px;font-weight:700}.top-button,.bottom-actions button{border:1px solid #effff855;background:#12372ab8;color:#f2faf1;border-radius:9px;font-size:11px;padding:10px 14px;font-weight:600;backdrop-filter:blur(10px)}.top-button:hover,.bottom-actions button:hover{background:#1d5940}.center-title{position:absolute;z-index:2;top:19%;left:calc(264px + 5%);max-width:360px;text-shadow:0 3px 22px #071b1aa6;pointer-events:none;transition:opacity .4s}.center-title #overline{font-size:10px;letter-spacing:2.7px;font-weight:800;color:#e2edd7}.center-title h2{font-size:clamp(30px,3.3vw,49px);font-weight:800;letter-spacing:-1.4px;line-height:1.13;margin:16px 0 14px}.center-title p{font-size:12px;line-height:1.85;color:#e6f1e9;max-width:290px}.center-title.hide{opacity:0}.credit{position:absolute;z-index:3;bottom:13px;left:calc(264px + 22px);max-width:680px;letter-spacing:.1px;font-size:10px;line-height:1.5;color:#e3eee4b5;text-shadow:0 2px 7px #081b16}.bottom-ui{z-index:3;position:absolute;bottom:47px;left:calc(264px + 22px);right:25px;display:flex;align-items:center;justify-content:space-between;gap:12px}.hints{display:flex;align-items:center;gap:8px;color:#ecf5ef;letter-spacing:.1px;font-size:10px;text-shadow:0 2px 5px #0009}.hints .key{display:inline-flex;background:#0c3027c7;box-shadow:inset 0 0 0 1px #effff850;padding:4px 7px;border-radius:5px;font-size:9px;font-weight:800}.keys-line{display:flex;gap:3px}.hints i{font-style:normal;opacity:.4}.bottom-actions{display:flex;gap:8px}.compass{z-index:3;position:absolute;right:32px;top:86px;border:1px solid #f0fff23d;background:#11372caa;border-radius:14px;padding:12px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;width:68px;backdrop-filter:blur(10px);box-shadow:0 12px 30px #0b241c47}.compass span{font-size:9px;font-weight:800;color:#b1cfa9}.compass div{font-size:25px;color:#f1faf0;transform-origin:center;transition:transform .15s}.compass small{font-size:6px;letter-spacing:.8px;color:#b9d2c2}.focus{position:absolute;z-index:4;right:30px;bottom:110px;width:min(320px,36vw);background:#f6f8f3f2;color:#233b2e;padding:22px 23px;border:1px solid #fff;box-shadow:var(--shadow);border-radius:16px}.focus[hidden],.overlay[hidden],.hotspot[hidden]{display:none}.focus span{display:block;font-size:9px;letter-spacing:1.8px;font-weight:800;color:#678671}.focus h3{margin:8px 0 18px;font-size:19px;line-height:1.35}.focus button{padding:10px 12px;font-size:11px;font-weight:700;border-radius:8px;border:none;background:#16523a;color:white}.focus button+button{background:transparent;color:#426452;padding-left:0;display:block;margin-top:8px}.hotspot{position:absolute;z-index:3;top:50%;left:53%;background:#edf9f1e8;color:#1f5a3b;border-radius:20px;box-shadow:0 6px 25px #061e196e;padding:8px 11px;font-size:10px;font-weight:700;pointer-events:none}.movement{display:none;position:absolute;bottom:105px;left:24px;z-index:3;user-select:none}.movement button{touch-action:none;background:#0d382caa;border:1px solid #ffffff77;color:white;border-radius:10px;height:42px;width:45px;font-size:15px}.movement>button{margin-left:46px;margin-bottom:4px}.movement>div{display:flex;gap:4px}.loading{z-index:20;position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,#275541,#112d25 75%);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .7s}.loading img{width:155px;max-height:145px;object-fit:contain;filter:brightness(0) invert(1)}.loading-bar{width:192px;height:3px;border-radius:20px;background:#7b9b843c;margin-top:34px;overflow:hidden}.loading-bar i{display:block;height:100%;width:8%;background:#a6ddad;transition:width .5s}.loading p{font-size:9px;letter-spacing:2.5px;margin-top:22px;color:#d3eddb}.loading.off{opacity:0;pointer-events:none}.overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#021812bd;backdrop-filter:blur(9px);padding:24px}.detail-dialog,.catalog-dialog,.help-dialog{position:relative;border:1px solid #ffffffbb;border-radius:16px;background:#f7f9f5;color:#1d382e;box-shadow:0 24px 90px #03171199;max-height:92vh;overflow:auto}.detail-dialog{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);width:min(1080px,98vw);min-height:390px}.detail-visual{background:#e0e7df;display:flex;align-items:center;justify-content:center;min-height:360px;padding:28px}.detail-visual img{max-width:100%;max-height:73vh;object-fit:contain;box-shadow:0 13px 45px #12251623}.empty-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#dce7de;color:#6c8575;border:1px solid #9eb1a4;width:260px;height:300px}.empty-photo:before{content:'◎';font-size:70px;line-height:1.6;opacity:.45}.empty-photo span{font-size:11px;letter-spacing:1px}.detail-copy{padding:48px 35px 35px}.eyebrow{display:block;letter-spacing:2px;color:#45795d;font-size:9px;font-weight:800}.detail-copy h2{font-size:26px;letter-spacing:-.9px;margin:18px 0;line-height:1.24}.detail-copy p{font-size:13px;color:#4f6659;line-height:1.9}.detail-copy small{display:block;font-size:10px;color:#77877b;margin-top:32px;line-height:1.65}.detail-meta{font-size:11px;color:#547563;margin-top:12px}.modal-link{display:inline-flex;margin-top:20px;text-decoration:none;padding:12px 16px;border-radius:8px;background:#195440;color:white;font-size:12px;font-weight:700}.close{position:absolute;z-index:2;top:13px;right:15px;background:#dce9e0;border:0;border-radius:7px;padding:5px 11px;color:#2d5540;font-size:24px}.catalog-dialog{width:min(1120px,98vw);padding:34px 38px}.catalog-head{display:flex;justify-content:space-between;gap:20px}.catalog-head h2{font-size:25px;margin:10px 0}.catalog-head p{font-size:12px;color:#718776}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 20px}.filters button{border:1px solid #d3e2d7;background:white;border-radius:20px;padding:8px 13px;font-size:11px;color:#446554}.filters button.active{background:#1b563f;color:white}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:15px;max-height:55vh;overflow:auto;padding-right:7px}.catalog-card{text-align:left;background:#fff;border:1px solid #dce7dd;padding:0 0 13px;border-radius:9px;overflow:hidden;color:#234134;transition:transform .2s}.catalog-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #1b38211a}.catalog-card img,.catalog-placeholder{width:100%;height:110px;object-fit:cover;background:#e1e9e1}.catalog-placeholder{display:flex;justify-content:center;align-items:center;color:#7b8e7b;font-size:10px}.catalog-card b{display:block;font-size:11px;line-height:1.4;margin:12px 12px 3px}.catalog-card span{font-size:9px;color:#819789;margin:0 12px}.help-dialog{padding:45px;width:min(680px,95vw)}.help-dialog h2{font-size:32px;margin:14px 0}.help-dialog>p{font-size:13px;color:#657c6e;line-height:1.8}.help-items{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0}.help-items>div{padding:18px 14px;background:#e9f0e9;border-radius:10px}.help-items b{display:block;font-size:24px;color:#79a487}.help-items strong{display:block;font-size:12px;margin:10px 0}.help-items span{display:block;font-size:11px;line-height:1.6;color:#6c8472}.start{background:#185840;border:0;color:white;padding:14px 25px;border-radius:9px;font-weight:700}.start span{margin-left:28px}.webgl-error{position:absolute;z-index:100;top:25%;left:30%;right:10%;padding:30px;background:#fff8e8;color:#6d3529;border-radius:8px}@media(max-width:1030px){.left-panel{width:230px}.left-panel.collapsed{transform:translateX(-230px)}.header{left:230px}.center-title{left:calc(230px + 4%)}.bottom-ui,.credit{left:calc(230px + 18px)}.hints{font-size:9px}.hints i,.hints>span:last-child{display:none}}@media(max-width:750px){.left-panel{width:245px;transform:translateX(-245px)}.left-panel.collapsed{transform:translateX(0)}.header{left:0;padding:15px}.header .menu-toggle{display:inline-flex}.header .real3d{display:none}.header-right .top-button span{display:none}.center-title{left:22px;top:18%;max-width:275px}.center-title h2{font-size:29px}.bottom-ui{left:17px;right:17px;bottom:44px}.bottom-ui .hints{display:none}.credit{left:15px;bottom:8px;right:15px;font-size:8px}.compass{top:72px;right:16px}.movement{display:block}.detail-dialog{grid-template-columns:1fr}.detail-visual{min-height:210px}.detail-visual img{max-height:38vh}.detail-copy{padding:26px}.catalog-dialog{padding:25px 18px}.help-items{grid-template-columns:1fr}.focus{right:12px;bottom:140px;width:min(300px,82vw)} }

/* RRIV FIVE-ZONE DESIGN SYSTEM — 2026 */
:root{--pine:#164734;--mint:#b2d4b6;--ivory:#f6f7f2}
.photo-strip{position:absolute;z-index:5;right:30px;bottom:94px;width:min(426px,35vw);background:#102d25d9;border:1px solid #ffffff3d;border-radius:13px;backdrop-filter:blur(16px);padding:11px;box-shadow:0 16px 44px #10291b44}
.photo-strip-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px 2px;color:#e8f0e4;font-weight:700;letter-spacing:1.45px;font-size:9px}
.photo-strip-head button{color:#e8f5e9;background:#ffffff1f;border:0;border-radius:5px;padding:2px 7px;font-size:17px;cursor:pointer}
.photo-strip-items{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding-bottom:1px}
.strip-thumb{flex:0 0 66px;height:65px;background:#e6e9e1;padding:3px;border:1px solid #ffffff4b;cursor:pointer;border-radius:5px;overflow:hidden;transition:transform .18s,border .18s}
.strip-thumb:hover{transform:translateY(-3px);border-color:#d4f1d5}.strip-thumb img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.strip-unfilled{font-size:22px;color:#6f9981;display:flex;align-items:center;justify-content:center;height:100%}.photo-strip.minimized{width:240px}.photo-strip.minimized .photo-strip-items{display:none}.photo-strip.minimized .photo-strip-head{margin-bottom:0}
.welcome{position:absolute;z-index:40;inset:0;overflow:auto;background:#17372b;color:white;font-family:Inter,Arial,sans-serif;transition:opacity .56s,transform .56s}
.welcome.hidden{opacity:0;pointer-events:none;transform:scale(1.018)}
.welcome-picture{position:absolute;inset:0;background-image:url('assets/media/welcome_building.jpg');background-position:center 41%;background-size:cover;filter:saturate(.76)}
.welcome-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,24,.97) 0%,rgba(7,35,25,.92) 32%,rgba(7,39,29,.43) 68%,rgba(8,26,21,.18)),linear-gradient(0deg,rgba(4,27,21,.94),transparent 25%,transparent 76%,rgba(5,23,16,.18))}
.welcome-inner{position:relative;min-height:100vh;display:flex;flex-direction:column;max-width:1500px;margin:auto;padding:36px clamp(24px,5vw,78px) 24px;box-sizing:border-box}
.welcome-top{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:750;letter-spacing:2.25px;color:#c4e2c6}.micro-line{width:31px;height:2px;background:#a6d3a8}.top-index{margin-left:auto;font-size:9px;color:#d9e3d2;letter-spacing:1.5px}
.welcome-body{display:flex;gap:32px;align-items:center;flex:1;min-height:390px;padding:30px 0 0}.welcome-mark{align-self:flex-start;margin-top:40px;border-radius:14px;background:#ffffffed;padding:16px 13px 10px;box-shadow:0 12px 34px #082c206b}.welcome-mark img{width:98px;height:auto;display:block;object-fit:contain}
.welcome-copy{max-width:750px}.eyebrow-w{font-size:11px;letter-spacing:2.1px;font-weight:700;color:#d7ead8}.welcome-copy h1{font-size:clamp(42px,6vw,92px);line-height:1.02;letter-spacing:-3.8px;margin:19px 0 19px;font-weight:850}.welcome-copy h1 em{color:#b0d7b0;font-style:normal}.welcome-sub{font-size:clamp(15px,1.6vw,21px);font-weight:650;margin:0 0 16px}.welcome-description{font-size:13px;line-height:1.8;color:#daebdd;max-width:430px}.welcome-enter{border:0;background:#f1f7ec;color:#164a35;border-radius:8px;padding:16px 17px 16px 22px;display:flex;gap:38px;align-items:center;margin-top:29px;font-size:13px;font-weight:800;cursor:pointer;transition:transform .15s,background .15s}.welcome-enter:hover{transform:translateY(-2px);background:#ffffff}.welcome-enter span{font-size:18px}
.welcome-bottom{padding-top:20px}.welcome-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.welcome-sections button{text-align:left;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:120px;border:1px solid #ffffff4b;background:#153d30a8;color:white;padding:14px 15px;overflow:hidden;border-radius:8px;cursor:pointer;transition:transform .2s}.welcome-sections button:hover{transform:translateY(-5px);background:#275a43}.welcome-sections button img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.23}.welcome-sections button b,.welcome-sections button span:not(.portrait-icon):not(.honor-icon){position:relative;z-index:2}.welcome-sections button span:not(.portrait-icon):not(.honor-icon){font-size:9px;color:#e0eddf;letter-spacing:1.4px;font-weight:700}.welcome-sections button b{font-size:13px;margin-top:8px}.portrait-icon,.honor-icon{position:absolute;z-index:1;right:16px;top:1px;font-size:54px;color:#c9e6d0;opacity:.18}.welcome-bottom>p{font-size:10px;text-align:center;color:#c9dece;margin:18px 0 0;line-height:1.5}
.brand img,.brand-top img{object-fit:contain}.brand-top img{background:#ffffffec;border-radius:7px;padding:5px;max-width:112px;max-height:84px}
#zone-nav .nav-text{font-size:11.5px}.left-panel{background:#10392ee8}.vignette{pointer-events:none}
@media(max-width:950px){.photo-strip{width:330px}.welcome-copy h1{letter-spacing:-2px}.welcome-mark img{width:72px}}
@media(max-width:750px){.welcome-inner{padding:20px}.welcome-top{font-size:8px}.welcome-body{gap:15px;min-height:340px}.welcome-mark{margin-top:10px;padding:6px}.welcome-mark img{width:60px}.welcome-copy h1{font-size:clamp(34px,8vw,54px);letter-spacing:-1.8px}.welcome-description{font-size:11px}.welcome-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-sections button{min-height:88px}.photo-strip{bottom:171px;right:12px;width:min(265px,75vw)}.strip-thumb{flex-basis:49px;height:50px}.photo-strip-head{font-size:8px}}

/* Single-room gallery 360 redesign */
.left-panel{z-index:10}.left-panel.collapsed{transform:translateX(-290px)}.sidebar-hidden .header,.sidebar-hidden .center-title,.sidebar-hidden .bottom-ui,.sidebar-hidden .credit{left:24px}
.sidebar-hidden .header{background:linear-gradient(90deg,#0c302792,transparent);right:0}.center-title{max-width:400px;pointer-events:none}.center-title h2{font-size:clamp(29px,3.7vw,51px)}
.photo-strip{bottom:104px;right:26px;max-width:370px}.photo-strip .strip-thumb{flex-basis:62px;height:62px}
.wall-switch{z-index:7;position:absolute;bottom:38px;left:50%;transform:translateX(-50%);display:flex;gap:6px;background:#163c30de;backdrop-filter:blur(15px);padding:7px;border:1px solid #cbe5d058;border-radius:13px;max-width:calc(100vw - 42px);box-shadow:0 8px 28px #001c113d}
.wall-switch button{display:flex;align-items:center;gap:7px;color:#e8f1ea;white-space:nowrap;padding:11px 12px;border:0;background:transparent;border-radius:8px;font-size:10px;font-weight:750;transition:background .2s}.wall-switch button span{font-size:9px;color:#b2d1b6}.wall-switch button.active,.wall-switch button:hover{background:#f3f4ee;color:#1a5139}.wall-switch button.active span{color:#3d8561}
.rotate-controls{z-index:7;position:absolute;right:28px;top:45%;display:flex;align-items:center;flex-direction:column;gap:10px;background:#163b2ccf;padding:10px 9px;border-radius:10px;border:1px solid #ffffff36;box-shadow:0 7px 25px #00201248}.rotate-controls button{font-size:26px;color:#f0f7ee;background:#ffffff1a;border-radius:8px;border:0;width:39px;height:39px}.rotate-controls span{writing-mode:vertical-rl;letter-spacing:1.6px;font-size:8px;font-weight:800;color:#dcebe0}
.bottom-ui{bottom:15px}.credit{bottom:5px;max-width:45vw;font-size:8px;opacity:.9}.compass{display:none}.vignette{background:linear-gradient(0deg,#0e231752,transparent 17%)}
/* animation only moves logo; underlying building photo stays soft and unobtrusive */
.one-room-welcome{background:#e5e9df;color:#174a35}.one-room-welcome .welcome-picture{filter:blur(7px) brightness(.84) saturate(.78);transform:scale(1.055);background-position:center center}.one-room-welcome .welcome-shade{background:linear-gradient(90deg,#e8f2e7d9,#dbe7ddbb),linear-gradient(0deg,#d6e3d7af,transparent 40%)}
.one-room-welcome .simple-welcome{padding:25px clamp(18px,5vw,90px);text-align:center;align-items:center}.welcome-head{display:flex;justify-content:space-between;gap:12px;width:100%;font-size:10px;letter-spacing:2px;font-weight:740;color:#235540}
.welcome-center{margin:auto;display:flex;align-items:center;flex-direction:column;gap:16px;min-height:430px;justify-content:center}
.welcome-logo{width:min(360px,60vw);height:min(225px,34vw);display:flex;align-items:center;justify-content:center;position:relative;animation:logo-float 4.4s ease-in-out infinite}
.welcome-logo:before{content:"";position:absolute;width:78%;height:72%;border-radius:50%;background:#f2fff4b3;filter:blur(42px);z-index:0;animation:logo-glow 4s ease-in-out infinite}
.welcome-logo img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 11px #205d3b16)}
.welcome-separator{height:2px;width:55px;background:#318a58;opacity:.6}.welcome-center h1{font-size:clamp(24px,3.4vw,44px);letter-spacing:1.5px;font-weight:850;margin:0;color:#184d37}.welcome-center>p{font-size:clamp(12px,1.3vw,16px);letter-spacing:1.1px;font-weight:710;margin:0;color:#315f49}
.one-room-welcome .welcome-enter{margin:18px 0 0;background:#185b41;color:#fff;box-shadow:0 8px 25px #0d452736;padding:14px 19px 14px 24px;border-radius:100px}.one-room-welcome .welcome-enter:hover{background:#237250}.welcome-gesture{font-size:11px;color:#53705c;margin-top:5px;letter-spacing:.5px}.one-room-welcome .welcome-bottom p{color:#3b654d;font-size:11px}.one-room-welcome .welcome-bottom{width:100%;padding-bottom:8px}
@keyframes logo-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-11px) scale(1.026)}}@keyframes logo-glow{0%,100%{opacity:.6;transform:scale(.92)}50%{opacity:1;transform:scale(1.11)}}
@media(max-width:1100px){.wall-switch button{padding:9px 7px;font-size:9px}.wall-switch{bottom:46px}.photo-strip{width:250px;bottom:108px}}
@media(max-width:750px){.sidebar-hidden .header{left:0}.sidebar-hidden .center-title{left:14px;top:20%}.wall-switch{bottom:62px;width:calc(100% - 25px);justify-content:center;gap:2px;padding:5px}.wall-switch button{white-space:normal;text-align:center;flex-direction:column;min-width:0;flex:1;padding:9px 3px;font-size:8px;gap:2px}.photo-strip{bottom:142px;right:13px;width:215px}.photo-strip .strip-thumb{flex-basis:48px;height:52px}.rotate-controls{top:43%;right:10px}.bottom-ui{bottom:10px}.credit{max-width:75vw;bottom:6px}.welcome-head{font-size:8px}.welcome-head span{display:none}.welcome-center{min-height:360px}.welcome-logo{width:275px;height:170px}.welcome-center h1{font-size:26px}.one-room-welcome .welcome-bottom p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.welcome-logo,.welcome-logo:before{animation:none}}

/* Readable accessible four-wall fallback for systems with no WebGL */
.fallback-room{z-index:6;position:absolute;inset:0;background:#e5ebe3;color:#1b4734;overflow:auto;display:none;padding:30px clamp(20px,5vw,75px) 60px}
.fallback-room.visible{display:block}.fallback-room>header{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}.fallback-room>header span{font-size:11px;color:#6b8171}
.fallback-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:26px 0}.fallback-tabs button{padding:12px 15px;border-radius:100px;border:1px solid #bdd2c2;background:white;color:#31634b;font-weight:650;font-size:11px}.fallback-tabs button.active{background:#19543d;color:white;border-color:#19543d}
.fallback-wall{min-height:55vh;padding:26px 25px 31px;background:#fffdfa;box-shadow:0 19px 45px #16422c22;border:1px solid #d3ded3;border-radius:15px}.fallback-wall.red-wall{background:linear-gradient(140deg,#80272d,#541b23);color:#f8e6bd}.fallback-wall>h2{font-size:25px;margin:0 0 24px}.fallback-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.fallback-frame{background:#f9fbf6;display:flex;flex-direction:column;padding:8px 8px 13px;border:3px solid #b7a06f;border-radius:5px;color:#23513a;box-shadow:0 5px 15px #0002;min-width:0}.fallback-frame-img{height:128px;background:#e9efe8;display:flex;align-items:center;justify-content:center;overflow:hidden}.fallback-frame-img img{height:100%;width:100%;object-fit:contain}.fallback-frame-img.blank{font-size:10px;color:#8c9e8f;padding:14px}.fallback-frame span{display:block;text-align:center;font-size:11px;margin-top:9px;line-height:1.4;font-weight:650}.fallback-room>footer{margin-top:22px;color:#637b6a;font-size:10px}
.fallback-overlay{position:absolute;z-index:60;inset:0;background:#0b251cd9;display:flex;align-items:center;justify-content:center;padding:22px}.fallback-detail{width:min(840px,95vw);max-height:94vh;overflow:auto;position:relative;padding:25px 28px 30px;background:#f8f9f5;border-radius:15px;color:#254b38;text-align:center}.fallback-detail>button{float:right;padding:6px 12px;border:0;border-radius:8px;background:#21553c;color:white}.fallback-detail h2{margin:22px 0;font-size:19px}.fallback-detail img{display:block;max-width:100%;max-height:56vh;object-fit:contain;margin:auto}.fallback-detail p{font-size:13px;line-height:1.7}.fallback-detail a{display:inline-block;margin:8px;padding:10px;background:#1c5840;color:white;text-decoration:none;border-radius:6px}.fallback-unfilled{height:170px;display:grid;place-items:center;background:#e3ebe3;color:#748c7e;border:1px solid #ccd9ce}
@media(max-width:650px){.fallback-room{padding:20px 15px 50px}.fallback-wall{padding:17px}.fallback-wall>h2{font-size:19px}.fallback-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fallback-frame-img{height:100px}.fallback-frame span{font-size:10px}}

/* V8 · Sảnh xanh đậm + logo chuyển động; chữ Inter xuyên suốt. */
:root{font-family:Inter,Arial,'Segoe UI',sans-serif}
html,body,button,input,textarea,select{font-family:Inter,Arial,'Segoe UI',sans-serif!important}
.one-room-welcome{background:#062d23!important;color:#f5faf5!important}
.one-room-welcome .welcome-picture{
 background-image:url('assets/media/welcome_building.jpg');background-position:center 47%;
 filter:blur(7px) brightness(.78) saturate(.76)!important;transform:scale(1.06);
 opacity:.82;
}
.one-room-welcome .welcome-shade{
 background:linear-gradient(120deg,rgba(3,38,28,.83) 3%,rgba(5,50,36,.68) 45%,rgba(6,49,37,.70) 100%),linear-gradient(0deg,rgba(4,27,21,.90),transparent 28%);
}
.one-room-welcome .welcome-head{color:#d2e7d8!important}
.one-room-welcome .welcome-center h1{color:#f6fff7!important;text-shadow:0 2px 24px #00261b44;font-size:clamp(24px,3.3vw,43px)}
.one-room-welcome .welcome-center>p{color:#cbe5d4!important}
.one-room-welcome .welcome-separator{background:#7fc8a0;opacity:.85}
.one-room-welcome .welcome-logo{width:min(355px,69vw);height:auto;min-height:200px;max-height:300px;padding:20px 26px;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 20px 80px #011c14a8;border:1px solid #ffffff9a}
.one-room-welcome .welcome-logo:before{display:none}
.one-room-welcome .welcome-logo img{max-height:220px;filter:none;object-fit:contain}
.one-room-welcome .welcome-enter{background:#f1f7ef!important;color:#15533a!important;box-shadow:0 10px 38px #041d16a6}
.one-room-welcome .welcome-enter:hover{background:#ffffff!important}
.one-room-welcome .welcome-gesture{color:#b7d9c4!important}
.one-room-welcome .welcome-bottom p{color:#c5e1d0!important}
@media(max-width:750px){.one-room-welcome .welcome-logo{min-height:120px;padding:12px 17px}.one-room-welcome .welcome-logo img{max-height:155px}}

.loading[hidden],.fallback-room:not(.visible){display:none!important}

/* Reliable no-WebGL alternative: still display all available real thumbnails. */
.fallback-mode .left-panel,.fallback-mode .header,.fallback-mode .bottom-ui,.fallback-mode .credit,.fallback-mode .center-title,.fallback-mode .photo-strip,.fallback-mode .wall-switch,.fallback-mode .rotate-controls,.fallback-mode .movement{display:none!important}
.fallback-mode .fallback-room.visible{position:absolute;inset:0;z-index:12;overflow:auto;max-width:none}
.fallback-mode .fallback-room.visible .fallback-tabs{justify-content:center}
.fallback-mode .fallback-wall{max-width:1230px;margin:0 auto 32px}
.fallback-mode .fallback-wall.red-wall{background:#7d252b url('assets/media/award_wall.webp') no-repeat center 10px;background-size:min(100%,900px) auto;color:#fff4d9;padding-top:300px}
.fallback-mode .fallback-wall.red-wall .fallback-frame{box-shadow:0 8px 28px #14121277}

/* V9 · Spatial labels use font-ready Inter; preserve navigation and remove unnecessary UI clutter. */

/* V10 | 87-year credit is visibly larger on welcome only; names in the room remain discreet. */
.one-room-welcome .welcome-bottom {padding:18px 18px 26px!important;}
.one-room-welcome .welcome-bottom p {font-family:Inter,Arial,sans-serif!important;font-size:clamp(13px,1.18vw,19px)!important;font-weight:800!important;letter-spacing:.015em;color:#f2f6e9!important;text-shadow:0 2px 12px #052116aa;max-width:1050px;margin:12px auto 0!important;line-height:1.58!important;}
.credit{font-weight:700;font-size:9px;letter-spacing:.005em;}
@media(max-width:750px){.one-room-welcome .welcome-bottom p{font-size:13px!important;padding-inline:4px!important;}}
/* Keep the no-WebGL alternative faithful to the supplied award-wall image. */
.fallback-mode .fallback-wall.red-wall{background-image:url('assets/media/award_wall_red.webp')!important;background-size:min(100%,1000px) auto;}

/* V11 – decisions have a direct quick-link; still only four actual gallery walls. */
#zone-nav .decision-nav{margin-top:13px;border:1px solid #e6d9a563;background:linear-gradient(100deg,#54705055,#2d574055);}
#zone-nav .decision-nav:hover{background:#5682666f}
#zone-nav .decision-nav.active{border-color:#f5e4ae;background:#3a7657a8}
.decisions-quick{border-color:#f0dbab88;background:#245440dd;white-space:nowrap;}
#filters .look-vitrine{margin-left:auto;background:#18533e;color:#fff;border:1px solid #b9d0bc;white-space:normal;font-weight:750;}
@media(max-width:750px){.header-right .decisions-quick{padding:9px 10px;font-size:10px}.header-right .decisions-quick span{display:none}}
/* Use exact user-supplied background if browser lacks WebGL. */
.fallback-mode .fallback-wall.red-wall{background-image:url('assets/media/award_background_official.png')!important;background-position:center 14px!important;background-size:min(100%,1000px) auto!important;}

/* V12: extra section + slightly softer floor appearance */
.wall-switch{max-width:440px}
@media (max-width:900px){.wall-switch{max-width:90vw;overflow-x:auto;}}
