:root{color:#f3eee5;font-synthesis:none;-webkit-tap-highlight-color:transparent;background:#171b20;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline-offset:3px;outline:3px solid #e8cb91}button:disabled{opacity:.5}button[hidden],[hidden]{display:none!important}#app{max-width:1600px;height:100dvh;padding-top:env(safe-area-inset-top);flex-direction:column;margin:auto;display:flex}.header{border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:space-between;align-items:center;height:86px;padding:14px 20px;display:flex}.brand{letter-spacing:5px;color:#c4ac81;margin:0 0 5px;font-size:12px}h1{letter-spacing:1px;margin:0;font-size:21px;font-weight:600}.icon-button{background:#ffffff05;border:1px solid #ffffff30;border-radius:50%;width:44px;height:44px;font-size:22px}.viewer{background:#171b20;flex:1;min-height:170px;position:relative;overflow:hidden}#scene{touch-action:none;position:absolute;inset:0}canvas{touch-action:none;width:100%;height:100%;display:block}.view-badge{pointer-events:none;background:#1b202bd9;border:1px solid #ffffff20;border-radius:20px;padding:8px 13px;font-size:14px;position:absolute;top:15px;left:16px}.view-badge:before{content:"";background:#cdb68c;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.tools{flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;right:12px}.tools button{background:#1b202be8;border:1px solid #ffffff25;border-radius:10px;min-height:44px;padding:0 12px;font-size:14px}.tools button[aria-pressed=true]{color:#1d242b;background:#ccb68f;border-color:#ccb68f}.gesture-tip{white-space:nowrap;color:#dedad3;pointer-events:none;background:#171b20c9;border:1px solid #ffffff12;border-radius:20px;padding:8px 13px;font-size:13px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.controls{padding:13px 14px max(10px,env(safe-area-inset-bottom));background:#1d2229;border-top:1px solid #ffffff12;flex-shrink:0}.views{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.views button{background:#252b33;border:1px solid #ffffff20;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:70px;font-size:18px;font-weight:500;display:flex}.views button>span{font-size:21px;line-height:1}.views button[aria-pressed=true]{color:#252a30;background:#d4c09a;border-color:#d4c09a}.route-button{text-align:left;background:#ffffff03;border:1px solid #ffffff19;border-radius:11px;align-items:center;gap:12px;width:100%;min-height:51px;margin-top:10px;padding:0 15px;font-size:18px;display:flex}.pending{color:#bfb4a1;background:#ffffff07;border-radius:15px;margin-left:auto;padding:5px 10px;font-size:14px}.footnote{color:#a6acb4;text-align:center;letter-spacing:.3px;margin:10px 0 0;font-size:11px}#loading{z-index:4;background:#171b20f5;place-items:center;display:grid;position:absolute;inset:0}.load-inner{text-align:center;width:85%;max-width:340px;padding:20px 0}.load-mark{color:#cdb68c;letter-spacing:6px;font-size:13px}.load-inner h2{margin:18px 0;font-size:22px;font-weight:500}.load-inner p{color:#c0c5cc;font-size:15px}.load-note{color:#939da9!important;font-size:12px!important}.track{background:#ffffff18;border-radius:3px;height:4px;margin:24px 0 12px;overflow:hidden}#progress{background:#d4c09a;width:0;height:100%;transition:width .2s}#percent{color:#dac49f;font-size:15px}#retry{color:#252a30;background:#d4c09a;border:0;border-radius:9px;padding:11px 25px;font-size:17px}#toast{color:#252a30;z-index:7;opacity:0;pointer-events:none;background:#e3d3b6;border-radius:10px;width:max-content;max-width:90%;padding:10px 16px;font-size:15px;transition:all .2s;position:absolute;top:95px;left:50%;transform:translate(-50%)}#toast.show{opacity:1}.sheet{z-index:10;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet-scrim{background:#0009;position:absolute;inset:0}.sheet-card{width:min(100%,560px);padding:10px 24px max(24px,env(safe-area-inset-bottom));background:#252b32;border-radius:22px 22px 0 0;margin:0 auto;position:relative;box-shadow:0 -10px 60px #0005}.sheet-handle{background:#ffffff30;border-radius:4px;width:38px;height:4px;margin:0 auto 20px}.sheet h2{margin:0 0 14px;font-size:23px}.sheet p{color:#d6d9dd;font-size:17px;line-height:1.9}.sheet ul{color:#d6d9dd;padding-left:22px;font-size:17px;line-height:2}.sheet-card>button{color:#252a30;background:#d4c09a;border:0;border-radius:10px;width:100%;min-height:50px;margin-top:10px;font-size:19px}#labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.place-label{color:#f4eadb;white-space:nowrap;background:#1b222ce8;border:1px solid #dcc59c60;border-radius:7px;padding:5px 9px;font-size:12px;position:absolute;transform:translate(-50%,-50%)}.place-label.entry{color:#18212a;background:#cdb68c;font-weight:600}@media (width>=800px){.header{padding-left:32px;padding-right:32px}.controls{align-items:center;gap:18px;padding:15px 32px;display:flex}.views{flex:1;max-width:660px}.views button{flex-direction:row;gap:10px;min-height:66px}.route-button{width:220px;margin:0}.footnote{max-width:180px;margin:0;font-size:12px;line-height:1.8}.tools{flex-direction:row;right:24px}.tools button{font-size:16px}.view-badge{font-size:16px;left:24px}}@media (orientation:landscape) and (height<=550px){.header{height:54px;padding:6px 16px}.brand{display:none}h1{font-size:18px}.icon-button{width:38px;height:38px}.controls{padding:7px 12px max(7px,env(safe-area-inset-bottom));gap:9px;display:flex}.views{flex:1;gap:6px}.views button{flex-direction:row;min-height:48px;font-size:16px}.route-button{width:170px;min-height:48px;margin:0;font-size:16px}.footnote{display:none}.viewer{min-height:130px}.tools{flex-direction:row}.tools button{min-height:38px}.gesture-tip{padding:5px 10px;font-size:11px;bottom:7px}.sheet{align-items:center}.sheet-card{border-radius:18px;max-height:94vh;overflow:auto}.sheet-handle{display:none}.sheet p{margin:8px 0;font-size:15px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.route-button{white-space:nowrap;flex-shrink:0}@media (orientation:landscape) and (height<=550px){.views{min-width:0}.route-button{gap:8px;width:170px;padding:0 12px}.pending{padding:4px 7px;font-size:12px}}.views{grid-template-columns:repeat(5,1fr);max-width:none}.area-picker{align-items:center;gap:10px;margin-top:10px;font-size:15px;display:flex}.area-picker select{font:inherit;color:#f3eee5;background:#252b33;border:1px solid #ffffff30;border-radius:8px;flex:1;max-width:100%;padding:10px}.tools{max-height:70%;overflow:auto}.tools button{flex-shrink:0}@media (width>=800px){.controls{flex-wrap:wrap;gap:10px}.views{flex-basis:100%;max-width:none}.area-picker{flex:1;margin:0}.route-button{width:190px}.footnote{max-width:none}}@media (width<=799px){.views{gap:5px}.views button{min-height:58px;font-size:14px}.views button>span{font-size:18px}.tools{gap:4px}.tools button{min-height:34px;padding:0 8px;font-size:12px}.header{height:66px}h1{font-size:18px}.controls{padding:8px 10px max(8px,env(safe-area-inset-bottom))}.route-button{min-height:40px;margin-top:6px;font-size:16px}.footnote,.area-picker{margin-top:6px}.area-picker select{padding:7px}.gesture-tip{font-size:11px}}@media (orientation:landscape) and (height<=550px){.controls{flex-wrap:wrap}.views{flex-basis:100%}.views button{min-height:36px}.area-picker{flex:1;margin:0}.route-button{min-height:34px}.area-picker select{padding:5px}.header{height:46px}.tools{flex-direction:row;max-width:80%;max-height:85%}}.views{grid-template-columns:repeat(6,1fr)}@media (width<=799px) and (orientation:portrait){.views{grid-template-columns:repeat(3,1fr)}.views button{flex-direction:row;gap:6px;min-height:46px}}
