/* The editor uses the whole window; tool menus float over the model. */
.workspace-topbar{flex:none}
@media(min-width:761px){
  .studio-app{--tube-dock-width:clamp(290px,24vw,420px)}
  .workspace-topbar{display:flex;align-items:center;gap:20px;min-height:48px;padding:5px 10px;background:#142b39;border-bottom:1px solid #3c5361}
  .workspace-topbar .tube-header{flex:none;height:auto;min-height:0;gap:18px;padding:0;background:transparent;border:0}
  .tube-brand img{width:28px;height:28px}.tube-brand>span{font-size:11px}
  .tube-header nav{gap:12px}.tube-header nav>a{min-height:32px;font-size:10px}.tube-header .home-link,.nav-new{display:none}
  .workspace-topbar .project-toolbar{flex:1;min-width:0;min-height:0;padding:0;gap:12px;border:0;border-radius:0;background:transparent;box-shadow:none}
  .project-name{flex:1;min-width:100px;max-width:280px}.project-name>span{display:none}.project-name input{min-height:32px;padding:5px 8px;font-size:14px;color:#f0f6f8;background:#ffffff09;border:1px solid #527181;border-radius:5px}
  .project-name input:focus{background:#203f50;border-color:#8eb5c9}
  .project-toolbar>p{display:none;color:#b9d1d8;font-size:10px;max-width:190px}
  .project-toolbar>p[data-error=true]{display:block;position:fixed;right:16px;bottom:16px;z-index:45;max-width:350px;padding:12px 15px;border:1px solid #cb9771;border-radius:8px;background:#fff2e7;color:#8b4427;box-shadow:0 4px 18px #142f4530}
  .project-actions{gap:5px}.project-actions>span{display:none}.project-actions button{min-height:32px;padding:5px 9px;border-color:#526d7b;background:#223e4e;color:#e7f0f4;font-size:11px}
  .project-actions>button:nth-child(-n+2){min-width:30px;width:30px;padding:0;font-size:19px}
  .project-actions #save-project{background:#e4b185;border-color:#e4b185;color:#253640;font-weight:600}
  main#studio{width:100%;max-width:none;margin:0;padding:5px 8px 0;gap:5px}
  .workspace-heading{display:none}
  .workspace-ribbon{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:3px 5px;border-radius:6px;background:#edf2f5}
  .panel-navigation{display:grid;grid-column:1;grid-row:1;grid-template-columns:1fr 1fr;align-self:center;min-width:0;width:100%;max-width:var(--tube-dock-width);gap:4px;flex-direction:row}
  .panel-navigation button{min-width:0;min-height:32px;padding:5px 7px;font-size:12px;text-align:center}
  .panel-navigation button>span{font-size:14px;width:19px}
  .panel-navigation .mobile-only{display:none}
  .workspace-tip,.ribbon-label{display:none}
  .ribbon-create{grid-column:3;grid-row:1;justify-self:end;max-width:100%;min-width:0;padding:0;border:0;gap:5px}.add-cuts{gap:4px;min-width:0;flex-wrap:wrap;justify-content:flex-end}
  .add-cuts button{min-height:32px;padding:4px 7px;gap:5px;font-size:11px;white-space:nowrap}
  .add-cuts button>span{width:22px;height:22px;font-size:22px}
  .order-open{grid-column:2;grid-row:1;justify-self:center;min-height:34px;padding:5px 12px;font-size:12px;font-weight:600;white-space:nowrap;background:#f28b36;color:#2b1a0d;border-color:#c96c22;box-shadow:0 1px 3px #8a4b1c24}
  .order-open>span:first-child{color:inherit}.order-open:hover:not(:disabled){background:#e97b23;border-color:#ad5519;color:#241509}.order-open:focus-visible{outline:2px solid #8f4514;outline-offset:2px}
  body.studio-app .studio-grid{width:100%;max-width:none;grid-template-columns:var(--tube-dock-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);grid-template-areas:'controls viewport';gap:8px}
  .setup-panel,.inspector-panel{grid-column:1;grid-row:1;width:100%;height:100%;border-color:#b7c8d2}
  .work-area{grid-column:2;grid-row:1;width:100%;max-width:none;height:100%}
  .viewport-card{position:relative;--tube-camera-top:44px;width:100%;height:100%}
  .dock-heading{min-height:42px;padding:10px 14px;font-size:10px}
  .panel,.cut-editor{padding:16px}.panel-heading h2,.cut-editor h2{font-size:17px}
  .field label{font-size:12px;line-height:1.4}.field input,.field select{min-height:42px;padding:9px 10px;border-radius:5px;font-size:16px}
  .shape-picker button{min-height:65px;font-size:11px}.shape-picker svg{width:31px;height:31px}
  .property-group legend{font-size:12px}.field-help,.micro-copy,.simulation-note{font-size:11px}
  .operation-item{min-height:66px;padding:10px 9px}.operation-item strong{font-size:13px}.operation-item small{font-size:11px}
  .cut-actions button{min-height:34px;padding:6px 8px;font-size:11px}
  .viewport-top{min-height:40px;padding:4px 7px;gap:6px}.viewport-top .step{display:none}.viewport-top h2{font-size:13px;margin:0}
  .cad-toggle{min-height:30px;padding:5px 8px;font-size:11px}.scene-switch{padding:2px}.scene-switch button{min-height:28px;padding:5px 9px;font-size:11px}
  .viewport-options>summary,.expand-viewport{min-height:30px}.viewport-options>summary{padding:4px 7px}.expand-viewport{width:30px;min-width:30px}
  .mobile-camera-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:32px;min-width:32px;min-height:30px;padding:6px;background:#f7fafc;border-color:#a9bdc9;color:#395b6e}
  .mobile-camera-toggle svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
  .mobile-camera-toggle[aria-expanded=true]{background:#d6eef0;border-color:#438899;color:#15596b}
  .camera-toolbar{display:none;position:absolute;top:var(--tube-camera-top);left:7px;right:7px;z-index:22;padding:10px;gap:8px;background:#f2f8fb;border:1px solid #93aebf;border-radius:0 0 8px 8px;box-shadow:0 10px 25px #07192455}
  body[data-mobile-camera=true] .camera-toolbar{display:flex}
  .camera-presets{flex:1;flex-wrap:wrap;overflow:visible;gap:4px}.camera-toolbar button{min-height:34px;padding:6px 9px;font-size:11px}.camera-zoom{gap:4px}
  .scene{min-height:0}
  .cad-toolbar{position:relative;padding:5px 7px;background:#e7f2f6}
  .cad-tools{min-height:34px;gap:5px;flex-wrap:wrap;padding-top:0}
  .cad-face-navigation{flex:1 1 205px;max-width:290px;min-width:190px;min-height:34px;padding:0;border:0;gap:3px}
  .cad-face-navigation>select{flex:1;min-width:85px;width:auto;max-width:none;min-height:34px;font-size:11px}
  .cad-face-navigation>button{min-width:30px;min-height:34px;padding:4px}
  .cad-face-navigation #cad-align{width:30px;min-width:30px;padding:4px}.cad-face-navigation #cad-align>span:first-child{font-size:18px}
  .cad-face-caption,.cad-face-map,.cad-center-text{display:none}
  .cad-tools #cad-select{width:34px;min-width:34px;min-height:34px;padding:4px;font-size:0}
  #cad-select:after{content:'↔';font-size:19px}
  .cad-command-toggles{display:contents}.cad-command-toggles button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:34px;min-width:75px;padding:5px 9px;font-size:11px;background:#f9fdff;border-color:#a9c5d0}
  .cad-command-toggles button[aria-expanded=true]{background:#cae9ee;border-color:#679dab}
  .cad-command-toggles button:after{content:'';display:block;width:6px;height:6px;margin:-3px 0 0 4px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
  .cad-tools>label{margin-left:auto;font-size:0;gap:0}.cad-tools>label select{min-height:34px;width:55px;font-size:11px}
  .cad-tools #cad-measures{min-height:34px;padding:5px 8px;font-size:11px}
  .cad-tools #cad-precise{width:34px;min-width:34px;min-height:34px;margin-left:0;padding:5px}.cad-precise-text{display:none}
  #cad-precise svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
  .cad-tools #cad-tool-name{display:block;position:absolute;top:calc(100% + 8px);right:12px;z-index:5;max-width:110px;padding:5px 8px;border:1px solid #507b8a;border-radius:5px;background:#153341ed;color:#b9e5e9;font-size:10px;pointer-events:none}
  .cad-toolbar #cad-instructions{right:135px;font-size:11px;max-height:38px}
  .cad-command-ribbon{display:none;position:absolute;top:calc(100% + 1px);left:8px;right:auto;z-index:19;width:560px;max-width:calc(100% - 16px);max-height:min(380px,calc(100dvh - 180px));margin:0;padding:12px;background:#f0f8fb;border:1px solid #98b6c6;border-radius:0 0 9px 9px;box-shadow:0 10px 26px #102a3d55;overflow:auto;overscroll-behavior:contain}
  .cad-command-ribbon[data-mobile-group=draw],.cad-command-ribbon[data-mobile-group=modify]{display:block}
  .cad-command-group,#cad-modify-commands{display:none;flex:none;width:100%;padding:0;border:0;gap:7px}
  .cad-command-ribbon[data-mobile-group=draw] #cad-draw-commands,.cad-command-ribbon[data-mobile-group=modify] #cad-modify-commands{display:flex}
  .cad-group-label{font-size:10px}
  .cad-command-group>div,#cad-modify-commands>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  #cad-draw-commands>div{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cad-command-group button{flex-direction:row;justify-content:center;gap:6px;min-width:0;min-height:48px;padding:6px 4px;border:1px solid #bed2dc;background:#fbfdff;font-size:11px;white-space:normal}
  .cad-command-group button svg{flex:none;width:20px;height:20px}
  .cad-ribbon-close{display:flex;align-items:center;justify-content:center;width:100%;min-height:32px;margin-top:8px;padding:6px;font-size:11px;background:#dfedf2;border-color:#a8c2cf}
  .cad-ribbon-select{display:none}
  .project-metrics{min-height:25px;height:25px}
}
@media(min-width:1500px){.project-toolbar>p{display:block}}
@media(min-width:761px) and (max-width:1100px){
  .workspace-topbar{gap:12px}.tube-header nav{display:none}.project-name{max-width:none}
  .viewport-top h2{font-size:12px}.viewport-options>summary{font-size:0;width:30px}.viewport-options>summary:after{content:'⋯';font-size:20px}
  .cad-face-navigation{max-width:230px}.cad-command-toggles button{min-width:70px;padding:5px 7px}
}
@media(max-width:760px){
  .workspace-topbar{padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) 0 max(6px,env(safe-area-inset-left))}
  body[data-mobile-keyboard=true] .workspace-topbar{display:none}
}
