html[data-maintenance=pending] body,html[data-maintenance=curtain] body{visibility:hidden}html[data-maintenance=curtain]{overflow:hidden}html[data-maintenance=curtain] .maintenance-curtain,html[data-maintenance=curtain] .auth-dialog{visibility:visible}.maintenance-curtain{z-index:900;padding:2rem var(--gutter,1.25rem);background:var(--bg);color:var(--ink);outline:none;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.maintenance-card{text-align:center;flex-direction:column;align-items:center;width:min(100%,30rem);display:flex}.maintenance-logo{border-radius:50%;width:72px;height:72px;margin-bottom:1.75rem}.maintenance-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:.5em;font-size:.78rem;font-weight:500;display:inline-flex}.maintenance-title{letter-spacing:-.02em;margin:.9rem 0 0;font-size:clamp(2.2rem,7vw,3.2rem);font-weight:600;line-height:1.1}.maintenance-text{color:var(--ink-soft);margin-top:1rem;font-size:clamp(1rem,2.6vw,1.12rem);line-height:1.65}.maintenance-notice{color:#b3261e;margin-top:1.25rem;font-size:.92rem}.maintenance-notice:empty{display:none}[data-theme=dark] .maintenance-notice{color:#ffb4ab}.maintenance-login{border-radius:var(--radius-pill);min-height:44px;color:var(--ink-faint);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:2.5rem;padding:.5rem .9rem;font-size:.88rem;text-decoration:underline}.maintenance-login:hover{color:var(--ink)}.maintenance-login:focus-visible,.maintenance-banner a:focus-visible{outline-offset:3px;outline:2px solid}.maintenance-banner{z-index:80;padding:.5rem var(--gutter,1.25rem);background:var(--forest-deep);color:#fbf9f2;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem 1rem;font-size:.85rem;line-height:1.35;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -1px #ffffff24}.maintenance-banner a{color:var(--amber);text-underline-offset:3px;white-space:nowrap;font-weight:600;text-decoration:underline}html[data-maintenance=admin] body{padding-bottom:var(--maintenance-banner,2.75rem)}
.cart-trigger{border:1px solid var(--border);background:var(--bg-elevated);width:42px;height:42px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.cart-trigger:hover{border-color:var(--ink)}.cart-count{background:var(--amber);min-width:20px;height:20px;color:var(--amber-ink);border-radius:var(--radius-pill);place-items:center;padding-inline:4px;font-size:.65rem;font-weight:600;display:grid;position:absolute;top:-5px;right:-6px}.cart-count[hidden]{display:none}.cart-drawer{background:var(--bg-sunken);width:min(460px,100%);max-width:100%;height:100dvh;max-height:100dvh;color:var(--ink);box-shadow:-16px 0 64px rgba(var(--shadow-color), .15);border:0;margin:0 0 0 auto;padding:0;position:fixed;inset:0 0 0 auto}.cart-drawer[open]{flex-direction:column;display:flex}.cart-drawer::backdrop{background:#0000006b}.cart-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.cart-header h2{align-items:center;gap:.65rem;margin:0;font-size:1.1rem;display:flex}.cart-heading-count{border-radius:var(--radius-pill);background:var(--bg-sunken);color:var(--ink-soft);padding:.15rem .45rem;font-size:.75rem}.cart-close{background:var(--bg-sunken);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;font-size:1.75rem;display:grid}.cart-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.cart-empty-icon{border:1px solid var(--border);background:var(--bg-elevated);width:80px;height:80px;color:var(--ink-faint);border-radius:50%;place-items:center;margin-bottom:1.25rem;display:grid}.cart-empty-icon svg{width:36px;height:36px}.cart-empty h3{margin:0 0 .5rem;font-size:1.2rem}.cart-empty p{max-width:30ch;color:var(--ink-soft);margin:0 0 1.5rem;font-size:.95rem}.cart-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.cart-feedback{color:var(--ink-soft);text-align:center;padding:2rem 1.25rem}.cart-items{gap:1rem;margin:0;padding:1.25rem;list-style:none;display:grid}.cart-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);grid-template-columns:88px minmax(0,1fr);gap:1rem;padding:1rem;display:grid}.cart-item-photo{background:var(--bg-sunken);border-radius:8px;align-self:start;overflow:hidden}.cart-item-photo img{object-fit:contain;width:88px;height:88px;display:block}.cart-item-name{overflow-wrap:anywhere;font-size:1rem;font-weight:500;line-height:1.35;display:block}.cart-item-name:hover{text-decoration:underline}.cart-item-price{margin:.5rem 0 .75rem;font-weight:600}.cart-item-color{color:var(--ink-soft);overflow-wrap:anywhere;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.85rem;display:flex}.cart-color-swatch{border:1px solid var(--border-strong);background:var(--bg-sunken);border-radius:50%;flex:none;width:16px;height:16px}.cart-item-color-error{color:var(--ink-soft);margin-top:.5rem;font-size:.8rem}.cart-remove{min-height:44px;color:var(--ink-soft);text-underline-offset:3px;font:inherit;cursor:pointer;background:0 0;border:0;grid-column:1/-1;justify-self:end;padding:.5rem .25rem;font-size:.85rem;text-decoration:underline}.cart-unavailable{color:var(--ink-soft);grid-column:1/-1}.cart-summary{padding:1.25rem;padding-bottom:max(1.25rem, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-elevated);flex:none}.cart-summary p{color:var(--ink-soft);margin:0 0 .65rem;font-size:.82rem}.cart-summary .cart-subtotal{color:var(--ink);justify-content:space-between;gap:1rem;margin-bottom:.75rem;font-size:1.1rem;display:flex}.cart-summary .btn{width:100%;margin-top:.35rem}.cart-summary .cart-coming-soon{text-align:center;margin-top:.6rem}.cart-summary .btn:disabled,.product-purchase .btn:disabled{opacity:.55;cursor:default;box-shadow:none;transform:none}.cart-continue{width:100%;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:.5rem;font-size:.85rem}.quantity-control{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-elevated);align-items:center;width:fit-content;min-height:44px;display:inline-flex;overflow:hidden}.quantity-control button{width:44px;height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-size:1.25rem}.quantity-control button:disabled{opacity:.35;cursor:default}.quantity-control button:hover:not(:disabled){background:var(--bg-sunken)}.quantity-control input{width:3ch;min-width:30px;color:var(--ink);font:inherit;text-align:center;appearance:textfield;background:0 0;border:0;padding:0}.quantity-control input::-webkit-inner-spin-button{appearance:none;margin:0}.quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}.quantity-control:focus-within,.cart-drawer :focus-visible,.cart-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.cart-drawer .products-status,.quantity-control .products-status{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:380px){.nav-actions{gap:.25rem}.cart-item{grid-template-columns:64px minmax(0,1fr);gap:.75rem;padding:.75rem}.cart-item-photo img{width:64px;height:64px}}@media (max-height:600px){.cart-summary{padding-block:.6rem}.cart-summary p{margin-bottom:.35rem}.cart-header{padding-block:.5rem}}
