/* Archive sleeves: layout stays owned by each image frame. */
.vault-art-frame{position:relative;background-color:#000}
.vault-art-skeleton{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 30% 30%,#49255a66,transparent 65%),repeating-linear-gradient(0deg,transparent 0 3px,#b99acf06 3px 4px),#100b17;display:grid;place-items:center}
.vault-art-skeleton:after{content:'';position:absolute;inset:-100%;background:linear-gradient(115deg,transparent 43%,#dc8dff16 49%,#ff75ca28 50%,transparent 57%);animation:none}
.vault-art-disc{width:34%;aspect-ratio:1;border:1px solid #af76d454;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 5px,#b678dc14 6px 7px);box-shadow:0 0 40px #b56bdf10;position:relative}
.vault-art-disc:after{content:'';position:absolute;inset:40%;border:1px solid #ef96ce80;border-radius:50%;background:#291632}
.vault-art-caption{position:absolute;bottom:12%;left:8%;right:8%;display:flex;justify-content:space-between;gap:8px;color:#d3a7ed;font:700 9px/1.4 system-ui;letter-spacing:.15em}.vault-art-caption b{font-weight:500;color:#a890bb;font-size:8px}
.vault-art-pending>img{opacity:0!important}.vault-art-pending>:is(.cover-fallback,.portrait-fallback,.photo-empty){visibility:hidden}
.purchase-thumb .vault-art-caption,.gallery-thumbnails .vault-art-caption{display:none}
.vault-art-retry{position:absolute;bottom:8px;left:8px;right:8px;z-index:3;border:1px solid #bd87df;background:#21122eeb;color:#f0dbff;padding:7px;border-radius:6px;font:600 11px system-ui;cursor:pointer}.vault-art-retry:focus-visible{outline:2px solid #ff80d0;outline-offset:2px}
@keyframes vault-art-sweep{from{transform:translateX(-30%)}to{transform:translateX(30%)}}
/* Customer workspaces are scoped so the owner console keeps its own theme. */
#app:is([data-route=account],[data-route=cart]) .public-main{--vault-edge:#674079;--vault-ink:#ede1f6}
#app[data-route=cart] .shop-cart,#app[data-route=account] :is(.customer-signin,.customer-order,.customer-help,.customer-account-bar,.customer-collection-total){border:1px solid #654176;border-radius:18px;background:radial-gradient(ellipse at top left,#672c6424,transparent 70%),linear-gradient(140deg,#1e1229f5,#100c19fa);box-shadow:0 14px 45px #0003;color:#ede1f6;overflow:hidden}
#app[data-route=cart] .shop-cart{padding:clamp(18px,3vw,36px)}
.cart-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.cart-lines{min-width:0}.cart-summary{position:sticky;top:24px;padding:26px;border:1px solid #855195;border-radius:14px;background:linear-gradient(155deg,#3a2047,#170f22)}.cart-summary h2{font-size:30px;margin:18px 0}.cart-summary .eyebrow{color:#e1b5fb}.cart-summary .download-responsibility{font:12px/1.8 system-ui;color:#c6b3d0}.cart-summary .button{max-width:100%;white-space:normal}
#app[data-route=cart] .sale-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:20px;align-items:center;margin:0 0 16px;padding:20px;border:1px solid #51315f;border-radius:14px;background:#160f20;min-width:0}#app[data-route=cart] .sale-item .cover{width:96px;height:96px;min-height:0;flex:none;border-radius:10px;overflow:hidden}#app[data-route=cart] .sale-item h2{font-size:18px;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}#app[data-route=cart] .sale-item p{font:12px/1.6 system-ui;color:#bfa6ce;margin:5px 0}#app[data-route=cart] .sale-item .button{font:600 11px system-ui;padding:7px 12px;background:transparent;border-color:#704d80}
.cart-empty{padding:54px 20px;text-align:center}.cart-empty .eyebrow{color:#de9cfa}.cart-empty p{color:#b9a7c8}
#app[data-route=account] .customer-account-bar{padding:24px;margin:24px 0 16px;gap:20px}#app[data-route=account] .customer-account-bar .customer-avatar{--customer-avatar-size:54px;width:54px;height:54px;border:2px solid #c886e6;box-shadow:0 0 25px #d574c31a}
#app[data-route=account] .customer-collection-total{padding:24px 30px;position:relative;border-left:4px solid #e584d4}#app[data-route=account] .customer-collection-total>span{font:700 11px system-ui;text-transform:uppercase;letter-spacing:.15em;color:#ce9fe7}#app[data-route=account] .customer-collection-total strong{font-size:42px}#app[data-route=account] .customer-collection-total small{font:14px system-ui;color:#c5b0d0}
#app[data-route=account] .customer-orders{gap:24px}#app[data-route=account] .customer-order>header{padding:22px 26px;background:linear-gradient(100deg,#48234c66,#24152f);border-bottom:1px solid #583263}#app[data-route=account] .customer-order-email{font:12px/1.6 system-ui;padding:0 26px;color:#b6a2c5;overflow-wrap:anywhere}#app[data-route=account] .customer-order ul{padding:0 24px 12px}#app[data-route=account] .customer-order li{padding:22px 0;border-color:#4e305e}#app[data-route=account] .purchase-thumb{width:104px;height:104px;flex:0 0 104px;overflow:hidden;border:1px solid #70437c;border-radius:12px;background:#000;box-shadow:0 8px 20px #0004}#app[data-route=account] .purchase-thumb img{object-fit:contain;width:100%;height:100%}#app[data-route=account] .purchase-product strong{font-size:17px;line-height:1.5;color:#f1dfff}#app[data-route=account] .resend-card{background:linear-gradient(115deg,#38203e88,#190f24);border:1px solid #60416f;border-radius:12px;padding:18px;margin-top:18px}#app[data-route=account] .collection-support{border-radius:9px;border-color:#8c5ca3;background:#3c224d;font:600 12px system-ui}
#app[data-route=account] .sutx-chat{border:1px solid #7c4c91;border-radius:18px;overflow:hidden;background:#140d1e;box-shadow:0 20px 60px #0004}#app[data-route=account] .sutx-chat>.card-header{background:linear-gradient(110deg,#402147,#21122e);padding:22px;border-bottom:1px solid #60366f}#app[data-route=account] .chat-detail{background:radial-gradient(ellipse at top right,#51264422,transparent 70%),#120c1b}#app[data-route=account] .chat-detail>header{background:#20132b;border-color:#583464;padding:20px}#app[data-route=account] .direct-chat-messages{padding:24px;scrollbar-color:#744587 #150d20}#app[data-route=account] .direct-chat-text{border-radius:3px 16px 16px 16px;background:#202c28;border:1px solid #456459;color:#e2f4e9;padding:16px 20px;font:14px/1.8 system-ui}#app[data-route=account] .from-owner .direct-chat-text{background:linear-gradient(130deg,#47263e,#30203f);border-color:#9c5686;color:#ffe5f6}#app[data-route=account] #chat-compose{padding:22px;background:#201328;border-top:1px solid #653975}#app[data-route=account] #chat-body{background:#100a17;border:1px solid #6f477b;border-radius:12px;color:#f0deff;padding:14px;font:14px/1.7 system-ui}#app[data-route=account] #chat-body:focus{outline:2px solid #ba70d3;outline-offset:2px}#app[data-route=account] .chat-reply-notice{background:#311c3799;color:#dab9de;border-color:#5c3868}
@media(max-width:950px){.cart-workspace{grid-template-columns:1fr}.cart-summary{position:static}}@media(max-width:580px){#app[data-route=cart] .sale-item{grid-template-columns:72px minmax(0,1fr);padding:14px;gap:14px}#app[data-route=cart] .sale-item>.price,#app[data-route=cart] .sale-item>.storefront-price{grid-column:2}#app[data-route=cart] .sale-item .cover{width:72px;height:72px}#app[data-route=account] .purchase-thumb{width:76px;height:76px;flex-basis:76px}#app[data-route=account] .customer-order ul{padding:0 16px 12px}.vault-art-caption{font-size:8px}.vault-art-caption b{font-size:7px}.cart-summary{padding:20px}}
@media(prefers-reduced-motion:reduce){.vault-art-skeleton:after{animation:none}}

.vault-art-skeleton.is-visible:after{animation:vault-art-sweep 2.8s ease-in-out infinite}
#app[data-route=cart] .sale-item [data-cart-remove]{color:#ead7f5;-webkit-text-fill-color:#ead7f5}
#app[data-route=cart] .customer-checkout-note{border-radius:10px;font:13px/1.8 system-ui;color:#decee9}
@media(max-width:580px){#app[data-route=cart] .sale-item>[data-storefront-price]{grid-column:2}}
@media(prefers-reduced-motion:reduce){.vault-art-skeleton.is-visible:after{animation:none}}

/* Fixed square geometry prevents flex-basis from stretching a portrait into an oval. */
.public .customer-avatar{--customer-avatar-size:40px;box-sizing:border-box;flex:0 0 var(--customer-avatar-size);width:var(--customer-avatar-size);min-width:var(--customer-avatar-size);max-width:var(--customer-avatar-size);height:var(--customer-avatar-size);min-height:var(--customer-avatar-size);max-height:var(--customer-avatar-size);aspect-ratio:1;border-radius:50%;padding:0;align-self:center}
.public .customer-avatar img{display:block;box-sizing:border-box;width:100%;height:100%;min-width:0;max-width:none;max-height:none;object-fit:cover;object-position:center;border-radius:inherit;padding:0;margin:0}
.public-header .customer-nav-identity{flex-shrink:0;white-space:nowrap}
.public .customer-auth-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:wait;opacity:.85;min-width:104px}
.customer-auth-action:before,.customer-auth-busy #google-signin-status:before{content:'';display:inline-block;width:12px;height:12px;flex:none;border:2px solid #a177be55;border-top-color:#f294d6;border-radius:50%;animation:customer-auth-turn .8s linear infinite}
.customer-auth-busy #google-signin-status{display:flex;align-items:center;gap:10px;color:#ebc2f6;font:13px/1.6 system-ui;min-height:24px}.customer-auth-busy #google-signin{opacity:.55;transition:opacity .15s}
.public [data-customer-signout],.public #customer-logout{min-width:88px}
.public .chat-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.public [data-chat-close]{border:1px solid #af76be;border-radius:9px;padding:9px 14px;background:#43254e;color:#f8dcff;font:600 12px system-ui;cursor:pointer}.public [data-chat-close]:hover{background:#603466}.public [data-chat-close]:focus-visible{outline:2px solid #ed9cdd;outline-offset:3px}
@keyframes customer-auth-turn{to{transform:rotate(360deg)}}
@media(max-width:600px){.public-header .customer-avatar{--customer-avatar-size:34px}.public .chat-header-actions{gap:6px}}
@media(prefers-reduced-motion:reduce){.customer-auth-action:before,.customer-auth-busy #google-signin-status:before{animation:none}.customer-auth-busy #google-signin{transition:none}}

@media(max-width:1100px){.public-header{flex-wrap:wrap;gap:22px}.public-header nav{flex-wrap:wrap;gap:16px;max-width:100%;width:100%;min-width:0}.public-header .customer-nav-identity{max-width:100%}}
