:root{color-scheme:dark;--green:#071d17;--green-soft:rgba(8,30,24,.88);--green-card:#0d3026;--gold:#c9ad78;--gold-pale:#e3d4b4;--cream:#f4f0e7;--white:#fbf9f4;--muted:rgba(244,240,231,.65);--line:rgba(227,212,180,.19);--serif:"Cinzel",Georgia,serif;--sans:"Noto Sans SC",-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;font-family:var(--sans)}
*{box-sizing:border-box}html,body{height:100%;margin:0;background:#071812;color:var(--white);overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}.tour{position:relative;width:100%;height:100svh;min-height:540px;overflow:hidden;background:var(--green)}.viewer{position:absolute;inset:0;background:#19261f}.viewer canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.viewer canvas:active{cursor:grabbing}.viewer-wash{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,16,12,.54),transparent 42%),linear-gradient(0deg,rgba(4,16,12,.57),transparent 34%),linear-gradient(180deg,rgba(4,16,12,.39),transparent 23%)}
.topbar{position:absolute;z-index:5;top:0;left:0;right:0;height:94px;padding:15px 34px 15px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(246,239,222,.1);background:linear-gradient(180deg,rgba(4,19,14,.45),transparent)}.brand{display:flex;align-items:center;gap:17px;text-decoration:none;color:var(--white)}.brand img{display:block;width:136px;height:56px;object-fit:contain}.brand-divider{width:1px;height:33px;background:var(--gold);opacity:.65}.brand-caption{font-size:13px;line-height:1.7;letter-spacing:.11em;color:#f5f0e5}.brand-caption small{font-family:var(--serif);font-size:8px;letter-spacing:.16em;color:var(--gold-pale)}.top-actions{display:flex;align-items:center;gap:12px}.ratio-pill{display:inline-flex;align-items:center;gap:8px;color:#f6f0e5;border:1px solid rgba(227,212,180,.34);background:rgba(3,22,16,.24);padding:9px 13px;border-radius:99px;font-size:11px;letter-spacing:.12em;margin-right:8px}.ratio-pill i,.gold-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;box-shadow:0 0 12px rgba(201,173,120,.72)}.icon-button{width:42px;height:42px;border:1px solid rgba(244,240,231,.35);border-radius:50%;background:rgba(4,20,15,.24);display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s}.icon-button:hover,.icon-button:focus-visible{background:rgba(201,173,120,.22);border-color:var(--gold)}.icon-button svg,.round-control svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.menu-toggle{display:none}
.scene-panel{position:absolute;z-index:4;top:118px;bottom:32px;left:30px;width:344px;display:flex;flex-direction:column;padding:27px 25px 17px;background:linear-gradient(160deg,rgba(6,31,24,.94),rgba(7,27,21,.85));border:1px solid rgba(218,190,137,.26);box-shadow:0 16px 70px rgba(0,0,0,.22);backdrop-filter:blur(22px);transition:transform .35s ease,opacity .25s}.panel-intro{padding:0 1px 21px}.eyebrow{font-family:var(--serif);font-size:8px;letter-spacing:.16em;color:var(--gold)}.panel-intro h1{font-size:35px;line-height:1.18;font-weight:300;letter-spacing:.13em;margin:13px 0 10px;color:#f5f0e5}.panel-intro p{font-size:12px;line-height:2;color:rgba(245,240,229,.68);letter-spacing:.05em;margin:0}.intro-rule{display:flex;align-items:center;gap:8px;margin-top:18px}.intro-rule:before{content:"";width:28px;height:1px;background:var(--gold)}.intro-rule span{width:3px;height:3px;border:1px solid var(--gold);transform:rotate(45deg)}.panel-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;letter-spacing:.1em;padding:14px 1px 11px;border-top:1px solid var(--line)}.scene-total{font-family:var(--serif);font-size:9px;color:var(--gold-pale);letter-spacing:.1em}.filters{display:flex;align-items:center;gap:5px;margin-bottom:12px;flex-wrap:wrap}.filter{padding:6px 10px;border:1px solid transparent;border-radius:2px;background:transparent;color:rgba(247,242,231,.62);font-size:10px;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.filter:hover,.filter:focus-visible{color:var(--gold-pale)}.filter.active{color:var(--gold-pale);border-color:rgba(201,173,120,.45);background:rgba(201,173,120,.11)}.scene-list{min-height:0;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(201,173,120,.42) transparent;padding-right:2px}.scene-card{position:relative;display:grid;grid-template-columns:92px 1fr 20px;gap:13px;align-items:center;width:100%;padding:9px 8px;margin:0 0 5px;text-align:left;border:1px solid transparent;border-radius:2px;background:transparent;cursor:pointer;transition:background .2s,border-color .2s}.scene-card:hover,.scene-card:focus-visible{background:rgba(255,255,255,.055);outline:none}.scene-card.active{border-color:rgba(201,173,120,.4);background:rgba(201,173,120,.105)}.scene-thumb{width:92px;height:53px;object-fit:cover;border:1px solid rgba(255,255,255,.2);filter:saturate(.8);transition:filter .2s}.scene-card.active .scene-thumb,.scene-card:hover .scene-thumb{filter:saturate(1)}.scene-info{min-width:0}.scene-floor{display:block;margin-bottom:5px;font-family:var(--serif);font-size:8px;letter-spacing:.12em;color:var(--gold)}.scene-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;letter-spacing:.035em;color:rgba(250,247,239,.9)}.scene-arrow{color:rgba(227,212,180,.5);font-size:15px;opacity:0;transition:opacity .2s,transform .2s}.scene-card.active .scene-arrow,.scene-card:hover .scene-arrow{opacity:1;transform:translateX(1px)}.panel-foot{display:flex;align-items:center;gap:9px;padding-top:13px;margin-top:7px;border-top:1px solid var(--line);font-size:9px;color:rgba(244,240,231,.56);letter-spacing:.04em}
.scene-caption{position:absolute;z-index:2;left:414px;bottom:81px;pointer-events:none;text-shadow:0 2px 20px rgba(0,0,0,.43)}.floor-label{display:inline-block;color:var(--gold-pale);font-family:var(--serif);font-size:10px;letter-spacing:.15em;margin-bottom:8px}.scene-caption h2{font-size:27px;font-weight:300;letter-spacing:.09em;margin:0 0 9px}.scene-caption p{font-family:var(--serif);font-size:8px;letter-spacing:.15em;color:rgba(250,247,239,.7);margin:0}.scene-caption p span{color:var(--gold);padding:0 7px}.viewer-controls{position:absolute;z-index:3;left:50%;bottom:30px;transform:translateX(-10%);height:48px;padding:0 13px;display:flex;align-items:center;gap:10px;background:rgba(5,24,18,.59);border:1px solid rgba(243,233,213,.21);border-radius:99px;backdrop-filter:blur(14px)}.round-control{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--white);display:grid;place-items:center;cursor:pointer;transition:color .2s,background .2s}.round-control:hover,.round-control:focus-visible{color:var(--gold-pale);background:rgba(255,255,255,.1);outline:1px solid rgba(201,173,120,.4)}.round-control svg{width:17px;height:17px}.control-divider{height:19px;width:1px;background:rgba(235,222,198,.26)}.zoom-value{min-width:30px;text-align:center;font-family:var(--serif);font-size:9px;letter-spacing:.06em;color:var(--gold-pale)}.scene-count{position:absolute;z-index:2;bottom:37px;right:37px;display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:10px;letter-spacing:.1em;color:rgba(255,250,239,.66)}.scene-count span:first-child{font-size:16px;color:var(--gold-pale)}.count-line{width:38px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(201,173,120,.35))}.projection-tag{position:absolute;right:34px;top:108px;z-index:2;font-family:var(--serif);font-size:8px;letter-spacing:.13em;color:rgba(255,250,239,.62)}.projection-tag b{margin-left:4px;color:var(--gold-pale);font-weight:400}.loading{position:absolute;inset:0;display:flex;gap:11px;align-items:center;justify-content:center;font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.72);background:rgba(4,14,10,.1);transition:opacity .25s}.loading[hidden]{display:none}.loader{width:18px;height:18px;border:1px solid rgba(227,212,180,.28);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.viewer-error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:80%;padding:15px 20px;color:#fff;background:rgba(7,29,23,.8);border:1px solid var(--line);font-size:13px}.mobile-scenes,.mobile-sheet{display:none}
@media(max-width:1100px){.scene-panel{left:20px;width:310px;padding:22px 18px 15px}.scene-caption{left:360px}.viewer-controls{left:auto;right:24px;transform:none}.scene-count{display:none}}
@media(max-width:760px){.tour{min-height:480px}.viewer-wash{background:linear-gradient(180deg,rgba(4,16,12,.44),transparent 25%),linear-gradient(0deg,rgba(4,16,12,.48),transparent 41%)}.topbar{height:75px;padding:10px 16px}.brand{gap:10px}.brand img{width:104px;height:47px}.brand-divider{height:27px}.brand-caption{font-size:11px}.brand-caption small{font-size:7px}.ratio-pill{display:none}.top-actions{gap:7px}.icon-button{width:38px;height:38px}.menu-toggle{display:grid}.scene-panel{z-index:7;top:0;bottom:0;left:0;width:min(88vw,360px);padding:91px 19px 16px;transform:translateX(-102%);border:0;border-right:1px solid rgba(218,190,137,.28);background:rgba(5,27,20,.97)}.scene-panel.open{transform:translateX(0)}.panel-intro{padding-bottom:15px}.panel-intro h1{font-size:29px;margin:9px 0}.panel-intro p{font-size:11px}.intro-rule{margin-top:11px}.panel-heading{padding-top:11px}.scene-card{grid-template-columns:100px 1fr 16px;padding:8px 6px}.scene-thumb{width:100px;height:57px}.scene-name{font-size:12px}.panel-foot{font-size:9px}.scene-caption{left:20px;bottom:130px}.scene-caption h2{font-size:20px;letter-spacing:.06em}.scene-caption p{font-size:7px}.viewer-controls{left:50%;right:auto;bottom:77px;transform:translateX(-50%);height:44px;gap:7px;padding:0 9px}.round-control{width:31px;height:31px}.projection-tag{top:84px;right:17px;font-size:7px}.mobile-scenes{position:absolute;z-index:3;left:14px;right:14px;bottom:13px;height:49px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;background:rgba(5,24,18,.68);border:1px solid rgba(243,233,213,.23);backdrop-filter:blur(15px);text-align:left}.mobile-scene-name{max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.mobile-scene-prompt{color:var(--gold-pale);font-size:10px}.mobile-scene-prompt b{font-size:14px;margin-left:6px}.mobile-sheet{position:absolute;z-index:9;display:flex;flex-direction:column;left:0;right:0;bottom:0;max-height:74svh;padding:17px 17px max(18px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;background:rgba(5,27,20,.98);border-top:1px solid rgba(218,190,137,.35);transform:translateY(105%);transition:transform .3s ease}.mobile-sheet.open{transform:translateY(0)}.mobile-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:0 1px 12px;font-size:14px;letter-spacing:.1em}.mobile-sheet-head .icon-button{font-size:24px;font-weight:200}.mobile-scene-list{overflow:auto}.mobile-scene-list .scene-card{grid-template-columns:100px 1fr 20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
