.model-page .full-viewer,.model-page .stage{position:absolute;inset:0}
.model-page .site-header{z-index:4}
.model-page .stage{isolation:isolate;overflow:hidden}.model-page .stage canvas{position:relative;z-index:1}.model-page .loading,.model-page .error{z-index:2}
.viewer-selection{position:absolute;z-index:0;left:max(3vw,env(safe-area-inset-left));right:max(3vw,env(safe-area-inset-right));top:calc(var(--header) + env(safe-area-inset-top));bottom:3vh;display:flex;align-items:center;justify-content:center;margin:0;overflow:hidden;text-align:center;white-space:nowrap;font-family:Georgia,"Times New Roman",serif;font-size:clamp(94px,16vw,232px);font-weight:700;line-height:.82;letter-spacing:-.055em;text-transform:uppercase;color:rgba(151,116,34,.23);-webkit-text-stroke:1px rgba(103,76,17,.12);opacity:0;transform:translateY(12px);transition:opacity .42s ease,transform .48s cubic-bezier(.2,.7,.2,1);pointer-events:none;user-select:none}
.viewer-selection.is-visible{opacity:1;transform:translateY(0)}
.viewer-selection[data-name-size="long"]{font-size:clamp(68px,11vw,160px);letter-spacing:-.04em}
.viewer-selection[data-name-size="xlong"]{font-size:clamp(52px,8.2vw,122px);letter-spacing:-.03em}
.viewer-menu-button{position:fixed;z-index:4;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));min-width:98px;height:48px;padding:0 22px;border:1px solid #8f7331;border-radius:2px;background:#b99a4f;color:#fff;box-shadow:0 7px 24px #20261c24;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.viewer-menu-button:hover{background:#c5a75c}
.viewer-menu{position:fixed;z-index:20;inset:auto 0 0;width:100%;height:min(72dvh,680px);max-width:none;max-height:none;margin:0;padding:0;border:1px solid #c9c0aa;border-bottom:0;border-radius:18px 18px 0 0;background:#f7f5ed;color:var(--ink);box-shadow:0 -20px 70px #20261c30;overflow:hidden}
.viewer-menu::backdrop{background:#2d322637;backdrop-filter:blur(2px)}
.viewer-menu-shell,.viewer-menu-panel{height:100%;overflow:auto;overscroll-behavior:contain;padding:18px max(3vw,22px) calc(22px + env(safe-area-inset-bottom))}
.viewer-menu-head{position:sticky;top:-18px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-18px -20px 18px;padding:14px 14px 10px 20px;background:#f7f5edf7;border-bottom:1px solid var(--line)}
.viewer-menu-head h2{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.2;margin:0}
.viewer-menu-close,.viewer-menu-back{min-width:44px;min-height:44px;border:0;background:none;color:#514f44}
.viewer-menu-close{font-size:30px;line-height:1}.viewer-menu-back{font-size:15px;text-decoration:underline;text-underline-offset:3px}
.viewer-menu .model-heading,.viewer-menu .knight-heading,.viewer-menu .viewer-bar,.viewer-menu .profile-note{position:static;inset:auto;display:block;width:100%;max-width:none;margin:0 0 18px;pointer-events:auto}
.viewer-menu .model-heading h1,.viewer-menu .knight-heading h1{display:none}
.viewer-menu .variant-field{max-width:none;margin:0}
.viewer-menu label{display:flex;flex-direction:column;gap:5px;color:#625d50;font-size:13px}
.viewer-menu label.search{flex-direction:row;align-items:center;gap:12px}
.viewer-menu select,.viewer-menu input{width:100%;min-height:44px}
.viewer-menu .profile-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.viewer-menu .profile-controls label:last-child{grid-column:1/-1}
.viewer-menu .profile-controls select{max-width:none;background:#fffaf0;border:1px solid #c9c0aa;padding:7px 28px 7px 9px}
.viewer-menu .mode-control{display:flex;align-items:center;justify-content:space-between;flex-direction:row;margin:0}.viewer-menu .mode-control select{width:auto;min-width:132px}
.viewer-menu .profile-note{font-size:13px;line-height:1.45;text-align:left;color:#6d6553;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.viewer-menu .browse-trigger{min-height:44px;padding:8px 12px;width:100%}
.viewer-menu .viewer-bar{display:grid;gap:8px;margin:0}.viewer-menu .view-controls{display:none}
.viewer-menu-panel .sheet-head{position:static;margin:0;padding:0;border:0;background:none}
.viewer-menu-panel .sheet-title{display:block;margin:0 0 14px}.viewer-menu-panel .sheet-title .sheet-close{display:none}
.viewer-menu-panel .sheet-title h2{font-size:22px}
.viewer-menu-panel .search{width:100%}
.viewer-menu-panel .animation-filter-row{display:grid;grid-template-columns:minmax(150px,.32fr) minmax(280px,1fr);gap:14px;align-items:end}
.viewer-menu-panel .sheet-results{padding:10px 0 0}
.viewer-menu-panel .asset-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 14px}
.viewer-menu-panel .animation-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
.viewer-menu-panel .asset-row{min-height:72px;padding:8px;border:1px solid #dedacd;background:#faf8f1}
.viewer-menu-panel .asset-thumbnail{flex-basis:44px;width:44px;height:52px}
.viewer-menu-panel .model-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.viewer-menu-panel .slot-tabs{gap:14px;overflow-x:auto}
.viewer-menu .builder-picker>.slot-tabs{order:0;margin:0 0 10px;padding:0 0 8px;border-top:0;border-bottom:1px solid var(--line)}
.viewer-menu-panel .catalog-toolbar{align-items:flex-start;flex-direction:column;gap:4px}
.viewer-menu-open .viewer-menu-button{visibility:hidden}
@media(max-width:600px){
 .viewer-menu-panel .model-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .viewer-selection{left:2vw;right:2vw;top:calc(var(--header) + env(safe-area-inset-top));bottom:7vh;font-size:clamp(70px,24vw,118px);line-height:.86}
 .viewer-selection[data-name-size="long"]{font-size:clamp(48px,15vw,78px)}.viewer-selection[data-name-size="xlong"]{font-size:clamp(38px,11.5vw,60px)}
 .viewer-menu-button{left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));min-width:94px;height:48px}
 .viewer-menu{height:min(86dvh,760px);border-radius:16px 16px 0 0}
 .viewer-menu-shell,.viewer-menu-panel{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
 .viewer-menu-panel .asset-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .viewer-menu-panel .animation-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
 .viewer-menu .profile-controls{grid-template-columns:1fr}
 .viewer-menu .profile-controls label:last-child{grid-column:auto}
 .viewer-menu-panel .animation-filter-row{grid-template-columns:1fr}
}
@media(min-width:601px) and (max-width:1100px){.viewer-menu-panel .asset-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-height:560px) and (min-width:650px){.viewer-menu{height:calc(100dvh - 82px)}.viewer-selection{font-size:clamp(68px,14vw,138px)}}
.viewer-menu-panel .animation-filter-row label:first-child{text-transform:capitalize}
