:root{--bg:#fafaf7;--surface:#fff;--text:#1a1a1a;--text-mute:#6b6b6b;--accent:#4a6b4f;--cta:#c8553d;--cta-press:#b14a35;--banner-bg:#fff4e6;--banner-text:#5a3d14;--hairline:#00000014;--shadow-card:0 1px 2px #0000000a, 0 8px 24px #0000000f;--r-card:12px;--r-pill:999px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}body{min-height:100dvh;overflow-x:hidden}#app{max-width:480px;min-height:100dvh;padding:calc(var(--safe-top) + 16px) 16px calc(var(--safe-bottom) + 16px);flex-direction:column;margin:0 auto;display:flex}.topbar{color:var(--text-mute);align-items:center;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.topbar .back{color:var(--text);font-weight:500;text-decoration:none}.hero{letter-spacing:-.01em;margin:8px 0 4px;font-size:26px;font-weight:600;line-height:32px}.subhero{color:var(--text-mute);margin:0 0 16px;font-size:15px;line-height:22px}.viewer-card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-card);width:100%;height:56dvh;min-height:320px;margin-bottom:12px;position:relative;overflow:hidden}model-viewer{--poster-color:transparent;--progress-bar-color:var(--accent);background-color:#0000;width:100%;height:100%}.brackets{pointer-events:none;position:absolute;top:12px;bottom:12px;left:12px;right:12px}.brackets:before,.brackets:after,.brackets>span:before,.brackets>span:after{content:"";border:0 solid #1a1a1a59;width:22px;height:22px;position:absolute}.brackets:before{border-top-width:2px;border-left-width:2px;border-top-left-radius:4px;top:0;left:0}.brackets:after{border-top-width:2px;border-right-width:2px;border-top-right-radius:4px;top:0;right:0}.brackets>span:before{border-bottom-width:2px;border-left-width:2px;border-bottom-left-radius:4px;bottom:0;left:0}.brackets>span:after{border-bottom-width:2px;border-right-width:2px;border-bottom-right-radius:4px;bottom:0;right:0}.meta{flex-direction:column;gap:4px;margin:4px 0 12px;display:flex}.chip{border-radius:var(--r-pill);background:var(--banner-bg);color:var(--banner-text);align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.tagline{color:var(--text-mute);margin:0;font-size:14px;line-height:20px}.cta-stack{flex-direction:column;gap:10px;margin-top:8px;display:flex}.ar-hint{color:var(--text-mute);margin:0 4px 4px;font-size:13px;line-height:18px}.btn{border-radius:var(--r-pill);cursor:pointer;border:0;justify-content:center;align-items:center;height:52px;padding:0 20px;font-family:inherit;font-size:16px;font-weight:600;text-decoration:none;transition:transform 50ms,background-color .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--cta);color:#fff}.btn-primary:hover{background:var(--cta-press)}.btn-secondary{color:var(--accent);border:1.5px solid var(--accent);background:0 0}.inapp-banner{background:var(--banner-bg);color:var(--banner-text);border-radius:12px;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;font-size:13px;line-height:18px;display:none}.inapp-banner.visible{display:flex}.fallback-video{border-radius:var(--r-card);box-shadow:var(--shadow-card);background:#000;margin-bottom:12px;position:relative;overflow:hidden}.fallback-video[hidden]{display:none}.fallback-video video{object-fit:cover;width:100%;height:auto;max-height:50dvh;display:block}.fallback-caption{border-radius:var(--r-pill);color:#fff;letter-spacing:.01em;background:#0000008c;padding:4px 10px;font-size:12px;font-weight:500;position:absolute;bottom:8px;left:8px}.inapp-banner .copy{flex:1;font-weight:500}.inapp-banner .open-btn{background:var(--cta);color:#fff;border-radius:var(--r-pill);cursor:pointer;border:0;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600}.return-state .viewer-card{min-height:200px;max-height:30dvh}.return-state .hero{font-size:22px;line-height:28px}.return-state .return-only{display:block}.return-only,.return-state .initial-only{display:none}.tertiary-link{text-align:center;color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:12px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:underline;display:block}.legal-footer{text-align:center;margin-top:auto;padding:24px 0 12px}.legal-footer a{color:#0006;font-size:12px;text-decoration:none}.legal-footer a:hover{color:#000000b3}
