:root{--bj166-navy:#0b3f70;--bj166-blue:#155b96;--bj166-blue-bright:#1c6cae;--bj166-bronze:#8a6d3b;--bj166-gold:#c9a24e;--bg-canvas:#eef2f6;--bg-panel:rgba(255,255,255,0.94);--bg-panel-solid:#ffffff;--border-subtle:rgba(15,39,68,0.12);--text-main:#0f1f33;--text-muted:#516175;--text-light:#718196;--shadow-card:0 10px 30px -10px rgba(11,35,65,0.22);--shadow-pill:0 4px 14px rgba(11,35,65,0.14)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background-color:var(--bg-canvas);color:var(--text-main);font-family:PingFang SC,Microsoft YaHei,Hiragino Sans GB,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh}.disclaimer-ribbon{background:linear-gradient(90deg,#0b3f70,#155b96 55%,#1c6cae);color:#f8fafc;font-size:12px;line-height:1.4;padding:6px 16px;border-bottom:1px solid rgba(255,255,255,.14)}.disclaimer-ribbon-inner{max-width:1480px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.disclaimer-tag{display:inline-flex;align-items:center;gap:6px;font-weight:600}.disclaimer-badge{display:inline-block;padding:1px 7px;border-radius:999px;background:rgba(201,162,78,.25);border:1px solid rgba(201,162,78,.65);color:#fde68a;font-size:11px;font-weight:700;letter-spacing:.02em}.site-header{background:#ffffff;border-bottom:1px solid var(--border-subtle);position:-webkit-sticky;position:sticky;top:0;z-index:40}.site-header-inner{max-width:1480px;margin:0 auto;padding:10px 16px;justify-content:space-between;gap:16px}.brand-link,.site-header-inner{display:flex;align-items:center}.brand-link{gap:11px}.brand-mark{width:34px;height:34px;border-radius:9px;flex-shrink:0}.brand-title{margin:0;font-size:16px;font-weight:700;color:var(--bj166-navy);letter-spacing:-.01em}.brand-sub{margin:1px 0 0;font-size:11.5px;color:var(--text-muted)}.site-nav{display:flex;flex-wrap:wrap}.nav-link,.site-nav{align-items:center;gap:6px}.nav-link{display:inline-flex;padding:7px 12px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--text-muted);transition:background-color .15s ease,color .15s ease}.nav-link:hover{background:#eff4f9;color:var(--bj166-navy)}.nav-link-active{background:#e6eff8;color:var(--bj166-blue)}.workspace-main{flex:1 1;position:relative;display:flex;flex-direction:column;height:calc(100vh - 92px);min-height:580px;overflow:hidden}.top-control-strip{z-index:30;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle);padding:8px 14px}.top-control-inner{max-width:1480px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.segmented-group{background:#eef3f8;border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}.seg-btn,.segmented-group{display:inline-flex;align-items:center}.seg-btn{border:none;background:transparent;color:var(--text-muted);padding:6px 12px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;gap:6px;transition:all .16s ease}.seg-btn-active,.seg-btn:hover{color:var(--bj166-navy)}.seg-btn-active{background:#ffffff;box-shadow:0 2px 6px rgba(15,39,68,.12)}.toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tool-btn{border:1px solid var(--border-subtle);background:#ffffff;color:var(--text-main);border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease}.tool-btn:hover{border-color:var(--bj166-blue);color:var(--bj166-blue)}.tool-btn-active{background:#e8f1fb;border-color:var(--bj166-blue);color:var(--bj166-navy)}.viewport-stage{position:relative;flex:1 1;width:100%;height:100%;overflow:hidden;background:#dbe6f2}.scene-canvas-host{position:absolute;inset:0;width:100%;height:100%}.directory-panel{position:absolute;top:14px;left:14px;bottom:72px;width:310px;max-width:calc(100vw - 28px);z-index:25;background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden;transition:transform .22s ease,opacity .22s ease}.directory-panel-collapsed{transform:translateX(-336px);opacity:0;pointer-events:none}.directory-header{padding:12px 14px 10px;border-bottom:1px solid var(--border-subtle);background:rgba(255,255,255,.72)}.directory-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.directory-title{margin:0;font-size:14.5px;font-weight:700;color:var(--bj166-navy)}.directory-address{margin:3px 0 0;font-size:11.5px;color:var(--text-muted)}.search-box{margin-top:9px;position:relative}.search-input{width:100%;border:1px solid var(--border-subtle);background:#ffffff;border-radius:8px;padding:7px 10px 7px 30px;font-size:12.5px;color:var(--text-main);outline:none}.search-input:focus{border-color:var(--bj166-blue);box-shadow:0 0 0 3px rgba(21,91,150,.14)}.search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none}.category-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.chip-btn{border:1px solid var(--border-subtle);background:#ffffff;color:var(--text-muted);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;cursor:pointer}.chip-btn-active{background:var(--bj166-navy);border-color:var(--bj166-navy);color:#ffffff}.directory-list{flex:1 1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:5px}.place-item-btn{width:100%;text-align:left;border:1px solid transparent;background:rgba(255,255,255,.8);border-radius:10px;padding:9px 10px;cursor:pointer;display:flex;align-items:flex-start;gap:9px;transition:all .14s ease}.place-item-btn:hover{background:#f1f6fc;border-color:rgba(21,91,150,.24)}.place-item-btn-active{background:#e7f0fa;border-color:var(--bj166-blue)}.place-code-pill{flex-shrink:0;font-size:10.5px;font-weight:700;color:#ffffff;border-radius:6px;padding:2px 6px;margin-top:1px}.place-item-name{font-size:13px;font-weight:600;color:var(--text-main);line-height:1.3}.place-item-meta{margin-top:2px;font-size:11.5px;color:var(--text-muted)}.reopen-dir-btn{left:14px;border:1px solid var(--border-subtle);background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--bj166-navy);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:var(--shadow-pill)}.detail-drawer,.reopen-dir-btn{position:absolute;top:14px;z-index:26}.detail-drawer{right:14px;bottom:72px;width:356px;max-width:calc(100vw - 28px);background:var(--bg-panel-solid);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden}.detail-header{padding:14px 16px 12px;border-bottom:1px solid var(--border-subtle);background:linear-gradient(135deg,#f6f9fd,#ffffff);display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.detail-body{flex:1 1;overflow-y:auto;padding:14px 16px 18px}.icon-close-btn{border:1px solid var(--border-subtle);background:#ffffff;color:var(--text-muted);border-radius:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.icon-close-btn:hover{color:var(--bj166-navy);border-color:var(--bj166-blue)}.tour-dock{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:24;max-width:calc(100vw - 24px);background:rgba(15,31,51,.84);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#f8fafc;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:5px 8px;display:flex;align-items:center;gap:4px;overflow-x:auto;box-shadow:0 12px 28px rgba(10,22,40,.34)}.tour-pill{border:none;background:transparent;color:rgba(241,245,249,.85);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .15s ease}.tour-pill:hover{background:rgba(255,255,255,.14);color:#ffffff}.tour-pill-active{background:var(--bj166-gold);color:#102033}.pins-overlay-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:15}.pin-3d-btn{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;border:1.5px solid rgba(255,255,255,.92);background:rgba(15,39,68,.86);color:#ffffff;border-radius:999px;padding:3px 9px 3px 6px;font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap;box-shadow:0 4px 12px rgba(8,22,40,.32);transition:transform .12s ease,background-color .12s ease}.pin-3d-btn:hover{transform:translate(-50%,-108%) scale(1.06);z-index:20}.pin-3d-btn-selected{background:#b45309;border-color:#fde68a;transform:translate(-50%,-112%) scale(1.08);z-index:22}.pin-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.scene-status-hud{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:20;background:rgba(15,31,51,.88);color:#ffffff;padding:16px 22px;border-radius:14px;text-align:center;box-shadow:var(--shadow-card);min-width:240px}.progress-track{width:100%;height:6px;border-radius:999px;background:rgba(255,255,255,.18);margin-top:10px;overflow:hidden}.progress-fill{height:100%;background:var(--bj166-gold);transition:width .2s ease}.controls-hint-pill{position:absolute;bottom:66px;right:16px;z-index:16;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-subtle);border-radius:10px;padding:6px 10px;font-size:11px;color:var(--text-muted);pointer-events:none}.about-container{max-width:1080px;margin:0 auto;padding:28px 18px 48px}.card-surface{background:#ffffff;border:1px solid var(--border-subtle);border-radius:14px;padding:20px 22px;box-shadow:0 4px 18px rgba(15,39,68,.06)}.source-table{width:100%;border-collapse:collapse;font-size:13.5px}.source-table td,.source-table th{padding:11px 12px;text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top}.source-table th{text-transform:uppercase;letter-spacing:.03em;background:#f6f9fc}.site-footer,.source-table th{font-size:12px;color:var(--text-muted)}.site-footer{background:#ffffff;border-top:1px solid var(--border-subtle);padding:10px 18px}.site-footer-inner{max-width:1480px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}@media (max-width:860px){.workspace-main{height:auto;min-height:calc(100vh - 96px);overflow:visible}.viewport-stage{min-height:58vh;height:60vh}.directory-panel{width:280px;bottom:66px}.detail-drawer{position:fixed;top:auto;left:10px;right:10px;bottom:10px;width:auto;max-width:none;max-height:56vh;z-index:50}.controls-hint-pill{display:none}}