#mobile-studio[hidden],#mobile-cursor[hidden],#mobile-close[hidden]{display:none!important}
.mobile-studio[data-mobile-panel] .mobile-mouse,.mobile-studio.mobile-typing .mobile-mouse{display:none}.mobile-studio[data-mobile-panel] #mobile-cursor,.mobile-studio.mobile-typing #mobile-cursor{visibility:hidden}
.mobile-studio{height:var(--mobile-height,100dvh)!important}.mobile-studio dialog button{min-height:38px}
.mobile-studio #input-dock{min-height:0;padding:0}.mobile-studio #input-dock:not(:has(> :not([hidden]))){display:none}.mobile-studio .snap-dock:not(:has(#input-dock > :not([hidden]))):not(:has(#physics-playback:not([hidden]))){border:0;margin:0}
.mobile-studio .tool-grid button:not(:has(span))::after{content:attr(aria-label);display:block;font-size:11px;margin-top:3px}
#mobile-studio{flex:none;background:#203240;border-top:1px solid #496478;padding-bottom:env(safe-area-inset-bottom)}
#mobile-studio button,#mobile-studio select{min-height:40px;font-size:12px;touch-action:manipulation}
.mobile-navigation,.mobile-modes,.mobile-actions{display:flex;gap:4px;padding:4px}
.mobile-navigation>*{flex:1;min-width:0}.mobile-navigation select{max-width:110px}.mobile-modes>*{flex:1}
#mobile-studio [aria-pressed=true]{background:#176483;border-color:#68d8ff;color:white}
.mobile-mouse{display:grid;grid-template-columns:1fr 48px}.mobile-modes{grid-column:1/-1}.mobile-pad{height:86px;touch-action:none;user-select:none;display:grid;place-items:center;margin:0 4px 4px;border:1px solid #58778c;border-radius:9px;background:radial-gradient(#476071 1px,transparent 1px) 0 0/12px 12px;color:#b8d1df;font-size:11px}.mobile-pad span{pointer-events:none;background:#203240;padding:5px;border-radius:4px}.mobile-actions{display:grid;padding:0 4px 4px 0;grid-template-columns:1fr 1fr;grid-column:1/-1}.mobile-actions button{min-height:32px!important}
.mobile-mouse .mobile-pad{grid-column:1/-1}.mobile-mouse .mobile-actions{grid-template-columns:repeat(4,1fr)}
#mobile-cursor{position:fixed;z-index:35;pointer-events:none;width:22px;height:22px;border:1px solid white;border-radius:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px #000)}#mobile-cursor:before,#mobile-cursor:after{content:'';position:absolute;background:#65e0ff}#mobile-cursor:before{left:10px;top:-5px;width:1px;height:30px}#mobile-cursor:after{top:10px;left:-5px;height:1px;width:30px}#mobile-cursor.pressed{background:#55cfff66}
.mobile-studio{height:100dvh;overscroll-behavior:none;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.mobile-studio .menubar{height:36px;min-height:36px;gap:3px;padding:0 4px;font-size:11px}.mobile-studio .menubar summary{padding:8px 3px}.mobile-studio .document-title,.mobile-studio .web-tag,.mobile-studio .about,.mobile-studio .appmark,.mobile-studio .toolbar-right,.mobile-studio .grip{display:none}.mobile-studio #language{margin-left:auto;max-width:72px;font-size:12px}
.mobile-studio .toolbar{height:46px;min-height:46px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.mobile-studio .toolbar button{min-width:42px;height:40px;flex-shrink:0}.mobile-studio .categories{height:38px;min-height:38px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.mobile-studio .categories button{min-height:36px;flex-shrink:0}
.mobile-studio main{position:relative}.mobile-studio .center-column{width:100%}.mobile-studio .tools,.mobile-studio .properties{display:none;position:absolute;z-index:45;inset:0 auto 0 0;width:min(340px,88vw);max-width:88vw;min-width:0;background:#203240;box-shadow:6px 0 20px #0009;overflow-y:auto;padding-top:36px}.mobile-studio[data-mobile-panel=tools] .tools,.mobile-studio[data-mobile-panel=properties] .properties{display:flex;flex-direction:column}.mobile-studio .tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-studio .tool-grid button{min-height:58px}.mobile-studio .properties .scene-panel{flex:none;height:180px}.mobile-studio .properties .props-panel{overflow:auto;flex:1;min-height:160px}
#mobile-close{position:fixed;z-index:46;top:124px;left:calc(min(340px,88vw) - 42px);width:38px;height:36px;font-size:24px}
.mobile-studio .snap-controls{display:none}.mobile-studio[data-mobile-panel=snap] .snap-controls{display:block}.mobile-studio .snap-options{display:flex;flex-wrap:wrap;gap:4px}.mobile-studio .snap-options label{padding:8px}.mobile-studio .snap-dock{padding:0;min-height:0;max-height:30dvh;overflow:auto}.mobile-studio #input-dock{min-width:0;width:100%;overflow:auto}.mobile-studio #input-dock:empty{display:none}.mobile-studio input:not([type=checkbox]):not([type=range]),.mobile-studio textarea{font-size:16px!important}.mobile-studio .command-panel{padding:3px}.mobile-studio #status{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-studio #command-form{display:none}.mobile-studio footer{height:30px;min-height:30px;padding:2px 5px}.mobile-studio #tool-status,.mobile-studio #coords{display:none}.mobile-studio footer button{min-height:26px}.mobile-studio .view-title{min-height:30px}.mobile-studio .axis-widget{transform:scale(.8);transform-origin:bottom left}
.mobile-studio .menubar .menu{position:fixed;top:36px;left:4px;max-width:calc(100vw - 8px);max-height:70dvh;overflow:auto;z-index:80}.mobile-studio .menu button{min-height:40px}.mobile-studio dialog{max-width:calc(100vw - 16px)!important;max-height:90dvh!important;box-sizing:border-box;overflow:auto}.mobile-studio #quick-settings{max-width:calc(100vw - 16px)}
/* Landscape uses the whole phone viewport, with a compact dock below the canvas. */
@media (orientation:landscape){
 .mobile-studio{--mobile-top:84px;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);width:100%;min-width:0}
 .mobile-studio .menubar{height:24px;min-height:24px;font-size:10px}.mobile-studio .menubar summary{padding:4px 6px}.mobile-studio #language{font-size:11px}
 .mobile-studio .toolbar{height:34px;min-height:34px;gap:3px}.mobile-studio .toolbar button{height:30px;min-width:32px;padding:3px}.mobile-studio .toolbar img{width:23px;height:23px}
 .mobile-studio .categories{height:26px;min-height:26px;width:100%}.mobile-studio .categories button{min-height:24px;padding:3px 9px;font-size:10px}
 .mobile-studio main{width:100%;min-height:0}.mobile-studio .tools{position:relative;inset:auto;display:flex;flex-direction:column;flex:0 0 88px;width:88px;max-width:88px;padding:0;box-shadow:none;border-right:1px solid #496478;overflow:auto}
 .mobile-studio .tools .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:4px}.mobile-studio .tools .tool-grid button{min-height:40px;height:auto;padding:3px;font-size:9px}.mobile-studio .tools .tool-grid button img{width:23px;height:23px}.mobile-studio .tool-grid button:not(:has(span))::after{font-size:9px}.mobile-studio .tool-grid button span{font-size:9px}.mobile-studio .tool-help,.mobile-studio .shortcuts-link{display:none}.mobile-studio .toolbox-title{padding:5px;font-size:10px}
 .mobile-studio[data-mobile-panel=tools] .tools{position:absolute;width:260px;max-width:70%;inset:0 auto 0 0;padding-top:32px}.mobile-studio[data-mobile-panel=tools] .tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .mobile-studio .center-column{flex:1;min-width:0;width:auto}.mobile-studio .command-panel{padding:2px;min-height:18px}.mobile-studio #status{font-size:9px;line-height:14px}.mobile-studio .view-title{min-height:22px;padding:2px 8px}.mobile-studio .axis-widget{transform:scale(.65)}
 .mobile-studio footer{width:100%;height:22px;min-height:22px}.mobile-studio footer button{min-height:20px;padding:1px 9px}.mobile-studio .snap-dock{width:100%;max-height:28dvh}
 .mobile-studio #mobile-studio{position:relative;inset:auto;width:100%;height:88px;min-height:88px;display:grid;grid-template-columns:minmax(175px,23%) minmax(0,1fr);padding:2px;gap:3px;border-top:1px solid #496478}
 .mobile-studio .mobile-navigation{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:0;align-content:stretch}.mobile-studio .mobile-navigation select{grid-column:1/4;max-width:none;width:100%}.mobile-studio .mobile-navigation>*{min-width:0;font-size:10px!important;padding:2px!important;min-height:30px!important}
 .mobile-studio .mobile-mouse{display:grid;min-width:0;grid-template-columns:minmax(155px,36%) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:3px}.mobile-studio .mobile-modes{grid-column:1;grid-row:1;gap:2px;padding:0;min-width:0}.mobile-studio .mobile-modes button{min-width:0;padding:2px;font-size:10px!important;min-height:30px!important}
 .mobile-studio .mobile-pad{grid-column:2;grid-row:1/3;height:auto;min-height:0;margin:0}.mobile-studio .mobile-pad span{font-size:10px;text-align:center}.mobile-studio .mobile-actions{grid-column:1;grid-row:2;padding:0;gap:2px;display:grid;grid-template-columns:repeat(4,1fr)}.mobile-studio .mobile-actions button{min-width:0;padding:2px;font-size:10px!important;min-height:30px!important}
 .mobile-studio #mobile-close{top:calc(86px + env(safe-area-inset-top));left:218px;height:30px;width:34px}
 .mobile-studio[data-mobile-panel=properties] #mobile-close{left:calc(min(340px,88vw) - 42px)}
 .mobile-studio[data-mobile-panel] #mobile-studio,.mobile-studio.mobile-mouse-hidden #mobile-studio,.mobile-studio.mobile-typing #mobile-studio{height:34px;min-height:34px;display:block}.mobile-studio[data-mobile-panel] .mobile-navigation,.mobile-studio.mobile-mouse-hidden .mobile-navigation,.mobile-studio.mobile-typing .mobile-navigation{display:flex;height:100%}.mobile-studio .mobile-mouse[hidden],.mobile-studio[data-mobile-panel] .mobile-mouse,.mobile-studio.mobile-typing .mobile-mouse{display:none}
 .mobile-studio .menubar .menu{top:24px}
}
@media (orientation:landscape) and (max-height:330px){.mobile-studio #mobile-studio{height:72px;min-height:72px}.mobile-studio #status{height:16px;min-height:16px;margin:0;line-height:16px}.mobile-studio .command-panel{height:20px;min-height:20px}.mobile-studio[data-mobile-panel] #mobile-studio,.mobile-studio.mobile-mouse-hidden #mobile-studio,.mobile-studio.mobile-typing #mobile-studio{height:32px;min-height:32px}}
.mobile-mouse[hidden]{display:none!important}
/* Viewport-first phone workspace; drawers and precision pad overlay only when requested. */
.mobile-studio .categories{display:none!important}
.mobile-studio .tools{display:none!important}
.mobile-studio .menubar{height:24px;min-height:24px}
.mobile-studio .toolbar{height:36px;min-height:36px;gap:3px}
.mobile-studio .toolbar button{height:32px;min-width:34px;padding:3px}
.mobile-studio .center-column{width:100%;min-width:0}
.mobile-studio main{width:100%;flex:1;min-height:0}
.mobile-studio .command-panel{position:absolute;bottom:0;left:0;right:0;height:19px!important;min-height:19px!important;background:#203240bb;pointer-events:none;z-index:3;padding:0 5px}
.mobile-studio #status{height:19px!important;min-height:19px!important;line-height:19px;font-size:9px}
.mobile-studio .command-panel #apply-selection:not([hidden]){pointer-events:auto;position:absolute;bottom:20px;right:8px}
.mobile-studio footer{display:none}
.mobile-studio #workspace{height:100%;min-height:0}
.mobile-studio #mobile-studio{position:relative;inset:auto;width:100%;height:40px!important;min-height:40px!important;display:block!important;padding:2px 3px env(safe-area-inset-bottom);z-index:40}
.mobile-studio .mobile-navigation{display:flex!important;flex-wrap:nowrap;gap:3px;height:36px;padding:0}
.mobile-studio .mobile-navigation>*{flex:1;min-width:0;min-height:32px!important;height:34px;font-size:11px!important;padding:2px!important}
.mobile-studio .mobile-navigation select{max-width:120px;flex:1.5}
.mobile-studio .mobile-mouse{position:absolute;right:6px;bottom:calc(44px + env(safe-area-inset-bottom));width:min(420px,calc(100vw - 12px));height:112px;display:grid;grid-template-columns:46% 1fr;grid-template-rows:1fr 1fr;gap:4px;padding:6px;background:#203240ee;border:1px solid #66899e;border-radius:10px;box-shadow:0 5px 20px #0007}
.mobile-studio .mobile-modes{grid-column:1;grid-row:1;display:flex;gap:2px;padding:0;min-width:0}
.mobile-studio .mobile-modes button{padding:2px;font-size:10px!important;min-width:0;min-height:32px!important}
.mobile-studio .mobile-pad{grid-column:2;grid-row:1/3;min-height:0;height:auto;margin:0}.mobile-studio .mobile-pad span{font-size:9px;text-align:center}
.mobile-studio .mobile-actions{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:0}.mobile-studio .mobile-actions button{min-width:0;padding:2px;font-size:10px!important}
.mobile-studio[data-mobile-panel=tools] .categories{display:flex!important;position:fixed;top:60px;left:0;width:min(360px,100%);height:38px;min-height:38px;z-index:46;background:#203240;padding-right:34px}
.mobile-studio[data-mobile-panel=tools] .tools{display:block!important;position:fixed;top:98px;bottom:40px;left:0;right:auto;width:min(360px,100%);max-width:100%;padding:0 0 12px;box-shadow:5px 0 20px #0007;overflow:auto}
.mobile-studio .tools .tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px;padding:7px}
.mobile-studio .tools [hidden]{display:none!important}
.mobile-studio .tools .tool-grid button{height:68px!important;min-height:68px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px;font-size:10px}
.mobile-studio .tools .tool-grid button img,.mobile-studio .tools .tool-grid button svg{width:27px;height:27px;flex:none}
.mobile-studio .tools .tool-grid button span,.mobile-studio .tools .tool-grid button::after{font-size:10px;line-height:12px;text-align:center}
.mobile-studio .tool-help,.mobile-studio .shortcuts-link{display:none}.mobile-studio .tool-section h3{margin:8px;font-size:11px;color:#8edbfa}
.mobile-studio #mobile-close{top:61px!important;left:calc(min(360px,100vw) - 34px)!important;width:32px;height:34px;padding:0;z-index:48}
.mobile-studio[data-mobile-panel=properties] .properties{position:fixed;top:60px;bottom:40px;left:0;width:min(360px,100%);max-width:100%;padding-top:35px}
.mobile-studio[data-mobile-panel] .mobile-mouse,.mobile-studio.mobile-typing .mobile-mouse{display:none}
.mobile-studio .view-title{min-height:24px;padding:3px 8px}.mobile-studio .view.active{box-shadow:inset 0 0 0 1px #56c9ff}
@media(orientation:portrait){.mobile-studio .mobile-navigation>*{font-size:9px!important}.mobile-studio .mobile-mouse{height:132px}}
/* Transparent phone tool chrome: keep hit areas, remove visual boxes. */
.mobile-studio .menubar,.mobile-studio .toolbar,.mobile-studio .categories,
.mobile-studio[data-mobile-panel=tools] .categories,.mobile-studio[data-mobile-panel=tools] .tools,
.mobile-studio .tools .toolbox-title,.mobile-studio .tools .tool-section,.mobile-studio .tools .tool-grid,
.mobile-studio #mobile-studio,.mobile-studio .mobile-navigation,.mobile-studio .mobile-modes,.mobile-studio .mobile-actions,
.mobile-studio .mobile-mouse{background:transparent!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.mobile-studio .toolbar button,.mobile-studio .categories button,.mobile-studio .tools button,
.mobile-studio #mobile-studio button,.mobile-studio #mobile-close,.mobile-studio .view-title,
.mobile-studio #language,.mobile-studio .mobile-navigation select{
 background:transparent!important;border-color:transparent!important;box-shadow:none!important;border-radius:0;
 color:#dce6ef;text-shadow:0 1px 3px #07111b,0 0 3px #07111b;
}
.mobile-studio .toolbar button img,.mobile-studio .tools button img,.mobile-studio .tools button svg{filter:drop-shadow(0 1px 2px #07111b)}
.mobile-studio .toolbar button.active,.mobile-studio .categories button.active,.mobile-studio .tools button.active,
.mobile-studio #mobile-studio button[aria-pressed=true]{color:#73e2ff!important;filter:drop-shadow(0 0 3px #30c7ff)}
.mobile-studio .toolbar button:focus-visible,.mobile-studio .tools button:focus-visible,.mobile-studio #mobile-studio button:focus-visible{outline:2px solid #73e2ff;outline-offset:-3px}
.mobile-studio .toolbar i,.mobile-studio .tool-section{border-color:transparent!important}
.mobile-studio .tools .tool-grid button span,.mobile-studio .tools .tool-grid button::after{display:none!important}
.mobile-studio .tools .toolbox-title,.mobile-studio .tools h3{color:#dce6ef;text-shadow:0 1px 3px #07111b}
.mobile-studio .mobile-pad{background:transparent;border-color:#80a9bd66}.mobile-studio .mobile-pad span{background:transparent;text-shadow:0 1px 3px #07111b}
/* 30% transparent surfaces; icon/text opacity stays at 100%. */
.mobile-studio .menubar,.mobile-studio .toolbar,.mobile-studio .categories,
.mobile-studio[data-mobile-panel=tools] .categories,.mobile-studio[data-mobile-panel=tools] .tools,
.mobile-studio #mobile-studio,.mobile-studio .mobile-mouse{background:rgba(32,50,64,.7)!important;border-color:rgba(73,100,120,.7)!important}
.mobile-studio .toolbar button,.mobile-studio .categories button,.mobile-studio .tools button,
.mobile-studio #mobile-studio button,.mobile-studio #mobile-close,.mobile-studio .view-title,
.mobile-studio #language,.mobile-studio .mobile-navigation select{background:rgba(44,61,78,.7)!important;border-color:rgba(96,126,147,.7)!important;border-radius:5px}
.mobile-studio .toolbar button.active,.mobile-studio .categories button.active,.mobile-studio .tools button.active,
.mobile-studio #mobile-studio button[aria-pressed=true]{background:rgba(23,100,131,.7)!important;border-color:rgba(104,216,255,.7)!important;color:#b6efff!important;filter:none}
.mobile-studio .mobile-pad{background:rgba(32,50,64,.7);border-color:rgba(128,169,189,.7)}
/* 50% transparency, with opaque icons and labels. */
.mobile-studio .menubar,.mobile-studio .toolbar,.mobile-studio .categories,.mobile-studio[data-mobile-panel=tools] .categories,.mobile-studio[data-mobile-panel=tools] .tools,.mobile-studio #mobile-studio,.mobile-studio .mobile-mouse{background:rgba(32,50,64,.5)!important;border-color:rgba(73,100,120,.5)!important}
.mobile-studio .toolbar button,.mobile-studio .categories button,.mobile-studio .tools button,.mobile-studio #mobile-studio button,.mobile-studio #mobile-close,.mobile-studio .view-title,.mobile-studio #language,.mobile-studio .mobile-navigation select{background:rgba(44,61,78,.5)!important;border-color:rgba(96,126,147,.5)!important}
.mobile-studio .toolbar button.active,.mobile-studio .categories button.active,.mobile-studio .tools button.active,.mobile-studio #mobile-studio button[aria-pressed=true]{background:rgba(23,100,131,.5)!important;border-color:rgba(104,216,255,.5)!important}
.mobile-studio .mobile-pad{background:rgba(32,50,64,.5);border-color:rgba(128,169,189,.5)}

/* Dedicated input row: mouse controls never cover confirm, in either language. */
.mobile-studio .mobile-mouse{bottom:calc(44px + env(safe-area-inset-bottom) + var(--mobile-input-height,0px) + 19px);height:96px;width:min(390px,calc(100vw - 12px))}
.mobile-studio #input-dock #drawing-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 6px;min-height:40px}
.mobile-studio #input-dock #drawing-input[hidden]{display:none}
.mobile-studio #drawing-input>strong,.mobile-studio #input-dock small{display:none}
.mobile-studio #input-dock .drawing-fields{display:flex;flex-wrap:nowrap;gap:6px;min-width:0;direction:ltr}
.mobile-studio #input-dock .drawing-fields label{flex:0 1 110px;min-width:0;gap:4px;font-size:11px}
.mobile-studio #input-dock .drawing-fields input{width:100%;min-width:0;height:32px;box-sizing:border-box;padding:3px 5px;direction:ltr;text-align:left}
.mobile-studio #input-dock button{min-height:32px;margin:0;padding:4px 10px;font-size:12px}
.mobile-studio #input-dock #drawing-input>button{background:#176482;border:1px solid #68d8ff}
.mobile-studio #input-dock #operation-panel,.mobile-studio #input-dock #quick-depth-input{padding:4px 6px;gap:6px;min-height:40px}
.mobile-studio #input-dock #operation-panel form{gap:6px}
.mobile-studio #input-dock #operation-panel input,.mobile-studio #input-dock #quick-depth-input input{width:72px;min-width:0;height:32px;box-sizing:border-box;direction:ltr}
.mobile-studio .mobile-modes,.mobile-studio .mobile-actions{direction:ltr}
@media(max-width:480px){.mobile-studio #input-dock .drawing-fields{gap:4px}.mobile-studio #input-dock .drawing-fields label{gap:2px}.mobile-studio #input-dock button{padding:4px 6px;font-size:11px}}
