/* 3D tools share the site's fonts, colors and spacing. */
.tools-page{padding-top:var(--page-intro-top)}.tools-heading{margin-bottom:32px}.tools-heading>.eyebrow{font-size:22px;font-weight:300;margin-bottom:8px}.tools-heading h1{font-size:var(--page-intro-title-size);font-weight:200;letter-spacing:-.04em;line-height:1.2}
.tools-collections{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:65px}.tool-collection>h2{font-size:30px;font-weight:300;letter-spacing:-.035em;margin:0 0 20px}.tool-directory-link{display:flex;gap:24px;align-items:center;padding:24px 0;border-top:var(--ui-border-width) solid var(--line)}.tool-directory-link img{width:56px;height:56px;object-fit:contain}.tool-directory-link>span:nth-child(2){flex:1}.tool-directory-link h3{font-size:26px;font-weight:300;letter-spacing:-.025em;line-height:1.3}.tool-directory-link p{font-size:16px;color:var(--muted);line-height:1.6;margin:5px 0 0}
.viewer-page{--accent:var(--accent-ink);--text-main:var(--ink);--text-muted:var(--muted);--border-color:var(--line);--danger:#9e3b3b;--font-mono:Poppins,Arial,sans-serif;padding:var(--page-intro-top) var(--space) 28px;max-width:1920px;margin:auto}

.viewer-toolbar{justify-content:space-between;gap:25px;border-bottom:var(--ui-border-width) solid var(--line);}.viewer-tabs,.viewer-actions{display:flex;gap:22px;align-items:center}.viewer-toolbar button{font-size:15px;padding:8px 0;color:var(--muted)}.viewer-toolbar button.active{color:var(--accent-ink)}.viewer-actions button{color:var(--accent-ink)}
.viewer-workspace{display:flex;gap:6px;}.viewer-workspace .sidebar{display:flex;flex-direction:column;width:271px;flex-shrink:0;min-width:0;overflow:auto;border-right:var(--ui-border-width) solid var(--line);padding-right:18px}.viewer-workspace .sidebar.right{width:301px;border:0;border-left:var(--ui-border-width) solid var(--line);padding:0 0 0 18px}.viewer-workspace .sidebar-header{color:var(--accent-ink);padding:0 0 15px}.viewer-workspace .sidebar-content{display:flex;flex-direction:column;}.viewer-workspace .panel-group{min-width:0}.viewer-workspace .panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 10px;border-bottom:var(--ui-border-width) solid var(--line);}.viewer-workspace .control-row{margin:0 0 11px}.viewer-workspace .control-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.6;font-weight:300}.viewer-workspace .control-value{font-weight:400;overflow-wrap:anywhere;text-align:right;max-width:150px}.viewer-workspace .file-name-row .control-label{display:flex;white-space:nowrap}.viewer-workspace .file-name-row .control-value{flex:1;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.viewer-workspace input[type=range]{width:100%;accent-color:var(--accent-ink)}.viewer-workspace input[type=checkbox]{accent-color:var(--accent-ink)}.viewer-workspace select{font:300 13px Poppins,Arial,sans-serif;padding:6px;border:var(--ui-border-width) solid var(--line);background:white;max-width:100%}.viewer-workspace .toggle-switch-container{display:flex;gap:9px;align-items:center;font-size:13px;cursor:pointer;font-weight:300}.viewer-workspace input[type=color]{width:48px;height:28px;border:var(--ui-border-width) solid var(--line);background:white;padding:2px}.viewer-workspace #stat-dimensions{display:flex;justify-content:space-between;gap:6px;margin:10px 0;font-size:11px;font-weight:300}.viewer-workspace #stat-dimensions>div{display:flex;}.viewer-workspace .channel-vertical-stack{grid-template-columns:1fr 1fr;}.viewer-workspace .channel-btn{border:var(--ui-border-width) solid var(--line);border-radius:0;}.viewer-workspace .channel-btn.active{color:white;background:var(--accent-ink);border-color:var(--accent-ink)}
.viewer-workspace #view-viewer{display:flex;flex:1;min-width:0;position:relative;border:1px solid var(--accent-ink);border-radius:0;overflow:hidden}.viewer-workspace #viewport-3d-wrapper{flex:1;position:relative;height:100%;min-width:0}.viewer-workspace #canvas3d{display:block;width:100%;height:100%}.viewer-workspace #viewport-empty-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:25px}.viewer-empty-card{max-width:380px}.viewer-empty-icon{width:230px;color:var(--accent-ink);margin:0 auto 8px}.viewer-empty-icon svg{width:100%;height:140px}.viewer-workspace .viewer-empty-title{font-weight:200;letter-spacing:-.03em;}.viewer-empty-status{font-size:13px;color:var(--muted);margin-bottom:12px;font-weight:300}.viewer-empty-card>div:not(.viewer-empty-icon){font-size:13px;line-height:1.7;color:var(--muted);font-weight:300}.viewer-workspace .btn{font:300 12px Poppins,Arial,sans-serif;border:var(--ui-border-width) solid var(--line);padding:7px 10px}.viewer-workspace #btn-empty-open{pointer-events:auto;background:var(--accent-ink);color:white;border-color:var(--accent-ink);font-size:15px;}.viewer-workspace #btn-delete-node{color:var(--danger);}
.viewer-workspace #viewer-shortcut-dock{position:absolute;display:flex;flex-wrap:wrap;color:var(--muted);pointer-events:none;}.viewer-workspace #viewer-shortcut-dock b{color:var(--accent-ink);font-weight:400}.viewer-workspace .model-loading{position:absolute;inset:0;z-index:8;pointer-events:none;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;font-size:var(--text-ui-small);font-weight:var(--weight-ui-small)}.viewer-workspace .model-loading,.viewer-workspace .model-loading>strong,.viewer-workspace .model-loading>span{font-family:Poppins,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.5;font-synthesis:none}.viewer-workspace [hidden]{display:none!important}
.viewer-page .lighting-selector>span{display:none}.viewer-page .lighting-buttons{display:flex;gap:8px;padding:12px 0}.viewer-page .lighting-buttons button{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;border:var(--ui-border-width) solid var(--line);border-radius:0;font-size:12px;flex:1;font-weight:300}.viewer-page .lighting-buttons svg{width:20px;height:20px}.viewer-page .lighting-buttons .active{border-color:var(--accent-ink);color:var(--accent-ink)}
.viewer-page .tree-node-item{display:flex;align-items:center;gap:6px;padding:5px;font-size:12px;cursor:pointer;border-radius:0;font-weight:300}.viewer-page .tree-node-item:hover,.viewer-page .tree-node-item.selected{background:#42638e14;color:var(--accent-ink)}.viewer-page .btn-node-visibility{margin-left:auto;padding:2px}.viewer-page .hidden{display:none!important}.viewer-page .dropzone-overlay{position:fixed;inset:100px 20px 20px;z-index:50;background:#fffffff2;border:2px dashed var(--accent-ink);display:flex;align-items:center;justify-content:center;padding:40px;text-align:center}.dropzone-content p{font-size:18px;color:var(--muted);margin-top:20px}
.animation-dock{position:absolute;left:16px;right:auto;bottom:55px;width:530px;max-width:calc(100% - 32px);display:flex;align-items:center;gap:10px;padding:8px 12px;border:var(--ui-border-width) solid var(--line);border-radius:0;background:#fffffff2;z-index:10}.anim-play-btn{display:flex;align-items:center;justify-content:center;flex:none;padding:0;line-height:1}.anim-play-btn svg{display:block;width:20px;height:20px;fill:var(--accent-ink)}.anim-play-btn[data-playing=true] .icon-play,.anim-play-btn[data-playing=false] .icon-pause{display:none}.anim-progress{flex:1;min-width:0;margin:0}.anim-clip-name{font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:300}
.viewer-page #view-textures{flex:1;min-width:0;flex-direction:column}.texture-gallery-intro{padding:12px 0 12px}.texture-gallery-intro h2{font-size:25px;font-weight:300;color:var(--accent-ink)}.texture-gallery-intro p{font-size:15px;font-weight:300;color:var(--ink);margin:0}.texture-gallery-toolbar,.toolbar-left,.toolbar-right{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:15px}.texture-gallery-toolbar .toolbar-title{display:flex;align-items:center;gap:7px}.texture-gallery-toolbar svg{display:block;width:20px;height:20px;flex-shrink:0}.texture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px}.texture-card{border:var(--ui-border-width) solid var(--line);border-radius:0;overflow:hidden}.texture-preview-wrapper{position:relative;height:200px;background:#f5f6f8;display:flex;align-items:center;justify-content:center}.texture-preview-img{max-height:100%;width:100%;object-fit:contain}.texture-format-badge{position:absolute;top:10px;right:10px;font-size:12px;padding:3px 8px;background:white;border-radius:0;font-weight:300}.texture-info{padding:14px}.texture-name{font-size:14px;overflow-wrap:anywhere;font-weight:300}.texture-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin:8px 0 15px;font-weight:300}.texture-card-controls{display:flex;gap:10px;justify-content:space-between}
.viewer-page .toast-container{position:fixed;right:25px;bottom:25px;z-index:60;max-width:500px}.viewer-page .toast{padding:15px 20px;background:white;border:1px solid var(--accent-ink);border-radius:0;margin-top:10px;font-size:14px;box-shadow:0 8px 35px #17191d15;font-weight:300}.toast-missing-header{display:flex;justify-content:space-between;gap:20px}.toast-missing-list{max-height:180px;overflow:auto}.toast-missing-action{color:var(--accent-ink);text-decoration:underline}.toast-missing-close{font-size:22px}
body[data-page=glb-viewer] .site-footer{padding-top:22px;padding-bottom:22px}.site-header nav{gap:clamp(18px,2vw,34px)}

.viewer-page .viewer-workspace svg:not(.viewer-empty-icon svg){max-width:100%}.viewer-page .control-label,.viewer-page .panel-body{overflow-wrap:anywhere}.viewer-page .texture-gallery-toolbar button,.viewer-page .texture-gallery-toolbar select{font-family:inherit}.viewer-page .toast p{line-height:1.6;margin:12px 0}

/* The viewer owns one fixed-height desktop workspace. */
body[data-page=glb-viewer]{height:100svh;overflow:hidden}
body[data-page=glb-viewer] #main{height:100%;min-height:0}
body[data-page=glb-viewer] .site-footer{display:none}
.viewer-page{height:100svh;display:flex;flex-direction:column;padding-bottom:16px;min-height:0}
.viewer-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;flex-shrink:0;margin-bottom:16px;padding-bottom:10px}
.viewer-tabs{grid-column:2;justify-content:center}.viewer-actions{grid-column:3;justify-content:flex-end}
.viewer-workspace{height:auto;min-height:0;flex:1;overflow:hidden}
.viewer-workspace .sidebar,.viewer-workspace .sidebar.right{overflow:hidden;min-height:0}
.viewer-workspace .sidebar-header{padding-bottom:10px;font-size:16px;line-height:1.4}
.viewer-workspace .sidebar-content{gap:14px;flex:1;min-height:0}
.viewer-workspace .panel-title{font-size:13px;line-height:1.4;padding-bottom:8px;font-weight:400}
.viewer-workspace .panel-body{padding:8px 0}.viewer-workspace .control-row{margin-bottom:8px}
.viewer-workspace #sidebar-left .control-row{margin-bottom:5px}.viewer-workspace #sidebar-left .control-label{font-size:13px;line-height:1.45;font-weight:400}
.viewer-workspace .lighting-buttons{padding:10px 0;gap:8px}
.viewer-workspace .lighting-buttons button{padding:8px;font-size:12px;font-weight:300}

.viewer-workspace #stat-dimensions>div{min-width:0;white-space:nowrap}
.viewer-workspace .viewer-empty-card{max-width:100%;background:#fff;border:var(--ui-border-width) solid var(--line);border-radius:0;box-shadow:0 10px 35px #17191d0a}
.viewer-workspace .viewer-empty-icon{margin-bottom:6px}
.viewer-workspace .viewer-empty-icon svg{height:135px}
.viewer-workspace #viewer-shortcut-dock{font-size:13px;line-height:1.5;gap:8px 16px;bottom:14px;left:16px;right:115px;font-weight:300}
.viewer-workspace #node-tree-container{overflow:auto;min-height:0}
.viewer-workspace #sidebar-left .panel-group:last-child{display:flex;flex-direction:column;flex:1;min-height:0}
.viewer-workspace .viewer-empty-card{width:460px;padding:16px 24px 22px}
.viewer-workspace .viewer-empty-icon{width:150px;margin:0 auto 6px}
.viewer-workspace .viewer-empty-icon img{width:150px;height:92px}
.viewer-workspace .viewer-empty-title{font-size:28px;margin-bottom:6px}
.viewer-workspace .viewer-empty-status{margin-bottom:8px}
.viewer-workspace #btn-empty-open{margin-top:14px;padding:10px 20px}
.viewer-workspace .sidebar.right{padding-left:18px;padding-right:6px}
.viewer-workspace .control-row:has(#slider-exposure){padding:0 6px 4px 2px}
.viewer-workspace #slider-exposure{display:block;width:100%;margin:8px 0 0;height:22px;padding:0}
:is(.viewer-workspace,.conversion-page) .background-label{display:block;font-size:13px;margin-bottom:8px;font-weight:300}
:is(.viewer-workspace,.conversion-page) .background-swatches{display:flex;gap:12px;padding:3px}
:is(.viewer-workspace,.conversion-page) .background-swatch{display:flex;align-items:center;justify-content:center;position:relative;width:36px;height:32px;border:1px solid #b9bdc5;border-radius:0;padding:0;cursor:pointer;flex:none}
:is(.viewer-workspace,.conversion-page) .background-swatch.white{background:white}
:is(.viewer-workspace,.conversion-page) .background-swatch.black{background:black}
:is(.viewer-workspace,.conversion-page) .background-swatch.gray{background:#808080}
:is(.viewer-workspace,.conversion-page) .background-swatch.custom{background:conic-gradient(#e3b8ba,#dfd5ac,#bad7c4,#bfd0e8,#d1c0e1,#e3b8ba);color:var(--ink);font-size:20px}
:is(.viewer-workspace,.conversion-page) .background-swatch[aria-pressed=true],:is(.viewer-workspace,.conversion-page) .background-swatch.active{outline:none;box-shadow:none;border-color:var(--accent-ink)}
:is(.viewer-workspace,.conversion-page) .background-swatch.custom input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
:is(.viewer-workspace,.conversion-page) .background-swatch.custom:focus-within{outline:none;box-shadow:none;border-color:var(--accent-ink)}

.viewer-page{padding-top:calc(var(--page-intro-top) - 46px)}
.viewer-workspace .panel-title{color:var(--ink)}
.viewer-workspace .panel-title:has(#btn-delete-node),.viewer-workspace #sidebar-right .panel-group:nth-child(2)>.panel-title,.viewer-workspace #sidebar-right .panel-group:nth-child(3)>.panel-title{color:var(--accent-ink)}
.viewer-workspace #btn-delete-node{font-size:12px;padding:4px 7px;line-height:1.4;font-weight:300}
.viewer-workspace .channel-vertical-stack{display:flex;flex-direction:column;gap:4px}
.viewer-workspace .channel-btn{width:100%;padding:5px 7px;font-size:13px;line-height:13.75px;font-weight:400}
.viewer-workspace #stat-dimensions>div{align-items:center;gap:4px;font-size:10px;font-weight:300}
.viewer-workspace #stat-dimensions>div>span:first-child{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border-radius:50%;color:white;font-size:10px;font-weight:400}
.viewer-workspace #stat-dimensions>div:nth-child(1)>span:first-child{background:#ef4444}
.viewer-workspace #stat-dimensions>div:nth-child(2)>span:first-child{background:#22a65a}
.viewer-workspace #stat-dimensions>div:nth-child(3)>span:first-child{background:#3b82f6}

/* Wider texture cards, with focus drawn on the control's existing frame. */
.viewer-page #view-textures .texture-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-content:start}
.viewer-page #view-textures .texture-card{min-width:0}
.viewer-page #view-textures .texture-preview-wrapper{height:200px}
.viewer-page #view-textures .texture-info{padding:14px}
.viewer-page #view-textures .texture-name{font-size:14px;line-height:1.5;overflow-wrap:anywhere;font-weight:300}
.viewer-page #view-textures .texture-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1.1fr);font-size:12px;line-height:1.5;align-items:center;gap:6px;font-weight:300}
.viewer-page #view-textures .texture-meta>span{font-size:12px;line-height:1.5;padding:3px 7px;border:var(--ui-border-width) solid var(--line);border-radius:0;color:var(--ink);font-weight:300;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:center}
.viewer-page #view-textures .texture-card-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.viewer-page #view-textures .texture-card-controls select{width:100%;min-width:0}
.viewer-page #view-textures .texture-card-controls :is(select,button){border-radius:0;font-size:12px;padding:7px 9px;font-weight:300}
.viewer-page #view-textures .texture-format-badge{left:12px;right:auto;top:12px;font-size:12px;line-height:1.4;padding:5px 11px;border-radius:0;background:var(--accent-ink);color:#fff;font-weight:300}
.viewer-page #view-textures :is(select,button):is(:focus,:focus-visible){outline:none;border-color:var(--accent-ink);box-shadow:none}

.viewer-page .lighting-buttons [data-lighting=studio] svg{width:20px;height:20px;stroke-width:1.5}

/* Tool workspaces fill the page and omit the shared footer. */
body:has(#main > :is(.tools-page,.conversion-page)){display:flex;flex-direction:column;min-height:100svh}
body:has(#main > :is(.tools-page,.conversion-page)) #main{flex:1;width:100%}
body:is([data-page=tools],[data-page=tool]) .site-footer{display:none}
.tool-directory-link h3::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--accent-ink);transform:scaleX(0);transform-origin:left}
.tools-heading-row{display:contents}
.tools-group-tabs{display:flex;align-items:center;gap:50px;grid-column:1 / -1;grid-row:1;align-self:start;justify-self:center;transform:translateY(-46px)}
.tools-group-tabs button{color:var(--muted)}
.tools-group-tabs button[aria-selected=true]{color:var(--accent-ink)}
.tools-directory .tools-collections{display:block;grid-column:2;grid-row:2;margin:0}
.tools-directory .tool-collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.tools-directory .tool-collection[hidden]{display:none}
.tools-directory .tool-directory-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;position:relative;border-top:0;text-align:center}
.tools-directory .tool-directory-link img{width:48px;height:48px;flex:0 0 48px;filter:brightness(0)}
.tools-directory .tool-directory-link[href="/3d-tools/pbr-map-generator/"] img{width:68px}
.tools-directory .tool-directory-link>span:nth-child(2){flex:none}
.tools-directory .tool-directory-link h3{position:relative;display:inline-block;padding-bottom:4px;font-size:21px}

.tools-directory .tool-directory-link[aria-current=page]{color:var(--accent-ink)}
.tools-directory .tool-directory-link[aria-current=page] img{filter:none}
.tools-directory .tool-directory-link[aria-current=page] h3::after{transform:scaleX(1)}
.tools-active-content[hidden]{display:none}

.tools-directory{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:33px calc(var(--page-intro-title-size) * 1.2) auto;column-gap:70px;row-gap:8px;align-content:start}
.tools-directory .tools-heading{display:contents}
.tools-directory .tools-heading>.eyebrow{grid-column:1;grid-row:1;margin:0;line-height:1.5;align-self:start}
.tools-directory .tools-heading h1{grid-column:1;grid-row:2;align-self:center}
.tools-directory .tools-active-content{grid-column:1 / -1;grid-row:3;min-width:0;margin-top:16px}

.material-tool{margin:0 0 50px}.material-tool [hidden]{display:none!important}.material-tool select:is(:focus,:focus-visible){outline:none;box-shadow:none;border-color:var(--accent-ink)}

:is(.viewer-workspace,.conversion-page) .background-swatch:focus-visible{outline:none;box-shadow:none;border-color:var(--accent-ink)}

/* File information stays beside the gallery, with all details visible. */
.texture-gallery-layout{display:grid;grid-template-columns:355px minmax(0,1fr);gap:24px;align-items:start}
.texture-gallery-main{min-width:0}
.viewer-file-details{min-width:0;padding:0 18px 18px 0;border-right:var(--ui-border-width) solid var(--line)}
.viewer-file-details>h2,.viewer-file-details h3{font-weight:300;color:var(--accent-ink)}
.viewer-file-details>h2{font-size:25px;margin:12px 0 0}
.viewer-file-details #file-details-content{font-size:15px;font-weight:300;line-height:1.6;color:var(--ink)}
.file-details-list{margin:0;font-size:15px;font-weight:300;line-height:1.5}
.file-details-list>div{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;padding:6px 0;border-bottom:var(--ui-border-width) solid var(--line)}
.file-details-list>.file-details-inline{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:12px}
.file-details-inline .file-details-values{list-style:none;padding-left:0}
.file-details-list>.file-details-inline dd{text-align:right}
.file-details-inline li{padding-left:0}
.file-details-list dt{color:var(--ink)}.file-details-list dd{color:var(--muted);margin:0;text-align:left;white-space:pre-line;overflow-wrap:anywhere}
.viewer-file-details section{margin-top:18px;padding-top:0}
.viewer-file-details h3{font-size:15px}
.file-details-advanced{white-space:pre-line;overflow-wrap:anywhere;line-height:1.6;padding-top:8px}
.viewer-page #view-textures #tex-download-all-zip{background:var(--accent-ink);color:white;border:1px solid var(--accent-ink);border-radius:0;height:var(--action-height);padding:0 20px;font-size:15px;font-weight:300;line-height:1.5;display:inline-flex;align-items:center;justify-content:center}

.texture-preview-slot{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0}

.tools-empty-state{display:flex;align-items:center;justify-content:center;min-height:360px;border:var(--ui-border-width) solid var(--line);border-radius:0;text-align:center;padding:32px}.tools-empty-state p{margin:0;color:var(--muted);font-size:21px;font-weight:300;line-height:1.5}

:is(.viewer-toolbar .viewer-tabs,.tools-group-tabs) button{position:relative;font-size:22px;font-weight:300;letter-spacing:-.035em;line-height:1.25;padding:4px 0;white-space:nowrap}
:is(.viewer-toolbar .viewer-tabs,.tools-group-tabs) button::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent-ink);transform:scaleX(0)}
:is(.viewer-toolbar .viewer-tabs button.active,.tools-group-tabs button[aria-selected=true])::after{transform:scaleX(1)}
.viewer-tabs{gap:50px}

.texture-gallery-toolbar .toolbar-title svg{color:var(--accent-ink)}

.texture-batch-format{display:flex;align-items:center;gap:16px}.texture-batch-format label{font-family:Poppins,Arial,sans-serif;font-size:var(--text-ui-small);font-weight:var(--weight-ui-small);color:var(--ink);white-space:nowrap}.viewer-page #view-textures #tex-batch-format-select{width:360px;max-width:100%;font:300 14px Poppins,Arial,sans-serif;color:var(--ink);background:white;border:var(--ui-border-width) solid var(--line);border-radius:0;padding:9px 11px}

.file-details-values{margin:0;padding-left:16px;list-style:disc;white-space:normal}.file-details-values li{padding-left:2px;overflow-wrap:anywhere}.file-details-values li+li{margin-top:4px}

:root{--action-height:42px;}
.tools-directory :is(.conversion-page,.image-tool,.pbr-app) .site-action{height:var(--action-height);min-height:var(--action-height);border-radius:0;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;line-height:1.25;box-sizing:border-box}
.tool-action-row{display:flex;align-items:center;gap:12px;flex-shrink:0}
.viewer-page #view-textures #tex-batch-format-select{height:var(--action-height)}

body[data-page=glb-viewer]:has(.nav-tab[data-tab="tab-textures"].active){height:auto;min-height:100svh;overflow-y:auto}
body[data-page=glb-viewer]:has(.nav-tab[data-tab="tab-textures"].active) #main{height:auto}
.viewer-page:has(.nav-tab[data-tab="tab-textures"].active){height:auto;min-height:100svh}
.viewer-page:has(.nav-tab[data-tab="tab-textures"].active) .viewer-workspace{overflow:visible;flex:none}
.viewer-page #view-textures{overflow:visible}

.viewer-workspace .exposure-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;height:24px}.viewer-workspace .exposure-heading .control-label{font-size:14px;line-height:19.2px}
.viewer-workspace .exposure-inputs{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:6px;align-items:center;height:24px}
.viewer-workspace .exposure-inputs input[type=range]{margin:0;min-width:0}
.viewer-workspace #val-exposure{width:24px;height:24px;min-width:0;padding:0;border:var(--ui-border-width) solid var(--line);border-radius:0;background:white;color:var(--ink);font:400 12px Poppins,Arial,sans-serif;text-align:center;appearance:textfield;-moz-appearance:textfield}
.viewer-workspace #val-exposure::-webkit-inner-spin-button,.viewer-workspace #val-exposure::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.viewer-workspace #reset-exposure{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:2px;border:var(--ui-border-width) solid var(--line);border-radius:0;color:var(--accent-ink)}
.viewer-workspace #reset-exposure svg{display:block;width:18px;height:18px}


.viewer-workspace .model-memory-notice{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:9;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);width:max-content;padding:9px 12px;background:rgba(255,255,255,.94);border:1px solid var(--line);color:var(--danger);font:400 13px/1.5 Poppins,Arial,sans-serif}.viewer-workspace .model-memory-notice button{flex:none;display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;background:transparent;color:var(--accent-ink);font:400 20px/1 Arial,sans-serif;cursor:pointer}

#btn-export-glb{position:relative;overflow:hidden}
#btn-export-glb[aria-busy="true"]::after{content:"";position:absolute;bottom:0;left:0;width:35%;height:1px;background:var(--accent-ink);animation:glb-export-progress 1.2s linear infinite}
@keyframes glb-export-progress{from{transform:translateX(-110%)}to{transform:translateX(390%)}}
.file-details-inline dd{min-width:0;overflow-wrap:anywhere}

@media(prefers-reduced-motion:reduce){#btn-export-glb[aria-busy="true"]::after{animation:none;width:100%;transform:none}}

#tex-download-all-zip{width:176px;min-width:176px;max-width:176px;height:42px;flex:none;white-space:nowrap;padding-inline:10px}

#tex-download-all-zip[aria-busy="true"]{display:inline-grid;grid-template-columns:auto 4ch;justify-content:center;align-items:center;column-gap:12px}
#tex-download-all-zip .zip-percentage{text-align:right;font-variant-numeric:tabular-nums}

.material-tool .image-upload-prompt{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:var(--paper)}
.material-tool .image-upload-prompt[hidden]{display:none}
.material-tool .image-upload-prompt strong{font-size:clamp(20px,1.6vw,28px);font-weight:400;color:var(--ink);line-height:1.35}
.material-tool .image-upload-prompt span{font-size:var(--text-ui-small);color:var(--muted);line-height:1.5}
.material-tool .image-upload-prompt .site-action{width:auto;margin:4px 0;padding:10px 22px;flex:none}
