:root{color-scheme:light;--color-primary: #1a1a2e;--color-accent: #c9a84c;--color-accent-light: #e8c97a;--color-surface: #ffffff;--color-surface-2: #f9f7f4;--color-surface-3: #f0ede8;--color-text-primary: #1a1a2e;--color-text-secondary: #5c5c7a;--color-text-muted: #9b9bb0;--color-border: #e5e2dc;--color-success: #2d7a4f;--color-danger: #c0392b;--color-warning: #d4820a;--shadow-soft: 0 4px 24px rgba(26, 26, 46, .08);--shadow-card: 0 8px 32px rgba(26, 26, 46, .06);--radius-sharp: 2px;--radius-card: 8px;--radius-modal: 16px;--transition: .25s ease;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--text-h1-size: clamp(2rem, 5vw, 3rem);--text-h1-lh: 1.2;--text-h2-size: clamp(1.5rem, 3vw, 2.25rem);--text-h2-lh: 1.2;--text-h3-size: clamp(1.25rem, 2vw, 1.5rem);--text-h3-lh: 1.2;--text-h4-size: clamp(1.125rem, 1.5vw, 1.25rem);--text-h4-lh: 1.25;--text-h5-size: 1.0625rem;--text-h5-lh: 1.3;--text-h6-size: 1rem;--text-h6-lh: 1.35;--text-body-size: 16px;--text-body-lh: 1.5;--text-caption-size: 12px;--text-button-size: 14px;--space-base: 4px;--marketplace-page-bg: var(--color-surface-3);--marketplace-band-bg: var(--color-surface);--marketplace-hero-base: #e8eef4;--marketplace-hero-deep: #1a2433;--marketplace-hero-maple: #c8102e;--marketplace-hero-orb-opacity: .5;--marketplace-hero-mesh-strength: 1;--marketplace-fade-edge: var(--color-surface);--marketplace-card-shadow: var(--shadow-card);--footer-bg: var(--color-surface-2);--footer-surface: var(--color-surface);--footer-text: var(--color-text-primary);--footer-text-muted: var(--color-text-secondary);--footer-text-subtle: var(--color-text-muted);--footer-heading: var(--color-text-primary);--footer-link: var(--color-text-secondary);--footer-link-hover: var(--color-accent);--footer-border: var(--color-border);--footer-focus-ring: var(--color-accent);--footer-pill-bg: var(--color-surface);--footer-pill-border: var(--color-border);--color-surface-raised: #ffffff;--color-text: var(--color-text-primary);--color-bg: var(--color-surface-3);--color-bg-subtle: var(--color-surface-2);--color-surface-elevated: #ffffff;--color-surface-muted: #f0ede8;--color-border-subtle: rgba(26, 26, 46, .1);--brand-navy: #1a1a2e}html[data-theme=light]{--footer-bg: #ebe8e2;--footer-border: #ddd9d2;--color-surface-raised: #ffffff;--color-surface-elevated: #ffffff;--color-surface-muted: #f0ede8;--color-border-subtle: rgba(26, 26, 46, .1)}html[data-theme=dark]{color-scheme:dark;--color-primary: #e8e6f0;--color-surface: #1a1a2e;--color-surface-2: #151520;--color-surface-3: #0f0f1a;--color-surface-raised: #222236;--color-surface-elevated: #222236;--color-surface-muted: #1a1a28;--color-text-primary: #f4f2f8;--color-text-secondary: #b8b8cc;--color-text-muted: #8a8a9e;--color-text: var(--color-text-primary);--color-bg: var(--color-surface-3);--color-bg-subtle: var(--color-surface-2);--color-border: #2a2a3e;--color-border-subtle: rgba(255, 255, 255, .1);--brand-navy: #1a1a2e;--shadow-soft: 0 4px 24px rgba(0, 0, 0, .35);--shadow-card: 0 8px 32px rgba(0, 0, 0, .4);--marketplace-page-bg: #0a0a14;--marketplace-band-bg: var(--color-surface-2);--marketplace-hero-base: #060810;--marketplace-hero-deep: #02040a;--marketplace-hero-maple: #e11d3a;--marketplace-hero-orb-opacity: .7;--marketplace-hero-mesh-strength: 1.35;--marketplace-fade-edge: var(--color-surface-2);--marketplace-card-shadow: 0 8px 32px rgba(0, 0, 0, .55), 0 0 0 1px rgba(201, 168, 76, .06);--footer-bg: #0c0c14;--footer-surface: var(--color-surface);--footer-text: var(--color-text-primary);--footer-text-muted: var(--color-text-secondary);--footer-text-subtle: var(--color-text-muted);--footer-heading: var(--color-text-primary);--footer-link: var(--color-text-secondary);--footer-link-hover: var(--color-accent-light);--footer-border: var(--color-border);--footer-focus-ring: var(--color-accent-light);--footer-pill-bg: rgba(255, 255, 255, .04);--footer-pill-border: rgba(255, 255, 255, .08)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;overflow-x:clip;font-family:var(--font-body);font-weight:400;font-size:var(--text-body-size);line-height:var(--text-body-lh);color:var(--color-text-primary);background:var(--color-surface-3);transition:background-color var(--transition),color var(--transition)}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-display);font-weight:500;letter-spacing:.05em;margin:0 0 calc(var(--space-base) * 4);color:var(--color-text-primary)}h1,.h1{font-size:var(--text-h1-size);line-height:var(--text-h1-lh)}h2,.h2{font-size:var(--text-h2-size);line-height:var(--text-h2-lh)}h3,.h3{font-size:var(--text-h3-size);line-height:var(--text-h3-lh)}h4,.h4{font-size:var(--text-h4-size);line-height:var(--text-h4-lh)}h5,.h5{font-size:var(--text-h5-size);line-height:var(--text-h5-lh)}h6,.h6{font-size:var(--text-h6-size);line-height:var(--text-h6-lh)}.micro{font-family:var(--font-body);font-size:var(--text-caption-size);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-link{position:absolute;inset-inline-start:calc(var(--space-base) * 4);inset-block-start:calc(var(--space-base) * 4);z-index:10000;padding:calc(var(--space-base) * 3) calc(var(--space-base) * 4);background:var(--color-accent);color:var(--brand-navy, #1a1a2e);font-weight:600;border-radius:var(--radius-sharp);transform:translateY(-200%);transition:transform var(--transition)}.skip-link:focus{transform:translateY(0)}.container{width:100%;max-width:1400px;margin-inline:auto;padding-inline:calc(var(--space-base) * 4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--space-base) * 2);min-height:44px;padding-inline:calc(var(--space-base) * 5);padding-block:calc(var(--space-base) * 3);font-family:var(--font-body);font-size:var(--text-button-size);font-weight:500;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;border-radius:var(--radius-sharp);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition),opacity var(--transition)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-surface)}.btn--primary:hover:not(:disabled){background:var(--color-text-secondary)}.btn--outline{background:transparent;color:var(--color-primary);border-color:var(--color-border)}.btn--outline:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.btn--accent{background:var(--color-accent);color:var(--brand-navy, #1a1a2e)}.btn--accent:hover:not(:disabled){background:var(--color-accent-light);color:var(--brand-navy, #1a1a2e)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--sm{min-height:36px;padding-inline:calc(var(--space-base) * 3);font-size:var(--text-caption-size)}html[data-theme=dark] .btn--primary{background:var(--color-accent);color:var(--brand-navy, #1a1a2e);border-color:transparent}html[data-theme=dark] .btn--primary:hover:not(:disabled){background:var(--color-accent-light);color:var(--brand-navy, #1a1a2e)}html[data-theme=dark] .btn--outline{color:var(--color-text-primary);border-color:var(--color-border);background:transparent}html[data-theme=dark] .btn--outline:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-light)}html[data-theme=dark] .btn--accent{color:var(--brand-navy, #1a1a2e)}html[data-theme=dark] .btn--accent:hover:not(:disabled){color:var(--brand-navy, #1a1a2e)}html[data-theme=dark] .skip-link{background:var(--color-accent);color:var(--brand-navy, #1a1a2e)}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--color-surface-2) 25%,var(--color-surface-3) 50%,var(--color-surface-2) 75%);background-size:200% 100%;animation:shimmer 1.2s ease infinite;border-radius:var(--radius-card)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.badge{display:inline-flex;align-items:center;padding:calc(var(--space-base) * 1) calc(var(--space-base) * 2);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sharp)}.badge--success{background:#2d7a4f1f;color:var(--color-success)}.badge--warning{background:#d4820a26;color:var(--color-warning)}.badge--danger{background:#c0392b1f;color:var(--color-danger)}.badge--neutral{background:var(--color-surface-2);color:var(--color-text-secondary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.empty-state{text-align:center;padding:calc(var(--space-base) * 12) calc(var(--space-base) * 4);color:var(--color-text-secondary)}.empty-state__title{font-family:var(--font-display);font-size:1.5rem;margin-bottom:calc(var(--space-base) * 3)}.product-unavailable{max-width:28rem;margin-inline:auto;display:grid;gap:calc(var(--space-base) * 4);justify-items:center}.product-unavailable__body{margin:0;max-width:24rem;line-height:1.5;color:var(--color-text-primary)}.product-unavailable__redirect{margin:0}.route-need-store{max-width:28rem;margin-inline:auto;display:grid;gap:calc(var(--space-base) * 4);justify-items:center}.route-need-store__actions{display:flex;flex-wrap:wrap;gap:calc(var(--space-base) * 3);justify-content:center}.email-verify-page{max-width:28rem;margin-inline:auto}.email-verify-page .email-verify-gate__actions{display:flex;flex-direction:column;gap:.65rem;margin-top:1rem}.field-error{font-size:var(--text-caption-size);color:var(--color-danger);margin-top:calc(var(--space-base) * 1)}[aria-invalid=true]{border-color:var(--color-danger)!important}.page-enter{animation:pageIn .35s ease}@media(prefers-reduced-motion:reduce){.page-enter{animation:none}}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}#sr-announcements{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}img[data-proxied=true]{max-width:100%;height:auto;display:block}.conn-status{position:fixed;inset-inline:0;inset-block-start:0;z-index:1100;margin:0;padding:.65rem 1rem;text-align:center;background:color-mix(in srgb,var(--color-warning) 18%,var(--color-surface));border-block-end:1px solid color-mix(in srgb,var(--color-warning) 45%,var(--color-border));color:var(--color-text-primary)}.conn-status[hidden]{display:none!important}.conn-status__text{margin:0;font-size:.875rem;line-height:1.4;font-weight:500}html[data-theme=dark] .conn-status{background:color-mix(in srgb,var(--color-warning) 22%,#1a1a2e);border-block-end-color:color-mix(in srgb,var(--color-warning) 40%,transparent)}.conn-status--offline{background:color-mix(in srgb,#c0392b 16%,var(--color-surface));border-block-end-color:color-mix(in srgb,#c0392b 40%,var(--color-border))}html[data-theme=dark] .conn-status--offline{background:color-mix(in srgb,#e74c3c 20%,#1a1a2e);border-block-end-color:color-mix(in srgb,#e74c3c 35%,transparent)}.modal-overlay{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:calc(var(--space-base) * 4);background:#0f0f1ab8;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition);box-sizing:border-box}.modal-overlay--open{opacity:1;visibility:visible}.modal{width:min(100%,440px);max-height:90vh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-modal);box-shadow:var(--shadow-card);padding:calc(var(--space-base) * 6);box-sizing:border-box;font-family:var(--font-body);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.modal::-webkit-scrollbar{width:8px;height:8px}.modal::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.modal::-webkit-scrollbar-track{background:transparent}.modal__title{font-family:var(--font-display);font-size:1.75rem;margin-bottom:calc(var(--space-base) * 6);color:var(--color-text-primary)}.modal__actions{display:flex;flex-wrap:wrap;gap:calc(var(--space-base) * 2);justify-content:flex-end;margin-top:calc(var(--space-base) * 4)}.form-group{margin-bottom:calc(var(--space-base) * 4)}.form-group label{display:block;font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--color-text-secondary);margin-bottom:calc(var(--space-base) * 2)}.form-group legend{margin-bottom:calc(var(--space-base) * 2);padding:0;border:0}.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea,.input{width:100%;max-width:100%;box-sizing:border-box;min-height:2.75rem;padding:.65rem .85rem;font-family:var(--font-body);font-size:.9375rem;line-height:1.4;border:1px solid var(--color-border);border-radius:var(--radius-sharp);background:var(--color-surface-2);color:var(--color-text-primary)}.form-group textarea,textarea.input{min-height:5.5rem;resize:vertical}.form-group input:not([type=checkbox]):not([type=radio])::placeholder,.form-group textarea::placeholder,.input::placeholder{color:var(--color-text-muted);opacity:1}.form-group input:not([type=checkbox]):not([type=radio]):hover,.form-group select:hover,.form-group textarea:hover,.input:hover{border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-border))}.form-group input:not([type=checkbox]):not([type=radio]):focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible,.input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent)}html[data-theme=dark] .form-group input:not([type=checkbox]):not([type=radio]),html[data-theme=dark] .form-group select,html[data-theme=dark] .form-group textarea,html[data-theme=dark] .input{background:var(--color-surface-raised);color:var(--color-text-primary);border-color:var(--color-border)}
