:root{font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;color:#edf7f7;background:#10262c;font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;letter-spacing:0}.app-shell{width:100%;height:100%;position:relative;overflow:hidden;background:#10262c;touch-action:none}.app-shell:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,20,25,.48) 0,transparent 24%,transparent 74%,rgba(4,18,22,.48) 100%)}canvas{display:block}.model-loader{min-width:148px;height:38px;display:flex;align-items:center;justify-content:center;gap:9px;color:#a9c3c4;border:1px solid rgba(112,212,218,.24);background:#061218db;font-size:11px;white-space:nowrap}.model-loader span{width:8px;height:8px;border-radius:50%;background:#70d4da;box-shadow:0 0 10px #70d4da;animation:loader-pulse .9s ease-in-out infinite alternate}@keyframes loader-pulse{0%{opacity:.35;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.topbar{position:absolute;z-index:10;top:0;left:0;right:0;min-height:82px;padding:18px 28px;display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(151,194,199,.14);background:#050f1575;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-mark{width:36px;height:36px;border:1px solid rgba(102,214,222,.52);display:grid;place-items:center;transform:rotate(45deg)}.brand-mark span{width:12px;height:12px;background:#70d4da;box-shadow:0 0 16px #70d4da}.topbar p{margin:0 0 3px;color:#6bd4db;font-size:9px;font-weight:700;letter-spacing:2.4px}.topbar h1{margin:0;font-size:17px;line-height:1.2;font-weight:600;letter-spacing:0}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.status{font-size:12px;color:#b8cccc;display:flex;align-items:center;gap:7px}.status i{width:7px;height:7px;border-radius:50%;background:#59daa2;box-shadow:0 0 10px #59daa2}.icon-button{width:38px;height:38px;display:grid;place-items:center;color:#d8e9e9;border:1px solid rgba(160,200,202,.2);background:#102329b8;cursor:pointer}.icon-button:hover{color:#fff;border-color:#70d4da99}.scene-label{position:absolute;z-index:2;left:30px;top:118px;display:flex;flex-direction:column;align-items:flex-start;pointer-events:none}.scene-label span{color:#70d4da;font-size:10px;font-weight:700;letter-spacing:0;padding-left:23px;position:relative}.scene-label span:before{content:"";position:absolute;left:0;top:7px;width:15px;height:1px;background:#70d4da}.scene-label strong{margin-top:8px;font-size:clamp(22px,2.4vw,36px);font-weight:500;letter-spacing:0}.scene-label small{margin-top:7px;color:#93a9a9;font-size:11px}.scene-nav{position:absolute;z-index:10;left:28px;top:108px;width:174px;background:#07181dd1;border:1px solid rgba(130,191,195,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.scene-nav-title{height:38px;padding:0 12px;display:flex;align-items:center;gap:8px;color:#8adce1;border-bottom:1px solid rgba(130,191,195,.13);font-size:10px;font-weight:700}.scene-nav-list{padding:5px;display:grid;gap:2px;max-height:calc(100vh - 300px);overflow-y:auto}.scene-nav-list button{width:100%;min-height:34px;padding:0 9px;display:flex;align-items:center;gap:9px;color:#829b9d;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;font-size:10px}.scene-nav-list button:hover{color:#e5f5f4;background:#5ea4aa17}.scene-nav-list button.is-active{color:#e8f8f7;border-color:#68cfd647;background:#2d899133;box-shadow:inset 2px 0 #68cfd6}.scene-nav-list button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-route-swatch{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--flow-color);box-shadow:0 0 8px color-mix(in srgb,var(--flow-color) 70%,transparent);opacity:.42}.scene-nav-list button.is-active .scene-route-swatch{opacity:1}.scene-nav-tools{padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:4px;border-top:1px solid rgba(130,191,195,.13)}.scene-nav-tools button{min-height:35px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:7px;color:#9db5b6;border:1px solid rgba(122,184,188,.14);background:#3b717614;cursor:pointer;font-size:9px}.scene-nav-tools button:first-child{grid-column:1 / -1}.scene-nav-tools button:hover,.scene-nav-tools button.is-active{color:#e6f8f7;border-color:#68cfd657;background:#2d89912e}.scene-nav-tools button svg{flex:0 0 auto;color:#70d4da}.scene-info{position:absolute;z-index:3;right:24px;top:110px;width:286px;padding:15px;background:#081b21db;border:1px solid rgba(137,192,196,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:opacity .16s ease,transform .16s ease}.scene-info.is-hidden{opacity:0;pointer-events:none;transform:translate(12px)}.scene-info-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:11px;border-bottom:1px solid rgba(135,182,186,.13)}.scene-info-head div{display:flex;flex-direction:column;gap:3px}.scene-info-head small{color:#6d9ca0;font-size:8px;font-weight:700;letter-spacing:1.6px}.scene-info-head strong{font-size:14px;font-weight:600}.scene-info-head button{width:29px;height:29px;display:grid;place-items:center;color:#8da7a9;border:0;background:transparent;cursor:pointer}.scene-summary{min-height:48px;display:flex;align-items:center;gap:9px;color:#89a2a4;font-size:10px;line-height:1.5}.scene-summary svg{flex:0 0 auto;color:#70d4da}.building-info{min-height:62px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px}.building-info .info-icon{width:36px;height:36px;display:grid;place-items:center;color:#78d8df;border:1px solid rgba(82,192,203,.25);background:#48b2be1a}.building-info div{min-width:0;display:flex;flex-direction:column;gap:4px}.building-info strong{overflow:hidden;color:#e4f2f1;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.building-info small{color:#718d90;font-size:9px}.building-info em{color:#70d4da;font-size:10px;font-style:normal;white-space:nowrap}.active-flow-legend{display:flex;flex-wrap:wrap;gap:5px}.active-flow-legend button{min-height:27px;padding:0 7px;display:inline-flex;align-items:center;gap:6px;color:#bcd0d0;border:1px solid rgba(121,184,188,.16);background:#4a808414;cursor:pointer;font-size:9px}.active-flow-legend button i{width:7px;height:7px;border-radius:50%;background:var(--flow-color);box-shadow:0 0 7px var(--flow-color)}.active-flow-legend .clear-flows{color:#799294}.building-label{min-height:27px;padding:0 9px;display:flex;align-items:center;gap:6px;color:#e4f6f5;border:1px solid rgba(103,202,209,.42);background:#05181de6;cursor:pointer;white-space:nowrap;font-size:9px;box-shadow:0 4px 14px #00000047}.building-label svg{color:#70d4da}.building-label:hover{border-color:#70d4da;background:#18484ef0}.landscape-label{min-height:25px;padding:0 9px;display:flex;align-items:center;gap:7px;color:#dceee5;border:1px solid rgba(156,205,158,.35);background:#0c231adb;white-space:nowrap;font-size:9px;box-shadow:0 4px 14px #00000038}.landscape-label span{width:7px;height:7px;background:#75b879;transform:rotate(45deg);box-shadow:0 0 8px #75b879b3}.scene-annotation{--label-scale: 1;min-height:calc(27px * var(--label-scale));padding:0 calc(9px * var(--label-scale));display:flex;align-items:center;gap:6px;color:#e4f6f5;border:1px solid rgba(103,202,209,.42);background:#05181de6;cursor:pointer;white-space:nowrap;font-size:calc(9px * var(--label-scale));box-shadow:0 4px 14px #00000047;transform-origin:center;touch-action:none}.scene-annotation svg{width:calc(12px * var(--label-scale));color:#70d4da}.scene-annotation.is-landscape{color:#dceee5;border-color:#9ccd9e59;background:#0c231ae0}.scene-annotation.is-editing{cursor:grab;border-style:dashed}.scene-annotation.is-editing:active{cursor:grabbing}.scene-annotation.is-selected{border-color:#85edf1;box-shadow:0 0 0 2px #70d4da2e,0 4px 14px #00000047}.landscape-symbol{width:calc(7px * var(--label-scale));height:calc(7px * var(--label-scale));background:#75b879;transform:rotate(45deg);box-shadow:0 0 8px #75b879b3}.road-name-label{--label-scale: 1;min-height:calc(24px * var(--label-scale));padding:0 calc(8px * var(--label-scale));display:flex;align-items:center;gap:7px;color:#ecf4edeb;background:#111c1cc2;border:1px solid rgba(211,224,211,.22);white-space:nowrap;font-size:calc(10px * var(--label-scale));font-weight:600;box-shadow:0 3px 12px #0000002e;cursor:pointer;touch-action:none}.road-name-label i{width:calc(9px * var(--label-scale));height:1px;background:#dae7db73}.road-name-label.is-editing{cursor:grab;border-style:dashed}.road-name-label.is-editing:active{cursor:grabbing}.road-name-label.is-selected{border-color:#85edf1;box-shadow:0 0 0 2px #70d4da2e,0 3px 12px #0000002e}.route-endpoint-label{min-height:24px;padding:0 8px;display:flex;align-items:center;gap:7px;color:#f1ffff;border:1px solid color-mix(in srgb,var(--flow-color) 62%,transparent);background:#051419e0;white-space:nowrap;pointer-events:none;font-size:9px;box-shadow:0 3px 12px #0000003d}.route-endpoint-label i{width:7px;height:7px;border-radius:50%;background:var(--flow-color);box-shadow:0 0 8px var(--flow-color)}.route-panel{position:fixed;z-index:20000000;right:24px;top:110px;width:min(388px,calc(100vw - 48px));max-height:calc(100vh - 150px);padding:20px;background:#0b1f25e6;border:1px solid rgba(137,192,196,.2);box-shadow:0 18px 50px #00000047;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel-title{display:flex;gap:12px;align-items:center;padding-bottom:17px;border-bottom:1px solid rgba(135,182,186,.15)}.panel-icon{display:grid;place-items:center;width:36px;height:36px;color:#78d8df;background:#48b2be1f;border:1px solid rgba(82,192,203,.25)}.panel-title div{display:flex;flex-direction:column;gap:3px}.panel-title small{color:#6d9ca0;font-size:8px;font-weight:700;letter-spacing:1.8px}.panel-title strong{font-size:15px;font-weight:600}.server-save-status{margin-left:auto;white-space:nowrap;color:#779394;font-size:9px}.server-save-status.is-saving,.server-save-status.is-connecting{color:#e5bd70}.server-save-status.is-saved{color:#69cfa5}.server-save-status.is-local{color:#f09188}.server-save-status+.finish-editor{margin-left:0}.layer-count{margin-left:auto;color:#70d4da;font-size:11px;font-variant-numeric:tabular-nums}.finish-editor{width:34px;height:34px;margin-left:auto;display:grid;place-items:center;color:#dff7f5;border:1px solid rgba(91,207,213,.34);background:#32a4ae2b;cursor:pointer}.route-swatch{width:9px;height:9px;border-radius:50%;background:var(--flow-color);box-shadow:0 0 11px var(--flow-color);opacity:.3}.route-row.is-active .route-swatch{opacity:1}.route-toolbar{display:flex;gap:8px;padding:12px 0 9px}.route-toolbar button,.route-editor button{min-height:31px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#bcd1d1;border:1px solid rgba(125,189,193,.2);background:#3f7e841a;cursor:pointer;font-size:10px}.route-toolbar button:first-child{color:#e5fafa;border-color:#5bcfd559;background:#32a4ae2e}.route-list{max-height:calc(100vh - 280px);overflow-y:auto;padding-right:3px;overscroll-behavior:contain}.route-list::-webkit-scrollbar{width:4px}.route-list::-webkit-scrollbar-thumb{background:#67b5ba52}.route-row{padding:8px 0;border-top:1px solid rgba(132,180,183,.11)}.route-row.is-selected{background:#4fa6ad12;box-shadow:inset 2px 0 #68cfd6}.route-row.is-dragging{position:relative;z-index:2;background:#43a6ae24;box-shadow:inset 2px 0 #68cfd6,0 8px 20px #00000038}.route-main{min-height:34px;display:grid;grid-template-columns:27px 39px minmax(80px,1fr) 27px 30px 30px 30px;align-items:center;gap:4px}.route-main button{border:0;cursor:pointer}.route-drag{width:27px;height:32px;display:grid;place-items:center;color:#58777a;background:transparent;cursor:grab!important;touch-action:none;-webkit-user-select:none;user-select:none}.route-drag:hover{color:#b9d7d8;background:#64a8ad1a}.route-row.is-dragging .route-drag{color:#7de1e6;cursor:grabbing!important}.route-visibility{height:32px;display:flex;align-items:center;justify-content:space-around;color:#859b9c;background:#4c7c7f14}.route-row.is-active .route-visibility{color:#e6f4f3}.route-name{width:100%;height:32px;padding:0 8px;color:#dcebea;border:1px solid transparent;outline:0;background:transparent;font-size:12px;font-weight:600}.route-name:focus{border-color:#68cfd661;background:#0612177a}.route-color{width:25px;height:25px;padding:2px;border:1px solid rgba(129,184,187,.2);background:transparent;cursor:pointer}.route-action{width:29px;height:29px;display:grid;place-items:center;color:#91aaab;background:transparent}.route-action:hover{color:#ecffff;background:#64a8ad1f}.route-action.delete:hover{color:#ff8a8a}.route-meta{padding:0 0 0 74px;display:flex;gap:10px;color:#638083;font-size:8px}.route-editor{margin:8px 0 2px 74px;display:flex;flex-direction:column;gap:6px}.route-speed-editor{display:flex;align-items:center;min-height:32px;padding:5px 8px;border:1px solid rgba(125,189,193,.14);background:#19363a57}.route-speed-editor label{width:100%;display:grid;grid-template-columns:1fr 68px 18px;align-items:center;gap:7px;color:#a9c0c1;font-size:10px}.route-speed-editor input{width:100%;height:25px;box-sizing:border-box;padding:0 6px;color:#e4f1ef;border:1px solid rgba(125,189,193,.2);background:#08191cb8;text-align:center}.route-speed-editor span{color:#708f91}.style-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.style-selector button{min-width:0;min-height:35px;padding:0 5px;gap:5px;color:#789395;background:#020e125c}.style-selector button.is-selected{color:#e4f8f7;border-color:#68cfd67a;background:#2d89912e}.style-sample{width:22px;height:3px;display:inline-block;background:var(--flow-color)}.style-sample.glow{box-shadow:0 0 7px var(--flow-color)}.style-sample.dash{background:repeating-linear-gradient(90deg,var(--flow-color) 0 5px,transparent 5px 8px)}.style-sample.dots{height:5px;background:radial-gradient(circle,var(--flow-color) 0 2px,transparent 2.5px) 0 50% / 7px 5px repeat-x}.endpoint-editor{display:grid;grid-template-columns:1fr 1fr;gap:5px}.endpoint-editor>label{min-width:0;display:flex;flex-direction:column;gap:4px;color:#719093;font-size:8px}.endpoint-editor input[type=text],.endpoint-editor label>input:not([type]){width:100%;height:28px;padding:0 7px;color:#d4e7e7;border:1px solid rgba(110,177,181,.18);outline:0;background:#041115ad;font-size:10px}.endpoint-editor .endpoint-toggle{grid-column:1 / -1;min-height:26px;flex-direction:row;align-items:center;color:#9bb2b3}.endpoint-toggle input{accent-color:#70d4da}.point-list{max-height:164px;overflow-y:auto;border:1px solid rgba(110,177,181,.16);background:#030e126b}.point-row{min-height:34px;padding:3px 4px 3px 7px;display:grid;grid-template-columns:18px 1fr 1fr 25px;gap:5px;align-items:center;border-bottom:1px solid rgba(110,177,181,.1);color:#6d8b8d;font-size:9px}.point-row:last-child{border-bottom:0}.point-row label{height:25px;display:flex;align-items:center;gap:4px}.point-row input{min-width:0;width:100%;height:25px;padding:0 5px;color:#c8dcdd;border:1px solid rgba(110,177,181,.16);outline:0;background:#041115ad;font-size:10px}.point-row input:focus{border-color:#68cfd670}.point-row button{width:25px;min-height:25px;padding:0;color:#7f9697;border-color:transparent;background:transparent}.point-actions{display:flex;justify-content:flex-end;gap:6px}.route-editor small{color:#ff9a91;font-size:9px}.route-empty{padding:28px 8px;color:#6e8b8d;text-align:center;font-size:11px}.node-label{min-width:24px;height:24px;padding:0 5px;display:grid;place-items:center;color:#07171c;background:#fffffff0;border:1px solid rgba(255,255,255,.78);border-radius:50%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:800;box-shadow:0 2px 10px #00000047}.node-label.is-dragging{cursor:grabbing;transform:scale(1.15)}.annotation-list{padding-right:3px}.editor-tabs{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(110,177,181,.18)}.editor-tabs button{min-height:34px;color:#789395;border:0;background:#030e125c;cursor:pointer;font-size:10px}.editor-tabs button+button{border-left:1px solid rgba(110,177,181,.18)}.editor-tabs button.is-active{color:#ecffff;background:#2d899138;box-shadow:inset 0 -2px #68cfd6}.annotation-row{padding:6px 0;border-top:1px solid rgba(132,180,183,.11)}.annotation-row.is-selected{background:#4fa6ad12;box-shadow:inset 2px 0 #68cfd6}.annotation-main{min-height:34px;display:grid;grid-template-columns:34px minmax(80px,1fr) 30px 30px;gap:4px;align-items:center}.annotation-main button{width:30px;height:30px;display:grid;place-items:center;color:#8ca5a6;border:0;background:transparent;cursor:pointer}.annotation-main button:hover{color:#efffff;background:#64a8ad1f}.annotation-main button.delete:hover{color:#ff8a8a}.annotation-main input,.annotation-detail input[type=text],.annotation-detail>label>input:not([type=range]){min-width:0;width:100%;height:30px;padding:0 7px;color:#dcebea;border:1px solid rgba(110,177,181,.14);outline:0;background:#0411157a;font-size:11px}.annotation-detail{margin:5px 7px 3px 38px;display:grid;gap:7px}.annotation-detail>label{display:grid;grid-template-columns:40px 1fr;align-items:center;color:#7f9b9d;font-size:9px}.annotation-detail .size-control{grid-template-columns:40px 1fr 37px;gap:6px}.size-control input{accent-color:#70d4da}.size-control span{color:#a5bec0;font-variant-numeric:tabular-nums}.coordinate-editor{display:grid;grid-template-columns:1fr 1fr;gap:6px}.coordinate-editor label{display:flex;align-items:center;gap:4px;color:#769294;font-size:9px}.coordinate-editor input{min-width:0;width:100%;height:28px;padding:0 5px;color:#c8dcdd;border:1px solid rgba(110,177,181,.16);background:#041115ad}.annotation-detail small{color:#6f8c8e;font-size:8px}.ui-text-toolbar button:first-child{color:#e5fafa}.ui-text-list{display:grid;gap:7px;padding:3px 3px 3px 0}.ui-text-list label{display:grid;gap:5px;color:#779294;font-size:9px}.ui-text-list input{width:100%;height:32px;padding:0 9px;color:#dcebea;border:1px solid rgba(110,177,181,.18);outline:0;background:#0411159e;font-size:11px}.ui-text-list input:focus{border-color:#68cfd680;background:#071b20c2}.password-backdrop{position:fixed;z-index:30000000;inset:0;display:grid;place-items:center;padding:20px;background:#010a0dad;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.password-dialog{width:min(360px,calc(100vw - 32px));padding:20px;display:grid;grid-template-columns:44px 1fr 32px;gap:14px 12px;color:#dcebea;border:1px solid rgba(104,207,214,.3);background:#06191ef7;box-shadow:0 20px 70px #0000007a}.password-icon{width:44px;height:44px;display:grid;place-items:center;color:#73d9df;border:1px solid rgba(104,207,214,.28);background:#349da621}.password-title{align-self:center;display:flex;flex-direction:column;gap:3px}.password-title small{color:#70a1a5;font-size:8px;font-weight:700;letter-spacing:1.8px}.password-title strong{font-size:16px}.password-close{width:32px;height:32px;display:grid;place-items:center;color:#829c9e;border:0;background:transparent;cursor:pointer}.password-dialog label{grid-column:1 / -1;display:grid;grid-template-columns:68px 1fr;align-items:center;gap:9px;color:#8ca5a7;font-size:10px}.password-dialog input{width:100%;height:36px;padding:0 10px;color:#e6f5f4;border:1px solid rgba(110,177,181,.24);outline:0;background:#020d11a6;font-size:15px;letter-spacing:2px}.password-dialog input:focus{border-color:#68cfd6a6}.password-error,.password-note{grid-column:1 / -1;margin:-4px 0 0;font-size:10px}.password-error{color:#ff8e86}.password-note{color:#69878a}.password-submit{grid-column:1 / -1;min-height:38px;color:#e9ffff;border:1px solid rgba(91,207,213,.42);background:#32a4ae33;cursor:pointer}.topbar,.scene-nav,.bottom-controls{transition:opacity .16s ease,filter .16s ease}.app-shell.is-editing .topbar,.app-shell.is-editing .scene-nav,.app-shell.is-editing .bottom-controls{opacity:.18;filter:saturate(.5);pointer-events:none}.bottom-controls{position:absolute;z-index:3;left:50%;bottom:22px;transform:translate(-50%);min-height:42px;padding:6px 15px 6px 7px;display:flex;align-items:center;gap:12px;color:#809697;background:#061218c7;border:1px solid rgba(139,188,191,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;font-size:10px}.bottom-controls button{height:29px;padding:0 10px;display:flex;align-items:center;gap:6px;color:#c5d8d8;border:1px solid rgba(129,180,183,.18);background:#5c888c14;cursor:pointer}.bottom-controls button.playing{color:#6dd6dc}.bottom-controls i{width:1px;height:13px;background:#87b2b42e}@media(max-width:700px){.topbar{min-height:70px;padding:14px 16px}.brand-mark{width:29px;height:29px}.topbar p{display:none}.topbar h1{font-size:14px}.status{display:none}.scene-nav{left:12px;right:12px;top:82px;width:auto;background:#07181dbd}.scene-nav-title{display:none}.scene-nav-list{padding:5px;display:flex;max-height:none;overflow-x:auto}.scene-nav-list button{width:auto;min-width:42px;height:39px;padding:0 11px;flex:0 0 auto;justify-content:center}.scene-nav-list button span{display:none}.scene-nav-tools{grid-template-columns:repeat(3,1fr)}.scene-nav-tools button:first-child{grid-column:auto}.scene-nav-tools button{min-height:38px}.scene-nav-tools button span{display:none}.scene-info{inset:auto 12px 67px;width:auto;padding:10px 12px}.scene-info-head{padding-bottom:7px}.scene-info-head small{display:none}.scene-summary{min-height:34px}.building-info{min-height:48px}.route-panel{inset:auto 12px 67px;width:auto;max-height:48vh;padding:13px}.panel-title{padding-bottom:12px}.route-toolbar{padding-top:9px}.route-list{max-height:calc(46vh - 112px)}.route-main{grid-template-columns:31px 39px minmax(70px,1fr) 27px 34px 34px 34px}.route-editor{margin-left:0}.bottom-controls{left:12px;right:12px;bottom:12px;transform:none;justify-content:center}.bottom-controls>span,.bottom-controls>i{display:none}}@media(pointer:coarse)and (min-width:701px){.icon-button{width:46px;height:46px}.scene-nav{width:208px}.scene-nav-title{height:44px;font-size:11px}.scene-nav-list button{min-height:44px;padding:0 12px;gap:11px;font-size:12px}.scene-nav-tools button{min-height:46px;font-size:11px}.scene-info{width:318px}.scene-info-head strong{font-size:16px}.scene-summary{min-height:56px;font-size:11px}.route-panel{width:min(440px,calc(100vw - 48px))}.finish-editor{width:42px;height:42px}.route-toolbar button,.route-editor button{min-height:39px;font-size:11px}.route-main{min-height:44px;grid-template-columns:40px 45px minmax(90px,1fr) 34px 38px 38px 38px}.route-drag{width:40px;height:40px}.route-visibility{height:40px}.route-name{height:40px;font-size:13px}.route-action{width:37px;height:37px}.editor-tabs button{min-height:42px;font-size:11px}.annotation-main{min-height:44px;grid-template-columns:42px minmax(90px,1fr) 38px 38px}.annotation-main button{width:38px;height:38px}.annotation-main input,.annotation-detail input[type=text],.annotation-detail>label>input:not([type=range]),.ui-text-list input{height:38px;font-size:12px}.bottom-controls{min-height:50px;font-size:11px}.bottom-controls button{height:38px}}@media(max-height:660px)and (max-width:900px){.scene-label{display:none}.route-panel{top:82px;bottom:auto}.route-panel{max-height:calc(100vh - 140px)}.route-list{max-height:calc(100vh - 260px)}}
