:root{--tc-color-canvas:#f4efe6;--tc-color-surface:#fffbf5;--tc-color-surface-raised:#ffffff;--tc-color-ink:#1c1420;--tc-color-ink-soft:#3f3540;--tc-color-ink-muted:#6b5e55;--tc-color-line:#e6d9c8;--tc-color-line-strong:#cdb99a;--tc-color-accent:#9b1b30;--tc-color-accent-hover:#7a1526;--tc-color-accent-fg:#fff8f4;--tc-color-brass:#b8923a;--tc-color-brass-fg:#1c1420;--tc-color-success:#1f6b4a;--tc-color-success-fg:#f3fbf6;--tc-color-success-muted:#e4f3ea;--tc-color-danger:#b4232c;--tc-color-danger-fg:#fff7f6;--tc-color-danger-muted:#f8e8e8;--tc-color-warning:#b7791f;--tc-color-focus:#c4a35a;--tc-type-display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--tc-type-body:"Avenir Next","Segoe UI",system-ui,sans-serif;--tc-type-numeric:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--tc-space-1:0.25rem;--tc-space-2:0.5rem;--tc-space-3:0.75rem;--tc-space-4:1rem;--tc-space-5:1.25rem;--tc-space-6:1.5rem;--tc-space-8:2rem;--tc-space-touch:2.75rem;--tc-space-gutter:1.25rem;--tc-radius-sm:0.375rem;--tc-radius-md:0.75rem;--tc-radius-lg:1.125rem;--tc-radius-xl:1.5rem;--tc-radius-pill:999px;--tc-shadow-rest:0 1px 0 rgba(28,20,32,0.04),0 8px 24px -12px rgba(28,20,32,0.12);--tc-shadow-raised:0 1px 0 rgba(28,20,32,0.05),0 16px 40px -16px rgba(28,20,32,0.18);--tc-shadow-overlay:0 24px 64px -20px rgba(28,20,32,0.28);--tc-shadow-focus:0 0 0 3px rgba(196,163,90,0.45)}.tc-root{--background:var(--tc-color-canvas);--foreground:var(--tc-color-ink);--card:var(--tc-color-surface);--card-foreground:var(--tc-color-ink);--popover:var(--tc-color-surface-raised);--popover-foreground:var(--tc-color-ink);--primary:var(--tc-color-accent);--primary-foreground:var(--tc-color-accent-fg);--secondary:var(--tc-color-brass);--secondary-foreground:var(--tc-color-brass-fg);--muted:var(--tc-color-canvas);--muted-foreground:var(--tc-color-ink-muted);--accent:var(--tc-color-brass);--accent-foreground:var(--tc-color-brass-fg);--destructive:var(--tc-color-danger);--destructive-foreground:var(--tc-color-danger-fg);--border:var(--tc-color-line);--input:var(--tc-color-line);--ring:var(--tc-color-focus);--radius:var(--tc-radius-md)}.tc-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tc-space-2);min-height:var(--tc-space-touch);min-width:var(--tc-space-touch);padding:0 var(--tc-space-5);border:1px solid transparent;border-radius:var(--tc-radius-md);font-family:var(--tc-type-body);font-size:1rem;font-weight:600;letter-spacing:-.01em;line-height:1;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent}.tc-btn:focus-visible{outline:none;box-shadow:var(--tc-shadow-focus)}.tc-btn:disabled{opacity:.45;cursor:not-allowed}.tc-btn-sm{padding:0 var(--tc-space-3);font-size:.875rem}.tc-btn-lg,.tc-btn-md,.tc-btn-sm{min-height:var(--tc-space-touch);min-width:var(--tc-space-touch)}.tc-btn-lg{padding:0 var(--tc-space-6)}.tc-btn-accent{background:var(--tc-color-accent);color:var(--tc-color-accent-fg)}.tc-btn-accent:hover:not(:disabled){background:var(--tc-color-accent-hover)}.tc-btn-brass{background:var(--tc-color-brass);color:var(--tc-color-brass-fg)}.tc-btn-ghost{background:transparent;color:var(--tc-color-ink);border-color:var(--tc-color-line-strong)}.tc-btn-quiet{background:var(--tc-color-surface);color:var(--tc-color-ink-soft);border-color:var(--tc-color-line)}.tc-input{display:block;width:100%;min-height:var(--tc-space-touch);padding:0 var(--tc-space-4);border:1px solid var(--tc-color-line);border-radius:var(--tc-radius-md);background:var(--tc-color-surface-raised);color:var(--tc-color-ink);font-family:var(--tc-type-body);font-size:1rem;line-height:1.5}.tc-input::placeholder{color:var(--tc-color-ink-muted)}.tc-input:focus-visible{outline:none;border-color:var(--tc-color-focus);box-shadow:var(--tc-shadow-focus)}.tc-label{display:block;margin-bottom:var(--tc-space-2);color:var(--tc-color-ink-soft);font-family:var(--tc-type-body);font-size:.875rem;font-weight:500;letter-spacing:.02em}.tc-empty,.tc-error,.tc-success{display:flex;flex-direction:column;align-items:flex-start;gap:var(--tc-space-2);padding:var(--tc-space-6) var(--tc-space-gutter);border-radius:var(--tc-radius-lg);font-family:var(--tc-type-body)}.tc-empty{background:var(--tc-color-surface);border:1px dashed var(--tc-color-line-strong);box-shadow:var(--tc-shadow-rest)}.tc-error{background:var(--tc-color-danger-muted);border:1px solid color-mix(in srgb,var(--tc-color-danger) 28%,transparent)}.tc-success{background:var(--tc-color-success-muted);border:1px solid color-mix(in srgb,var(--tc-color-success) 28%,transparent)}.tc-empty-title,.tc-error-title,.tc-success-title{margin:0;font-family:var(--tc-type-display);font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.02em}.tc-empty-title{color:var(--tc-color-ink)}.tc-error-title{color:var(--tc-color-danger)}.tc-success-title{color:var(--tc-color-success)}.tc-empty-desc,.tc-error-detail,.tc-success-detail{color:var(--tc-color-ink-muted);font-size:1rem;line-height:1.5rem}.tc-empty-action,.tc-error-action,.tc-success-action{margin-top:var(--tc-space-3)}.tc-skeleton{display:block;width:100%;height:1rem;border-radius:var(--tc-radius-sm);background:var(--tc-color-line);opacity:.7;animation:tc-pulse 1.2s ease-in-out infinite}@keyframes tc-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.tc-skeleton{animation:none}}body,html{margin:0;min-height:100%;background:var(--tc-color-canvas);color:var(--tc-color-ink);font-family:var(--tc-type-body)}.tc-storefront-shell{box-sizing:border-box;max-width:360px;width:100%;min-height:100vh;margin:0 auto;padding:var(--tc-space-gutter)}.tc-storefront-header{margin-bottom:var(--tc-space-6)}.tc-storefront-kicker{margin:0 0 var(--tc-space-2);color:var(--tc-color-ink-muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.tc-storefront-title{margin:0;font-family:var(--tc-type-display);font-size:1.75rem;line-height:2.25rem}.tc-storefront-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--tc-space-4)}.tc-storefront-card{padding:var(--tc-space-5);background:var(--tc-color-surface);border:1px solid var(--tc-color-line);border-radius:var(--tc-radius-lg);box-shadow:var(--tc-shadow-rest)}.tc-storefront-product-title{margin:0 0 var(--tc-space-4);font-family:var(--tc-type-display);font-size:1.125rem}.tc-storefront-checkout{padding:var(--tc-space-5);background:var(--tc-color-surface);border:1px solid var(--tc-color-line);border-radius:var(--tc-radius-lg)}.tc-storefront-order-id,.tc-storefront-payment{margin:0 0 var(--tc-space-3)}.tc-storefront-payment{font-family:var(--tc-type-numeric)}