.product-flow-body { min-height:100vh; color:#181816; background:#f8f6f1; overflow-x:hidden; }
.product-flow-body[data-product-page="feed"] { width:100%; height:100svh; overflow:hidden; overscroll-behavior:none; }
.product-language-switch { position:fixed; z-index:90; top:max(14px,env(safe-area-inset-top)); right:max(14px,env(safe-area-inset-right)); display:inline-flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid rgba(20,20,20,.12); border-radius:999px; background:rgba(255,255,255,.82); color:#171717; font-size:12px; backdrop-filter:blur(16px); }
.product-language-switch select { border:0; background:transparent; color:inherit; font:inherit; }
.product-flow-body[data-product-page="feed"] .product-language-switch,
.product-flow-body[data-product-page="account"] .product-language-switch { top:max(16px,env(safe-area-inset-top)); right:max(132px,calc(env(safe-area-inset-right) + 118px)); }
.product-topbar { position:fixed; inset:0 0 auto; z-index:50; display:flex; align-items:center; justify-content:space-between; height:64px; padding:10px clamp(18px,4vw,56px); color:#181816; background:rgba(250,248,244,.82); border-bottom:1px solid rgba(34,30,25,.1); backdrop-filter:blur(18px); }
.product-topbar .brand { color:#181816; text-decoration:none; font-weight:800; letter-spacing:.12em; }
.product-topbar .brand-mark { border-color:#181816; box-shadow:inset -3px 0 0 #f8f5f0; }
.product-topbar-actions { display:flex; align-items:center; gap:10px; }
.product-credit-button, .product-account-button { border-radius:999px; padding:10px 16px; font:inherit; cursor:pointer; }
.product-credit-button { border:1px solid rgba(190,115,91,.5); background:linear-gradient(135deg,#d79182,#efb0a0); color:#291b1a; font-weight:800; box-shadow:0 5px 18px rgba(182,105,91,.25); }
.product-credit-button.is-purchase { background:linear-gradient(135deg,#d9ad58,#f0ce7f); border-color:rgba(156,108,32,.45); }
.product-account-button { border:1px solid rgba(24,24,22,.14); background:rgba(255,255,255,.8); color:#181816; }
.product-pages { position:relative; z-index:3; min-height:100svh; }
.product-page[hidden] { display:none !important; }
.product-upload-page { min-height:100svh; display:grid; place-items:center; padding:74px 18px 70px; }
.product-upload-page .homepage-panel { width:min(610px,100%); }
.product-feed-page { height:100svh; min-height:100svh; overflow:hidden; overscroll-behavior:none; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:78px 16px 24px; background:#050505; color:#fff; }
.product-feed-stage { position:relative; width:min(72vw,760px); height:min(76svh,900px); min-height:280px; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#000; touch-action:none; overscroll-behavior:none; outline:none; }
.product-feed-image, .product-feed-next { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; transform:translateY(0); }
.product-feed-next { transform:translateY(100%); }
.product-feed-stage.slide-up .product-feed-image { transform:translateY(-100%); transition:transform .34s ease; }
.product-feed-stage.slide-up .product-feed-next { transform:translateY(0); transition:transform .34s ease; }
.product-feed-stage.slide-down .product-feed-image { transform:translateY(100%); transition:transform .34s ease; }
.product-feed-stage.slide-down .product-feed-next { transform:translateY(-100%); transition:transform .34s ease; }
.product-feed-loading { position:absolute; padding:10px 14px; border-radius:999px; background:rgba(0,0,0,.7); color:#fff; }
.product-feed-progress { width:min(72vw,760px); display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:10px auto 0; }
.product-feed-progress span { height:4px; overflow:hidden; border-radius:4px; background:#666; }
.product-feed-progress i { display:block; width:0; height:100%; background:#fff; }
.product-feed-progress i.current { width:100%; transition:width 2.5s linear; }
.product-feed-meta { min-height:26px; padding:9px 0 0; color:rgba(255,255,255,.78); font-size:13px; text-align:center; }
.product-feed-actions { display:flex; justify-content:center; gap:9px; flex-wrap:wrap; padding-top:7px; }
.product-feed-help { margin:8px 0 0; color:#999; font-size:12px; text-align:center; }
.product-feed-status { min-height:1.3em; margin:5px 0 0; color:#bbb; text-align:center; font-size:12px; }
.product-feed-audio { display:none; }
.product-gesture-tip { position:absolute; left:50%; bottom:18%; z-index:4; width:min(340px,calc(100% - 36px)); transform:translateX(-50%); padding:16px 18px; border:1px solid rgba(255,255,255,.28); border-radius:18px; background:rgba(20,20,20,.68); box-shadow:0 14px 40px rgba(0,0,0,.32); color:#fff; text-align:center; backdrop-filter:blur(14px); }
.product-gesture-tip p { margin:0; line-height:1.7; font-size:14px; }
.product-gesture-tip button { margin-top:10px; padding:7px 14px; border:1px solid rgba(255,255,255,.35); border-radius:999px; background:rgba(255,255,255,.13); color:#fff; cursor:pointer; }
.product-primary, .product-secondary { border:0; border-radius:999px; padding:12px 18px; color:#1d1b1a; font:inherit; cursor:pointer; }
.product-primary { background:#ecc4a2; }
.product-secondary { background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.25); }
.product-primary:disabled, .product-secondary:disabled { opacity:.46; cursor:not-allowed; }
.product-account-page { min-height:100svh; padding:96px clamp(18px,6vw,100px) 60px; background:#f8f6f1; color:#181816; }
.product-account-header { display:flex; align-items:flex-start; gap:18px; width:min(920px,100%); margin:0 auto; }
.product-account-header h1 { margin:0; font-size:clamp(34px,5vw,54px); letter-spacing:-.04em; }
.product-back-button { width:44px; height:44px; border:1px solid rgba(24,24,22,.16); border-radius:50%; background:#fff; color:#181816; font-size:27px; line-height:1; cursor:pointer; }
.product-account-email { margin:6px 0 0; color:#746e63; font-size:13px; overflow-wrap:anywhere; }
.product-account-content { width:min(920px,100%); margin:30px auto 0; }
.product-account-section { padding:22px 0; border-top:1px solid rgba(24,24,22,.12); }
.product-account-section h2 { margin:0 0 12px; font-size:20px; }
.product-account-selfies { display:grid; grid-template-columns:repeat(3,minmax(0,170px)); gap:10px; margin-bottom:12px; }
.product-account-selfies img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:14px; background:#e9e5dc; }
.product-account-muted { color:#746e63; line-height:1.55; font-size:13px; }
.product-account-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
.product-account-page .product-primary { background:#1b1b18; color:#fff; }
.product-account-page .product-secondary { background:#fff; color:#181816; border-color:rgba(24,24,22,.16); text-decoration:none; }
.product-account-link { display:inline-flex; align-items:center; }
.product-account-purchases { display:grid; gap:8px; }
.product-purchase-row { display:grid; grid-template-columns:90px 1fr auto; gap:12px; align-items:center; padding:12px 14px; border-radius:12px; background:#eeebe4; font-size:13px; }
.product-purchase-row small { color:#746e63; }
.product-account-history { display:grid; gap:18px; }
.product-history-card { padding:14px; border-radius:15px; background:#eeebe4; }
.product-history-card h3 { margin:0 0 10px; font-size:15px; }
.product-history-images { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.product-history-images figure { margin:0; min-width:0; }
.product-history-images img { display:block; width:100%; aspect-ratio:3/4; object-fit:contain; border-radius:8px; }
.product-history-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:12px; }
.product-history-actions .product-status { flex:1 1 100%; margin:0; color:#746e63; }
.product-history-selection { flex:1 0 100%; }
.product-history-image-select { display:block; width:100%; padding:0; border:3px solid transparent; border-radius:11px; background:transparent; cursor:pointer; }
.product-history-image-select.is-selected { border-color:#bd7d67; box-shadow:0 0 0 2px rgba(189,125,103,.15); }
.product-history-image-select img { border-radius:7px; }
.product-history-images a { display:block; margin-top:5px; color:#965746; font-size:11px; text-align:center; }
.product-account-logout { margin-top:18px; padding:4px 0; border:0; background:transparent; color:#a33b32; cursor:pointer; }
.product-dialog { width:min(500px,calc(100% - 28px)); border:1px solid rgba(255,255,255,.2); border-radius:24px; background:#1b1b1d; color:#fff; padding:0; }
.product-dialog::backdrop { background:rgba(0,0,0,.72); }
.product-dialog-close { position:absolute; top:12px; right:14px; z-index:3; width:34px; height:34px; padding:0; border:0; border-radius:50%; background:rgba(0,0,0,.55); color:#fff; font-size:24px; cursor:pointer; }
.product-download-dialog progress { width:100%; height:10px; accent-color:#ecc4a2; }
.product-download-dialog .product-status { color:rgba(255,255,255,.72); text-align:left; line-height:1.5; }
.product-download-file-list { display:grid; gap:8px; margin:16px 0; }
.product-download-file { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:9px; align-items:center; padding:9px 10px; border-radius:11px; background:rgba(255,255,255,.08); }
.product-download-file span { font-size:13px; }
.product-download-file small { color:rgba(255,255,255,.62); font-size:11px; }
.product-download-file .product-secondary { padding:7px 10px; font-size:12px; }
.product-download-dialog > .product-prompt-inner > .product-primary { width:100%; }
.product-auth-inner, .product-checkout-form, .product-prompt-inner { position:relative; padding:28px; }
.product-form, .product-checkout-form { display:grid; gap:12px; }
.product-form label, .product-checkout-form label { display:grid; gap:6px; color:rgba(255,255,255,.78); font-size:13px; }
.product-form input, .product-checkout-form input { width:100%; border:1px solid rgba(255,255,255,.22); border-radius:11px; padding:12px; background:rgba(255,255,255,.09); color:#fff; font:inherit; }
.product-card-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.product-checkout-note { color:#ecc4a2 !important; font-size:12px; }
.product-eyebrow { margin:0 0 10px; color:#c78366 !important; font-size:11px; letter-spacing:.16em; font-weight:700; }
.product-error { min-height:1.3em; color:#ffb4a8 !important; }
.product-flow-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.product-flow-actions .primary-button { min-height:44px; padding:0 14px; color:#fff; background:#171715; border-radius:12px; }
.product-flow-actions .primary-button:disabled { color:#9b968e; background:#e8e3db; }
.product-local-test-tools { width:min(760px,100%); margin-top:18px; padding:12px; border:1px dashed rgba(255,255,255,.35); border-radius:12px; color:rgba(255,255,255,.8); }
.product-local-test-tools summary { cursor:pointer; font-size:13px; }
.product-local-test-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.product-local-test-actions button { width:auto; margin:0; font-size:12px; }
@media (max-width:720px) {
  body[data-product-page="feed"] { position:fixed; inset:0; overflow:hidden; }
  .product-flow-body[data-product-page="feed"] .product-language-switch,
  .product-flow-body[data-product-page="account"] .product-language-switch { top:auto; right:max(12px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); padding:6px 9px; }
  .product-flow-body[data-product-page="feed"] .product-language-switch > span,
  .product-flow-body[data-product-page="account"] .product-language-switch > span { display:none; }
  .product-topbar { height:54px; padding:8px 14px; }
  .product-topbar .brand { font-size:12px; }
  .product-topbar-actions { gap:6px; }
  .product-credit-button, .product-account-button { padding:8px 11px; font-size:12px; }
  .product-feed-page { padding:60px 0 18px; }
  .product-feed-stage, .product-feed-progress { width:calc(100vw - 32px); }
  .product-feed-stage { height:calc(100svh - 270px); min-height:260px; }
  .product-feed-progress { margin-top:8px; }
  .product-feed-meta { font-size:12px; }
  .product-account-page { padding:78px 18px 42px; }
  .product-account-header h1 { font-size:36px; }
  .product-account-selfies { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .product-purchase-row { grid-template-columns:1fr; gap:2px; }
  .product-history-images { gap:5px; }
}
