/* v49: requested controls, tubes and palette behavior; approved layout retained. */
#image-mode-menu,#head-model-menu{position:fixed}
.palette-panel #medium-select{width:136px;max-width:60%;min-height:29px;margin:0;font:inherit;font-size:.73rem;padding:5px;border-radius:4px;border:1px solid #766047;background:linear-gradient(#3c3025,#28231d);box-shadow:inset 0 1px 0 #b1956e44,0 2px 5px #0006;color:#dbc8a8}
.tools-column>.palette-panel .palette-swatches{height:auto;max-height:none;gap:3px;overflow:visible;flex-shrink:0}
.tools-column>.palette-panel .palette-tube{height:35px;flex-basis:35px;width:min(100%,180px)}
.palette-tube .mini-body,.chooser-tube .mini-body{isolation:isolate;border-color:#aeb0a9;background:linear-gradient(90deg,#6c706e,#f2f2ec 17%,#a0a29f 34%,#e6e7e1 63%,#858986 89%,#515956);box-shadow:inset 1px 1px 2px #ffffffe0,inset -2px -2px 3px #0009}
.palette-tube .mini-body::before,.chooser-tube .mini-body::before{content:"";position:absolute;inset:5px 3px;border-radius:1px;background:linear-gradient(90deg,#ffffff35,transparent 36%,#0004),var(--paint);box-shadow:0 0 0 1px #0003;z-index:-1}
.palette-tube .mini-body::after,.chooser-tube .mini-body::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,transparent 10%,#ffffff40 19%,transparent 30%,transparent 75%,#0003);z-index:1}
.palette-tube .mini-name,.chooser-tube .mini-name{z-index:2}
.tools-column>.palette-panel .mini-body{height:30px;border-radius:2px 8px 8px 2px;background:linear-gradient(#747c7a,#f2f3ef 18%,#bfc2bc 39%,#dedfda 62%,#838b84 89%,#3e4744)}
.tools-column>.palette-panel .mini-body::before{inset:4px 7px;background:linear-gradient(#ffffff30,transparent 40%,#0004),var(--paint)}
.tools-column>.palette-panel .mini-body::after{background:linear-gradient(transparent 10%,#ffffff38 18%,transparent 31%,transparent 78%,#0004)}
.tools-column>.palette-panel .mini-name{font-size:9px;line-height:1.12;padding:3px 7px;white-space:normal;overflow:hidden}
.tools-column>.palette-panel .mini-crimp{width:5px;height:27px;flex-basis:5px;border-color:#a5aaa3;background:repeating-linear-gradient(#e0e2db 0 1px,#747e78 1px 2px);box-shadow:inset 1px 0 #ffffffe0}
.tools-column>.palette-panel .mini-neck{width:8px;height:18px;flex-basis:8px;background:linear-gradient(#f4f4ee,#7b8680 46%,#dde0d6);clip-path:polygon(0 0,100% 22%,100% 78%,0 100%)}
.mini-cap{position:relative;border-color:#6e756a;background:repeating-linear-gradient(90deg,#303a31 0 2px,#6f796a 2px 3px,#283327 3px 5px);box-shadow:inset 1px 1px 2px #e5ebd466,inset -2px -3px 3px #000a}
.mini-cap::before{content:"";position:absolute;inset:1px;border-top:1px solid #b3bda480;border-bottom:1px solid #0b110c;border-radius:inherit}
.tools-column>.palette-panel .mini-cap{width:17px;height:24px;flex-basis:17px;border-radius:2px 4px 4px 2px;background:repeating-linear-gradient(#303a31 0 2px,#6f796a 2px 3px,#283327 3px 5px)}
#palette-dialog .chooser-tube{width:35px;height:89px}
#palette-dialog .chooser-tube .mini-crimp{width:31px;height:4px;border-color:#a8ada5;background:repeating-linear-gradient(90deg,#e1e3dd 0 1px,#79827c 1px 2px)}
#palette-dialog .chooser-tube .mini-body{width:33px;height:70px;border-radius:2px 2px 9px 9px}
#palette-dialog .chooser-tube .mini-name{width:63px;font-size:7px;line-height:8px;max-height:26px}
#palette-dialog .chooser-tube .mini-neck{width:13px;height:4px;background:linear-gradient(90deg,#edf0e6,#7d877d,#d6dbd0)}
#palette-dialog .chooser-tube .mini-cap{width:19px;height:12px}
#easel-controls-dock{display:none!important}
.easel-workspace>#head-panel>#head-camera-controls{position:absolute;inset:0;z-index:6;width:100%;height:100%;padding:0;margin:0;border:0;background:transparent;pointer-events:none;overflow:visible}
#head-camera-controls>summary,#head-camera-controls .head-control-caption,#head-camera-controls #head-controls-light,#head-camera-controls #head-controls-view{display:none!important}
#head-camera-controls .head-control-fields,#head-camera-controls .head-control-tabs{display:contents!important;padding:0;margin:0;border:0;background:none}
#head-camera-controls .head-control-item{position:absolute;display:block;width:clamp(42px,18%,88px);height:18px;margin:0;padding:2px 3px;border:1px solid #af916e55;border-radius:8px;background:#241e1780;pointer-events:auto;backdrop-filter:blur(3px)}
#head-camera-controls .head-control-item label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#head-camera-controls .head-control-item input{display:block;width:100%;height:12px;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;appearance:none;-webkit-appearance:none;background:transparent;transform:none;direction:ltr;accent-color:#d9c393;cursor:pointer;touch-action:none}
#head-camera-controls input::-webkit-slider-runnable-track{height:3px;border:0;border-radius:3px;background:#b6a47b}
#head-camera-controls input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;margin-top:-3.5px;border:1px solid #554a35;border-radius:50%;background:#e3d0a4;box-shadow:0 1px 2px #0006}
#head-camera-controls input::-moz-range-track{height:3px;border:0;border-radius:3px;background:#b6a47b}
#head-camera-controls input::-moz-range-thumb{width:8px;height:8px;border:1px solid #554a35;border-radius:50%;background:#e3d0a4;box-shadow:0 1px 2px #0006}
#head-camera-controls .head-control-item:has(#light-azimuth){left:38px;top:10px}
#head-camera-controls .head-control-item:has(#light-power){left:calc(38px + 23%);top:10px}
#head-camera-controls .head-control-item:has(#head-opacity){left:calc(38px + 46%);top:10px}
#head-camera-controls .head-control-item:has(#head-offset-x){left:38px;bottom:12px}
#head-camera-controls .head-control-item:has(#head-roll){left:38px;bottom:33px}
#head-camera-controls .head-control-item:has(#head-azimuth){left:calc(38px + 23%);bottom:12px}
#head-camera-controls .head-control-item:has(#head-zoom){left:calc(38px + 46%);bottom:12px}
#head-camera-controls .head-control-item:has(#light-elevation),#head-camera-controls .head-control-item:has(#head-offset-y),#head-camera-controls .head-control-item:has(#head-elevation){width:18px;height:clamp(48px,14%,82px);padding:3px 2px}
#head-camera-controls .head-control-item:has(#light-elevation){left:9px;top:39px}
#head-camera-controls .head-control-item:has(#head-offset-y){left:9px;bottom:40px}
#head-camera-controls .head-control-item:has(#head-elevation){left:30px;bottom:55px}
#head-camera-controls .head-control-item:has(#light-elevation) input,#head-camera-controls .head-control-item:has(#head-offset-y) input,#head-camera-controls .head-control-item:has(#head-elevation) input{width:12px;height:100%;writing-mode:vertical-lr;direction:rtl}
#head-camera-controls .head-control-item:has(#light-elevation) input::-webkit-slider-runnable-track,#head-camera-controls .head-control-item:has(#head-offset-y) input::-webkit-slider-runnable-track,#head-camera-controls .head-control-item:has(#head-elevation) input::-webkit-slider-runnable-track{width:3px;height:100%}
#head-camera-controls .head-control-item:has(#light-elevation) input::-webkit-slider-thumb,#head-camera-controls .head-control-item:has(#head-offset-y) input::-webkit-slider-thumb,#head-camera-controls .head-control-item:has(#head-elevation) input::-webkit-slider-thumb{margin-top:0;margin-left:-3.5px}
#head-camera-controls #head-reset{position:absolute;right:9px;bottom:10px;width:22px;height:22px;min-height:22px;margin:0;padding:3px;border:1px solid #ad916b77;border-radius:50%;background:#241e1780;color:#ddc69e;pointer-events:auto}
#head-panel .head-overlay-close{top:9px;right:9px;width:20px;height:20px;min-height:20px;padding:0;font-size:17px;line-height:18px;z-index:8}
.head-control-marker{position:absolute;left:9px;z-index:7;width:18px;height:18px;color:#e0c697;pointer-events:none}
.head-control-marker svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4}
.head-light-marker{top:9px}.head-move-marker{bottom:10px}
.head-background-controls{position:absolute;right:9px;top:35px;z-index:8;display:flex;flex-direction:column;gap:5px}
.head-background-controls button{position:relative;width:18px;height:18px;min-height:18px;margin:0;padding:0;border:1px solid #d4b987;border-radius:50%;cursor:pointer}
.head-background-controls button[aria-pressed=true]{box-shadow:0 0 0 2px #faf0d6}
.head-background-black{background:#000}.head-background-gray{background:#777}
.head-background-reference{background:linear-gradient(135deg,#e8dfc7 42%,#937547 43% 54%,#e8dfc7 55%)}
.reference-panel,.easel-workspace{overflow:visible}
#study-panel,#study-body #color-map,#study-body #color-map button{cursor:url("assets/cursors/palette-knife.svg") 4 27,crosshair}
.fullscreen-palette-actions{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:5}
.fullscreen-palette-actions button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;padding:4px;border:1px solid #a88e69;border-radius:4px;background:#3c3025;color:#ead3a5;cursor:pointer}
.fullscreen-palette-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.study-fullscreen h2{padding-left:32px;padding-right:66px}
#close-study-fullscreen{width:28px;height:28px;min-height:28px;padding:0;top:12px;font-size:22px}
.palette-color-picker{position:fixed;z-index:1000;width:min(230px,calc(100vw - 16px));padding:6px;border:1px solid #a88e69;border-radius:50%;background:#241e1be8;box-shadow:0 4px 18px #0009}
.palette-color-picker[hidden]{display:none}
.palette-color-picker canvas{display:block;width:100%;height:auto;aspect-ratio:1;touch-action:none;cursor:crosshair;border-radius:50%}
