.shop{flex-direction:column;min-height:100vh;display:flex}.shop-main{padding-top:var(--space-5);padding-bottom:calc(96px + env(safe-area-inset-bottom));gap:var(--space-4);flex-direction:column;flex:1;display:flex}.shop-main.narrow{max-width:600px}.shop-header{z-index:20;background:var(--color-brand-bg);color:var(--color-brand-ink);padding-top:env(safe-area-inset-top);position:sticky;top:0}.shop-header-inner{align-items:center;gap:var(--space-3);min-height:64px;display:flex}.brand{align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.brand img{flex:none;width:52px;height:52px}.brand-name{font-size:var(--text-lg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cart-button{width:var(--tap);height:var(--tap);border:1.5px solid var(--color-brand-line);color:var(--color-brand-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.cart-count{border-radius:var(--radius-pill);background:var(--color-accent);min-width:22px;height:22px;color:var(--color-on-accent);justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px}.hero{gap:var(--space-3);flex-direction:column;display:flex}.hero-title{font-size:var(--text-3xl)}@media (width<=380px){.hero-title{font-size:var(--text-2xl)}}.page-title{font-size:var(--text-2xl)}.section-title{font-size:var(--text-lg);font-weight:800}.product-grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=600px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.product-grid{grid-template-columns:repeat(3,1fr)}}.product-card{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex;overflow:hidden}.product-card-media{cursor:pointer;background:0 0;border:none;width:100%;padding:0;display:block;position:relative}.product-photo{aspect-ratio:4/3;background:var(--color-surface-muted);border-radius:0;overflow:hidden}.sheet .product-photo{border-radius:var(--radius-md)}.product-photo img{object-fit:cover;width:100%;height:100%}.product-photo-empty{background:var(--color-brand-bg);justify-content:center;align-items:center;display:flex}.photo-soon{color:#8c8c8c;font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.details-link{align-self:flex-start;min-height:32px}.detail-block{border-top:1px solid var(--color-line);padding-top:var(--space-3);flex-direction:column;gap:4px;display:flex}.detail-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;font-weight:800}.detail-list{font-size:var(--text-sm);margin:0;padding-left:18px}.product-badges{left:var(--space-3);top:var(--space-3);flex-wrap:wrap;gap:6px;display:flex;position:absolute}.product-card-body{padding:var(--space-4);flex-direction:column;flex:1;gap:6px;display:flex}.product-name{font-size:var(--text-lg);font-weight:800}.product-price{font-weight:800;font-size:var(--text-lg);white-space:nowrap}.product-card-actions{padding-top:var(--space-2);margin-top:auto}.option-group{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);gap:var(--space-2);flex-direction:column;margin:0;display:flex}.option-group legend{padding:0 6px}.option-row{align-items:center;gap:var(--space-3);min-height:var(--tap);display:flex}.option-input{width:24px;height:24px;accent-color:var(--color-accent)}.cart-bar{z-index:30;padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom));background:linear-gradient(#fff0,#fff 30%);position:fixed;bottom:0;left:0;right:0}.cart-bar-button{max-width:560px;box-shadow:var(--shadow-md);justify-content:space-between;margin:0 auto;display:flex}.cart-lines{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cart-line{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-line);display:flex}.cart-line-thumb{border-radius:var(--radius-md);background:var(--color-brand-bg);flex:none;width:64px;height:64px;overflow:hidden}.cart-line-thumb img{object-fit:cover;width:100%;height:100%}.total-row{padding-top:var(--space-2);border-top:1px solid var(--color-line)}.total-amount{font-size:var(--text-xl)}.sticky-action{padding:var(--space-3) 0 calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--color-bg);z-index:5;position:sticky;bottom:0}.wrap-chips{flex-wrap:wrap;overflow:visible}.chip:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}.success-mark{background:var(--color-accent);width:64px;height:64px;color:var(--color-on-accent);border-radius:50%;justify-content:center;align-items:center;font-size:34px;font-weight:900;display:flex}.order-number{font-size:var(--text-xl);letter-spacing:.02em}.shop-footer{padding:var(--space-5) 0 calc(var(--space-7) + 48px + env(safe-area-inset-bottom));background:var(--color-brand-bg);color:var(--color-brand-ink)}.shop-footer .soft,.shop-footer .muted{color:#bdbdbd}.shop-footer a{text-decoration:none}.test-banner{color:#6b4500;text-align:center;font-size:var(--text-xs);padding:4px var(--gutter);letter-spacing:.02em;background:#fff5db;font-weight:700}.newsletter{margin-top:var(--space-6);padding:var(--space-5);border:1.5px solid var(--color-line);border-left:4px solid var(--color-accent);border-radius:var(--radius-lg,16px);background:var(--color-surface);gap:var(--space-3);flex-direction:column;display:flex}.newsletter-highlight{margin-top:var(--space-3);background:var(--color-accent-soft);border-color:var(--color-accent)}.newsletter-title{font-family:var(--font-display);font-size:var(--text-xl);margin:0;line-height:1.25}.newsletter-done{margin:0;font-weight:600}.hp-field{opacity:0;width:1px;height:1px;position:absolute;left:-10000px}.marketing-choice{border:1.5px solid var(--color-line);border-radius:var(--radius-md,12px);padding:var(--space-2) var(--space-3);background:var(--color-surface)}.marketing-choice.is-on{border-color:var(--color-accent)}.marketing-check{align-items:flex-start}.marketing-check input{margin-top:2px}.marketing-check>span{flex-direction:column;gap:2px;display:flex}.marketing-channel{align-items:center;gap:6px;display:inline-flex}.marketing-consent{color:var(--color-text-soft,inherit);line-height:1.4}.marketing-field{margin:var(--space-2) 0 var(--space-1) 28px}.checkout-marketing{margin:var(--space-2) 0 0;border:0;min-width:0;padding:0}.checkout-marketing legend{margin-bottom:var(--space-2);padding:0}.footer-legal{margin-top:var(--space-2);font-size:var(--text-xs);flex-wrap:wrap;gap:4px 16px;display:flex}.footer-legal a{color:#d6d6d6;text-underline-offset:2px;padding:6px 0;text-decoration:underline}.cgv-check{align-items:flex-start}.cgv-check input{flex:none;margin-top:2px}.prelaunch-notice{font-weight:600}.claim-thumb{flex-direction:column;align-items:center;gap:4px;display:flex}.claim-thumb img{object-fit:cover;border-radius:var(--radius-sm,8px);border:1px solid var(--color-line-strong);width:84px;height:84px}.vs-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.vs-option{padding:var(--space-3);border:1.5px solid var(--color-line-strong);border-radius:var(--radius-md,12px);flex-direction:column;gap:6px;display:flex}.vs-option img,.vs-noimage{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm,8px);width:100%}.vs-noimage{background:var(--color-accent-soft);place-items:center;font-size:2.5rem;display:grid}.vs-option-chosen,.vs-option-voted{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}.header-link{padding:6px 8px;font-size:.95rem;font-weight:600}.progress{background:var(--color-surface-2,#f1ece4);border-radius:999px;height:10px;overflow:hidden}.progress-bar{background:var(--color-accent);border-radius:999px;height:100%;transition:width .4s}.vote-page{max-width:640px;padding:var(--space-4) var(--gutter,16px) var(--space-6);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.vote-head{text-align:center}.vote-h1{margin:0;font-size:clamp(1.5rem,5.5vw,2rem);line-height:1.15}.vote-h2{margin:0 0 var(--space-3);font-size:1.3rem}.vote-lead{margin:0;font-size:1.1rem}.vote-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.vote-message,.vote-done{text-align:center;align-items:center}.vote-choices{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.vote-choice{border:3px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:stretch;gap:0;padding:0;transition:transform 80ms,border-color .12s;display:flex;overflow:hidden}.vote-choice:active:not(:disabled){transform:scale(.97)}.vote-choice.is-chosen{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.vote-choice:disabled{opacity:.5;cursor:default}.vote-choice img,.vote-noimage{aspect-ratio:1;object-fit:cover;background:var(--color-surface-muted);width:100%;display:block}.vote-noimage{place-items:center;font-size:3rem;display:grid}.vote-choice-label{text-align:center;min-height:56px;padding:14px 10px;font-size:1.1rem;font-weight:800}.vote-cta{min-height:56px;font-size:1.1rem}.vote-input{min-height:54px;font-size:1.1rem}.vote-code{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.6rem}.vote-picked{border-radius:var(--radius-md);background:var(--color-accent-soft);margin:0;padding:10px 14px}.vote-back{align-self:flex-start}.vote-optin{align-items:flex-start}.vote-more summary{cursor:pointer;text-decoration:underline;display:inline}.vote-check{font-size:3.5rem;line-height:1}.vote-confirm{padding:var(--space-3) 0;background:linear-gradient(transparent, var(--color-bg) 30%);flex-direction:column;gap:6px;display:flex;position:sticky;bottom:0}.vote-results{text-align:left;width:100%}.vote-ranking{gap:8px;margin:0;padding:0;list-style:none;display:grid}.vote-ranking li{border-radius:var(--radius-md);background:var(--color-surface-muted);align-items:center;gap:10px;padding:12px 14px;display:flex;position:relative;overflow:hidden}.vote-ranking li.is-mine{outline:2px solid var(--color-accent)}.vote-rank,.vote-rank-label,.vote-rank-pct{z-index:1;position:relative}.vote-rank-label{flex:1;font-weight:700}.vote-rank-pct{font-variant-numeric:tabular-nums;font-weight:700}.vote-bar{background:var(--color-accent-soft);position:absolute;inset:0 auto 0 0}.vote-mine{margin:var(--space-3) 0 0;font-weight:700}
