.op-product,:root:has(.op-product){--t-caption:11px;--t-caption-lh:14px;--t-meta:12px;--t-meta-lh:16px;--t-small:13px;--t-small-lh:18px;--t-body:14px;--t-body-lh:20px;--t-body-lg:15px;--t-body-lg-lh:22px;--t-title:16px;--t-title-lh:22px;--t-heading:20px;--t-heading-lh:26px;--t-page:24px;--t-page-lh:30px;--t-display:30px;--t-display-lh:36px;--t-hero:40px;--t-hero-lh:46px;--action:#0f172a;--action-hover:#1e293b;--on-action:#fff;--accent:#0f172a;--accent-fg:#0f172a;--accent-hover:#334155;--accent-subtle:#f1f5f9;--accent-border:#e2e8f0;--swipe-neutral:#e5e7eb;--shadow-card:inset 0 0 0 1px #e9eef4,0 1px 6px rgba(15,23,42,.04)}.op-section-title{margin:0;font-size:var(--t-small);line-height:var(--t-small-lh);font-weight:600;letter-spacing:0;text-transform:none;color:var(--fg-secondary)}.op-link{color:var(--fg);font-weight:600;text-decoration:underline;text-decoration-color:var(--slate-300);text-underline-offset:3px;text-decoration-thickness:1px;background:none;border:0;padding:0;font-family:inherit;font-size:inherit;cursor:pointer}.op-link:hover{text-decoration-color:currentColor}.op-link-standalone{text-decoration-color:transparent}.op-link-standalone:focus-visible{text-decoration-color:currentColor}.op-t-caption{font-size:var(--t-caption);line-height:var(--t-caption-lh)}.op-t-meta{font-size:var(--t-meta);line-height:var(--t-meta-lh)}.op-t-small{font-size:var(--t-small);line-height:var(--t-small-lh)}.op-t-body{font-size:var(--t-body);line-height:var(--t-body-lh)}.op-t-body-lg{font-size:var(--t-body-lg);line-height:var(--t-body-lg-lh)}.op-t-title{font-size:var(--t-title);line-height:var(--t-title-lh);font-weight:600;letter-spacing:-.01em}.op-t-heading{font-size:var(--t-heading);line-height:var(--t-heading-lh);font-weight:700;letter-spacing:-.01em}.op-t-page{font-size:var(--t-page);line-height:var(--t-page-lh);font-weight:700;letter-spacing:-.02em}.op-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:600;line-height:1;letter-spacing:0;white-space:nowrap;text-decoration:none;cursor:pointer;flex-shrink:0;transition:background-color .12s ease,border-color .12s ease,color .12s ease,filter .12s ease}.op-btn-sm{height:36px;padding:0 14px;font-size:13px}.op-btn-md{height:40px;padding:0 18px;font-size:14px}.op-btn-lg{height:48px;padding:0 22px;font-size:15px}.op-btn-xl{height:56px;padding:0 26px;font-size:16px}.op-btn-block{width:100%}.op-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.op-btn:disabled,.op-btn[aria-disabled=true]{background:var(--slate-100)!important;background-image:none!important;border-color:var(--slate-200)!important;color:var(--fg-muted)!important;cursor:not-allowed;box-shadow:none!important;filter:none!important}.op-btn-primary{background:var(--action);border-color:var(--action);color:var(--on-action)}.op-btn-primary:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover)}.op-btn.op-btn-money{color:var(--fg-on-brand);border-color:transparent;background-origin:border-box}.op-btn-secondary{background:#fff;border-color:var(--slate-300);color:var(--fg)}.op-btn-secondary:hover:not(:disabled){background:rgba(15,23,42,.05);border-color:var(--slate-400)}.op-btn-ghost{background:transparent;color:var(--fg-secondary)}.op-btn-ghost:hover:not(:disabled){background:rgba(15,23,42,.05);color:var(--fg)}.op-btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.op-btn-danger:hover:not(:disabled){background:var(--danger-fg);border-color:var(--danger-fg)}.op-btn-danger-outline{background:#fff;border-color:#fca5a5;color:var(--danger-fg)}.op-btn-danger-outline:hover:not(:disabled){background:var(--danger-subtle)}.op-btn-danger-text,.op-btn-link{height:auto;min-height:36px;padding:0 2px;border:none;background:none}.op-btn-danger-text{color:var(--danger-fg)}.op-btn-link{color:var(--fg);text-decoration:underline;text-decoration-color:var(--slate-300);text-underline-offset:3px}.op-btn-danger-text:hover:not(:disabled),.op-btn-link:hover:not(:disabled){text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}.op-btn-danger-text:disabled,.op-btn-link:disabled{background:none!important}.op-ibtn{box-sizing:border-box;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--fg-muted);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.op-ibtn-sm{width:30px;height:30px}.op-ibtn:hover:not(:disabled){background:rgba(15,23,42,.06);color:var(--fg)}.op-ibtn-outline{background:#fff;border-color:var(--slate-300)}.op-ibtn-filled{background:var(--action);color:var(--on-action)}.op-ibtn-filled:hover:not(:disabled){background:var(--action-hover);color:var(--on-action)}.op-ibtn-outline:hover:not(:disabled){background:rgba(15,23,42,.05);border-color:var(--slate-400)}.op-ibtn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.op-ibtn:disabled{opacity:.45;cursor:not-allowed}@media (max-width:819px){.op-btn-md,.op-btn-sm{height:44px;font-size:15px}.op-ibtn,.op-ibtn-sm{width:44px;height:44px}}.op-tag{box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;font-size:var(--t-meta);font-weight:600;line-height:1;letter-spacing:0;white-space:nowrap;background:var(--slate-100);color:var(--fg-secondary)}.op-tag-wrap{height:auto;min-height:22px;padding-block:3px;white-space:normal;line-height:16px}.op-tag-dot{width:6px;height:6px;border-radius:999px;flex-shrink:0;background:var(--slate-500)}.op-tag-muted{color:var(--fg-muted)}.op-tag-muted .op-tag-dot{background:var(--slate-400)}.op-tag-success{background:var(--success-subtle);color:var(--success-fg)}.op-tag-success .op-tag-dot{background:var(--success)}.op-tag-warning{background:var(--warning-subtle);color:var(--warning-fg)}.op-tag-warning .op-tag-dot{background:var(--warning)}.op-tag-danger{background:var(--danger-subtle);color:var(--danger-fg)}.op-tag-danger .op-tag-dot{background:var(--danger)}.op-tag-live{background:var(--success-subtle);color:var(--success-fg)}.op-tag-live .op-tag-dot{background:#36d060}.op-chip{box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;flex-shrink:0;border-radius:999px;border:1px solid var(--slate-300);background:#fff;color:var(--fg-secondary);font:inherit;font-size:var(--t-small);font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.op-chip:hover:not(:disabled):not([aria-pressed=true]){background:rgba(15,23,42,.05);border-color:var(--slate-400);color:var(--fg)}.op-chip[aria-pressed=true]{background:var(--action);border-color:var(--action);color:var(--on-action)}.op-chip:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.op-chip:disabled{opacity:.5;cursor:not-allowed}.op-chip-count{font-variant-numeric:tabular-nums;color:var(--fg-muted)}.op-chip[aria-pressed=true] .op-chip-count{color:hsla(0,0%,100%,.78)}@media (max-width:819px){.op-chip{height:40px;padding:0 14px;font-size:14px}}.op-card-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.op-card-title{margin:0;font-size:var(--t-title);line-height:var(--t-title-lh);font-weight:600;letter-spacing:-.01em;color:var(--fg)}.op-card-desc{margin:2px 0 0;font-size:var(--t-small);line-height:var(--t-small-lh);color:var(--fg-muted)}.op-swipe-tray{position:absolute;inset:0 0 0 auto;display:flex;align-items:center}.op-btn.op-swipe-action{height:100%;min-height:64px;padding:8px 0;border:0;border-radius:12px}.op-btn.op-swipe-action,.op-btn.op-swipe-action:hover:not(:disabled){background:transparent;color:var(--fg-secondary)}.op-swipe-circle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--swipe-neutral);color:var(--fg-secondary)}.op-swipe-action:focus-visible .op-swipe-circle,.op-swipe-action:hover .op-swipe-circle{background:var(--slate-300)}.op-swipe-content{border-radius:0}.op-swipe-content-open{border-radius:0 16px 16px 0;overflow:hidden}.op-swipe-content-open:after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--slate-900);opacity:.08}