html,body{margin:0!important;padding:0!important}
body:has(#tm-mvs7){overflow:hidden!important}
.tm-app{position:fixed;inset:0;z-index:999999;background:#080b10;color:#e9edf3;font:12px Inter,system-ui,sans-serif;overflow:hidden;width:100vw;height:100vh}
.tm-app *{box-sizing:border-box}
.tm-editor{--left-width:230px;--right-width:310px;--timeline-height:250px;--editor-top-height:54px;--body-min-height:210px;height:100vh;width:100vw;min-height:0;display:grid;grid-template-rows:var(--editor-top-height) minmax(var(--body-min-height),1fr) minmax(180px,var(--timeline-height));overflow:hidden}
.tm-editor-top{display:flex;align-items:center;gap:14px;background:#0b0e14;border-bottom:1px solid #252c37;padding:0 10px;white-space:nowrap}
.tm-brand{width:215px;display:flex;gap:8px;align-items:center}.tm-p{width:26px;height:26px;border-radius:6px;background:#eef2f5;color:#10141a;display:grid;place-items:center;font-weight:900}.tm-brand b{display:block;font-size:10px}.tm-brand small{font-size:6px;color:#718095;letter-spacing:1px}.tm-editor-nav{display:flex;gap:3px}.tm-editor-top button{background:transparent;border:1px solid transparent;color:#9ba6b6;border-radius:6px;height:32px;padding:0 10px;font-size:10px}.tm-editor-nav .active{background:#111721;border-color:#293342;color:#fff;font-weight:700}.tm-project-tab{display:flex;gap:4px;align-items:center;margin-left:4px}.tm-project-tab small{font-size:7px;color:#6f7b8d;letter-spacing:.5px}.tm-project-tab button{background:#0f141c;border-color:#293342;color:#e3e8ef;min-width:100px}.tm-editor-actions{margin-left:auto;display:flex;gap:6px}.tm-editor-actions .workspace{font-size:7px;border-color:#293342}.tm-editor-actions .export{background:#b7ff52;color:#11170b;font-weight:900;border:0}
.tm-editor-body{display:grid;grid-template-columns:var(--left-width) minmax(320px,1fr) var(--right-width);min-height:0;position:relative}
.tm-left,.tm-right{background:#0d1118;overflow:auto;position:relative}.tm-left{border-right:1px solid #252c37}.tm-right{border-left:1px solid #252c37}.tm-panel-title{height:58px;border-bottom:1px solid #252c37;padding:10px;position:relative}.tm-panel-title span{display:block;color:#697688;font-size:7px;letter-spacing:1px}.tm-panel-title b{display:block;font-size:10px;margin-top:3px}.tm-panel-title button,.tm-panel-title em{position:absolute;right:9px;top:17px}.tm-panel-title button{background:#111721;border:1px solid #293342;color:#9ba7b7;border-radius:5px}.tm-panel-title em{font-style:normal;font-size:7px;background:#151c27;color:#a4afbd;padding:4px 6px;border-radius:5px}.tm-tools-title{padding:10px;color:#8793a5;font-size:8px;font-weight:700}.tm-tools-title em{float:right;font-style:normal;background:#202733;padding:1px 5px;border-radius:4px}.tm-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 9px}.tm-tool{height:54px!important;background:#111721!important;border:1px solid #252e3b!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative}.tm-tool i{font-style:normal;font-size:16px}.tm-tool span{font-size:8px}.tm-tool kbd{position:absolute;right:5px;top:4px;font-size:6px;color:#718094}.tm-tool.selected{border-color:#719e3c!important;background:#172216!important;color:#c6f18b!important}.tm-effects{margin-top:10px;border-top:1px solid #252c37}.tm-effects button{margin:0 9px 7px;width:calc(100% - 18px);display:flex;gap:8px;align-items:center;background:#111721;border:1px solid #252e3b;border-radius:6px;color:#dce3eb;padding:8px;text-align:left}.tm-effects button b{font-size:17px}.tm-effects button span{font-size:8px}.tm-effects small{display:block;color:#6f7b8d;font-size:6px;margin-top:2px}
.tm-center{min-width:0;background:#080b10;display:grid;grid-template-rows:45px minmax(0,1fr) 55px}.tm-preview-bar{display:flex;align-items:center;justify-content:center;border-bottom:1px solid #252c37;padding:0 12px}.tm-search{position:relative;width:min(680px,82%);height:34px;display:flex;align-items:center;background:#0d1219;border:1px solid #344052;border-radius:7px;box-shadow:0 4px 16px rgba(0,0,0,.16)}.tm-search-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:100%;padding:0!important;color:#93a0b2;font-size:17px;line-height:1}.tm-search input{flex:1;min-width:0;height:100%;background:none;border:0;outline:0;color:#e6ebf1;font-size:10px;padding:0 8px 0 2px}.tm-search input::placeholder{color:#687688;opacity:1}.tm-search button{flex:0 0 42px;width:42px;height:26px;margin-right:4px;background:#151c26;border:1px solid #303b4b;border-radius:5px;color:#aab5c5;display:grid;place-items:center;cursor:pointer}.tm-search button:hover{background:#1c2531;color:#fff}.tm-search button span{padding:0!important;font-size:15px;line-height:1}.tm-search-results{position:absolute;z-index:1000;left:0!important;right:0!important;top:calc(100% + 5px);width:auto!important;min-width:0!important;max-width:none!important;display:none;background:#0d1219;border:1px solid #303b4b;border-radius:7px;box-shadow:0 12px 30px rgba(0,0,0,.45);overflow:hidden}.tm-search-results.show{display:block}.tm-search-result{all:unset!important;display:block!important;box-sizing:border-box!important;width:100%!important;min-width:100%!important;max-width:none!important;height:auto!important;margin:0!important;padding:9px 12px!important;background:transparent!important;border:0!important;border-bottom:1px solid #202936!important;border-radius:0!important;color:#dce3eb!important;text-align:left!important;text-indent:0!important;white-space:normal!important;overflow:visible!important;line-height:1.35!important;font:inherit!important;cursor:pointer!important}.tm-search-result:last-child{border-bottom:0!important}.tm-search-result:hover,.tm-search-result:focus{background:#151d28!important;outline:none!important}.tm-search-result b{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;color:#e6ebf1!important;font-size:9px!important;font-weight:700!important;line-height:1.35!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}.tm-search-result small{display:block!important;width:auto!important;max-width:none!important;margin:3px 0 0!important;padding:0!important;color:#718095!important;font-size:7px!important;line-height:1.35!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}.tm-search-status{padding:10px 12px;color:#7e8a9c;font-size:8px;line-height:1.4}
.tm-canvas{display:grid;place-items:center;overflow:hidden;background-image:radial-gradient(#1a2029 1px,transparent 1px);background-size:18px 18px}.tm-map{width:min(82%,920px);aspect-ratio:16/9;position:relative;border:1px solid #2b3541;border-radius:3px;overflow:hidden;box-shadow:0 15px 50px #0008}.tm-fake-map{position:absolute;inset:0;background:linear-gradient(145deg,#61755d,#87806d 42%,#5a6b59);filter:saturate(.8)}.city-grid{position:absolute;inset:3%;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(6,1fr);gap:5px;transform:rotate(-3deg) scale(1.08)}.city-grid i{background:#cbc9b8aa;border:1px solid #53605266}.river{position:absolute;background:#1f3c39;border-radius:50%}.r1{width:125%;height:42%;left:-10%;bottom:-20%;transform:rotate(17deg)}.r2{width:22%;height:120%;right:5%;top:-22%;transform:rotate(29deg)}.runway{position:absolute;width:28%;height:46%;left:34%;top:-2%;background:#5d5145;transform:rotate(1deg)}.roads{position:absolute;width:115%;height:8px;left:-8%;top:55%;background:#ded5b5bb;transform:rotate(-19deg)}.rd2{top:34%;height:6px;transform:rotate(7deg)}.rd3{top:76%;height:5px;transform:rotate(27deg)}.tm-canvas-tag{position:absolute;z-index:3;top:8px;left:8px;background:#07100ddd;padding:5px 8px;border-radius:5px;font-size:7px;font-weight:800}.tm-canvas-tag i{display:inline-block;width:7px;height:7px;background:#b7ff52;border-radius:50%;margin-right:5px;box-shadow:0 0 8px #b7ff52}.city{position:absolute;color:#fff9;font-size:9px;text-shadow:0 1px 4px #263526}.c1{left:39%;top:54%}.c2{right:12%;top:31%}.credit{position:absolute;z-index:4;right:7px;bottom:5px;font-size:5px;color:#eee9}
.tm-bottom-controls{display:flex;align-items:stretch;justify-content:center;gap:22px;border-top:1px solid #252c37;background:#0c1017;padding:9px 18px}.tm-bottom-controls label{font-size:8px;color:#758195;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:7px;height:58px;min-width:96px}.tm-bottom-controls .tm-control-label{display:block;width:100%;height:16px;line-height:16px;font-size:8px;font-weight:700;color:#7f8da2;text-align:left;white-space:nowrap}.tm-bottom-controls select,.tm-bottom-controls input{height:32px;background:#101620;border:1px solid #293342;border-radius:6px;color:#dce3eb;font-size:10px;min-width:160px;padding:0 10px}.tm-bottom-controls input{min-width:110px;width:110px;text-align:center;font-weight:700}.tm-bottom-controls .tm-control-group{display:flex;align-items:center;height:32px}.tm-bottom-controls button{height:32px;background:#101620;border:1px solid #293342;color:#8793a5;font-size:9px;padding:0 10px}.tm-bottom-controls button.on{background:#b7ff52;border-color:#b7ff52;color:#10150b;font-weight:800}.tm-control-aspect .tm-control-group{min-width:96px}.tm-control-aspect button{min-width:48px}.tm-control-labels{min-width:100px!important}.tm-control-labels .switch{margin-top:2px}.tm-brightness-control{display:flex!important;align-items:center;gap:10px;width:210px;height:32px}.tm-brightness-range{appearance:none!important;-webkit-appearance:none!important;width:165px!important;min-width:165px!important;height:5px!important;padding:0!important;border:0!important;border-radius:999px!important;background:linear-gradient(to right,#b7ff52 0%,#b7ff52 100%)!important;outline:none;cursor:pointer}.tm-brightness-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:#b7ff52;border:2px solid #0c1017;box-shadow:0 0 0 1px #91c94a;cursor:pointer}.tm-brightness-range::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:#b7ff52;border:2px solid #0c1017;box-shadow:0 0 0 1px #91c94a;cursor:pointer}.tm-brightness-value{display:grid;place-items:center;min-width:42px;height:25px;padding:0 6px;border:1px solid #293342;border-radius:5px;background:#101620;color:#dce3eb;font-size:9px;font-weight:800}.switch{width:32px;height:18px;border-radius:20px;background:#3b4655;display:inline-block;position:relative}.switch:after{content:"";position:absolute;width:12px;height:12px;top:3px;left:3px;border-radius:50%;background:#aab4c1}.switch.on{background:#25c9bd}.switch.on:after{left:17px;background:#efffff}
.tm-right section{padding:10px;border-bottom:1px solid #252c37}.tm-right section p{font-size:6px;color:#697688;line-height:1.5;margin:0 0 8px}.use-map{width:100%;height:30px;background:#b7ff52;color:#10150b;border:0;border-radius:6px;font-size:9px;font-weight:900}.palettes{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:8px}.palettes button{background:none;border:1px solid transparent;border-radius:4px;padding:2px}.palettes button.active{border-color:#53657b}.palettes i{display:block;height:12px;border-radius:3px;background:linear-gradient(90deg,#eee 0 42%,#a24b35 42%)}.palettes button:nth-child(2) i{background:linear-gradient(90deg,#eee 0 42%,#718b81 42%)}.palettes button:nth-child(3) i{background:linear-gradient(90deg,#eee 0 42%,#87634b 42%)}.palettes button:nth-child(4) i{background:linear-gradient(90deg,#eee 0 42%,#6489b0 42%)}.palettes button:nth-child(5) i{background:linear-gradient(90deg,#eee 0 42%,#252a32 42%)}.palettes small{font-size:5px;color:#8995a6}.layer-toggles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.layer-toggles label{display:flex;align-items:center;justify-content:space-between;color:#9aa6b7;font-size:7px}.project-settings h4{font-size:8px;color:#6f7b8e;letter-spacing:1px;margin:0 0 10px}.project-settings label{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:5px;color:#788498;font-size:7px;margin:7px 0}.project-settings input,.project-settings select{height:24px;background:#0e141c;border:1px solid #293342;border-radius:5px;color:#dce3eb;font-size:8px;padding:0 6px;width:100%}.project-settings .switch{justify-self:end}.wide{display:flex}.wide button{flex:1;height:24px;background:#101620;border:1px solid #293342;color:#8793a5;font-size:7px}.wide button.on{background:#b7ff52;color:#10150b}
.tm-timeline{background:#0b0f15;border-top:1px solid #2a313c;min-height:0;min-width:0;position:relative;overflow:hidden}.tm-timeline-tabs{height:32px;display:flex;align-items:end;border-bottom:1px solid #252c37;padding-left:7px}.tm-timeline-tabs .tab{height:27px;background:#121821;border:1px solid #293240;border-bottom:0;color:#dce3eb;border-radius:6px 6px 0 0;font-size:8px;padding:0 10px;border-top:2px solid #b7ff52}.tm-timeline-tabs .plus{height:26px;width:27px;margin-left:4px;background:#0e141c;border:1px solid #293240;color:#aeb8c6;border-radius:6px}.tm-timeline-toolbar{height:40px;display:flex;align-items:center;padding:0 9px}.timeline-title{width:145px}.timeline-title small{display:block;color:#687587;font-size:6px;letter-spacing:1px}.timeline-title b{font-size:10.5px}.transport{display:flex;align-items:center;gap:4px}.transport .timeline-action{position:relative;width:27px;min-width:27px;height:25px;display:inline-flex;align-items:center;justify-content:center;align-content:center;padding:0;margin:0;line-height:0;font-size:0;box-sizing:border-box;vertical-align:middle;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.transport .timeline-action:hover{background:#1b3025;color:#b7ff52;border-color:#5f9f58;transform:translateY(-1px)}.transport .timeline-action:focus-visible{outline:1px solid #b7ff52;outline-offset:1px}.transport .timeline-action:active{transform:translateY(0);background:#203a2a;color:#caff87}.transport .timeline-cut .cut-icon{position:relative;width:11px;height:11px;display:block;flex:0 0 11px;box-sizing:border-box}.transport .timeline-cut .cut-icon:before,.transport .timeline-cut .cut-icon:after{content:"";position:absolute;top:1px;width:1.5px;height:9px;background:currentColor;border-radius:1px}.transport .timeline-cut .cut-icon:before{left:1px;transform:skewY(-28deg)}.transport .timeline-cut .cut-icon:after{right:1px;transform:skewY(28deg)}.transport .timeline-cut .cut-icon{border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;height:8px;box-sizing:border-box}.transport .timeline-duplicate span{display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;width:12px;height:12px;text-align:center;transform:none;box-sizing:border-box}.transport .timeline-delete .trash-icon{position:relative;width:10px;height:11px;border:1px solid currentColor;border-top:0;border-radius:1px 1px 3px 3px;display:block;margin-top:0}.transport .timeline-delete .trash-icon:before{content:"";position:absolute;left:-2px;top:-3px;width:12px;height:1.5px;background:currentColor;border-radius:1px}.transport .timeline-delete .trash-icon:after{content:"";position:absolute;left:3px;top:-6px;width:4px;height:2.5px;border:1px solid currentColor;border-bottom:0;border-radius:2px 2px 0 0}.transport button{height:23px;min-width:23px;background:#111721;border:1px solid #293342;color:#98a4b5;border-radius:5px;font-size:8px}.transport .play{border:0;border-radius:50%;background:#b7ff52;color:#11170b}.transport .quick{width:80px;color:#b8f66d}.transport code{font-size:7px;color:#6f7c8e;margin:0 3px}.timeline-zoom{margin-left:auto;color:#6f7b8c;font-size:7px;display:flex;align-items:center;gap:6px}.timeline-zoom input{width:80px}.timeline-zoom button{height:23px;background:#111721;border:1px solid #293342;color:#98a4b5;border-radius:5px;font-size:7px}.ruler{height:27px;margin-left:172px;border-bottom:1px solid #202733;position:relative;overflow:visible}.ruler span{position:absolute;top:3px;transform:translateX(-50%);font-size:9px;font-weight:600;line-height:14px;color:#8d99aa;white-space:nowrap}.ruler span:after{content:"";position:absolute;left:50%;top:16px;width:1px;height:6px;background:#3b4553;transform:translateX(-50%)}.track{height:100px;position:relative}.track>b{position:absolute;left:9px;top:10px;width:150px;color:#8995a7;font-size:8px}.track>b span{float:right}.track-line{position:absolute;left:172px;right:0;top:15px;height:1px;background:#343c48}.track p{position:absolute;left:172px;right:0;top:37px;text-align:center;color:#626e7f;font-size:8px}.playhead{position:absolute;left:172px;top:-27px;bottom:0;width:2px;background:#2f8cff;z-index:30;cursor:ew-resize;box-shadow:0 0 5px rgba(47,140,255,.35)}
.playhead:before{content:"";position:absolute;left:50%;top:-1px;transform:translate(-50%,-1px);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #2f8cff;filter:drop-shadow(0 0 2px rgba(47,140,255,.35));cursor:ew-resize}
.playhead:after{content:"";position:absolute;left:50%;top:-8px;transform:translateX(-50%);width:12px;height:8px;cursor:ew-resize}

/* Resizable panel borders */
.tm-resize-handle{position:absolute;z-index:50;background:transparent;transition:background .15s ease}.tm-resize-handle:hover,.tm-resize-handle.active{background:#b7ff52}
.tm-resize-left{top:0;right:-3px;width:6px;height:100%;cursor:col-resize}.tm-resize-right{top:0;left:-3px;width:6px;height:100%;cursor:col-resize}.tm-resize-timeline{left:0;top:-4px;width:100%;height:8px;cursor:row-resize}
.tm-resize-handle:after{content:"";position:absolute;opacity:0;transition:opacity .15s}.tm-resize-left:after,.tm-resize-right:after{top:50%;left:2px;width:2px;height:40px;transform:translateY(-50%);border-radius:2px;background:#b7ff52}.tm-resize-timeline:after{left:50%;top:2px;width:42px;height:2px;transform:translateX(-50%);border-radius:2px;background:#b7ff52}.tm-resize-handle:hover:after,.tm-resize-handle.active:after{opacity:1}
body.tm-resizing,.tm-app.tm-resizing{user-select:none}.tm-app.tm-resizing *{cursor:inherit!important}
@media(max-width:1050px){.tm-brand{width:180px}.tm-editor-body{grid-template-columns:var(--left-width) minmax(320px,1fr) var(--right-width)}.tm-editor-nav button:nth-child(n+4){display:none}}
@media(max-width:800px){.tm-editor-body{grid-template-columns:1fr}.tm-left,.tm-right{display:none}.tm-editor-top{gap:5px}.tm-brand{width:auto}.tm-project-tab{display:none}}

/* V0.6 — reliable draggable splitters */
.tm-editor{position:relative}
.tm-editor-body{position:relative}
.tm-resize-handle{position:absolute!important;display:block!important;z-index:99999!important;touch-action:none!important;background:transparent!important;opacity:1!important}
.tm-resize-left{top:0;bottom:0;right:auto;left:var(--left-width);width:10px;height:auto;cursor:col-resize}
.tm-resize-right{top:0;bottom:0;right:var(--right-width);left:auto;width:10px;height:auto;cursor:col-resize}
.tm-resize-timeline{left:0;right:0;top:auto;bottom:var(--timeline-height);width:auto;height:12px;cursor:row-resize}
.tm-resize-handle:hover,.tm-resize-handle.active{background:rgba(183,255,82,.18)!important}
.tm-resize-handle:before{content:"";position:absolute;opacity:0;transition:opacity .12s ease;background:#b7ff52;border-radius:3px}
.tm-resize-left:before,.tm-resize-right:before{top:50%;left:4px;width:2px;height:48px;transform:translateY(-50%)}
.tm-resize-timeline:before{left:50%;top:5px;width:54px;height:2px;transform:translateX(-50%)}
.tm-resize-handle:hover:before,.tm-resize-handle.active:before{opacity:1}
html.tm-resizing,html.tm-resizing body,.tm-resizing{cursor:inherit!important}
body.tm-resizing,.tm-resizing *{user-select:none!important}
body.tm-resizing{overflow:hidden!important}


/* V1.0 - Timeline/body are strict flex siblings. The upper editor area is
   allowed to shrink; Timeline can never overlap or push over Canvas/Inspector. */
#tm-mvs7 .tm-editor{
  display:grid!important;
  grid-template-rows:54px minmax(0,1fr)!important;
  width:100vw!important;
  height:100vh!important;
  min-height:0!important;
  overflow:hidden!important;
}
#tm-mvs7 .tm-stage{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
#tm-mvs7 .tm-editor-body{
  order:1!important;
  flex:1 1 auto!important;
  min-height:210px!important;
  height:auto!important;
  min-width:0!important;
  overflow:hidden!important;
}
#tm-mvs7 .tm-timeline{
  order:2!important;
  flex:0 0 var(--timeline-height)!important;
  height:var(--timeline-height)!important;
  min-height:180px!important;
  max-height:calc(100% - 210px)!important;
  min-width:0!important;
  overflow:hidden!important;
  position:relative!important;
}
#tm-mvs7 .tm-resize-timeline{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:auto!important;
  bottom:var(--timeline-height)!important;
  width:auto!important;
  height:14px!important;
  z-index:100000!important;
  cursor:row-resize!important;
}
#tm-mvs7 .tm-center{
  min-height:0!important;
  min-width:0!important;
  overflow:hidden!important;
}
#tm-mvs7 .tm-canvas{
  min-height:0!important;
  min-width:0!important;
}
/* V1.1 - Preview is explicitly fitted to the available Canvas rectangle.
   JavaScript sets both width and height, so shrinking the Canvas vertically
   also shrinks the preview width while preserving the selected video ratio. */
#tm-mvs7 .tm-canvas{
  min-height:0!important;
  min-width:0!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
}
#tm-mvs7 .tm-map{
  width:var(--preview-width,82%)!important;
  height:var(--preview-height,auto)!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:auto!important;
  flex:0 0 auto!important;
}

/* V1.2 - MapTiler SDK + ESRI World Imagery */
#tm-mvs7 .tm-map{background:#10151b!important;}
#tm-mvs7 .tm-map-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:#0b0f15!important;overflow:hidden!important;}
#tm-mvs7 .tm-map-container canvas{outline:none!important;}
#tm-mvs7 .tm-map .tm-canvas-tag{pointer-events:none!important;}
#tm-mvs7 .tm-map .credit{pointer-events:none!important;background:rgba(0,0,0,.42);padding:2px 4px;border-radius:2px;}
#tm-mvs7 .tm-map-message{position:absolute;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);min-width:250px;max-width:80%;padding:14px 16px;border:1px solid #354052;border-radius:8px;background:rgba(7,11,16,.94);box-shadow:0 10px 35px rgba(0,0,0,.4);text-align:center;color:#e9edf3;pointer-events:none;}
#tm-mvs7 .tm-map-message b{display:block;font-size:10px;margin-bottom:5px;}
#tm-mvs7 .tm-map-message small{display:block;color:#8995a7;font-size:8px;line-height:1.4;}
#tm-mvs7 .maplibregl-ctrl-group{background:#0b1119e8!important;border:1px solid #293342!important;box-shadow:none!important;}
#tm-mvs7 .maplibregl-ctrl-group button{filter:none!important;}
#tm-mvs7 .maplibregl-ctrl-attrib{font-size:7px!important;background:rgba(7,11,16,.72)!important;color:#c5ccd6!important;}
#tm-mvs7 .maplibregl-ctrl-attrib a{color:#dce3eb!important;}

/* V1.3 - JSON basemap import */
#tm-mvs7 .tm-json-file{display:none!important;}
#tm-mvs7 .tm-editor-nav .import-json{cursor:pointer;}

/* V1.5 - MapLibre GL JS engine / ESRI raster */
#tm-mvs7 .tm-map-container .maplibregl-canvas-container,
#tm-mvs7 .tm-map-container .maplibregl-canvas{width:100%!important;height:100%!important;}
#tm-mvs7 .tm-map-container .maplibregl-ctrl-top-right{top:8px;right:8px;}
#tm-mvs7 .tm-map-container .maplibregl-ctrl-group{background:rgba(7,11,16,.86)!important;border:1px solid #293342!important;box-shadow:none!important;}
#tm-mvs7 .tm-map-container .maplibregl-ctrl-group button{background:transparent!important;}
#tm-mvs7 .tm-map-container .maplibregl-ctrl-attrib{font-size:7px!important;background:rgba(7,11,16,.72)!important;color:#c5ccd6!important;}
#tm-mvs7 .tm-map-container .maplibregl-ctrl-attrib a{color:#dce3eb!important;}
#tm-mvs7 .tm-map-message{z-index:9999;}

/* V1.6 - MapTiler SDK container hardening */
#tm-mvs7 .tm-map,
#tm-mvs7 .tm-map-container,
#tm-mvs7 .tm-map-container .maplibregl-map,
#tm-mvs7 .tm-map-container .maplibregl-canvas-container,
#tm-mvs7 .tm-map-container .maplibregl-canvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
#tm-mvs7 .tm-map{position:relative!important;inset:auto!important;}
#tm-mvs7 .tm-map-container{position:absolute!important;inset:0!important;}
#tm-mvs7 .tm-map-container .maplibregl-map{position:absolute!important;inset:0!important;}
#tm-mvs7 .tm-map-message{z-index:99999!important;}

/* V1.7 - centered location search */
#tm-mvs7 .tm-preview-bar{position:relative;z-index:100;}
#tm-mvs7 .tm-search{z-index:101;}
#tm-mvs7 .tm-search-results{z-index:10000;}


/* V1.8 - search icon/button balance + searched-location marker */
#tm-mvs7 .tm-search{
  width:min(720px,84%);
  height:36px;
  display:flex!important;
  align-items:center!important;
}
#tm-mvs7 .tm-search-icon{
  position:relative!important;
  flex:0 0 40px!important;
  width:40px!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  color:transparent!important;
}
#tm-mvs7 .tm-search-icon::before,
#tm-mvs7 .tm-search button .tm-magnifier::before{
  content:"";
  width:9px;
  height:9px;
  border:1.5px solid #aab5c5;
  border-radius:50%;
  display:block;
  position:absolute;
}
#tm-mvs7 .tm-search-icon::after,
#tm-mvs7 .tm-search button .tm-magnifier::after{
  content:"";
  width:5px;
  height:1.5px;
  border-radius:2px;
  background:#aab5c5;
  position:absolute;
  transform:translate(5px,5px) rotate(45deg);
  transform-origin:left center;
}
#tm-mvs7 .tm-search input{
  padding:0 8px 0 2px!important;
}
#tm-mvs7 .tm-search button{
  flex:0 0 42px!important;
  width:42px!important;
  height:28px!important;
  margin:0 4px 0 0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
}
#tm-mvs7 .tm-search button .tm-magnifier{
  position:relative!important;
  display:block!important;
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
}
#tm-mvs7 .tm-search button .tm-magnifier::before{
  top:2px;
  left:2px;
}
#tm-mvs7 .tm-search button .tm-magnifier::after{
  top:12px;
  left:12px;
  transform:rotate(45deg);
}
#tm-mvs7 .tm-search-marker{
  width:14px;
  height:14px;
  border-radius:50%;
  background:rgba(255,52,52,.82);
  border:2px solid rgba(255,255,255,.82);
  box-shadow:0 0 0 5px rgba(255,52,52,.16),0 0 14px rgba(255,52,52,.38);
  pointer-events:none!important;
}


/* V1.8.2 - autocomplete text explicitly left aligned */
#tm-mvs7 .tm-search-results{
  text-align:left!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-search-result{
  text-align:left!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-search-result b,
#tm-mvs7 .tm-search .tm-search-results .tm-search-result small{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* V1.8.1 - autocomplete dropdown hardening against theme/plugin button CSS */
#tm-mvs7 .tm-search .tm-search-results .tm-search-result{
  flex:none!important; position:relative!important; width:100%!important; min-width:100%!important; max-width:none!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-search-result b,
#tm-mvs7 .tm-search .tm-search-results .tm-search-result small{
  white-space:normal!important; word-break:normal!important; overflow-wrap:anywhere!important;
}\n\n/* V1.8.2 revised - location pin + strict left alignment for autocomplete */
#tm-mvs7 .tm-search .tm-search-results .tm-search-result{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:8px!important;
  text-align:left!important;
  padding:8px 12px!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-search-result .tm-result-content{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-search-result b,
#tm-mvs7 .tm-search .tm-search-results .tm-search-result small{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  text-indent:0!important;
  transform:none!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-search-result small{
  margin-top:3px!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-location-pin{
  position:relative!important;
  flex:0 0 14px!important;
  width:14px!important;
  height:18px!important;
  margin:1px 0 0 0!important;
  display:block!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-location-pin::before{
  content:"";
  position:absolute;
  left:2px;
  top:1px;
  width:9px;
  height:9px;
  border:1.5px solid #aab5c5;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  box-sizing:border-box;
}
#tm-mvs7 .tm-search .tm-search-results .tm-location-pin::after{
  content:"";
  position:absolute;
  left:5px;
  top:4px;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#aab5c5;
}



/* V1.8.2 final - pin BEFORE place name */
#tm-mvs7 .tm-search .tm-search-results .tm-search-result{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  text-align:left!important;
  gap:7px!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-search-result .tm-location-pin{
  order:0!important;
  flex:0 0 14px!important;
  margin:1px 0 0 0!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-search-result .tm-result-content{
  order:1!important;
  flex:1 1 auto!important;
  align-items:flex-start!important;
  text-align:left!important;
}
#tm-mvs7 .tm-search .tm-search-results .tm-search-result b,
#tm-mvs7 .tm-search .tm-search-results .tm-search-result small{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}


/* V1.8.3 - 1920x1080 default preview + timeline-safe responsive sizing */
#tm-mvs7 .tm-canvas{
  min-height:0!important;
  min-width:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
}
#tm-mvs7 .tm-map{
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:16/9!important;
  flex:0 0 auto!important;
}
/* CANVAS badge is intentionally removed in V1.8.3. */
#tm-mvs7 .tm-canvas-tag{display:none!important;}

/* V1.8.4 - redesigned bottom preview controls */
#tm-mvs7 .tm-center{
  grid-template-rows:45px minmax(0,1fr) 72px!important;
}
#tm-mvs7 .tm-bottom-controls{
  min-width:0!important;
  min-height:72px!important;
  height:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:24px!important;
  padding:8px 18px!important;
  border-top:1px solid #252c37!important;
  background:#0c1017!important;
  overflow:hidden!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control{
  flex:0 0 auto!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:6px!important;
  height:54px!important;
  margin:0!important;
  padding:0!important;
  color:#8d99aa!important;
  font-size:10px!important;
  line-height:1!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-label{
  display:block!important;
  width:100%!important;
  color:#8996a8!important;
  font-size:10px!important;
  font-weight:600!important;
  line-height:1!important;
  white-space:nowrap!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-group{
  display:flex!important;
  align-items:center!important;
  height:32px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control button{
  height:32px!important;
  min-width:42px!important;
  padding:0 11px!important;
  background:#101620!important;
  border:1px solid #303b4b!important;
  color:#9ba7b7!important;
  font-size:10px!important;
  font-weight:600!important;
  line-height:30px!important;
  border-radius:0!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-group button:first-child{
  border-radius:5px 0 0 5px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-group button:last-child{
  border-radius:0 5px 5px 0!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-group button + button{
  border-left-width:0!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control button.on{
  background:#b7ff52!important;
  border-color:#b7ff52!important;
  color:#10150b!important;
  font-weight:800!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control select,
#tm-mvs7 .tm-bottom-controls .tm-control input.tm-duration{
  height:32px!important;
  min-height:32px!important;
  background:#101620!important;
  border:1px solid #303b4b!important;
  border-radius:5px!important;
  color:#e1e7ee!important;
  font-size:10px!important;
  font-weight:600!important;
  padding:0 10px!important;
  outline:none!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control select{
  width:160px!important;
  min-width:160px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-duration input.tm-duration{
  width:110px!important;
  min-width:110px!important;
  text-align:center!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels{
  align-items:flex-start!important;
  min-width:94px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch{
  width:34px!important;
  height:18px!important;
  flex:0 0 34px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch:after{
  width:12px!important;
  height:12px!important;
  top:3px!important;
  left:3px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch.on:after{
  left:19px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-brightness{
  min-width:150px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-aspect{
  min-width:92px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-map-style{
  min-width:160px!important;
}
@media (max-width:1050px){
  #tm-mvs7 .tm-bottom-controls{gap:12px!important;padding-left:10px!important;padding-right:10px!important;}
  #tm-mvs7 .tm-bottom-controls .tm-control-label{font-size:9px!important;}
  #tm-mvs7 .tm-bottom-controls .tm-control button{font-size:9px!important;min-width:36px!important;padding:0 8px!important;}
  #tm-mvs7 .tm-bottom-controls .tm-control select{width:135px!important;min-width:135px!important;}
  #tm-mvs7 .tm-bottom-controls .tm-control-duration input.tm-duration{width:88px!important;min-width:88px!important;}
}

.tm-map-container{opacity:1;transition:opacity .08s linear}


/* V1.8.6 - bottom controls vertical alignment and compact brightness slider */
#tm-mvs7 .tm-bottom-controls{
  align-items:center!important;
  gap:24px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control{
  height:50px!important;
  min-height:50px!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:6px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-label{
  height:14px!important;
  min-height:14px!important;
  line-height:14px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  flex:0 0 14px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-group,
#tm-mvs7 .tm-bottom-controls .tm-control > select,
#tm-mvs7 .tm-bottom-controls .tm-control > input.tm-duration,
#tm-mvs7 .tm-bottom-controls .tm-control > .tm-brightness-control,
#tm-mvs7 .tm-bottom-controls .tm-control > .switch{
  margin:0!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-group{
  height:32px!important;
  min-height:32px!important;
  flex:0 0 32px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control > select,
#tm-mvs7 .tm-bottom-controls .tm-control > input.tm-duration{
  flex:0 0 32px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch{
  width:38px!important;
  height:20px!important;
  min-width:38px!important;
  min-height:20px!important;
  border-radius:999px!important;
  display:block!important;
  position:relative!important;
  flex:0 0 38px!important;
  background:#3b4655!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch:after{
  width:14px!important;
  height:14px!important;
  top:3px!important;
  left:3px!important;
  border-radius:50%!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch.on{
  background:#25c9bd!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch.on:after{
  left:21px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-brightness{
  min-width:180px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-brightness-control{
  width:180px!important;
  height:32px!important;
  min-height:32px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
}
#tm-mvs7 .tm-bottom-controls .tm-brightness-range{
  width:125px!important;
  min-width:125px!important;
  max-width:125px!important;
  height:4px!important;
  min-height:4px!important;
  margin:0!important;
}
#tm-mvs7 .tm-bottom-controls .tm-brightness-range::-webkit-slider-thumb{
  width:14px!important;
  height:14px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-brightness-range::-moz-range-thumb{
  width:14px!important;
  height:14px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-brightness-value{
  min-width:42px!important;
  width:42px!important;
  height:25px!important;
  flex:0 0 42px!important;
}
@media (max-width:1050px){
  #tm-mvs7 .tm-bottom-controls{gap:14px!important;}
  #tm-mvs7 .tm-bottom-controls .tm-control-brightness{min-width:150px!important;}
  #tm-mvs7 .tm-bottom-controls .tm-brightness-control{width:150px!important;}
  #tm-mvs7 .tm-bottom-controls .tm-brightness-range{width:100px!important;min-width:100px!important;max-width:100px!important;}
}


/* V1.8.7 - iPhone-style place-name switch and 5px brightness line */
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch{
  width:44px!important;
  height:24px!important;
  min-width:44px!important;
  min-height:24px!important;
  border-radius:999px!important;
  background:#3b4655!important;
  position:relative!important;
  display:block!important;
  cursor:pointer!important;
  transition:background-color .18s ease!important;
  box-sizing:border-box!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch:after{
  content:""!important;
  position:absolute!important;
  width:20px!important;
  height:20px!important;
  top:2px!important;
  left:2px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(0,0,0,.35)!important;
  transition:left .18s ease,box-shadow .18s ease!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch.on{
  background:#34c759!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch.on:after{
  left:22px!important;
  background:#fff!important;
}
#tm-mvs7 .tm-bottom-controls .tm-brightness-range{
  height:5px!important;
  min-height:5px!important;
  max-height:5px!important;
  border-radius:999px!important;
}
\n\n/* V1.8.8 - brightness slider matches reference: 5px line + soft gray thumb */\n#tm-mvs7 .tm-bottom-controls .tm-brightness-range{\n  appearance:none!important;\n  -webkit-appearance:none!important;\n  width:165px!important;\n  min-width:165px!important;\n  max-width:165px!important;\n  height:5px!important;\n  min-height:5px!important;\n  max-height:5px!important;\n  padding:0!important;\n  margin:0!important;\n  border:0!important;\n  border-radius:999px!important;\n  outline:none!important;\n  cursor:pointer!important;\n  background:linear-gradient(to right,#b7ff52 0%,#b7ff52 100%,#8a9090 100%,#8a9090 100%)!important;\n  box-shadow:none!important;\n}\n#tm-mvs7 .tm-bottom-controls .tm-brightness-range::-webkit-slider-runnable-track{\n  height:5px!important;\n  border:0!important;\n  border-radius:999px!important;\n  background:transparent!important;\n}\n#tm-mvs7 .tm-bottom-controls .tm-brightness-range::-webkit-slider-thumb{\n  -webkit-appearance:none!important;\n  appearance:none!important;\n  width:18px!important;\n  height:18px!important;\n  margin-top:-6.5px!important;\n  border:4px solid #3c4140!important;\n  border-radius:50%!important;\n  background:#c0c6a0!important;\n  box-shadow:0 1px 4px rgba(0,0,0,.35)!important;\n  cursor:pointer!important;\n}\n#tm-mvs7 .tm-bottom-controls .tm-brightness-range::-moz-range-track{\n  height:5px!important;\n  border:0!important;\n  border-radius:999px!important;\n  background:transparent!important;\n}\n#tm-mvs7 .tm-bottom-controls .tm-brightness-range::-moz-range-progress{\n  height:5px!important;\n  border-radius:999px!important;\n  background:#b7ff52!important;\n}\n#tm-mvs7 .tm-bottom-controls .tm-brightness-range::-moz-range-thumb{\n  width:18px!important;\n  height:18px!important;\n  box-sizing:border-box!important;\n  border:4px solid #3c4140!important;\n  border-radius:50%!important;\n  background:#c0c6a0!important;\n  box-shadow:0 1px 4px rgba(0,0,0,.35)!important;\n  cursor:pointer!important;\n}\n

/* V1.8.9 - compact place-name switch and brightness control */
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch{
  width:36px!important;
  height:20px!important;
  min-width:36px!important;
  min-height:20px!important;
  max-width:36px!important;
  max-height:20px!important;
  border-radius:999px!important;
  box-sizing:border-box!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch:after{
  width:16px!important;
  height:16px!important;
  top:2px!important;
  left:2px!important;
  border-radius:50%!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch.on:after{
  left:18px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-brightness{
  min-width:128px!important;
  width:128px!important;
  max-width:128px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-brightness-control{
  width:128px!important;
  min-width:128px!important;
  max-width:128px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  overflow:visible!important;
}
#tm-mvs7 .tm-bottom-controls input.tm-brightness-range{
  display:block!important;
  box-sizing:border-box!important;
  flex:0 0 88px!important;
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  height:5px!important;
  min-height:5px!important;
  max-height:5px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(to right,#b7ff52 0%,#b7ff52 100%,#8a9090 100%,#8a9090 100%)!important;
  box-shadow:none!important;
}
#tm-mvs7 .tm-bottom-controls input.tm-brightness-range::-webkit-slider-runnable-track{
  width:88px!important;
  height:5px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
}
#tm-mvs7 .tm-bottom-controls input.tm-brightness-range::-webkit-slider-thumb{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:14px!important;
  height:14px!important;
  margin-top:-4.5px!important;
  border:3px solid #3c4140!important;
  border-radius:50%!important;
  background:#c0c6a0!important;
  box-shadow:0 1px 3px rgba(0,0,0,.3)!important;
}
#tm-mvs7 .tm-bottom-controls input.tm-brightness-range::-moz-range-track{
  width:88px!important;
  height:5px!important;
  border:0!important;
  border-radius:999px!important;
  background:#8a9090!important;
}
#tm-mvs7 .tm-bottom-controls input.tm-brightness-range::-moz-range-progress{
  height:5px!important;
  border-radius:999px!important;
  background:#b7ff52!important;
}
#tm-mvs7 .tm-bottom-controls input.tm-brightness-range::-moz-range-thumb{
  width:14px!important;
  height:14px!important;
  box-sizing:border-box!important;
  border:3px solid #3c4140!important;
  border-radius:50%!important;
  background:#c0c6a0!important;
  box-shadow:0 1px 3px rgba(0,0,0,.3)!important;
}
#tm-mvs7 .tm-bottom-controls .tm-brightness-value{
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  padding:0!important;
  box-sizing:border-box!important;
  font-size:8px!important;
}
@media (max-width:1050px){
  #tm-mvs7 .tm-bottom-controls .tm-control-brightness{min-width:118px!important;width:118px!important;max-width:118px!important;}
  #tm-mvs7 .tm-bottom-controls .tm-brightness-control{width:118px!important;min-width:118px!important;max-width:118px!important;}
  #tm-mvs7 .tm-bottom-controls input.tm-brightness-range{flex-basis:78px!important;width:78px!important;min-width:78px!important;max-width:78px!important;}
}


/* V1.8.10 - extra compact iPhone-style place-name switch; keep brightness unchanged */
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch{
  width:30px!important;
  height:16px!important;
  min-width:30px!important;
  min-height:16px!important;
  max-width:30px!important;
  max-height:16px!important;
  border-radius:999px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch:after{
  width:12px!important;
  height:12px!important;
  top:2px!important;
  left:2px!important;
}
#tm-mvs7 .tm-bottom-controls .tm-control-labels .switch.on:after{
  left:16px!important;
}
#tm-mvs7 .tm-control-aspect .tm-control-group{min-width:144px!important;}
#tm-mvs7 .tm-control-aspect .tm-control-group button{min-width:48px!important;padding-left:8px!important;padding-right:8px!important;}


/* V1.8.14 - frame preview follows selected resolution ratio and dims the outside area */
#tm-mvs7 .tm-canvas{
  position:relative!important;
  background:#05070a!important;
  isolation:isolate!important;
}
#tm-mvs7 .tm-canvas::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:rgba(0,0,0,.62)!important;
  pointer-events:none!important;
  z-index:1!important;
}
#tm-mvs7 .tm-map{
  position:relative!important;
  z-index:2!important;
  width:var(--preview-render-width,82%)!important;
  height:var(--preview-render-height,auto)!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:auto!important;
  flex:0 0 auto!important;
  border:2px solid rgba(245,248,250,.92)!important;
  box-sizing:border-box!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 18px rgba(255,255,255,.10)!important;
}


/* V1.8.14 - Map viewport scales with the video frame during Timeline resize.
   Keep the map renderer locked to the exact preview box so it never overflows
   or gets visually cropped when the frame is resized. */
#tm-mvs7 .tm-map{
  overflow:hidden!important;
  box-sizing:border-box!important;
  contain:layout paint!important;
}
#tm-mvs7 .tm-map-container,
#tm-mvs7 .tm-map-container .maplibregl-map,
#tm-mvs7 .tm-map-container .maplibregl-canvas-container,
#tm-mvs7 .tm-map-container .maplibregl-canvas{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
}

/* V1.8.17 - RESPONSIVE MAP VIEWPORT / KEEP CAMERA
   The map keeps the same center + zoom. The selected video frame changes the
   MapLibre viewport itself, so 9:16 and 1:1 reveal additional geographic area
   instead of stretching the 16:9 image. No scaleX/scaleY transform is used. */
#tm-mvs7 .tm-map{
  overflow:hidden!important;
  box-sizing:border-box!important;
  contain:layout paint!important;
}
#tm-mvs7 .tm-map-container,
#tm-mvs7 .tm-map-container .maplibregl-map,
#tm-mvs7 .tm-map-container .maplibregl-canvas-container,
#tm-mvs7 .tm-map-container .maplibregl-canvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
#tm-mvs7 .tm-map-container{
  transform:none!important;
  transform-origin:center center!important;
  overflow:hidden!important;
}


/* V1.8.18 - CANVAS IS THE VIDEO FRAME / MAP IS DIRECTLY ATTACHED
   The old implementation created a separate .tm-map frame inside .tm-canvas.
   That behaved like a crop mask. From this version onward, .tm-canvas itself
   is the selected video frame and MapLibre fills it 1:1. The map keeps its
   geographic proportions; 9:16 and 1:1 simply change the viewport aspect ratio
   so additional map area becomes visible instead of stretching/cropping a
   16:9 map image. */
#tm-mvs7 .tm-canvas{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:var(--canvas-render-width,82%)!important;
  height:var(--canvas-render-height,auto)!important;
  max-width:calc(100% - 24px)!important;
  max-height:calc(100% - 24px)!important;
  min-width:20px!important;
  min-height:20px!important;
  padding:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:#05070a!important;
  border:2px solid rgba(245,248,250,.92)!important;
  border-radius:3px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 18px rgba(255,255,255,.10)!important;
  isolation:isolate!important;
}
#tm-mvs7 .tm-canvas::before{display:none!important;content:none!important;}
#tm-mvs7 .tm-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  z-index:1!important;
  box-sizing:border-box!important;
}
#tm-mvs7 .tm-map-container,
#tm-mvs7 .tm-map-container .maplibregl-map,
#tm-mvs7 .tm-map-container .maplibregl-canvas-container,
#tm-mvs7 .tm-map-container .maplibregl-canvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
#tm-mvs7 .tm-map-container{transform:none!important;transform-origin:center center!important;}
#tm-mvs7 .tm-map .credit{z-index:10!important;}

/* V1.8.19 - Aspect ratio is the real map viewport.
   The Canvas and MapLibre viewport are one frame. There is no inner crop box,
   no scaleX/scaleY stretching, and no zoom change when the aspect ratio changes. */
#tm-mvs7 .tm-canvas{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:var(--canvas-render-width,82%)!important;
  height:var(--canvas-render-height,auto)!important;
  max-width:calc(100% - 24px)!important;
  max-height:calc(100% - 24px)!important;
  min-width:20px!important;
  min-height:20px!important;
  padding:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:#05070a!important;
  border:2px solid rgba(245,248,250,.92)!important;
  border-radius:3px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 18px rgba(255,255,255,.10)!important;
  isolation:isolate!important;
}
#tm-mvs7 .tm-canvas::before{display:none!important;content:none!important;}
#tm-mvs7 .tm-canvas > .tm-map-container{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  transform:none!important;
  transform-origin:center center!important;
  box-sizing:border-box!important;
}
#tm-mvs7 .tm-canvas > .tm-map-container .maplibregl-map,
#tm-mvs7 .tm-canvas > .tm-map-container .maplibregl-canvas-container,
#tm-mvs7 .tm-canvas > .tm-map-container .maplibregl-canvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
#tm-mvs7 .tm-canvas > .credit{
  position:absolute!important;
  z-index:20!important;
  right:7px!important;
  bottom:5px!important;
  pointer-events:none!important;
  font-size:5px!important;
  color:#eee9!important;
  background:rgba(0,0,0,.42)!important;
  padding:2px 4px!important;
  border-radius:2px!important;
}


/* V1.8.20 - FIXED MAP VIEWPORT + RESIZABLE VIDEO FRAME GUIDE
   The map is the source viewport and remains unchanged when aspect ratio changes.
   The frame is only a separate overlay/guide whose size follows the selected
   output resolution ratio. No crop box and no map scaling/stretching. */
#tm-mvs7 .tm-canvas{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:#05070a!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  isolation:isolate!important;
}
#tm-mvs7 .tm-canvas::before{display:none!important;content:none!important;}
#tm-mvs7 .tm-map-container{
  position:absolute!important;
  z-index:1!important;
  margin:0!important;
  max-width:none!important;
  max-height:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center center!important;
}
#tm-mvs7 .tm-map-container .maplibregl-map,
#tm-mvs7 .tm-map-container .maplibregl-canvas-container,
#tm-mvs7 .tm-map-container .maplibregl-canvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
#tm-mvs7 .tm-frame-overlay{
  position:absolute!important;
  z-index:15!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  box-sizing:border-box!important;
  border:2px solid rgba(245,248,250,.96)!important;
  background:transparent!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.20),0 0 18px rgba(255,255,255,.10)!important;
  pointer-events:none!important;
}
#tm-mvs7 .tm-map .credit,
#tm-mvs7 .tm-canvas > .credit{
  position:absolute!important;
  z-index:20!important;
  right:7px!important;
  bottom:5px!important;
  pointer-events:none!important;
  font-size:5px!important;
  color:#eee9!important;
  background:rgba(0,0,0,.42)!important;
  padding:2px 4px!important;
  border-radius:2px!important;
}

/* V1.8.21 - DIM MAP OUTSIDE VIDEO FRAME
   Keep the map viewport untouched. The frame remains a transparent guide; a
   large outer shadow darkens only the area outside the selected video frame so
   the active output area is immediately distinguishable. */
#tm-mvs7 .tm-frame-overlay{
  box-shadow:
    0 0 0 9999px rgba(0,0,0,.70),
    0 0 0 1px rgba(255,255,255,.20),
    0 0 18px rgba(255,255,255,.10)!important;
}

/* V1.8.25 - BRIGHTNESS ONLY INSIDE THE VIDEO FRAME
   The map viewport remains untouched outside the frame. The brightness control
   is represented by a black translucent layer clipped to the frame overlay,
   so changing it never changes the map outside the selected output frame. */
#tm-mvs7 .tm-frame-overlay{
  --tm-map-brightness-dim:0;
  overflow:hidden!important;
}
#tm-mvs7 .tm-frame-overlay::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:rgba(0,0,0,var(--tm-map-brightness-dim,0))!important;
  pointer-events:none!important;
  z-index:14!important;
}
#tm-mvs7 .tm-frame-overlay{
  z-index:15!important;
}

/* V1.8.27 - Canvas workspace sync
   The map keeps one fixed internal viewport/camera. Its entire rendered surface
   is uniformly scaled to the available Canvas workspace when Timeline height
   changes. Aspect-ratio buttons only resize the frame guide and do not affect
   map scale, zoom, center or geographic viewport. */
#tm-mvs7 .tm-map-container{
  transform-origin:center center!important;
}


/* V1.8.32 - eliminate map flicker during live Timeline resize.
   MapLibre remains visually opaque and has no CSS transition while its viewport
   is being resized. The existing V1.8.31 zoom/camera algorithm is unchanged. */
#tm-mvs7 .tm-map-container,
#tm-mvs7 .tm-map-container .maplibregl-map,
#tm-mvs7 .tm-map-container .maplibregl-canvas-container,
#tm-mvs7 .tm-map-container .maplibregl-canvas{
  opacity:1!important;
  transition:none!important;
  animation:none!important;
}
#tm-mvs7.tm-resizing .tm-map-container,
#tm-mvs7.tm-resizing .tm-map-container .maplibregl-canvas{
  transition:none!important;
  animation:none!important;
}

/* V1.8.39 - Timeline title compact + integrated menu icon */
#tm-mvs7 .tm-timeline-tabs{align-items:center;height:32px;padding-left:9px;gap:4px}
#tm-mvs7 .tm-timeline-tab-wrap{position:relative;height:27px;display:flex;align-items:center}
#tm-mvs7 .tm-timeline-tab-head{height:27px;display:flex;align-items:stretch;position:relative}
#tm-mvs7 .tm-timeline-tabs .tab{height:27px;min-width:0;padding:0 7px 0 9px;background:#121821;border:1px solid #293240;border-bottom:0;color:#eef3f8;border-radius:6px 6px 0 0;font-size:10.5px;font-weight:600;line-height:27px;letter-spacing:0;display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}
#tm-mvs7 .tm-timeline-tabs .tab .tm-timeline-tab-label{display:block}
#tm-mvs7 .tm-timeline-tab-menu-icon{width:20px;height:20px;flex:0 0 20px;border:1px solid #303b4b;border-radius:4px;background:#0d131b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.5px;color:#8f9aaa;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease;outline:none}
#tm-mvs7 .tm-timeline-tab-menu-icon i{display:block;width:10px;height:1.5px;border-radius:2px;background:currentColor}
#tm-mvs7 .tm-timeline-tab-menu-icon:hover,#tm-mvs7 .tm-timeline-tab-menu-icon:focus-visible,#tm-mvs7 .tm-timeline-tab-menu-icon[aria-expanded="true"]{color:#b7ff52;border-color:#5d8d35;background:#172119}
#tm-mvs7 .tm-timeline-context-menu{position:absolute;z-index:1000;top:30px;left:7px;width:150px;padding:5px;background:#111720;border:1px solid #303946;border-radius:7px;box-shadow:0 12px 28px rgba(0,0,0,.42)}
#tm-mvs7 .tm-timeline-context-menu[hidden]{display:none}
#tm-mvs7 .tm-timeline-context-menu button{display:flex;align-items:center;gap:9px;width:100%;height:32px;padding:0 10px;border:0;background:transparent;color:#dce3eb;border-radius:5px;text-align:left;font-size:11px;cursor:pointer}
#tm-mvs7 .tm-timeline-context-menu button:hover{background:#202934}
#tm-mvs7 .tm-timeline-context-menu button.danger{color:#ff7d86}
#tm-mvs7 .tm-timeline-context-menu button.danger:hover{background:#321e23}
#tm-mvs7 .tm-timeline-context-menu .tm-menu-icon{width:17px;flex:0 0 17px;text-align:center;font-size:15px;line-height:1;color:currentColor}
#tm-mvs7 .tm-timeline-tabs .plus{height:27px;width:27px;margin-left:3px;background:#0e141c;border:1px solid #293240;color:#aeb8c6;border-radius:5px;font-size:18px;font-weight:500;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease;position:relative}
#tm-mvs7 .tm-timeline-tabs .plus:hover,#tm-mvs7 .tm-timeline-tabs .plus:focus-visible{color:#b7ff52;border-color:#5d8d35;background:#172119;outline:none}
#tm-mvs7 .tm-timeline-tabs .plus[aria-label]:hover::after,#tm-mvs7 .tm-timeline-tabs .plus[aria-label]:focus-visible::after{content:attr(aria-label);position:absolute;left:50%;top:calc(100% + 7px);transform:translateX(-50%);white-space:nowrap;background:#111720;color:#dce3eb;border:1px solid #303946;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:500;line-height:1;box-shadow:0 8px 18px rgba(0,0,0,.35);z-index:1100;pointer-events:none}


/* V1.8.53 — Timeline action icons: compact, optically centered, delete uses red hover */
.tm-timeline .transport .timeline-action{
  width:27px;
  min-width:27px;
  height:25px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  line-height:0;
}
.tm-timeline .transport .timeline-action > span,
.tm-timeline .transport .timeline-action > .cut-icon,
.tm-timeline .transport .timeline-action > .trash-icon{
  position:relative;
  display:block;
  flex:0 0 auto;
  margin:0;
  padding:0;
  transform:none;
  box-sizing:border-box;
}
/* Cut: compact bracket-like mark */
.tm-timeline .transport .timeline-cut .cut-icon{
  width:11px;
  height:10px;
  border:0;
}
.tm-timeline .transport .timeline-cut .cut-icon:before,
.tm-timeline .transport .timeline-cut .cut-icon:after{
  content:"";
  position:absolute;
  top:1px;
  width:1px;
  height:8px;
  background:currentColor;
  border-radius:1px;
}
.tm-timeline .transport .timeline-cut .cut-icon:before{
  left:1px;
  border-top:1px solid currentColor;
  border-bottom:1px solid currentColor;
  height:8px;
  transform:none;
}
.tm-timeline .transport .timeline-cut .cut-icon:after{
  right:1px;
  border-top:1px solid currentColor;
  border-bottom:1px solid currentColor;
  height:8px;
  transform:none;
}
/* Duplicate: two compact overlapping squares */
.tm-timeline .transport .timeline-duplicate > span{
  width:10px;
  height:10px;
  font-size:0;
  line-height:0;
  border:0;
}
.tm-timeline .transport .timeline-duplicate > span:before,
.tm-timeline .transport .timeline-duplicate > span:after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border:1px solid currentColor;
  border-radius:1px;
  box-sizing:border-box;
}
.tm-timeline .transport .timeline-duplicate > span:before{
  left:0;
  top:3px;
}
.tm-timeline .transport .timeline-duplicate > span:after{
  left:3px;
  top:0;
}
/* Delete: smaller, optically centered trash can */
.tm-timeline .transport .timeline-delete .trash-icon{
  width:9px;
  height:9px;
  border:1px solid currentColor;
  border-top:0;
  border-radius:0 0 2px 2px;
  margin:0;
  transform:translateY(1px);
}
.tm-timeline .transport .timeline-delete .trash-icon:before{
  content:"";
  position:absolute;
  left:-2px;
  top:-3px;
  width:11px;
  height:1px;
  background:currentColor;
  border-radius:1px;
}
.tm-timeline .transport .timeline-delete .trash-icon:after{
  content:"";
  position:absolute;
  left:2px;
  top:-5px;
  width:3px;
  height:2px;
  border:1px solid currentColor;
  border-bottom:0;
  border-radius:2px 2px 0 0;
}
/* Keep existing green hover behavior for Cut + Duplicate */
.tm-timeline .transport .timeline-cut:hover,
.tm-timeline .transport .timeline-duplicate:hover{
  background:#1b3025;
  color:#b7ff52;
  border-color:#5f9f58;
}
/* Delete gets a distinct red hover/active state */
.tm-timeline .transport .timeline-delete:hover{
  background:#321e23;
  color:#ff6b73;
  border-color:#a94c55;
  transform:translateY(-1px);
}
.tm-timeline .transport .timeline-delete:active{
  background:#42252a;
  color:#ff8a91;
  border-color:#c05a63;
  transform:translateY(0);
}
.tm-timeline .transport .timeline-delete:focus-visible{
  outline:1px solid #ff6b73;
  outline-offset:1px;
}
