.primary,.sn-button{min-height:var(--control-height);border-radius:var(--radius-control);background:var(--color-action-bg);color:var(--color-action-text);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);padding:var(--space-3) var(--space-4);border:1px solid transparent;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)} .primary:hover:not(:disabled),.sn-button:hover:not(:disabled){background:#49392d}.primary:active:not(:disabled),.sn-button:active:not(:disabled){transform:translateY(1px)} .secondary,.sn-button.secondary{min-height:var(--control-height);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-3) var(--space-4);font-size:var(--font-size-label)} .sn-button.soft{background:var(--color-action-soft-bg);color:var(--color-action-soft-text)}.sn-button.compact{min-height:var(--control-height-compact);padding:6px var(--space-3)} .primary:disabled,.secondary:disabled,.sn-button:disabled{background:var(--color-canvas);color:var(--color-text-disabled);border-color:var(--color-border);cursor:not-allowed;transform:none} .primary[aria-busy=true],.sn-button[aria-busy=true]{background:var(--color-action-bg);color:var(--color-action-text);cursor:wait} button:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px} .member,.product,.detail-info,.task-card,.cart-row,.cart-total,.account-balances,.menu,.store-card,.empty{background:var(--color-surface);border-radius:var(--radius-card)} .product h3,.cart-row h3{font-size:var(--font-size-label)}.product .price,.detail-info .price,.cart-row .price{color:var(--color-price)} .member,.task-card,.detail-info,.cart-row,.cart-total,.store-card{padding:var(--space-4)} .tabs button{border-radius:var(--radius-pill);min-height:var(--control-height-compact)}.tabs button.selected{background:var(--color-action-bg);color:var(--color-action-text)} .scene-card{background:var(--color-scene-bg);border-radius:var(--radius-card)} .coupon{border-radius:var(--radius-card);background:var(--color-surface)}.coupon-amount{background:var(--color-action-soft-bg)}.coupon-amount b{color:var(--color-price)} .sn-badge{display:inline-flex;align-items:center;gap:4px;border-radius:6px;background:var(--color-action-soft-bg);color:var(--color-action-soft-text);padding:4px 7px;font-size:var(--font-size-caption);line-height:1.2}.sn-badge.success{background:var(--color-success-bg);color:var(--color-success-text)} .success{background:var(--color-success-bg);color:var(--color-success-text);border-radius:var(--radius-card)} dialog{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-float)} @media(prefers-reduced-motion:reduce){.primary,.sn-button{transition:none;transform:none}} .product-art{background-image:url('../assets/original-products.webp');background-repeat:no-repeat;background-size:200% 200%;aspect-ratio:1.5;width:100%;border-radius:12px;background-color:white;flex-shrink:0}.art0{background-position:0 0}.art1{background-position:100% 0}.art2{background-position:0 100%}.art3{background-position:100% 100%}.scene-card .product-art{width:55%;mix-blend-mode:multiply;transform:rotate(8deg);margin-left:-13px}.products{display:grid;grid-template-columns:1fr 1fr;gap:10px}.product{background:white;border-radius:15px;padding:8px;text-align:left;overflow:hidden}.product .product-art{margin-bottom:8px}.product small{font-size:8px;color:#a2430c;background:var(--color-action-soft-bg);padding:3px 5px;border-radius:4px}.product h3{font-size:12px;margin:8px 0 5px}.product p{color:var(--muted);font-size:9px;line-height:1.7}.price{font-size:21px;color:var(--color-price);font-weight:800;display:block;margin-top:8px}.price span{font-size:10px;font-weight:500}.price em{float:right;background:var(--color-action-soft-bg);width:24px;height:24px;border-radius:50%;font-size:18px;text-align:center;font-style:normal}.coupon{background:white;border-radius:14px;display:flex;position:relative;overflow:hidden;margin:12px 0;min-height:120px}.coupon-amount{width:96px;flex-shrink:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff0e5;border-right:1px dashed #dfc6b2}.coupon-amount b{font-size:36px;color:#af4000}.coupon-amount b small{font-size:16px}.coupon-amount span{font-size:9px;color:#a46136}.coupon-info{padding:16px 12px;flex:1}.coupon-info h3{font-size:14px}.coupon-info p{font-size:9px;line-height:1.8;color:var(--muted);margin:5px 0}.coupon-info button{padding:7px 12px;background:var(--color-text);color:white;border-radius:20px;font-size:9px}.coupon-info button:disabled{background:#eee8e2;color:#978b80} .campaign-copy strong{font-size:var(--font-size-display);font-weight:var(--font-weight-bold)} .section-title h2{font-size:var(--font-size-title);font-weight:var(--font-weight-medium)} .intro p,.detail-info>p{font-size:var(--font-size-label);line-height:var(--line-height-body)} .sn-button.secondary:hover:not(:disabled){background:var(--color-canvas);color:var(--color-text)} .sn-button.soft:hover:not(:disabled){background:#ffe2c9;color:var(--color-action-soft-text)}