/* One floating-control layout for touch and desktop. */
#studio.minimal-studio { background:#050507;overflow:hidden; }
#studio.minimal-studio .studio-header,#studio.minimal-studio .stage-caption,#studio.minimal-studio .view-edit-hint,#studio.minimal-studio .stage-note { display:none; }
#studio.minimal-studio .studio-grid { display:block;height:100dvh;min-height:0;padding:0; }
#studio.minimal-studio .design-stage { position:relative;display:block;height:100dvh;min-height:0;padding:0;background:#050507; }
#studio.minimal-studio #caseViewArea { position:absolute;inset:66px 0 90px;width:auto;height:auto;min-height:0;max-height:none;padding:0;display:flex;align-items:center;justify-content:center; }
#studio.minimal-studio #case3D { inset:0; }
#studio.minimal-studio #designCanvas { width:auto;height:100%;max-width:calc(100vw - 40px);max-height:100%;object-fit:contain; }
#studio.minimal-studio .stage-toolbar { position:fixed;left:24px;top:22px;z-index:6;width:auto;display:flex;padding:0; }
#studio.minimal-studio .stage-toolbar>span { display:none; }
#studio.minimal-studio #toggleFullscreen { min-height:44px;padding:10px 16px;border-radius:14px;background:#19131edb;font-size:12px;backdrop-filter:blur(16px); }
#studio.minimal-studio #toggleFullscreen span { display:inline; }
#studio.minimal-studio #mobileFinish { position:fixed;right:24px;top:22px;z-index:6;display:flex;align-items:center;gap:12px;border:1px solid #ab85e6;border-radius:14px;padding:12px 18px;min-height:44px;background:#7952e8;color:white;font-size:12px;font-weight:600; }
#studio.minimal-studio .mobile-dock { position:fixed;left:24px;right:auto;bottom:calc(20px + env(safe-area-inset-bottom));z-index:12;display:flex;gap:12px;padding:0;background:none;border:0;backdrop-filter:none; }
#studio.minimal-studio .mobile-dock button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:none;width:72px;min-height:66px;border:1px solid #584162;border-radius:18px;background:#19131eea;color:#dac8e7;font-size:10px;box-shadow:0 8px 28px #0005; }
#studio.minimal-studio .mobile-dock button>span { font-size:26px;line-height:1.1; }
#studio.minimal-studio .mobile-dock button[aria-expanded='true'] { background:#533279;border-color:#ba8df1;color:#fff; }
#studio.minimal-studio .design-choices { display:none;position:fixed;left:24px;bottom:calc(102px + env(safe-area-inset-bottom));z-index:12;gap:8px;align-items:center; }
#studio.minimal-studio[data-mobile-panel='design'] .design-choices { display:flex;animation:choices-rise .2s ease-out; }
.design-choices button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:70px;height:72px;border:1px solid #684976;border-radius:16px;background:#251830f5;color:#e5d2f3;font-size:10px;box-shadow:0 8px 25px #0005; }
.design-choices button:hover { background:#4b2d63;border-color:#b887e0; }
.design-choices svg { width:25px;height:25px; }.design-choices button>span { font-size:25px;line-height:1; }
.design-choices .case-colour-choice { width:42px;height:42px;border-radius:50%;font-size:24px; }
#studio.minimal-studio .design-menu,#studio.minimal-studio .design-details { display:none;position:fixed;left:24px;right:auto;bottom:calc(190px + env(safe-area-inset-bottom));z-index:10;width:320px;max-height:calc(100dvh - 285px);margin:0;padding:18px;border:1px solid #624371;border-radius:20px;background:#19111ff5;box-shadow:0 15px 60px #0008;overflow:auto;overscroll-behavior:contain; }
#studio.minimal-studio[data-mobile-panel='design'][data-design-tool='photo'] .design-menu,
#studio.minimal-studio[data-mobile-panel='design'][data-design-tool='text'] .design-menu,
#studio.minimal-studio[data-mobile-panel='design'][data-design-tool='shapes'] .design-menu,
#studio.minimal-studio[data-mobile-panel='design'][data-design-tool='stickers'] .design-menu,
#studio.minimal-studio[data-mobile-panel='design'][data-design-tool='settings'] .design-menu { display:block; }
#studio.minimal-studio[data-mobile-panel='layers'] .design-details { display:block;bottom:calc(102px + env(safe-area-inset-bottom));max-height:calc(100dvh - 200px); }
#studio.minimal-studio .design-menu>*,#studio.minimal-studio .design-details>* { display:none; }
#studio.minimal-studio .design-menu .panel-heading,#studio.minimal-studio .design-details .panel-heading { display:flex;align-items:center;gap:8px;margin-bottom:14px; }
#studio.minimal-studio .panel-heading h3 { font-size:13px; }.minimal-studio .panel-heading .step-number { display:none; }
#studio.minimal-studio .mobile-panel-close { display:grid;place-items:center;margin-left:auto;min-width:32px;height:32px;border:1px solid #624371;border-radius:8px;color:#d2b9e3; }
#studio.minimal-studio .design-menu .tool-panel:not([hidden]),#studio.minimal-studio .case-settings { display:block; }
#studio.minimal-studio[data-design-tool='settings'] .design-menu .tool-panel { display:none; }
#studio.minimal-studio .tool-panel .field-hint,#studio.minimal-studio .tool-panel h4 { display:none; }
#studio.minimal-studio .case-settings,#studio.minimal-studio .layer-adjustments { border-top:1px solid #4b325a;margin-top:16px;padding-top:12px; }
#studio.minimal-studio summary { cursor:pointer;font-size:11px;color:#c5a9dc;padding:7px 0; }
#studio.minimal-studio .case-settings[open]>summary { margin-bottom:12px; }
#studio.minimal-studio .case-settings .field-hint { display:none; }
#studio.minimal-studio .case-settings .background-section { display:block;border:0;margin:16px 0;padding:0; }
#studio.minimal-studio .case-settings .viewer-settings:not([hidden]) { display:flex;flex-wrap:wrap;border-top:1px solid #4b325a;padding:14px 0;margin:12px 0; }
#studio.minimal-studio .case-settings .view-switch { display:flex;width:max-content;margin-top:16px; }
#studio.minimal-studio #savePreview,#studio.minimal-studio #mobileGuide,#studio.minimal-studio #closeStudio { display:inline-flex;margin:12px 8px 0 0;font-size:11px; }
#studio.minimal-studio #closeStudio span { display:inline; }
#studio.minimal-studio[data-design-tool='shapes'] #chooseStickers { display:block;margin-top:14px;color:#caabeb;font-size:11px; }
#studio.minimal-studio .design-details .layers-heading,#studio.minimal-studio #layerDragHint,#studio.minimal-studio .design-details .layers-list,#studio.minimal-studio .layer-adjustments,#studio.minimal-studio .layer-utilities { display:block; }
#studio.minimal-studio .design-details .layers-heading { display:flex; }
#studio.minimal-studio .design-details .layers-list { display:flex;max-height:250px; }
#studio.minimal-studio .transform-controls { margin-top:12px;border:0; }
#studio.minimal-studio .layer-utilities { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px; }
#studio.minimal-studio .layer-utilities .history-actions { display:flex; }
#studio.minimal-studio .layer-utilities .export-button { margin:0;font-size:10px; }
#studio.minimal-studio .studio-tour { position:fixed;inset:auto 24px calc(24px + env(safe-area-inset-bottom)) auto;z-index:15;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 215px);width:auto;max-height:none;padding:0;margin:0;background:none;border:0;box-shadow:none;text-align:left; }
#studio.minimal-studio .studio-tour[hidden] { display:none; }
#studio.minimal-studio .tour-eyebrow,#studio.minimal-studio #tourText,#studio.minimal-studio #tourTip,#studio.minimal-studio #tourStatus,#studio.minimal-studio #tourBack { display:none; }
#studio.minimal-studio .tour-progress { display:block;margin:0;color:#9e7fbc;font-size:10px;white-space:nowrap; }
#studio.minimal-studio #tourTitle { margin:0;color:#eadbf8;font-size:14px;letter-spacing:0;line-height:1.5; }
#studio.minimal-studio .tour-actions { margin:0;display:flex; }
#studio.minimal-studio #tourNext { margin:0;padding:10px 14px;white-space:nowrap;min-height:42px; }
#studio.minimal-studio #tourSkip { position:fixed;right:24px;top:24px;margin:0;padding:12px 16px;color:#cbb5da;font-size:12px;border:1px solid #4c365c;border-radius:14px; }
#studio.minimal-studio[data-guide-step='welcome'] #tourNext { display:none; }
#studio.minimal-studio.is-onboarding .stage-toolbar,#studio.minimal-studio.is-onboarding #mobileFinish,#studio.minimal-studio.is-onboarding #mobileLayersToggle { display:none; }
.tour-finger { position:fixed;z-index:30;width:64px;height:84px;pointer-events:none;filter:drop-shadow(0 4px 8px #0009); }
.tour-finger[hidden] { display:none; }.tour-finger svg { width:100%;height:100%; }
.tour-finger[data-gesture='tap'] svg { animation:finger-tap 1.5s ease-in-out infinite; }
.tour-finger[data-gesture='drag'] svg { animation:finger-drag 2.4s ease-in-out infinite; }
.tour-finger[data-gesture='resize'] svg { animation:finger-resize 2.4s ease-in-out infinite; }
.finger-pulse { transform-origin:23px 10px;animation:finger-pulse 1.5s ease-out infinite; }
@keyframes choices-rise { from { opacity:0;transform:translateY(14px); } to { opacity:1;transform:translateY(0); } }
@keyframes finger-tap { 0%,70%,100% { transform:translateY(0); } 35% { transform:translateY(8px) scale(.94); } }
@keyframes finger-drag { 0%,15% { transform:translate(0,0);opacity:0; } 25% { opacity:1; } 75% { transform:translate(45px,-55px);opacity:1; } 100% { transform:translate(45px,-55px);opacity:0; } }
@keyframes finger-resize { 0%,15% { transform:translate(0,0);opacity:0; } 25% { opacity:1; } 75% { transform:translate(32px,40px);opacity:1; } 100% { transform:translate(32px,40px);opacity:0; } }
@keyframes finger-pulse { 0% { transform:scale(.4);opacity:.9; } 80%,100% { transform:scale(1.9);opacity:0; } }
@media(min-width:900px) {
  #studio.minimal-studio[data-mobile-panel='design'] #caseViewArea,#studio.minimal-studio[data-mobile-panel='layers'] #caseViewArea { left:355px; }
}
@media(max-width:760px) {
  #studio.minimal-studio .stage-toolbar { top:calc(12px + env(safe-area-inset-top));left:14px; }
  #studio.minimal-studio #mobileFinish { top:calc(12px + env(safe-area-inset-top));right:14px;padding:10px 14px;font-size:11px; }
  #studio.minimal-studio .mobile-dock { left:14px;bottom:calc(14px + env(safe-area-inset-bottom));gap:10px; }
  #studio.minimal-studio .mobile-dock button { width:64px;min-height:60px;border-radius:16px; }
  #studio.minimal-studio .design-choices { left:14px;bottom:calc(88px + env(safe-area-inset-bottom));gap:7px; }
  #studio.minimal-studio .design-choices button { width:62px;height:64px; }
  #studio.minimal-studio .design-choices .case-colour-choice { width:38px;height:38px; }
  #studio.minimal-studio .design-menu,#studio.minimal-studio .design-details { left:14px;right:auto;width:min(320px,calc(100vw - 28px));bottom:calc(164px + env(safe-area-inset-bottom));max-height:43dvh;padding:15px; }
  #studio.minimal-studio[data-mobile-panel='layers'] .design-details { bottom:calc(88px + env(safe-area-inset-bottom));max-height:46dvh; }
  #studio.minimal-studio #caseViewArea { inset:66px 0 calc(86px + env(safe-area-inset-bottom));min-height:0; }
  #studio.minimal-studio[data-mobile-panel='layers'] #caseViewArea,#studio.minimal-studio[data-mobile-panel='design'][data-design-tool]:not([data-design-tool='']) #caseViewArea { bottom:54dvh; }
  #studio.minimal-studio .studio-tour { right:14px;bottom:calc(20px + env(safe-area-inset-bottom));max-width:calc(100vw - 170px);gap:6px;flex-wrap:wrap;justify-content:flex-end; }
  #studio.minimal-studio #tourTitle { font-size:11px; }.minimal-studio .tour-progress { font-size:9px; }
  #studio.minimal-studio #tourNext { font-size:11px;padding:7px 11px;min-height:34px; }
  #studio.minimal-studio #tourSkip { top:calc(12px + env(safe-area-inset-top));right:14px;font-size:11px; }
}
#studio.minimal-studio.is-entering .mobile-dock,#studio.minimal-studio.is-entering #mobileFinish,#studio.minimal-studio.is-entering .design-choices,#studio.minimal-studio.is-entering .tour-finger { display:none; }
#studio.minimal-studio.is-preview-fullscreen .mobile-dock,#studio.minimal-studio.is-preview-fullscreen #mobileFinish,#studio.minimal-studio.is-preview-fullscreen .design-choices,#studio.minimal-studio.is-preview-fullscreen .design-menu,#studio.minimal-studio.is-preview-fullscreen .design-details,#studio.minimal-studio.is-preview-fullscreen .studio-tour,#studio.minimal-studio.is-preview-fullscreen .tour-finger { display:none; }
#studio.minimal-studio.is-preview-fullscreen .stage-toolbar { display:flex; }
#studio.minimal-studio.is-preview-fullscreen #caseViewArea { inset:54px 0 12px; }
@media(prefers-reduced-motion:reduce) { .tour-finger svg,.finger-pulse,#studio.minimal-studio .design-choices { animation:none!important; } }
