/* Same visual language, stable geometry and restrained feedback. */
html{scrollbar-gutter:stable}
html.premium-modal-open{overflow:hidden}
.shell,.bp-screen-body{animation:none!important}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{transition:background-color 140ms ease,color 140ms ease,opacity 140ms ease,transform 120ms ease}
button:active:not(:disabled){transform:scale(.98)}
.filters button:active,.directory-open:active,.nav:active{transform:none}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button:disabled{cursor:default}
.shell>.filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;min-height:48px;scrollbar-width:none;align-items:center}
.shell>.filters::-webkit-scrollbar{display:none}
.shell>.filters .filter{flex:0 0 auto;min-height:44px;font-weight:600;white-space:nowrap}
.bp-discover-header .filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:48px}
.bp-discover-header .filters button{min-width:0;min-height:48px;padding-inline:4px;white-space:nowrap;font-weight:700}
.bp-discover-header small,.reference-stages strong,.badge{font-variant-numeric:tabular-nums}
.bp-search-row{flex-wrap:nowrap!important;min-height:52px}
.bp-search-row .search{min-width:0;flex:1;width:0!important}
.premium-layouts{display:flex!important;flex:0 0 88px;gap:0!important}
.premium-layouts button{width:44px!important;height:44px!important;min-width:44px;min-height:44px;padding:0!important;display:grid;place-items:center}
.premium-layouts button:disabled{opacity:.3}
.catalog-directory,.orders-grid{min-height:calc(100dvh - 250px);align-content:start}
.bp-user-context{min-height:48px;display:flex;align-items:center;justify-content:space-between;margin:0!important}
.bp-user-context[hidden]{display:flex!important;visibility:hidden}
.directory-open strong{min-width:0}
.collection-caption h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;min-height:2.7em}
.order>div:last-child{min-width:0}.order h3{overflow-wrap:anywhere}
.premium-image-pending{background:linear-gradient(110deg,var(--card) 25%,var(--line) 48%,var(--card) 70%);background-size:220% 100%;animation:premium-shimmer 1.4s ease infinite}
.premium-saved-loading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:58px}
.premium-saved-loading span{aspect-ratio:1;background:linear-gradient(110deg,var(--card) 25%,var(--line) 48%,var(--card) 70%);background-size:220% 100%;animation:premium-shimmer 1.4s ease infinite;border-radius:12px}
.premium-saving{position:relative;opacity:.65!important;cursor:wait!important}
.premium-saving:after{content:'';position:absolute;right:12px;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:refresh-spin .8s linear infinite}
#gallerySelectionBar:not([hidden]){position:fixed;top:auto;bottom:calc(78px + env(safe-area-inset-bottom));left:12px;right:12px;max-width:696px;margin-inline:auto;z-index:22;box-shadow:0 8px 28px #0005;border:1px solid var(--line);border-radius:14px}
.bp-sheet{animation:premium-sheet-in 180ms cubic-bezier(.2,.8,.2,1)}
.bp-fixed-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}
#toast{max-width:calc(100vw - 32px);width:max-content;pointer-events:none;line-height:1.45}
@keyframes premium-sheet-in{from{opacity:.75;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes premium-shimmer{from{background-position:150% 0}to{background-position:-50% 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
