/* A touch workspace below the store header. Desktop keeps its existing layout. */
#gt3-app .gt3-mobile-nav{display:none}
@media(max-width:900px){
  html.gt3-mobile-active{height:100%;overflow:clip;overscroll-behavior:none}
  body.gt3-mobile-active{position:fixed;inset:0;width:100%;height:100dvh;overflow:clip;overscroll-behavior:none}
  body.gt3-mobile-active :is(#colophon,#scai-root){display:none!important}
  #gt3-app:has(.gt3-mobile-ready){height:var(--gt3-mobile-height,calc(100dvh - 76px));min-height:0;overflow:hidden}
  #gt3-app .gt3-mobile-ready{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;max-width:none;padding:0;overflow:hidden}
  #gt3-app .gt3-mobile-ready .gt3-topbar{flex:0 0 56px;min-height:56px;padding:6px 14px;gap:10px;flex-wrap:nowrap}
  #gt3-app .gt3-mobile-ready .gt3-brand{gap:7px;min-width:0}
  #gt3-app .gt3-mobile-ready .gt3-brand-mark{display:none}
  #gt3-app .gt3-mobile-ready .gt3-brand strong{font-size:18px;white-space:nowrap}
  #gt3-app .gt3-mobile-ready .gt3-topbar-right{gap:7px;margin:0;width:auto;flex-wrap:nowrap}
  #gt3-app .gt3-mobile-ready :is(.gt3-app-nav,.gt3-account-link){display:none}
  #gt3-app .gt3-mobile-ready .gt3-wallet{gap:4px;padding:7px 9px;border-left-width:1px;border-radius:9px}
  #gt3-app .gt3-mobile-ready .gt3-wallet b{font-size:14px}
  #gt3-app .gt3-mobile-ready .gt3-wallet span{font-size:10px}
  #gt3-app .gt3-mobile-ready #gt3-theme-toggle{width:40px;height:40px;min-height:40px;padding:0;flex:0 0 40px;display:grid;place-items:center;border-radius:50%}
  #gt3-app .gt3-mobile-ready #gt3-theme-toggle span{display:none}
  #gt3-app .gt3-mobile-ready .gt3-app-main{position:relative;flex:1;min-height:0;padding:0;overflow:hidden}
  #gt3-app .gt3-mobile-ready .gt3-workspace{display:flex;align-items:stretch;gap:0;height:100%;min-height:0}
  #gt3-app .gt3-mobile-ready[data-mobile-view=history] .gt3-workspace,
  #gt3-app .gt3-mobile-ready[data-mobile-view=compose] .gt3-preview-panel,
  #gt3-app .gt3-mobile-ready[data-mobile-view=preview] #gt3-form,
  #gt3-app .gt3-mobile-ready .gt3-recent{display:none!important}
  #gt3-app .gt3-mobile-ready #gt3-form{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;margin:0;padding:16px 18px 0;border:0;border-radius:0;box-shadow:none;overflow:hidden;background:var(--gt3-page)}
  #gt3-app .gt3-mobile-ready .gt3-creation-heading{margin:0 0 14px;flex-shrink:0}
  #gt3-app .gt3-mobile-ready .gt3-creation-heading h1{font-size:23px!important}
  #gt3-app .gt3-mobile-ready .gt3-form-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 2px 10px;scrollbar-width:thin;scroll-padding:12px}
  #gt3-app .gt3-mobile-ready .gt3-modes{gap:8px;margin-bottom:15px}
  #gt3-app .gt3-mobile-ready .gt3-modes button{min-height:59px;padding:10px 12px}
  #gt3-app .gt3-mobile-ready #gt3-prompt{font-size:16px;height:132px;min-height:115px;resize:vertical;padding:13px}
  #gt3-app .gt3-mobile-ready .gt3-upload{min-height:150px;padding:14px}
  #gt3-app .gt3-mobile-ready #gt3-settings-pane{margin-top:15px;padding-top:14px}
  #gt3-app .gt3-mobile-ready .gt3-submit-zone{flex:0 0 auto;margin-top:0;padding:0 2px 7px;background:var(--gt3-page)}
  #gt3-app .gt3-mobile-ready .gt3-cost{padding:10px 0 8px}
  #gt3-app .gt3-mobile-ready #gt3-submit{min-height:48px}
  #gt3-app .gt3-mobile-ready .gt3-submit-meta{margin-top:2px}
  #gt3-app .gt3-mobile-ready #gt3-feedback:not(:empty){max-height:100px;overflow:auto;margin:5px 0 0;padding:7px 10px}
  #gt3-app .gt3-mobile-ready .gt3-preview-panel{position:relative;top:auto;flex:1;min-width:0;height:100%!important;min-height:0!important;border:0;border-radius:0;box-shadow:none}
  #gt3-app .gt3-mobile-ready .gt3-preview-panel:has(.gt3-filaments:not([hidden])) :is(.gt3-viewport-top,.gt3-viewport-bottom){display:none}
  #gt3-app .gt3-mobile-ready .gt3-viewport-top{flex:0 0 50px;min-height:50px;padding:4px 12px;gap:8px;border:0;background:var(--gt3-page)}
  #gt3-app .gt3-mobile-ready .gt3-viewport-top>div{font-size:10px;letter-spacing:.4px}
  #gt3-app .gt3-mobile-ready #gt3-filament-toggle{min-height:38px;max-width:none;font-size:12px;padding:6px 12px}
  #gt3-app .gt3-mobile-ready .gt3-stage-shell{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
  #gt3-app .gt3-mobile-ready .gt3-model-space{flex:1 1 0%!important;min-height:0!important;height:auto!important;container-type:normal}
  #gt3-app .gt3-mobile-ready .gt3-stage{min-height:0!important;height:100%;width:100%}
  #gt3-app .gt3-mobile-ready .gt3-stage model-viewer{touch-action:none}
  #gt3-app .gt3-mobile-ready .gt3-stage-controls{inset:auto 12px 12px;gap:8px;flex-direction:row;padding:0;align-items:center}
  #gt3-app .gt3-mobile-ready .gt3-view-tools{position:static;flex-direction:row;gap:5px}
  #gt3-app .gt3-mobile-ready .gt3-view-tools button{width:40px;height:42px;min-height:42px;padding:0;display:grid;place-items:center;border-radius:11px}
  #gt3-app .gt3-mobile-ready .gt3-view-tools button span{display:none}
  #gt3-app .gt3-mobile-ready .gt3-view-tools button svg{width:18px;height:18px}
  #gt3-app .gt3-mobile-ready .gt3-download-group{height:44px;border-radius:12px}
  #gt3-app .gt3-mobile-ready #gt3-stage-download{padding:7px 10px;gap:7px;min-height:42px;font-size:12px}
  #gt3-app .gt3-mobile-ready #gt3-stage-download small{display:none}
  #gt3-app .gt3-mobile-ready #gt3-export-open{width:36px;min-width:36px;min-height:42px;padding:0}
  #gt3-app .gt3-mobile-ready>#gt3-export-menu{position:absolute;inset:auto 12px calc(78px + env(safe-area-inset-bottom));width:auto;max-width:none;max-height:calc(100% - 150px);margin:0;padding:18px;z-index:60;overflow:auto;box-shadow:0 15px 70px #0008;border-radius:20px}
  #gt3-app .gt3-mobile-ready .gt3-viewport-bottom{min-height:0;padding:7px 12px;background:var(--gt3-page);flex:0 0 auto}
  #gt3-app .gt3-mobile-ready .gt3-preview-help{display:none}
  #gt3-app .gt3-mobile-ready .gt3-steps{justify-content:center;gap:17px;font-size:10px}
  #gt3-app .gt3-mobile-ready .gt3-steps li>span{width:20px;height:20px;margin-right:5px}
  #gt3-app .gt3-mobile-ready .gt3-filaments{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;flex:0 0 auto;width:100%;max-height:none;min-height:0;border:0;border-top:1px solid var(--gt3-line);border-radius:18px 18px 0 0;box-shadow:0 -6px 24px #0001}
  #gt3-app .gt3-mobile-ready .gt3-filaments header{padding:6px 12px 2px;min-height:40px}
  #gt3-app .gt3-mobile-ready .gt3-filaments header small{display:none}
  #gt3-app .gt3-mobile-ready .gt3-filaments h2{font-size:16px!important;margin:0}
  #gt3-app .gt3-mobile-ready #gt3-filament-close{width:36px;min-width:36px;height:36px;min-height:36px;flex:0 0 36px;aspect-ratio:1;padding:0}
  #gt3-app .gt3-mobile-ready .gt3-filament-body{display:contents}
  #gt3-app .gt3-mobile-ready .gt3-finish-tabs{margin:0 12px 5px;flex-shrink:0}
  #gt3-app .gt3-mobile-ready .gt3-finish-tabs button{min-height:36px;font-size:11px}
  #gt3-app .gt3-mobile-ready .gt3-swatches{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:auto;gap:3px;overflow:visible;max-width:none;max-height:none;min-height:0;padding:0;margin:0 12px 6px;align-content:start}
  #gt3-app .gt3-mobile-ready .gt3-swatch{width:100%!important;max-width:38px;min-width:0!important;height:auto!important;min-height:0!important;max-height:38px;aspect-ratio:1;border-radius:50%;padding:3px}
  #gt3-app .gt3-mobile-ready .gt3-filament-product{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:2px 8px;align-items:center;padding:6px;margin:0 12px 6px;border:1px solid var(--gt3-line);border-radius:12px;background:var(--gt3-soft);min-height:70px}
  #gt3-app .gt3-mobile-ready #gt3-filament-hint{margin:2px 12px 8px;font-size:10px;line-height:1.4}
  #gt3-app .gt3-mobile-ready .gt3-filament-info{display:flex;gap:9px;grid-row:1/3;align-items:center;margin:0;padding:0;min-height:0}
  #gt3-app .gt3-mobile-ready #gt3-filament-photo{position:static;display:block;flex:0 0 52px;width:52px;height:52px;max-width:52px;object-fit:contain;padding:3px;border-radius:9px}
  #gt3-app .gt3-mobile-ready #gt3-filament-name{font-size:13px;margin:0;line-height:1.25}
  #gt3-app .gt3-mobile-ready #gt3-filament-range{font-size:9px;margin:3px 0}
  #gt3-app .gt3-mobile-ready #gt3-filament-price{font-size:12px;margin:0}
  #gt3-app .gt3-mobile-ready #gt3-filament-stock{font-size:9px;margin:0;line-height:1.3;grid-column:2;padding:0}
  #gt3-app .gt3-mobile-ready #gt3-filament-link{grid-column:2;font-size:10px;padding:8px 5px;min-height:35px;margin:0;width:100%!important;max-width:none;white-space:normal}
  #gt3-app .gt3-mobile-ready .gt3-filaments footer{display:flex;align-items:center;justify-content:space-between;padding:1px 12px;gap:8px}
  #gt3-app .gt3-mobile-ready .gt3-filaments footer p{margin:0;font-size:9px}
  #gt3-app .gt3-mobile-ready #gt3-filament-reset{min-height:28px;font-size:10px}
  #gt3-app .gt3-mobile-ready #gt3-history-view{position:absolute;inset:0;height:auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 14px;scrollbar-width:thin;contain:layout paint}
  #gt3-app .gt3-mobile-ready .gt3-section-title{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin:0 0 16px;gap:10px}
  #gt3-app .gt3-mobile-ready .gt3-section-title h2{font-size:23px!important}
  #gt3-app .gt3-mobile-ready #gt3-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  /* A real block, rather than a native button's anonymous content box, owns
     the absolute thumbnail layers. Stable while Safari scrolls/lazy-loads. */
  #gt3-app .gt3-mobile-ready .gt3-result{position:relative;contain:paint;animation:none}
  #gt3-app .gt3-mobile-ready .gt3-thumb-button .gt3-thumbnail{box-sizing:content-box;height:0;min-height:0;aspect-ratio:auto;padding:0 0 75%;isolation:auto}
  #gt3-app .gt3-mobile-ready .gt3-thumbnail:hover .gt3-thumb-image{transform:none}
  #gt3-app .gt3-mobile-ready .gt3-result-content{padding:12px;min-width:0}
  #gt3-app .gt3-mobile-ready .gt3-result-content h4{font-size:14px!important}
  #gt3-app .gt3-mobile-ready .gt3-result-content .gt3-small{font-size:10px;line-height:1.5;margin:8px 0}
  #gt3-app .gt3-mobile-ready .gt3-job-options{font-size:10px;margin:4px 0}
  #gt3-app .gt3-mobile-ready .gt3-result-actions{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:6px;padding-top:8px}
  #gt3-app .gt3-mobile-ready .gt3-result-actions .gt3-status{grid-column:1;grid-row:1;font-size:10px}
  #gt3-app .gt3-mobile-ready .gt3-remove-model{grid-column:2;grid-row:1;width:36px;height:36px;min-height:36px;padding:0}
  #gt3-app .gt3-mobile-ready .gt3-download-link{grid-column:1/-1;grid-row:2;display:block;text-align:center;min-width:0;width:100%;font-size:10px;padding:9px 4px}
  #gt3-app .gt3-mobile-ready #gt3-delete-selected{width:100%;margin-top:12px;background:transparent!important;border:1px solid var(--gt3-line)!important;border-radius:10px;color:var(--gt3-muted)!important;font-size:12px;padding:9px}
  #gt3-app .gt3-mobile-ready .gt3-app-footer{flex:0 0 22px;min-height:22px;margin:0;padding:1px 14px;border:0;justify-content:center;background:var(--gt3-page);font-size:9px}
  #gt3-app .gt3-mobile-ready .gt3-app-footer>span{display:none}
  #gt3-app .gt3-mobile-ready .gt3-app-footer>div{gap:5px}
  #gt3-app .gt3-mobile-ready .gt3-app-footer img{width:44px;height:13px}
  #gt3-app .gt3-mobile-ready .gt3-mobile-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;flex:0 0 auto;padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:var(--gt3-surface);border-top:1px solid var(--gt3-line);z-index:20}
  #gt3-app .gt3-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:50px;padding:5px;border:1px solid transparent!important;border-radius:12px;background:transparent!important;color:var(--gt3-muted)!important;font-size:10px;line-height:1.25;transition:color .18s,background .18s}
  #gt3-app .gt3-mobile-nav button svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
  #gt3-app .gt3-mobile-nav button[aria-current=page]{background:var(--gt3-warm)!important;border-color:color-mix(in srgb,var(--gt3-selected) 38%,transparent)!important;color:var(--gt3-selected)!important}
  #gt3-app .gt3-mobile-ready.gt3-keyboard-open :is(.gt3-mobile-nav,.gt3-app-footer){display:none}
  #gt3-app .gt3-mobile-ready .gt3-stage.is-expanded{height:auto!important;inset:8px 8px calc(8px + env(safe-area-inset-bottom));min-height:0!important}
  #gt3-app .gt3-mobile-ready #gt3-collection-notice{bottom:calc(78px + env(safe-area-inset-bottom));max-width:calc(100% - 24px)}
}
@media(max-width:900px) and (orientation:landscape) and (max-height:600px){
  #gt3-app .gt3-mobile-ready .gt3-topbar{flex-basis:42px;min-height:42px}
  #gt3-app .gt3-mobile-ready .gt3-app-footer{display:none}
  #gt3-app .gt3-mobile-ready .gt3-mobile-nav{padding-top:3px;padding-bottom:calc(3px + env(safe-area-inset-bottom))}
  #gt3-app .gt3-mobile-nav button{flex-direction:row;min-height:36px;gap:7px}
  #gt3-app .gt3-mobile-ready .gt3-stage-shell{flex-direction:row}
  #gt3-app .gt3-mobile-ready .gt3-filaments{flex:0 0 300px;max-height:100%;height:100%;min-height:0;overflow-y:auto;border-radius:0;border-top:0;border-left:1px solid var(--gt3-line)}
  #gt3-app .gt3-mobile-ready .gt3-filaments header{min-height:32px}
  #gt3-app .gt3-mobile-ready .gt3-finish-tabs{position:sticky;top:0;z-index:2;background:var(--gt3-surface)}
  #gt3-app .gt3-mobile-ready .gt3-finish-tabs button{min-height:30px;padding:3px}
  #gt3-app .gt3-mobile-ready .gt3-viewport-bottom{display:none}
  #gt3-app .gt3-mobile-ready .gt3-filament-product{grid-template-columns:minmax(0,1fr) 85px;padding:5px;min-height:56px}
  #gt3-app .gt3-mobile-ready #gt3-filament-stock{display:none}
  #gt3-app .gt3-mobile-ready #gt3-filament-link{grid-column:2}
}
@media(max-width:900px) and (orientation:portrait) and (max-height:700px){
  #gt3-app .gt3-mobile-ready .gt3-topbar{flex-basis:44px;min-height:44px;padding-top:2px;padding-bottom:2px}
  #gt3-app .gt3-mobile-ready :is(.gt3-app-footer,.gt3-viewport-bottom){display:none}
  #gt3-app .gt3-mobile-ready .gt3-viewport-top{flex-basis:42px;min-height:42px;padding-top:2px;padding-bottom:2px}
  #gt3-app .gt3-mobile-ready .gt3-preview-panel:has(.gt3-filaments:not([hidden])) .gt3-stage-controls{display:none}
  #gt3-app .gt3-mobile-ready .gt3-filaments header{min-height:32px;padding-top:2px;padding-bottom:0}
  #gt3-app .gt3-mobile-ready .gt3-finish-tabs button{min-height:30px;padding:3px}
  #gt3-app .gt3-mobile-ready .gt3-filament-product{min-height:50px;padding:4px;grid-template-columns:minmax(0,1fr) 96px}
  #gt3-app .gt3-mobile-ready #gt3-filament-photo{width:36px;height:36px;max-width:36px;flex-basis:36px}
  #gt3-app .gt3-mobile-ready :is(#gt3-filament-range,#gt3-filament-stock){display:none}
  #gt3-app .gt3-mobile-ready #gt3-filament-link{grid-row:1/3}
}
