.account-dialog { box-sizing:border-box; width:min(440px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid #49494d; border-radius:22px; background:#202125; color:#f5f4f1; box-shadow:0 24px 96px #0008; overflow:auto; }
.account-dialog::backdrop { background:#0009; backdrop-filter:blur(5px); }
.account-dialog * { box-sizing:border-box; }
.account-dialog .account-close { position:absolute; top:10px; right:10px; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#202125e8; color:#f5f4f1; font:28px/1 system-ui,sans-serif; cursor:pointer; }
.account-preview { display:block; width:100%; height:148px; object-fit:cover; }
.account-preview[hidden] { display:none; }
.account-copy { padding:28px; }
.account-dialog .account-preview[hidden]+.account-copy { padding-top:54px; }
.account-dialog h2 { margin:0 0 12px; font:400 36px/1.08 RoomzEditorial,Georgia,serif; letter-spacing:-.035em; }
.account-dialog p { margin:0 0 24px; color:#ceced1; font:400 15px/1.6 system-ui,sans-serif; }
.account-dialog label { display:block; margin-bottom:9px; font:500 14px/1.4 system-ui,sans-serif; }
.account-dialog input { width:100%; height:54px; padding:12px 14px; border:1px solid #77787e; border-radius:10px; background:#151619; color:#f5f4f1; font:400 16px/1.4 system-ui,sans-serif; color-scheme:dark; }
.account-dialog .account-submit { width:100%; min-height:54px; margin-top:14px; padding:12px; border:0; border-radius:10px; background:#f5f4f1; color:#202125; font:600 16px/1.4 system-ui,sans-serif; cursor:pointer; }
.account-dialog .account-submit:disabled { opacity:.65; cursor:wait; }
.account-dialog .account-shop { background:#5433eb; color:#fff; margin-top:0; }
.account-email-fallback { margin-top:20px; }
.account-email-fallback summary { padding:12px 0; cursor:pointer; text-align:center; font:500 14px/1.4 system-ui,sans-serif; }
.account-email-fallback[open] summary { margin-bottom:12px; }
.account-dialog .account-later { display:block; min-height:44px; margin:10px auto 0; padding:10px 20px; border:0; background:transparent; color:#ceced1; font:500 14px/1.4 system-ui,sans-serif; cursor:pointer; }
.account-dialog .account-note { margin:14px 0 0; color:#b6b6be; font-size:12px; text-align:center; }
.account-dialog .account-status { margin:12px 0 0; font-size:14px; }
.account-dialog .account-status:empty { display:none; }
.account-dialog .account-consent { display:flex; align-items:flex-start; gap:12px; margin:12px 0 0; padding:6px 0; min-height:44px; color:#ceced1; font:400 13px/1.5 system-ui,sans-serif; cursor:pointer; }
.account-dialog .account-consent input { width:20px; height:20px; padding:0; flex:0 0 20px; margin:1px 0; accent-color:#f5f4f1; }
.storefront .mobile-account-button { position:absolute; right:60px; top:calc(2px + env(safe-area-inset-top)); width:44px; height:44px; padding:11px; border:0; color:var(--ink); background:transparent; cursor:pointer; }
.storefront .mobile-account-button:focus-visible { outline:2px solid currentColor; outline-offset:-3px; }
.storefront .mobile-account-button[hidden] { display:none; }
.mobile-account-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.account-dialog.collection-dialog { width:min(720px,calc(100% - 32px)); }
.collection-dialog .account-copy { padding-top:54px; }
.collection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; }
.collection-grid a { color:#f5f4f1; text-decoration:none; font:500 14px/1.4 system-ui,sans-serif; }
.collection-grid img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:10px; margin-bottom:8px; }
.account-dialog .account-manage { display:block; margin:20px 0 0; min-height:44px; padding:10px; color:#ceced1; font:14px/1.5 system-ui,sans-serif; text-align:center; }
.account-dialog :focus-visible { outline:2px solid #f5f4f1; outline-offset:3px; }
@media(max-width:380px) { .account-copy { padding:24px 20px; } .account-dialog h2 { font-size:32px; } .account-preview { height:120px; } }

.account-dialog [hidden]{display:none!important}
