:root{--font-ui:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC',sans-serif;font-family:var(--font-ui);-webkit-text-size-adjust:100%;text-size-adjust:100%;color:#142b40;background:#edf2f5;font-synthesis:none;--blue:#234db0;--muted:#738292;--line:#dfe6eb;--surface:#fff}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ed9b45;outline-offset:4px}button{border:0}button:disabled{cursor:wait}.topbar{height:96px;margin:0 44px;border-bottom:1px solid #dce4eb;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:17px}.brand-mark{font-size:30px;font-weight:800;letter-spacing:-2px;color:#224fa9}.brand-mark span{color:#ef7551}.brand-name{font-size:16px;font-weight:700;letter-spacing:1px;border-left:1px solid #cdd7e1;padding-left:18px}.brand-name small{display:block;font-size:12px;letter-spacing:1.6px;font-weight:500;color:#7a8797;margin-top:5px}.header-right{display:flex;align-items:center;gap:25px}.city{font-size:14px;color:#6b7d8d}#clock{font-size:30px;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}.date{font-size:12px;color:#748593;max-width:70px;line-height:1.7}.workspace{display:grid;grid-template-columns:324px minmax(0,1fr);gap:38px;padding:30px 44px 24px;max-width:1800px;margin:auto}.sidebar{display:flex;flex-direction:column;gap:16px}.intro{padding:5px 0 7px}.eyebrow{font-size:12px;letter-spacing:2.1px;color:#7b8c9d;font-weight:600;margin:0 0 12px}h1{font-size:36px;line-height:1.43;letter-spacing:-1.5px;margin:0;font-weight:600}h1 span{color:#2853ae}.intro-note{font-size:13px;color:#7b8997;margin:12px 0 8px}.address-card{background:#fff;border:1px solid #e2e8ed;border-radius:20px;padding:23px;box-shadow:0 7px 24px #20395704}.card-label{font-size:14px;display:flex;align-items:center;gap:7px;font-weight:500}.tiny-pin{font-size:21px;color:var(--blue)}.store-tag{font-size:12px;background:#edf2fb;color:#5273a6;padding:4px 7px;border-radius:5px;margin-left:auto}.floor-line{display:flex;align-items:center;gap:20px;margin:18px 0 12px}.floor-line>strong{font-size:66px;letter-spacing:-3px;font-weight:500;line-height:1;color:#264fa2}.floor-line>strong>span{font-size:29px;font-weight:500;letter-spacing:-1px}.floor-line>div{border-left:1px solid #dce4ed;padding-left:18px;display:flex;flex-direction:column;gap:6px}.floor-line b{font-size:24px;font-weight:500;letter-spacing:1px}.floor-line div span{font-size:12px;color:#788897}.address-card p{font-size:13px;line-height:1.85;color:#768492;margin:15px 0 18px}.address-actions{display:flex;gap:8px}.primary{display:flex;align-items:center;justify-content:space-between;background:var(--blue);color:#fff;padding:13px 16px;border-radius:10px;font-size:14px;flex:1;transition:background .2s}.primary:hover{background:#163985}.icon-button{width:45px;font-size:23px;background:#eff3f8;color:#355588;border-radius:10px}.utility-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.utility-card{border:1px solid #e0e7ed;border-radius:16px;background:#f7f9fb;padding:15px 17px;position:relative;text-align:left;transition:transform .2s,background .2s;display:flex;flex-direction:column;align-items:flex-start;min-height:110px}.utility-card:hover{transform:translateY(-3px);background:#fff}.utility-icon{font-size:23px;color:#5075b4;height:31px}.utility-card b{font-size:14px;font-weight:500;margin:5px 0}.utility-card small{font-size:12px;color:#7c8a99}.utility-arrow{position:absolute;right:15px;top:17px;color:#9ca9b7}.weather-card{background:linear-gradient(125deg,#e1eaf2,#eaf0f5);border-radius:17px;padding:17px 20px}.weather-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#64768a}.weather-top button{background:transparent;font-size:21px;color:#738696}.weather-reading{display:flex;align-items:center;gap:13px;margin:9px 0 14px}.weather-reading>span{font-size:38px;color:#db9d42;width:38px}.weather-reading strong{font-size:42px;font-weight:500;letter-spacing:-2px;white-space:nowrap}.weather-reading i{font-size:24px;font-style:normal;vertical-align:top;padding-top:5px;display:inline-block}.weather-reading div{display:flex;flex-direction:column;gap:7px;margin-left:auto}.weather-reading b{font-size:13px;font-weight:500}.weather-reading small{font-size:12px;color:#708397}.weather-footer{border-top:1px solid #cddae5;padding-top:10px;display:flex;justify-content:space-between;gap:6px;color:#7c8c9b;font-size:12px}.sidebar-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:6px 2px;color:#9aa6b2;font-size:12px}.text-button{background:none;padding:4px 0;font-size:12px;color:#768898}.explorer{min-height:730px;border-radius:25px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 60% 40%,#dce7ed,#cbdbe5);color:#e7f1fa;transition:background 1s;--scene-ink:#f0f5f9;--scene-muted:#9dabbc;--glass:rgba(9,28,47,.8)}.scene-head{position:absolute;left:30px;right:30px;top:27px;z-index:2;display:flex;justify-content:space-between;pointer-events:none}.scene-head .eyebrow{color:var(--scene-muted);margin-bottom:7px}h2{font-size:22px;font-weight:500;margin:0}.scene-head h2{color:var(--scene-ink);font-size:20px;letter-spacing:1px}.scene-badge{align-self:flex-start;border:1px solid #ffffff23;padding:7px 11px;border-radius:30px;font-size:12px;color:var(--scene-ink);background:#172f472c}.scene-badge:before{content:'';width:5px;height:5px;border-radius:100%;background:#d8af6f;display:inline-block;margin-right:7px}#scene{position:absolute;inset:0 0 200px;touch-action:none}#scene canvas{display:block;width:100%;height:100%}.scene-side{position:absolute;right:21px;top:135px;display:flex;flex-direction:column;background:var(--glass);border:1px solid #ffffff16;border-radius:11px;overflow:hidden;z-index:3;backdrop-filter:blur(18px)}.scene-side button{width:36px;height:38px;background:none;color:var(--scene-ink);font-size:19px}.scene-side button+button{border-top:1px solid #ffffff12}.scene-side button:hover{background:#ffffff15}.scene-caption{position:absolute;left:26px;bottom:251px;display:flex;align-items:center;gap:11px;color:var(--scene-muted);font-size:12px;pointer-events:none}.compass{height:44px;width:25px;display:flex;align-items:center;flex-direction:column;font-size:22px;color:var(--scene-ink)}.compass b{font-size:12px;margin-bottom:-4px}.view-toolbar{position:absolute;bottom:236px;left:50%;transform:translateX(-50%);display:flex;background:var(--glass);backdrop-filter:blur(15px);padding:5px;border:1px solid #ffffff16;border-radius:30px;z-index:4;white-space:nowrap}.view-toolbar button{border-radius:25px;background:none;color:var(--scene-muted);padding:9px 18px;font-size:12px}.view-toolbar .active{background:#e8d2a9;color:#3c382d;box-shadow:0 2px 8px #0001}.gesture-hint{position:absolute;bottom:205px;margin:0;text-align:center;width:100%;font-size:12px;color:var(--scene-muted);letter-spacing:.5px}.environment{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ffffff13;background:var(--glass);backdrop-filter:blur(20px);padding:21px 30px 19px}.time-header{display:flex;justify-content:space-between;align-items:center}.time-header>div{display:flex;align-items:center;gap:13px}.time-header span{font-size:12px;color:var(--scene-muted)}.time-header strong{font-size:24px;font-weight:500;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.time-header small{font-size:12px;color:var(--scene-muted)}.live-button{background:#ffffff08;color:var(--scene-muted);border:1px solid #ffffff22;font-size:12px;border-radius:30px;padding:7px 12px}.live-button.active{color:#e8d2a9;border-color:#b7a07c77;background:#b7a07c0d}#time-slider{width:100%;display:block;margin:22px 0 11px;height:4px;appearance:none;border-radius:5px;background:linear-gradient(90deg,#455986,#f1c995 27%,#e2ddc9 50%,#c99480 74%,#465a88);cursor:pointer}#time-slider::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border:3px solid #f5ecdc;border-radius:100%;background:#d9b98b;box-shadow:0 0 0 5px #dac09520}#time-slider::-moz-range-thumb{width:10px;height:10px;border:3px solid #f5ecdc;border-radius:100%;background:#d9b98b}.time-ticks{display:flex;justify-content:space-between}.time-ticks button{background:none;color:var(--scene-muted);font-size:12px;padding:3px 0}.time-ticks button:hover{color:var(--scene-ink)}.weather-controls{display:flex;gap:14px;align-items:center;border-top:1px solid #ffffff13;margin-top:17px;padding-top:15px;flex-wrap:wrap}.weather-controls>span{font-size:12px;color:var(--scene-muted)}.weather-controls>div{display:flex;gap:6px}.weather-controls button{font-size:12px;color:var(--scene-muted);background:#ffffff05;padding:6px 10px;border-radius:6px;border:1px solid transparent}.weather-controls button.active{border-color:#cfb68f77;background:#cfb68f13;color:#e8d2a9}#weather-mode-note{margin-left:auto;font-size:12px}.landmark{position:absolute;z-index:2;transform:translate(-50%,-100%);left:50%;top:50%;background:#fffef3f2;box-shadow:0 8px 25px #0002;border-radius:8px;padding:9px 12px;text-align:left;color:#2a4671;white-space:nowrap;pointer-events:auto;opacity:0;transition:opacity .3s}.landmark:after{content:'';position:absolute;width:1px;height:26px;background:#e7cd8e;bottom:-26px;left:50%}.landmark span{display:block;font-size:12px;margin-bottom:3px}.landmark b{font-size:13px;letter-spacing:1px}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:3;color:#506883;font-size:13px;gap:12px;pointer-events:none}.loading-orbit{width:30px;height:30px;border:2px solid #7183a055;border-top-color:#3b5d90;border-radius:50%;animation:spin 1.4s linear infinite}#scene-fallback{position:absolute;inset:38% 15% auto;text-align:center;font-size:15px;line-height:2;z-index:3;color:var(--scene-ink)}[hidden]{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:1px solid #ffffff99;border-radius:25px;padding:37px;width:min(490px,calc(100% - 32px));max-height:90dvh;overflow:auto;color:#233b52;box-shadow:0 35px 100px #0005}dialog::backdrop{background:#0d213c88;backdrop-filter:blur(8px)}.close-dialog{position:absolute;right:15px;top:10px;background:none;font-size:29px;color:#8391a0}.floor-ticket{display:flex;gap:24px;align-items:center;padding:22px;background:#edf2fc;border-radius:14px;margin:25px 0}.floor-ticket>strong{font-size:56px;font-weight:500;letter-spacing:-3px;color:#2a54ab}.floor-ticket>div{display:flex;flex-direction:column;gap:9px}.floor-ticket b{font-size:16px;font-weight:500}.floor-ticket span{font-size:13px;color:#7d8ea3}.arrival-steps{list-style:none;counter-reset:steps;padding:0}.arrival-steps li{position:relative;padding:0 0 22px 34px;counter-increment:steps}.arrival-steps li:before{content:counter(steps);position:absolute;left:0;top:1px;border:1px solid #d6dfeb;border-radius:50%;width:21px;height:21px;text-align:center;font-size:12px;line-height:21px;color:#6c82a0}.arrival-steps b,.arrival-steps span{display:block}.arrival-steps b{font-size:14px;font-weight:500}.arrival-steps span{font-size:12px;color:#8996a3;margin-top:7px}.dialog-note{font-size:12px;color:#84919f;line-height:1.9;margin:0 0 21px}.source-item{margin-top:24px}.source-item b{font-size:14px}.source-item p{font-size:13px;line-height:1.9;color:#748493}.source-item a{font-size:12px;color:#305bb0}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#1c3855;color:white;font-size:14px;padding:12px 24px;border-radius:30px;opacity:0;pointer-events:none;transition:.3s;z-index:20}#toast.show{transform:translate(-50%,0);opacity:1}.explorer.day{--scene-ink:#2b4356;--scene-muted:#6c8293;--glass:rgba(234,242,246,.89);color:#2b4356}.day .scene-badge{background:#ffffff66;border-color:#ffffff88}.day .view-toolbar .active{background:#234db0;color:#fff}.day .live-button.active,.day .weather-controls button.active{color:#234da5;border-color:#91a7d2;background:#cbd9ef55}.day .view-toolbar,.day .scene-side,.day .environment{border-color:#bacbd844}.day .weather-controls{border-color:#afbfce55}.day .weather-controls button{background:#ffffff22}.day .landmark{background:#fff}.day #time-slider::-webkit-slider-thumb{border-color:#fff;background:#2954b2;box-shadow:0 0 0 4px #2a54ae22}
@media(min-width:1550px){.workspace{grid-template-columns:350px minmax(0,1fr);gap:48px}.explorer{min-height:790px}.sidebar{gap:20px}h1{font-size:40px}.address-card{padding:27px}.intro{padding-bottom:14px}}
@media(max-width:1150px){.topbar{margin:0 25px;height:80px}.workspace{padding:24px 25px;grid-template-columns:290px minmax(0,1fr);gap:22px}.explorer{min-height:730px}.address-card{padding:20px}h1{font-size:32px}.scene-caption{left:17px;bottom:282px;font-size:12px}.scene-head{left:23px;right:23px}.scene-head h2{font-size:17px}.scene-badge{font-size:12px}.environment{padding:20px}.weather-controls{gap:10px}.weather-controls button{padding:6px 8px}#weather-mode-note{display:none}.view-toolbar button{padding:9px 14px}.header-right{gap:16px}}
@media(max-width:800px){.topbar{margin:0 20px;height:76px}.brand-mark{font-size:26px}.brand-name{font-size:13px;padding-left:12px}.brand-name small{font-size:12px;letter-spacing:1px}.brand{gap:12px}.header-right .city,.date{display:none}#clock{font-size:25px}.workspace{display:flex;flex-direction:column;padding:19px 16px;gap:20px}.sidebar{display:contents}.intro{order:0;padding:0 5px}.intro h1{font-size:29px;line-height:1.4}.intro h1 br{display:none}.intro .eyebrow{margin-bottom:8px;font-size:12px}.intro-note{font-size:12px;margin:8px 0 0}.explorer{order:1;height:650px;min-height:650px;border-radius:19px}.address-card{order:2}.utility-grid{order:3}.weather-card{order:4}.sidebar-bottom{order:5;margin-top:0}.scene-head{top:21px;left:21px;right:21px}.scene-head h2{font-size:17px}.scene-head .eyebrow{font-size:12px}.scene-caption{bottom:271px;left:20px}.scene-caption>span:last-child{font-size:12px}.view-toolbar{bottom:233px}.view-toolbar button{padding:9px 13px}.gesture-hint{bottom:210px}.environment{padding:19px 21px}.weather-controls{justify-content:space-between;gap:8px}.weather-controls button{padding:6px 9px}.time-ticks button{font-size:12px}.time-header small{font-size:12px}.time-header strong{font-size:23px}.time-header>div{gap:9px}.floor-line{margin:12px 0}.address-card p{font-size:14px}.card-label{font-size:15px}.utility-card small{font-size:12px}.weather-footer{font-size:12px}#scene{bottom:205px}.weather-reading small{font-size:12px}.utility-card{min-height:110px}.scene-side{right:14px;top:111px}.landmark{padding:7px 10px}dialog{padding:30px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Readable labels and targets in the interactive working area. */
.intro-note,.address-card p{font-size:14px}.view-toolbar button,.weather-controls button,.live-button{font-size:14px}.weather-controls button{padding:7px 10px}.scene-side button{width:40px;height:40px}.weather-top,.time-header span,.weather-controls>span{font-size:14px}.brand-name small{font-size:10px}.utility-card small{font-size:12px}.environment{min-height:205px}.scene-caption{bottom:271px}#weather-mode-note{font-size:12px}.weather-footer{flex-wrap:wrap}.scene-badge{white-space:nowrap}@media(max-width:1150px){.weather-controls button{font-size:12px;padding:7px 9px}.view-toolbar button{font-size:13px}.scene-badge{font-size:11px}.weather-controls>span{font-size:12px}}@media(max-width:800px){.brand-name small{font-size:9px}.scene-head h2{font-size:16px}.scene-head .eyebrow{font-size:11px}.view-toolbar button{font-size:13px}.weather-controls{gap:6px}.weather-controls button{font-size:12px;padding:7px 8px}.time-ticks button{font-size:11px}.time-header span{font-size:13px}.live-button{font-size:12px}.landmark span{font-size:11px}.scene-caption>span:last-child{font-size:10px}.environment{min-height:205px}#weather-mode-note{display:block;width:100%;text-align:right;font-size:10px;margin-top:-2px}.weather-controls{margin-top:12px;padding-top:12px}.scene-caption{bottom:282px}.view-toolbar{bottom:243px}.gesture-hint{bottom:219px;font-size:10px}#scene{bottom:215px}.scene-head{gap:12px}.scene-badge{font-size:10px;padding:6px 8px}.scene-head .eyebrow{letter-spacing:1px}}
/* Macaron edition: candy colors, soft contours, and a gentle lavender night. */
:root{--blue:#8f78bd;--muted:#8c809a;--line:#e9dfef;--surface:#fffaff;color:#5c506d;background:#faf5fa}body{background:radial-gradient(ellipse at 3% 3%,#fff0f0,transparent 42%),radial-gradient(ellipse at 96% 95%,#eaf6ef,transparent 42%),#faf7fc}.topbar{border-color:#e9e0ef}.brand-mark{color:#8d78b8}.brand-mark span{color:#eea2ae}.brand-name{color:#71608d;border-color:#dfd2eb}.brand-name small,.city,.date{color:#a293ac}#clock{color:#8c7aae}.eyebrow{color:#b09abb}h1{font-family:inherit;color:#9d85ad;font-weight:600;letter-spacing:-1px}h1 span{font-family:inherit;font-weight:inherit}h1 span{color:#8c79b3}.intro-note{color:#a195a7}.address-card{background:#fffafd;border:2px solid #fff;box-shadow:0 9px 25px #b6a0c710;border-radius:26px}.card-label{color:#847294}.tiny-pin{color:#cba5c0}.store-tag{background:#f8e5ed;color:#bd8d9f;border-radius:9px}.floor-line>strong{color:#a490ca}.floor-line>div{border-color:#e8def0}.floor-line b{color:#8e7b9d}.floor-line div span,.address-card p{color:#9a8b9f}.primary{background:#e1d4f2;color:#685482;border:1px solid #d8c6ed;border-radius:15px;box-shadow:0 3px 0 #d5c2e84d;font-weight:600}.primary:hover{background:#d8c7ed}.icon-button{background:#f5e4ec;color:#b08ba0;border-radius:14px}.utility-card{border:2px solid #fff;background:#eef7f0;border-radius:22px;color:#779286}.utility-card:nth-child(2){background:#fff2dc;color:#ab9170}.utility-icon{color:#91b7a3}.utility-card:nth-child(2) .utility-icon{color:#d0af7f}.utility-card small{color:#9daaa4}.utility-card:nth-child(2) small{color:#b3a28e}.utility-arrow{color:#adbdaf}.utility-card:nth-child(2) .utility-arrow{color:#d0b797}.utility-card:hover{background:#e7f3eb;transform:translateY(-3px) rotate(-1deg)}.utility-card:nth-child(2):hover{background:#ffedcb;transform:translateY(-3px) rotate(1deg)}.weather-card{background:linear-gradient(120deg,#f7e6f0,#eee9f9);border:2px solid #fff;border-radius:25px}.weather-top,.weather-top button{color:#a18bab}.weather-reading{color:#9580a8}.weather-reading>span{color:#e5b568}.weather-reading small{color:#ac99b7}.weather-footer{border-color:#e5d7ec;color:#ab99b4}.sidebar-bottom{color:#b9a8c0}.text-button{color:#ac94b8}.explorer{border:3px solid #fff;border-radius:32px;box-shadow:0 12px 35px #a795c211;--scene-ink:#f7ecfa;--scene-muted:#d0bddc;--glass:rgba(108,91,145,.89);color:#f7ecfa}.scene-head h2{font-weight:700}.scene-badge{background:#ffffff18;border:1px solid #ffffff42;border-radius:15px}.scene-badge:before{background:#f4d99d}.scene-side{border:2px solid #ffffff3d;border-radius:17px;background:#e8d9f045}.scene-side button:hover{background:#ffffff25}.view-toolbar{border:2px solid #ffffff42;border-radius:27px;padding:5px;background:#7e6a9ccd;box-shadow:0 4px 0 #57436c10}.view-toolbar .active{background:#f2d7df;color:#866b7f;box-shadow:0 3px 0 #c599b025}.view-toolbar button{font-weight:600}.environment{border-color:#ffffff33;background:var(--glass)}.live-button{border-color:#ffffff35;border-radius:12px;background:#ffffff0b}.live-button.active{color:#fff0d1;border-color:#ead7b77a;background:#ecd8b91c}.weather-controls{border-color:#ffffff28}.weather-controls button{border-radius:11px}.weather-controls button.active{border-color:#f4dbe788;background:#f4dbe720;color:#ffe7f0}#time-slider{height:6px;background:linear-gradient(90deg,#b5a6d3,#f3ceca 27%,#f3e5b7 50%,#e9bfd7 74%,#a89dd0)}#time-slider::-webkit-slider-thumb{border-color:#fff5ee;background:#e4bcd3;box-shadow:0 0 0 5px #f0c8db35;width:16px;height:16px}#time-slider::-moz-range-thumb{border-color:#fff5ee;background:#e4bcd3}.landmark{border:2px solid #fff;background:#fff3f6;color:#a180a2;border-radius:16px;box-shadow:0 6px 0 #d8bdd622,0 12px 24px #8e779525}.landmark:after{background:#dfb9d1;width:2px}.landmark b{color:#9e83b4}.explorer.day{--scene-ink:#827292;--scene-muted:#9d8eae;--glass:rgba(251,243,253,.9);color:#827292}.day .scene-side{background:#fff8f6cf;border:2px solid #fff}.day .scene-badge{background:#fff8facf;border-color:#fff}.day .view-toolbar{background:#f9f0fccf;border-color:#fff}.day .view-toolbar .active{background:#e5d6f3;color:#876da5;box-shadow:0 3px 0 #ccb4e333}.day .environment{border-color:#fff}.day .live-button.active,.day .weather-controls button.active{color:#987cad;border-color:#d9bce7;background:#edddf2}.day .weather-controls{border-color:#e6d9ed}.day .weather-controls button{background:#fef8fd}.day .landmark{background:#fff3f8}.day #time-slider::-webkit-slider-thumb{background:#cfb8e4;border-color:#fff9ff;box-shadow:0 0 0 4px #d7bce333}.day .scene-head h2{color:#8b7799}dialog{background:#fffbfe;border:3px solid #fff;border-radius:30px;color:#82718e}dialog::backdrop{background:#75608255;backdrop-filter:blur(10px)}.close-dialog{color:#b29cc0}.floor-ticket{background:#f0e5f8;border:2px solid white;border-radius:22px}.floor-ticket>strong{color:#b299ce}.floor-ticket span{color:#ae99ba}.arrival-steps li:before{border-color:#ddcee8;color:#aa91bc;background:#f5edf9}.arrival-steps span,.dialog-note,.source-item p{color:#a393ad}.source-item a{color:#ad8abb}#toast{background:#c7b2dd;color:#514164;border:2px solid #fff;box-shadow:0 5px 20px #87709922}.loading-orbit{border-color:#e2d5ee;border-top-color:#b69ecf}#loading{color:#ae95bc}.scene-caption .compass{color:#c2b2d5}.day .scene-caption .compass{color:#b5a0c7}
@media(max-width:800px){.explorer{border-radius:27px}.address-card{border-radius:26px}.utility-card{border-radius:23px}.weather-card{border-radius:25px}}
.brand-logo-window{position:relative;display:block;width:108px;height:36px;overflow:hidden;mix-blend-mode:multiply;flex:none}.brand-logo-window img{position:absolute;width:562.5px;max-width:none;height:auto;left:-134px;top:-82.5px}.mascot-invite{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;width:100%;border:2px solid white;border-radius:17px;background:#f6e6ee;color:#a47a99;font-size:14px;box-shadow:0 4px 0 #e7cedf22;font-weight:600}.mascot-invite span{font-size:12px;font-weight:400;color:#b89eae}.mascot-invite:hover{background:#f3dce9}.mascot-description{color:#aa97b4;font-size:13px;margin:13px 0 0}#mascot-dialog{width:min(560px,calc(100% - 24px));background:linear-gradient(150deg,#fff8f5,#f6f0fc);padding:31px}#mascot-dialog h2{font-size:22px;font-weight:600;color:#a88bb6}#mascot-stage{height:390px;border-radius:24px;touch-action:none;position:relative;background:radial-gradient(ellipse at center,#fffdf3,#f1e8f700 65%)}#mascot-stage canvas{display:block;width:100%;height:100%}.mascot-help{text-align:center;font-size:12px;color:#b3a0bf;margin:0 0 16px}.mascot-actions{display:flex;gap:10px}.mascot-actions .primary{justify-content:center;font-size:14px}.mascot-actions .secondary{background:#e4f1e8;border-color:#d1e6d7;color:#819e8b}.mascot-caption{text-align:center;color:#b8a7bf;font-size:11px;margin:16px 0 0}@media(max-width:800px){.brand-logo-window{width:94px;height:32px}.brand-logo-window img{width:489px;left:-116.5px;top:-71.7px}.brand-name{padding-left:9px;font-size:12px}.brand-name small{font-size:8px}.brand{gap:8px}#mascot-dialog{padding:24px}#mascot-stage{height:330px}.mascot-invite{max-width:358px}.mascot-invite span{font-size:12px}#mascot-dialog h2{font-size:19px}.mascot-description{font-size:12px}.mascot-actions .primary{font-size:12px;padding:12px 7px}}

.brand-logo-window{height:29px}.brand-logo-window img{top:-84px;filter:contrast(1.8)}@media(max-width:800px){.brand-logo-window{height:25px}.brand-logo-window img{top:-73px}}
/* Keep the pastel surfaces soft while preserving legible text. */
.address-card p,.floor-line div span,.intro-note{color:#847089}.utility-card{color:#5f7d6d}.utility-card:nth-child(2){color:#92734c}.utility-card small{color:#788c80}.utility-card:nth-child(2) small{color:#9c8260}.weather-top,.weather-reading small,.weather-footer{color:#8d739a}.day .view-toolbar .active{color:#75548e}.day .weather-controls button.active,.day .live-button.active{color:#826093}.mascot-description,.mascot-help{color:#977caa}.arrival-steps span,.dialog-note,.source-item p{color:#8e779a}

/* Location switches use ordinary links: refresh, sharing and browser Back stay reliable. */
.center-switch{display:flex;gap:8px;flex-wrap:wrap;padding:2px 0}
.center-switch a{font-size:14px;padding:9px 17px;border-radius:18px;border:1px solid #e5dce9;color:#817087;background:#ffffffa8;transition:background .2s}
.center-switch a[aria-current]{background:var(--center-soft);color:var(--center-accent);border-color:var(--center-accent);font-weight:600}
.center-switch a:hover{background:var(--center-soft)}
body[data-center="haxi"]{background:#fff7ef;color:#634c4b}
body[data-center="haxi"] h1 span,body[data-center="haxi"] .floor-line>strong,body[data-center="haxi"] .tiny-pin{color:var(--center-accent)}
body[data-center="haxi"] .primary{background:#eac0b0;border-color:#e4ae99;color:#704c43}
body[data-center="haxi"] .primary:hover{background:#e4ad99}
body[data-center="haxi"] .address-card{background:#fffdf8;border-color:#fff;box-shadow:0 7px 0 #efd7cc66}
body[data-center="haxi"] .store-tag,body[data-center="haxi"] .icon-button{background:#fbe8da;color:#936c59}
body[data-center="haxi"] .floor-line b{font-size:20px;letter-spacing:0}
body[data-center="haxi"] .mascot-invite{background:#fde5de;color:#9c6357}
body[data-center="haxi"] .weather-card{background:linear-gradient(130deg,#f8e1d1,#fff1df)}
body[data-center="haxi"] .weather-top,body[data-center="haxi"] .weather-reading small,body[data-center="haxi"] .weather-footer{color:#927260}
body[data-center="haxi"] .floor-ticket{background:#fce9dd}
body[data-center="haxi"] .floor-ticket>strong,body[data-center="haxi"] .floor-ticket span{color:#a46d5a}
body[data-center="haxi"] .source-item a{color:#95604f}
body[data-center="haxi"] .landmark{color:#86564a;background:#fff8eef5}
body[data-center="haxi"] .day .view-toolbar .active{background:#f4cfbd;color:#815648}
body[data-center="haxi"] .day .weather-controls button.active,body[data-center="haxi"] .day .live-button.active{color:#915d49;border-color:#dfb79f}
@media(max-width:800px){.center-switch{grid-column:1/-1;justify-content:center}.center-switch a{padding:8px 18px}}
/* Shared palette for the remaining centers, with a visible evidence state. */
.center-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.center-switch a{padding:9px 4px;text-align:center;white-space:nowrap;font-size:13px;display:flex;flex-direction:column;gap:3px}
.center-switch small{font-size:12px;font-weight:400;color:#8f8198}
body:not([data-center="yintai"]):not([data-center="haxi"]){background:color-mix(in srgb,var(--center-soft) 25%,#fffcf8);color:#63516d}
body:not([data-center="yintai"]) h1 span,body:not([data-center="yintai"]) .floor-line>strong,body:not([data-center="yintai"]) .tiny-pin{color:var(--center-accent)}
body:not([data-center="yintai"]) .floor-line b{font-size:20px;letter-spacing:0}
body:not([data-center="yintai"]):not([data-center="haxi"]) .primary{background:var(--center-soft);border-color:var(--center-accent);color:var(--center-accent)}
body:not([data-center="yintai"]):not([data-center="haxi"]) .weather-card{background:linear-gradient(120deg,var(--center-soft),#fff9ef)}
body:not([data-center="yintai"]):not([data-center="haxi"]) .mascot-invite,body:not([data-center="yintai"]):not([data-center="haxi"]) .floor-ticket{background:var(--center-soft);color:var(--center-accent)}
body[data-center="hangguang"] .landmark{background:#f7fff6f5;color:#527865}
body[data-center="hangguang"] .day .view-toolbar .active{background:#d3eadd;color:#547765}
.model-pending .explorer{background:radial-gradient(ellipse at 50% 36%,#fffdf3,var(--center-soft));min-height:680px}
.model-pending .explorer .scene-head h2{color:var(--center-accent)}
.model-pending .explorer .scene-head .eyebrow{color:#8b7d93}
.model-pending .environment,.model-pending .view-toolbar,.model-pending .gesture-hint,.model-pending .scene-side,.model-pending .scene-caption{display:none}
.model-pending #scene{inset:100px 24px 28px;touch-action:auto;display:grid;place-items:center}
.pending-address{text-align:center;max-width:410px;color:var(--center-accent);padding:30px}
.pending-floor{display:inline-grid;place-items:center;width:136px;height:136px;border-radius:40px;background:#fffaf3;border:3px solid #fff;box-shadow:0 12px 0 color-mix(in srgb,var(--center-accent) 9%,transparent);font-size:65px;font-weight:600;transform:rotate(-5deg);margin-bottom:25px}
.pending-label{font-size:14px;letter-spacing:2px}.pending-address h3{font-size:26px;line-height:1.4;font-weight:600;margin:14px 0}
.pending-description{font-size:15px;line-height:1.9;color:#80758b}.pending-location{font-size:14px;margin:24px 0}.pending-address .primary{max-width:220px;display:flex;justify-content:center;margin:0 auto;border:1px solid var(--center-accent)}
@media(max-width:800px){.center-switch{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:7px}.center-switch a{padding:8px 2px}.model-pending .explorer{height:570px;min-height:570px}.model-pending #scene{inset:85px 15px 15px}.pending-address{padding:15px}.pending-floor{width:105px;height:105px;font-size:50px}.pending-address h3{font-size:23px}.pending-description{font-size:14px}}
@media(max-width:800px){.model-pending .address-card{order:2}.model-pending .utility-grid{order:3}.model-pending .weather-card{order:4}.model-pending .explorer{order:5}}

.scene-evidence{position:absolute;left:30px;top:86px;z-index:3;border:1px solid #ffffff80;border-radius:10px;background:#ffffffa8;color:#637788;font-size:12px;padding:7px 10px;max-width:calc(100% - 100px);text-align:left;line-height:1.4;cursor:pointer}.scene-evidence:hover{background:#fff}.day .scene-evidence{color:var(--center-accent)}@media(max-width:800px){.scene-evidence{left:20px;top:76px;font-size:10px;padding:5px 8px;max-width:calc(100% - 80px)}}

@media(max-width:800px){.scene-head{background:color-mix(in srgb,var(--center-soft) 75%,#fff8);border-radius:11px;padding:7px 9px;left:12px;right:12px;top:14px;z-index:3}.scene-head .eyebrow{margin-bottom:5px}.scene-head h2{font-size:14px}.scene-evidence{left:20px;top:82px}.scene-badge{align-self:flex-start}}
