.account-view{max-width:640px;margin:30px auto 80px;padding:28px;background:#fffaf0;border:1px solid #d8c7b2;border-radius:24px;box-shadow:0 12px 35px #402c2910}
.account-view h1,.library-view h1{font:600 clamp(2.5rem,6vw,4rem)/1.1 Fraunces,serif;margin:24px 0}
#payment-email-field{margin:20px 0}#payment-email-field label{font-weight:700}#payment-email{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:1.2rem;padding:16px;border:2px solid #8c7665;border-radius:12px;background:#fff;margin-top:8px}
.account-view .intro{font-size:1.3rem}.account-view input{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:1.5rem;padding:18px;border:2px solid #8c7665;border-radius:12px;background:#fff;margin:10px 0 22px}.account-view label{font-weight:700}.account-view form>.primary{width:100%}.account-view .text-button{display:block;margin:12px 0}.account-view [role=status]{font-size:1.15rem}
.sms-code{position:relative;max-width:420px;margin:12px 0 26px}.sms-code-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.sms-code-box{display:grid;place-items:center;width:100%;min-width:0;min-height:44px;aspect-ratio:1;border:2px solid #b5a18c;border-radius:10px;background:#fffdf8;color:#402c29;font:700 clamp(26px,6vw,36px)/1 var(--body);font-variant-numeric:tabular-nums}.sms-code-box[data-active=true]{border-color:#285a54;box-shadow:0 0 0 2px #285a5430}.account-view #signin-code.sms-code-input{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:10px;background:transparent;color:transparent;caret-color:transparent;font-size:22px;letter-spacing:normal;outline:0;cursor:text}.sms-code-input::selection{color:transparent;background:transparent}body.extra-large .sms-code-box{font-size:40px}@media(max-width:360px){.sms-code-boxes{gap:5px}.sms-code-box{border-radius:8px}}
.library-view{max-width:1200px;margin:auto;padding:28px 20px 80px}.library-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.saved-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:26px;margin-top:25px}.saved-card{background:#fffaf0;border:1px solid #d8c7b2;border-radius:18px;padding:16px;max-width:420px}.saved-card>img{width:100%;height:290px;object-fit:contain;background:#eee6d6;border-radius:8px}.saved-card>p{font-size:1rem}.saved-card-actions{display:flex;gap:10px;flex-wrap:wrap}.saved-card-actions .primary,.saved-card-actions .secondary{font-size:1.1rem;padding:12px 16px;min-height:48px}.saved-card-actions .text-button{width:100%;text-align:left}.library-view .back,.account-view .back{margin:0}.library-save-status{max-width:500px;font-size:1.1rem}.header-actions{flex-wrap:wrap}.header-actions #account-open{font-size:1rem;white-space:nowrap}
@media(max-width:600px){.account-view{margin:18px 12px 50px;padding:22px}.site-header{flex-wrap:wrap;gap:12px}.header-actions{width:100%;justify-content:flex-end}.header-actions #account-open{margin-right:auto}.library-heading{align-items:flex-start}.saved-cards{grid-template-columns:1fr}.saved-card{max-width:none}.saved-card>img{height:340px}}

#recovery-cards{display:grid;gap:12px;margin:20px 0}#recovery-cards button{text-align:left;white-space:normal}#card-reference{overflow-wrap:anywhere;font-size:.85rem}#recovery-dialog{max-width:600px}

.profile-dialog{width:min(92vw,520px);max-height:90dvh;overflow-y:auto}.profile-dialog input:not([type=checkbox]),.profile-dialog select{box-sizing:border-box;width:100%;padding:12px;margin:6px 0 16px;font:inherit}.birthday-fields{display:flex;gap:16px}.birthday-fields>label{flex:1}.sms-optin{display:flex;gap:10px;align-items:flex-start;margin:16px 0}.sms-optin input{min-width:22px;min-height:22px}
.account-loading{max-width:640px;min-height:55dvh;margin:30px auto;padding:24px}.account-loading p{font-size:21px}.account-view #signup-open{width:100%;margin-top:14px}.account-view #forgot-password{font-size:18px;margin:18px auto 0}.signin-support{margin-top:28px}.library-account-panel{display:grid;gap:10px}.library-account-actions{display:flex;gap:20px;flex-wrap:wrap}.library-account-actions .text-button{margin:0}.birthday-fields>label{min-width:0}

/* Personal library: large photos and simple, labelled actions. */
.library-view{max-width:1480px;padding:28px 32px 70px}.library-heading{align-items:flex-start;margin:22px 0 32px}.library-heading h1{font-size:clamp(48px,5vw,76px);line-height:1.05;margin:0 0 12px}.library-heading p{margin:0;font-size:1.15rem}.library-account-panel{max-width:390px;align-self:center}.library-account-actions{gap:14px}.library-account-actions button{min-height:44px;font-size:1rem}.library-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px}.library-sidebar{align-self:start;background:#fffaf0b8;border:1px solid #dbcdb6;border-radius:20px;padding:20px;display:grid;gap:22px}.library-sidebar>.primary{width:100%;min-height:58px;white-space:normal;font-size:1.05rem;padding:14px}.library-tabs{display:grid;gap:10px}.library-filter{min-height:54px;border:1px solid transparent;border-radius:14px;background:transparent;text-align:left;padding:12px;font:inherit;font-size:1.05rem;cursor:pointer}.library-filter[aria-pressed=true]{background:#742e38;color:#fffaf1}.library-content{min-width:0}.library-tools{display:flex;gap:12px;flex-wrap:wrap}.library-tools input,.library-tools select{box-sizing:border-box;min-height:52px;border:1px solid #bdaf98;border-radius:28px;background:#fffaf0ed;color:#382720;padding:12px 18px;font:inherit;font-size:1rem;max-width:100%}.library-tools input{flex:1 1 260px;min-width:0;width:auto}.library-tools select{flex:0 1 auto;width:auto}.library-content>#library-status{margin:16px 0 0;font-size:1.15rem}.library-content>#library-status:empty{display:none}.saved-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:28px 20px;margin-top:22px}.saved-card{background:transparent;border:0;border-radius:0;padding:0;max-width:none;min-width:0}.saved-card-frame{position:relative;background:#fffaf1;padding:9px;box-shadow:0 4px 12px #54432c1c}.saved-card-open{display:block;cursor:pointer;border:0;background:transparent;width:100%;padding:0}.saved-card-open img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#f3e7cf}.saved-card-heart{position:absolute;top:16px;right:16px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #e2d7c6;border-radius:50%;background:#fffaf1;color:#742e38;cursor:pointer}.saved-card-heart svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.saved-card-heart[aria-pressed=true] svg{fill:currentColor}.saved-card h2{font-size:1.35rem;line-height:1.25;margin:15px 0 14px;overflow-wrap:anywhere}.saved-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.saved-card-actions .primary,.saved-card-actions .secondary{display:flex;align-items:center;justify-content:center;font-size:1rem;padding:12px 8px;min-height:50px;box-sizing:border-box;text-decoration:none;white-space:normal;overflow-wrap:anywhere}.saved-card-options{display:flex;justify-content:space-between;gap:12px;margin-top:4px}.saved-card-options button{min-height:44px;font-size:1rem;text-underline-offset:4px}.saved-card-status:empty{display:none}.saved-card-status{font-size:1rem;line-height:1.4}.library-photo-dialog{box-sizing:border-box;width:min(94vw,800px);max-width:800px;max-height:94dvh;overflow:auto;padding:28px}.library-photo-dialog h2{font-size:1.7rem;margin:0 40px 18px 0;overflow-wrap:anywhere}.library-photo-stage>#library-photo{display:block;max-width:100%;width:auto;max-height:62dvh;object-fit:contain;margin:0 auto 20px}.library-photo-dialog .saved-card-actions{max-width:440px;margin:auto}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}.dialog-actions button{flex:1;min-height:52px;font-size:1.05rem}.dialog-actions .primary{width:auto}#rename-card-dialog,#remove-card-dialog{box-sizing:border-box;width:min(92vw,520px);max-height:92dvh;overflow:auto}#rename-card-dialog h2,#remove-card-dialog h2{font-size:clamp(26px,6vw,38px);line-height:1.15;margin-right:24px}#rename-card-form input{box-sizing:border-box;width:100%;min-height:56px;font:inherit;padding:12px;border:1px solid #8c7665;border-radius:12px;margin-top:10px}#rename-card-form .field-hint{font-size:1rem;line-height:1.45}
@media(min-width:1450px){.library-layout{grid-template-columns:205px minmax(0,1fr)}.saved-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.library-layout{grid-template-columns:1fr}.library-sidebar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:14px}.library-sidebar>.primary{width:auto;flex:1 1 180px}.library-tabs{display:flex;gap:8px;flex-wrap:wrap}.library-filter{padding:10px 14px}.library-heading{margin:18px 0 24px}.library-account-panel{width:100%;max-width:none}}
@media(max-width:540px){.library-view{padding:22px 18px 50px}.library-heading h1{font-size:54px}.library-heading p{font-size:1.1rem}.library-sidebar{gap:10px}.library-sidebar>.primary{flex-basis:100%}.library-tabs{width:100%}.library-filter{flex:1;text-align:center;min-width:0}.library-tools{gap:10px}.library-tools input{flex-basis:100%}.library-tools select{flex:1;min-width:0}.saved-cards{grid-template-columns:1fr;gap:28px}.saved-card h2{font-size:1.5rem}.saved-card-actions .primary,.saved-card-actions .secondary{font-size:1.1rem;min-height:54px}.library-photo-dialog{padding:24px 18px}.dialog-actions button{min-width:120px}}

.library-photo-stage{min-height:120px;display:grid;place-items:center}.library-photo-stage [hidden]{display:none}

#library-photo[hidden],#library-photo-loader[hidden]{display:none}

.auth-progress{width:min(420px,calc(100vw - 32px));padding:32px 24px;text-align:center;border-radius:24px;background:var(--paper)}
.auth-progress::backdrop{background:#402c2966;backdrop-filter:blur(3px)}
.auth-progress .loading-indicator{position:relative;inset:auto;height:110px;display:grid;place-items:center;margin-bottom:14px}
.auth-progress .loading-indicator[hidden]{display:grid!important;visibility:hidden}
.auth-progress h2{font-family:var(--display);font-size:clamp(26px,6vw,36px);line-height:1.15;margin:8px 0 16px}
.auth-progress p{font-size:18px;line-height:1.5;margin:0}
