:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-max:430px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--surface-base:#fbf8f6;--surface-card:#fff;--surface-muted:#f3eeea;--glass-light:#fff;--glass-border:#2a202414;--ink:#2a2024;--ink-soft:#6b5f64;--ink-mute:#9a8e93;--hairline:#2a202414;--hairline-strong:#2a202424;--accent-violet:#b76e79;--accent-violet-deep:#9a5560;--accent-violet-soft:#b76e791f;--accent-cyan:#b76e79;--gradient-accent:#b76e79;--gradient-score:conic-gradient(from 210deg, #e8c4c8 0%, #b76e79 55%, #9a5560 100%);--gradient-bar:linear-gradient(90deg, #d4a0a7 0%, #b76e79 100%);--shadow-soft:0 1px 2px #2a20240a;--shadow-glow:0 10px 28px #b76e792e;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--bg-deep:var(--surface-base);--bg-elev1:var(--surface-card);--bg-elev2:#fff;--glass-1:#fff;--glass-2:#fff;--glass-3:#2a20240a;--hairline-bright:#2a20241f;--text-primary:var(--ink);--text-secondary:var(--ink-soft);--text-muted:var(--ink-mute);--text-soft:#2a202452;--accent-blue:#b76e79;--accent-warm:#c4a484;--accent-rose:#b76e79;--font-sans:"Outfit", system-ui, -apple-system, sans-serif;--font-display:"Fraunces", Georgia, serif;--font-mono:"Outfit", system-ui, sans-serif;font-family:var(--font-sans);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:#efeae6;font-weight:400}.scan-theme{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;width:100%;min-height:100svh;color:var(--text-primary);background:var(--surface-base)}*,:before,:after{box-sizing:border-box}html,body{background:#efeae6;min-height:100svh;margin:0;padding:0;overflow-x:hidden}body{color:var(--text-primary);position:relative}body:before{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#root{z-index:1;background:#efeae6;justify-content:center;min-height:100svh;display:flex;position:relative}@media (width<=480px){#root,body,html{background:var(--surface-base)}}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}::selection{color:inherit;background:#b76e7938}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#2a20241f;border-radius:999px}.serif-display{font-family:var(--font-display);letter-spacing:-.02em;font-optical-sizing:auto;font-weight:500}.font-ui{font-family:var(--font-sans)}.font-data{font-family:var(--font-sans);letter-spacing:.04em;text-transform:none;color:var(--text-muted);font-size:.72rem;font-weight:500}.glass-panel-light{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:none}@keyframes routeFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.route-fade{animation:none}}.soft-auth-gate{z-index:200;background:#0f0f1452;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.soft-auth-gate-panel{text-align:center;border-radius:var(--radius-xl);background:#fff;gap:12px;width:100%;max-width:400px;padding:28px 24px;display:grid}.soft-auth-gate-panel h2{margin:0;font-size:1.5rem}.soft-auth-gate-panel p{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.45}.soft-auth-gate-actions{gap:10px;margin-top:8px;display:grid}.soft-auth-primary{border-radius:var(--radius-md);color:#fff;background:var(--accent-violet);padding:14px 18px;font-weight:600}.soft-auth-secondary{color:var(--text-muted);padding:12px;font-size:14px}.muted{color:var(--text-muted)}.reports-page,.products-page,.treatments-page{gap:22px;padding-bottom:8px;display:grid}.reports-hero{text-align:left;border:none;padding:12px 4px 8px}.reports-kicker{color:var(--text-muted);margin:0 0 8px;font-size:.85rem;font-weight:400}.reports-score-num{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:clamp(3.4rem,14vw,4.6rem);font-weight:500;line-height:1}.reports-delta{color:var(--accent-violet);margin:8px 0 0;font-size:.9rem;font-weight:500}.reports-highlights{grid-template-columns:1fr 1fr;gap:12px;display:grid}.reports-highlight{gap:6px;padding:4px 0;display:grid}.reports-highlight span{color:var(--text-muted);font-size:.8rem}.reports-highlight strong{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:1.5rem;font-weight:500}.reports-chart{background:0 0;border:none;padding:0}.reports-primary-cta{border-radius:var(--radius-pill);letter-spacing:.01em;text-transform:none;justify-self:stretch;width:100%;font-weight:500}.products-hero{text-align:left}.products-hero h1{letter-spacing:-.03em;font-size:1.75rem;font-weight:500;font-family:var(--font-display);margin:4px 0 0}.products-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.products-filters::-webkit-scrollbar{display:none}.products-filters .chip{border-radius:var(--radius-pill);border:1px solid var(--hairline);color:var(--text-secondary);background:var(--surface-card);flex:none;padding:8px 14px;font-size:12px;font-weight:600}.products-filters .chip.is-on{border-color:var(--accent-violet);background:var(--accent-violet);color:#fff}.products-grid{grid-template-columns:1fr;gap:14px;display:grid}.product-tile{gap:8px;padding:14px;display:grid}.product-img-wrap{border-radius:var(--radius-md);aspect-ratio:1.15;background:var(--surface-muted);overflow:hidden}.product-img-wrap img{object-fit:cover;width:100%;height:100%}.product-foot{gap:10px;display:grid}.product-actions{flex-wrap:wrap;gap:8px;display:flex}.price{font-size:1.05rem;font-weight:700}.btn-buy{border-radius:var(--radius-md);background:var(--accent-violet);color:#fff;padding:11px 14px;font-size:13px;font-weight:600}.btn-secondary{border-radius:var(--radius-md);border:1px solid var(--hairline);padding:11px 14px;font-size:13px;font-weight:600}.treatments-head{gap:14px;display:grid}.treatments-head h1{letter-spacing:-.03em;font-size:1.75rem;font-weight:500;font-family:var(--font-display);margin:0}.treatments-toggle{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface-muted);grid-template-columns:1fr 1fr;padding:4px;display:grid}.treatments-toggle button{border-radius:var(--radius-pill);color:var(--text-muted);padding:10px 16px;font-size:13px;font-weight:600}.treatments-toggle button.is-on{background:var(--surface-card);color:var(--ink);box-shadow:var(--shadow-soft)}.treatments-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.treatment-card{text-align:left;align-items:center;gap:14px;width:100%;padding:14px;display:flex}.treatment-ring-wrap{flex-shrink:0;width:48px;height:48px;position:relative}.treatment-days{place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0}.treatment-meta{gap:4px;min-width:0;display:grid}.treatment-meta strong{letter-spacing:-.01em;font-size:.98rem}.treatments-empty{text-align:center;gap:14px;padding:28px 20px;display:grid}.btn-accent{border-radius:var(--radius-pill);color:#fff;background:var(--accent-violet);justify-self:center;padding:14px 18px;font-weight:500}.btn-accent.inline{text-align:center;width:100%;display:inline-block}.treatment-sheet-overlay{z-index:120;position:fixed;inset:0}.treatment-sheet-bg{background:#0f0f1447;position:absolute;inset:0}.treatment-sheet{width:min(var(--app-max), 100%);max-height:min(82vh,720px);padding:20px 18px calc(20px + var(--safe-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:#fff;gap:14px;display:grid;position:absolute;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.treatment-sheet header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.treatment-sheet header h2{letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:700}.treatment-notes{border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--surface-muted);resize:vertical;width:100%;padding:12px}.assistant-fab{bottom:calc(88px + var(--safe-bottom));right:max(16px, calc(50% - (var(--app-max) / 2) + 16px));z-index:34;background:var(--accent-violet);color:#fff;width:52px;height:52px;box-shadow:var(--shadow-glow);border-radius:50%;place-items:center;transition:transform .2s;display:grid;position:fixed}.assistant-fab:hover{transform:scale(1.04)}.assistant-overlay{z-index:150;place-items:end center;display:grid;position:fixed;inset:0}.assistant-overlay-bg{background:#0f0f1447;position:absolute;inset:0}.assistant-sheet{width:min(var(--app-max), 100%);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border:1px solid var(--hairline);background:#fff;border-bottom:none;flex-direction:column;max-height:min(560px,85vh);margin:0;padding:0;display:flex;position:relative;overflow:hidden}.assistant-sheet-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.assistant-sheet-head h2{margin:0;font-size:1.05rem;font-weight:700}.assistant-close{color:var(--text-muted);padding:4px 8px;font-size:24px;line-height:1}.assistant-placeholder{color:var(--text-muted);padding:20px}.assistant-chat-log{flex-direction:column;flex:1;gap:10px;min-height:200px;padding:16px;display:flex;overflow-y:auto}.assistant-msg{border-radius:var(--radius-md);max-width:92%;padding:10px 14px;font-size:14px;line-height:1.45}.assistant-msg.user{background:var(--accent-violet-soft);color:var(--text-primary);align-self:flex-end}.assistant-msg.bot{background:var(--surface-muted);align-self:flex-start}.assistant-input-row{border-top:1px solid var(--hairline);gap:8px;padding:12px;display:flex}.assistant-input-row input{border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--surface-card);flex:1;padding:10px 12px}.assistant-suggestions{flex-wrap:wrap;gap:8px;padding:0 12px 12px;display:flex}.assistant-suggestions button{border-radius:var(--radius-pill);border:1px solid var(--hairline);color:var(--text-secondary);padding:6px 10px;font-size:11px}.before-after{gap:12px;display:grid}.before-after-stage{aspect-ratio:3/4;border-radius:var(--radius-lg);background:var(--surface-muted);touch-action:none;-webkit-user-select:none;user-select:none;cursor:ew-resize;width:100%;position:relative;overflow:hidden}.before-after-img{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.before-after-before{clip-path:inset(0 calc(100% - var(--ba-pos,50%)) 0 0)}.before-after-handle{top:0;bottom:0;left:var(--ba-pos,50%);pointer-events:none;background:#fff;width:2px;margin-left:-1px;position:absolute;box-shadow:0 0 0 1px #0f0f141f}.before-after-knob{border:1px solid var(--hairline);width:36px;height:36px;color:var(--ink);box-shadow:var(--shadow-soft);background:#fff;border-radius:50%;place-items:center;margin:-18px 0 0 -18px;display:grid;position:absolute;top:50%;left:50%}.before-after-labels{pointer-events:none;z-index:2;justify-content:space-between;display:flex;position:absolute;inset:12px 12px auto}.before-after-labels span{border-radius:var(--radius-pill);color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#0f0f148c;padding:4px 8px;font-size:10px;font-weight:700}.before-after-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.before-after-actions button,.before-after-actions label{border-radius:var(--radius-md);border:1px solid var(--hairline);color:var(--text-secondary);background:var(--surface-card);cursor:pointer;text-align:center;place-items:center;padding:12px;font-size:12px;font-weight:600;display:grid}.before-after-actions input[type=file]{display:none}.before-after-empty{aspect-ratio:3/4;border-radius:var(--radius-lg);border:1px dashed var(--hairline-strong);background:var(--surface-muted);text-align:center;color:var(--text-muted);place-items:center;gap:8px;padding:24px;font-size:13px;display:grid}.progress-compare{gap:12px;display:grid}.progress-compare h3{letter-spacing:-.02em;font-size:1rem;font-weight:500;font-family:var(--font-display);margin:0}.progress-home{gap:22px;padding-bottom:8px;display:grid}.progress-home-head{gap:4px;display:grid}.progress-kicker{color:var(--text-muted);margin:0;font-size:.8rem}.progress-title{letter-spacing:-.03em;margin:0;font-size:1.85rem}.progress-programme{border-radius:var(--radius-lg);border:1px solid var(--hairline);background:var(--surface-card);gap:16px;padding:18px 16px;display:grid}.progress-programme-main{align-items:center;gap:16px;display:flex}.progress-programme-copy{gap:4px;min-width:0;display:grid}.progress-programme-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-violet);margin:0;font-size:.72rem;font-weight:600}.progress-programme-copy h2{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:500}.progress-programme-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.progress-programme-actions .btn-accent,.progress-programme-actions .btn-secondary{text-align:center;justify-self:stretch;width:100%}.progress-ring{flex-shrink:0;position:relative}.progress-ring span{letter-spacing:-.02em;place-items:center;font-size:.85rem;font-weight:600;display:grid;position:absolute;inset:0}.progress-week{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.progress-week-day{border-radius:var(--radius-sm);place-items:center;gap:6px;padding:6px 0;display:grid}.progress-week-day span{color:var(--text-muted);font-size:.68rem;font-weight:600}.progress-week-day i{border:1.5px solid var(--hairline-strong);border-radius:50%;width:10px;height:10px;display:block}.progress-week-day.is-done i{background:var(--accent-violet);border-color:var(--accent-violet)}.progress-score-block{padding:4px 0}.progress-score-label{color:var(--text-muted);margin:0 0 6px;font-size:.8rem}.progress-metrics{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.progress-metric{border-radius:var(--radius-md);background:var(--surface-muted);gap:4px;padding:12px 10px;display:grid}.progress-metric span{color:var(--text-muted);text-transform:capitalize;font-size:.72rem}.progress-metric strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.35rem;font-weight:500}.progress-chart{gap:8px;display:grid}.progress-chart-label{color:var(--text-muted);margin:0;font-size:.8rem}.progress-empty-programme{text-align:center;border-radius:var(--radius-lg);border:1px dashed var(--hairline-strong);gap:12px;padding:20px 16px;display:grid}.progress-cta-row{display:grid}.progress-programme-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.progress-mini-card{text-align:left;border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--surface-card);align-items:center;gap:12px;width:100%;padding:12px;display:flex}.progress-mini-card strong{font-size:.95rem;display:block}.programme-detail-ring{align-items:center;gap:14px;display:flex}.treatment-ring-wrap.large{width:72px;height:72px}.programme-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.programme-actions .btn-accent,.programme-actions .btn-secondary{text-align:center;width:100%}.programme-timeline ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.programme-timeline li{border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:baseline;gap:8px 12px;padding:10px 0;font-size:.9rem;display:flex}.programme-timeline h3,.programme-metrics h3{font-size:1rem;font-family:var(--font-display);margin:0 0 8px;font-weight:500}.share-hint{word-break:break-all;color:var(--accent-violet)}.scene-enter{animation:.48s cubic-bezier(.22,1,.36,1) both scene-in}@keyframes scene-in{0%{opacity:0;filter:blur(6px);transform:translateY(14px)scale(.99)}to{opacity:1;filter:none;transform:none}}.flow-step-rail{scrollbar-width:none;gap:6px;padding:0 18px 8px;display:flex;overflow-x:auto}.flow-step-rail::-webkit-scrollbar{display:none}.flow-step{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:0 0;border:1px solid #0000;flex:none;padding:5px 10px;font-size:.7rem;font-weight:600}.flow-step.is-done{color:var(--accent-violet)}.flow-step.is-current{color:var(--ink);background:var(--surface-muted);border-color:var(--hairline)}.lean-canvas{margin-top:0}.scan-overlay-layer{z-index:8;pointer-events:none;animation:.42s both overlay-in;position:absolute;inset:0}.scan-overlay-layer.is-live{flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;padding:18px 16px;display:flex}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.scan-live-chip{border-radius:var(--radius-pill);color:var(--ink);background:#ffffffe6;border:1px solid #ffffff80;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:0 8px 24px #2a20241f}.scan-live-chip strong{font-family:var(--font-display);color:var(--accent-violet);font-size:1rem;font-weight:500}.scan-live-dot{background:var(--accent-violet);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite live-pulse;box-shadow:0 0 0 4px #b76e7933}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.85)}}.scan-live-copy{text-align:center;color:#ffffffe0;text-shadow:0 1px 8px #00000073;max-width:28ch;margin:0;font-size:.8rem;line-height:1.4}.lean-progress.is-hidden{opacity:0;pointer-events:none;transform:translateY(8px)}.lean-progress{transition:opacity .28s,transform .28s}.lean-result,.lean-recommend{flex-direction:column;flex:1;min-height:0;display:flex}.result-body{flex:1;align-content:start;gap:16px;padding:8px 18px 16px;display:grid;overflow-y:auto}.result-hero{grid-template-columns:88px 1fr;align-items:center;gap:14px;display:grid}.result-portrait{border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--surface-muted);width:88px;height:110px;overflow:hidden}.result-portrait img{object-fit:cover;object-position:center top;width:100%;height:100%}.result-score-num{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:2.6rem;font-weight:500;line-height:1}.result-score-meta{margin:4px 0 0;font-size:.85rem;font-weight:500}.result-strap{margin:6px 0 0;font-size:.85rem;line-height:1.4}.result-tabs{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.result-tab{border-radius:var(--radius-pill);color:var(--text-muted);border:1px solid var(--hairline);background:var(--surface-card);padding:8px 4px;font-size:.72rem;font-weight:600}.result-tab.is-on{color:#fff;background:var(--accent-violet);border-color:var(--accent-violet)}.result-panel{min-height:160px;animation:.32s both panel-swap}@keyframes panel-swap{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.result-panel-score{text-align:center;justify-items:center;gap:12px;padding:8px 0;display:grid}.result-metrics{gap:12px;display:grid}.result-metric-row{grid-template-columns:72px 1fr 36px;align-items:center;gap:10px;font-size:.85rem;display:grid}.result-metric-bar{background:#2a202414;border-radius:999px;height:6px;overflow:hidden}.result-metric-bar i{background:var(--gradient-bar);border-radius:inherit;height:100%;display:block}.result-reading{gap:10px;display:grid}.result-para{margin:0;font-size:.95rem;line-height:1.55}.result-next{gap:10px;display:grid}.result-footer{padding:0 18px max(env(safe-area-inset-bottom), 16px)}.recommend-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recommend-row{text-align:left;border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--surface-card);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.recommend-row strong{font-size:.95rem}.recommend-row span{color:var(--text-muted);font-size:.75rem}.lean-recommend .recommend-body{padding:12px 18px max(env(safe-area-inset-bottom), 18px);align-content:start;gap:14px;display:grid}.share-page{min-height:100svh;width:min(100%, var(--app-max));padding:calc(20px + var(--safe-top)) 18px calc(24px + var(--safe-bottom));background:var(--surface-base);color:var(--ink);gap:18px;margin:0 auto;display:grid}.share-brand{margin:0;font-size:1.2rem}.share-head h1{letter-spacing:-.03em;margin:0;font-size:1.8rem}.share-comment-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.share-comment-list li{border-radius:var(--radius-md);background:var(--surface-card);border:1px solid var(--hairline);gap:4px;padding:12px;display:grid}.share-comment-list p{margin:4px 0 0;font-size:.92rem;line-height:1.45}.share-comment-form{gap:10px;margin-top:12px;display:grid}.share-comment-form textarea{border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--surface-card);resize:vertical;width:100%;padding:12px}@media (prefers-reduced-motion:reduce){.scene-enter,.result-panel,.scan-overlay-layer{animation:none!important}}.shell-root{width:min(100%, var(--app-max));background:var(--surface-base);min-height:100svh;padding:0 0 calc(76px + var(--safe-bottom));box-shadow:0 0 0 1px var(--hairline);flex-direction:column;margin:0 auto;display:flex;position:relative}@media (width<=480px){.shell-root{box-shadow:none;width:100%}}.shell-topbar{z-index:40;width:100%;padding:calc(10px + var(--safe-top)) 16px 10px;border:none;border-bottom:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);box-shadow:none;background:#ffffffeb;border-radius:0;grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin:0;display:grid;position:sticky;top:0}.shell-brand-btn{text-align:left;gap:0;min-width:0;display:grid}.shell-brand-mark{font-family:var(--font-display);letter-spacing:-.02em;text-transform:none;color:var(--text-primary);font-size:1.05rem;font-weight:500}.shell-brand-tag{color:var(--text-muted);letter-spacing:.01em;text-transform:none;font-size:.72rem;font-weight:400}.shell-lang.lang-switcher{justify-self:center}.shell-main{flex:1;width:100%;max-width:none;padding:16px 16px 20px}.shell-dock{z-index:35;width:min(100%, var(--app-max));padding:8px 8px calc(8px + var(--safe-bottom));border:none;border-top:1px solid var(--hairline);-webkit-backdrop-filter:blur(14px);box-shadow:none;background:#fffffff5;border-radius:0;grid-template-columns:1fr 1fr auto 1fr 1fr;align-items:end;gap:2px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.shell-dock-link{color:var(--text-muted);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:3px;padding:8px 2px;font-size:10px;font-weight:500;transition:color .15s;display:flex}.shell-dock-link svg{opacity:.7}.shell-dock-link.active{color:var(--accent-violet);background:0 0}.shell-dock-link.active svg{opacity:1}.shell-dock-scan{background:var(--accent-violet);color:#fff;width:52px;height:52px;box-shadow:var(--shadow-glow);border-radius:50%;place-items:center;margin-bottom:10px;transition:transform .2s,background .2s;display:grid;transform:translateY(-10px)}.shell-dock-scan:hover{background:var(--accent-violet-deep);transform:translateY(-11px)}.require-auth-loading{min-height:60vh;color:var(--text-muted);place-items:center;display:grid}.lang-switcher{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface-muted);align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.lang-switcher button{color:var(--text-muted);padding:2px 4px}.lang-switcher button.is-active{color:var(--accent-violet)}.lang-sep{opacity:.35;font-size:10px}.shell-root .profile-ring{background:conic-gradient(from 220deg, var(--accent-violet) 0%, var(--accent-violet) calc(var(--profile-pct) * 1%), #0f0f141a calc(var(--profile-pct) * 1%), #0f0f141a 100%)}.shell-root .profile-ring-inner{background:var(--surface-card);border:1px solid var(--hairline)}.auth-page{width:min(100%, var(--app-max));min-height:100svh;box-shadow:0 0 0 1px var(--hairline);background:#fff;margin:0 auto;padding:0 0 40px}@media (width<=480px){.auth-page{width:100%;box-shadow:none}}.auth-top{width:100%;padding:calc(14px + var(--safe-top)) 18px 12px;border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;margin:0 0 8px;display:flex}.auth-brand{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700}.auth-main{max-width:none;margin:0;padding:24px 18px 0}.auth-card{box-shadow:none;background:0 0;border:none;border-radius:0;padding:8px 0 24px}.auth-title{letter-spacing:-.03em;text-align:left;margin:0 0 22px;font-size:clamp(1.6rem,5vw,2rem);font-weight:700}.auth-google{border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--surface-card);width:100%;color:var(--text-primary);justify-content:center;align-items:center;gap:10px;padding:13px 16px;font-size:14px;font-weight:600;display:inline-flex}.auth-google:hover{background:var(--surface-muted)}.auth-google:disabled{opacity:.6}.auth-divider{color:var(--text-muted);align-items:center;gap:12px;margin:20px 0;display:flex}.auth-divider span:first-child,.auth-divider span:last-child{background:var(--hairline);flex:1;height:1px}.auth-form{gap:16px;display:grid}.auth-field{gap:8px;display:grid}.auth-field>span.font-data{color:var(--text-muted);font-size:10px}.auth-input{border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--surface-muted);padding:13px 14px;font-size:15px}.auth-input:focus{border-color:var(--accent-violet);box-shadow:0 0 0 3px var(--accent-violet-soft);background:#fff;outline:none}.auth-intake{border-top:1px solid var(--hairline);gap:14px;padding-top:8px;display:grid}.auth-intake-title{color:var(--text-secondary);margin:0}.auth-chips{flex-wrap:wrap;gap:8px;display:flex}.auth-chip{border-radius:var(--radius-pill);border:1px solid var(--hairline);color:var(--text-secondary);background:#fff;padding:8px 12px;font-size:12px;font-weight:600}.auth-chip.is-on{border-color:var(--accent-violet);background:var(--accent-violet);color:#fff}.auth-error{color:#dc2626;margin:0;font-size:13px}.auth-submit{border-radius:var(--radius-md);color:#fff;background:var(--accent-violet);margin-top:8px;padding:15px;font-weight:700}.auth-submit:disabled{opacity:.65}.auth-switch{text-align:center;color:var(--text-muted);margin:20px 0 0;font-size:13px}.auth-switch a{color:var(--accent-violet);font-weight:600}.landing-page{background:var(--surface-base);width:100%;min-height:100svh}.landing-cinema{width:100%;min-height:100svh;color:var(--ink);background:radial-gradient(90% 55% at 85% 0,#b76e7924,#0000 55%),radial-gradient(70% 45% at 0 100%,#c4a4841f,#0000 50%),linear-gradient(#fbf8f6 0%,#f3eeea 100%);flex-direction:column;display:flex;position:relative;overflow:hidden}.landing-cinema-veil{display:none}.landing-cinema-glow{aspect-ratio:1;z-index:1;pointer-events:none;background:radial-gradient(circle at 40% 40%,#e8c4c88c 0%,#b76e791f 42%,#0000 70%);border-radius:50%;width:min(68vw,520px);position:absolute;top:4%;right:-12%}.landing-cinema-grain{z-index:2;opacity:.04;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.landing-cinema-nav,.landing-cinema-hero,.landing-cinema-foot{z-index:3;position:relative}.landing-cinema-nav{padding:calc(20px + var(--safe-top)) clamp(20px, 4vw, 48px) 12px;justify-content:space-between;align-items:center;gap:16px;display:flex}.landing-cinema-brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(1.55rem,3.5vw,2rem);font-weight:500}.landing-cinema-nav-actions{align-items:center;gap:14px;display:flex}.landing-cinema-link{color:var(--ink-soft);letter-spacing:.01em;font-size:.9rem;font-weight:500}.landing-cinema-link:hover{color:var(--ink)}.landing-cinema-hero{flex-direction:column;flex:1;justify-content:flex-end;gap:18px;max-width:720px;padding:24px clamp(20px,5vw,64px) 28px;display:flex}.landing-cinema-title{font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);margin:0;font-size:clamp(2.6rem,8vw,4.4rem);font-weight:500;line-height:1.05}.landing-cinema-title span{color:var(--accent-violet);font-style:italic;font-weight:400;display:block}.landing-cinema-sub{max-width:30ch;color:var(--ink-soft);margin:0;font-size:clamp(1rem,2.2vw,1.15rem);font-weight:300;line-height:1.55}.landing-cinema-cta{border-radius:var(--radius-pill);font-family:var(--font-sans);letter-spacing:.02em;color:#fff;background:var(--accent-violet);align-self:flex-start;margin-top:8px;padding:14px 28px;font-size:.92rem;font-weight:500;transition:transform .25s,background .25s}.landing-cinema-cta:hover{background:var(--accent-violet-deep);transform:translateY(-1px)}.landing-cinema-foot{padding:0 clamp(20px, 5vw, 64px) calc(24px + var(--safe-bottom))}.landing-cinema-foot p{letter-spacing:.04em;color:var(--ink-mute);margin:0;font-size:.78rem;font-weight:400}@media (width>=900px){.landing-cinema-hero{justify-content:center;padding-bottom:64px}}.app-shell{justify-content:center;width:100%;min-height:100svh;padding:0;display:flex;position:relative}.app-canvas{flex-direction:column;gap:16px;width:min(480px,100%);min-height:100svh;padding:18px 18px 110px;display:flex;position:relative}@media (width>=720px){.app-canvas{border:1px solid var(--hairline);width:460px;box-shadow:var(--shadow-soft), inset 0 1px 0 #ffffff0f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(800px 400px at 50% -10%,#855cff2e,#0000 60%),linear-gradient(#0e0a26d9,#060612f2);border-radius:36px;margin:24px 0 32px;overflow:hidden}}.top-chrome{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#050410d9,#05041000);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 4px 8px;display:grid;position:sticky;top:0}.icon-btn{border:1px solid var(--hairline);background:var(--glass-1);width:42px;height:42px;color:var(--text-primary);border-radius:50%;place-items:center;transition:transform .2s,background .2s;display:grid}.icon-btn:hover{background:var(--glass-2);transform:translateY(-1px)}.brand-mark{text-align:center;justify-items:center;gap:2px;display:grid}.brand-mark .word{letter-spacing:.42em;color:var(--text-primary);text-transform:uppercase;font-family:Cormorant Garamond,serif;font-size:16px;font-weight:400}.brand-mark .word:before{content:"✦";color:var(--accent-violet);vertical-align:middle;margin-right:8px;font-size:11px}.brand-mark .tagline{letter-spacing:.32em;color:var(--text-muted);text-transform:uppercase;font-size:9px}.scan-pill{border-radius:var(--radius-pill);border:1px solid var(--hairline-bright);background:var(--glass-2);letter-spacing:.2em;color:var(--text-primary);text-transform:uppercase;align-items:center;gap:8px;padding:8px 14px 8px 10px;font-size:12px;font-weight:600;transition:background .2s;display:inline-flex}.scan-pill:hover{background:var(--glass-3)}.scan-pill .icon{border:1px solid var(--hairline);background:#ffffff0d;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.scan-pill .dot{background:#ff5db4;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #ff5db4}.eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:10px}.serif-display{letter-spacing:.06em;font-family:Cormorant Garamond,serif;font-weight:400}h1,h2,h3{color:var(--text-primary);margin:0;font-weight:500}h1{letter-spacing:-.01em;font-size:clamp(28px,7vw,36px);line-height:1.05}h2{font-size:20px}h3{letter-spacing:.04em;font-size:14px}.lead{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.55}.kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px;font-size:9px}.glass{border-radius:var(--radius-md);background:var(--glass-1);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(22px);position:relative;box-shadow:inset 0 1px #ffffff0d,0 12px 30px #05031080}.glass-strong{border:1px solid var(--hairline-bright);background:linear-gradient(#ffffff12,#ffffff05)}.stage{aspect-ratio:3/4;border-radius:var(--radius-lg);border:1px solid var(--hairline);width:100%;box-shadow:var(--shadow-soft);background:radial-gradient(circle at 50% 30%,#855cff38,#0000 60%),linear-gradient(#110a2a,#050410);position:relative;overflow:hidden}.stage video,.stage .stage-canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage video{transform:scaleX(-1)}.stage-canvas{pointer-events:none}.stage-vignette{pointer-events:none;background:radial-gradient(80% 60% at 50% 35%,#0000 50%,#0503108c 100%),linear-gradient(#05031000 50%,#050310b3 100%);position:absolute;inset:0}.stage-status{color:var(--text-secondary);letter-spacing:.2em;text-transform:uppercase;z-index:2;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.stage-status .pulse{background:var(--accent-violet);width:12px;height:12px;box-shadow:0 0 18px var(--accent-violet);border-radius:50%;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.stage-overlay-grid{pointer-events:none;z-index:3;grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1fr;gap:10px;display:grid;position:absolute;inset:14px}.stage-overlay-grid>*{pointer-events:auto}.env-card{border-radius:var(--radius-md);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a081c9e;grid-area:1/1;gap:9px;width:max-content;max-width:60%;padding:12px;display:grid}.env-card .head{letter-spacing:.32em;color:var(--text-muted);text-transform:uppercase;font-size:9px}.env-row{grid-template-columns:18px auto auto;align-items:center;gap:8px;display:grid}.env-row .glyph{width:18px;height:18px;color:var(--accent-warm);place-items:center;display:grid}.env-row .val{color:var(--text-primary);font-size:16px;font-weight:500}.env-row .lbl{letter-spacing:.22em;color:var(--text-muted);text-transform:uppercase;font-size:9px}.env-row.uv .val{color:var(--accent-warm)}.score-card{border-radius:var(--radius-md);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a081c9e;grid-area:1/2;justify-self:end;justify-items:center;gap:6px;padding:12px 14px 10px;display:grid}.score-card .label{letter-spacing:.32em;color:var(--text-muted);text-transform:uppercase;font-size:9px}.score-ring{--score:86;--size:84px;width:var(--size);height:var(--size);background:conic-gradient(from 220deg, #5ce0ff 0%, #a87bff calc(var(--score) * 1%), #ffffff14 calc(var(--score) * 1%), #ffffff14 100%);border-radius:50%;place-items:center;display:grid;position:relative}.score-ring:after{content:"";border:1px solid var(--hairline);background:#0a081cf2;border-radius:50%;position:absolute;inset:4px}.score-ring .num{z-index:1;color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:30px;font-weight:500;line-height:1;position:relative}.score-ring .num span{letter-spacing:.2em;color:var(--text-muted);margin-left:2px;font-family:Inter,sans-serif;font-size:10px}.score-card .grade{letter-spacing:.2em;color:var(--accent-violet);text-transform:uppercase;font-size:11px}.metrics-rail{grid-area:2/2;place-self:center end;gap:10px;width:150px;display:grid}.metric{border:1px solid var(--hairline);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a081c8c;border-radius:12px;grid-template-columns:22px 1fr;align-items:center;gap:8px;padding:6px 8px;display:grid}.metric .ico{width:22px;height:22px;color:var(--text-secondary);place-items:center;display:grid}.metric .info{gap:3px;display:grid}.metric .top{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:center;font-size:9px;display:flex}.metric .top strong{color:var(--text-primary);letter-spacing:.04em;text-transform:none;font-size:11px}.metric .bar{background:#ffffff0f;border-radius:999px;height:3px;position:relative;overflow:hidden}.metric .bar i{width:var(--w,50%);background:var(--gradient-bar);border-radius:inherit;position:absolute;inset:0 auto 0 0}.insights-card{border-radius:var(--radius-md);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a081ca8;grid-area:3/1;align-self:end;gap:8px;max-width:220px;padding:12px;display:grid}.insights-card .head{letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;font-size:10px;display:flex}.insights-card .head .spark{color:var(--accent-violet)}.insights-card p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.insights-card .ghost{letter-spacing:.28em;text-transform:uppercase;color:var(--text-primary);border:1px solid var(--hairline-bright);background:var(--glass-2);border-radius:var(--radius-pill);align-self:start;padding:6px 10px;font-size:9px}.zone-pin{pointer-events:none;text-align:center;z-index:4;gap:2px;display:grid;position:absolute;transform:translate(-50%,-50%)}.zone-pin .zone-label{letter-spacing:.18em;text-transform:uppercase;color:var(--text-primary);text-shadow:0 1px 4px #0009;font-size:10px}.zone-pin .zone-sub{color:var(--text-secondary);font-size:9px}.zone-pin .zone-dot{background:#ffffffd9;border-radius:50%;width:6px;height:6px;margin:4px auto 0;box-shadow:0 0 10px #fff9}.zone-pin.warn .zone-dot{background:var(--accent-rose);box-shadow:0 0 10px var(--accent-rose)}.routine-rail{border-radius:var(--radius-md);border:1px solid var(--hairline);background:linear-gradient(#ffffff0f,#ffffff03);gap:12px;padding:14px;display:grid}.routine-rail .head{justify-content:space-between;align-items:center;gap:10px;display:flex}.routine-rail .head .left{letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;font-size:9px;display:flex}.routine-rail .head .left .spark{color:var(--accent-violet)}.routine-track{grid-template-columns:repeat(5,1fr);align-items:end;gap:8px;display:grid}.routine-step{text-align:center;justify-items:center;gap:6px;display:grid}.routine-step .bottle{border:1px solid var(--hairline);width:56px;height:64px;color:var(--text-primary);background:linear-gradient(#ffffff1f,#ffffff05);border-radius:16px;place-items:center;display:grid}.routine-step.serum .bottle{background:linear-gradient(#ffb85c33,#c4742e22);border-color:#ffb85c44}.routine-step.spf .bottle{background:linear-gradient(#ff7d9a33,#c44a6322);border-color:#ff7d9a44}.routine-step.tone .bottle{background:linear-gradient(#5ce0ff22,#2c97c422);border-color:#5ce0ff33}.routine-step.cream .bottle{border-color:var(--hairline-bright);background:linear-gradient(#ffffff20,#ffffff08)}.routine-step .name{letter-spacing:.22em;text-transform:uppercase;color:var(--text-secondary);font-size:9px}.match-badge{background:conic-gradient(from 220deg,#5ce0ff 0%,#a87bff 89%,#ffffff14 89%);border-radius:50%;place-items:center;width:56px;height:56px;margin-left:4px;display:grid;position:relative}.match-badge:after{content:"";background:#110b29;border-radius:50%;position:absolute;inset:3px}.match-badge .pct{z-index:1;font-family:Cormorant Garamond,serif;font-size:18px;position:relative}.match-badge .pct span{letter-spacing:.22em;color:var(--text-muted);margin-top:-4px;font-family:Inter,sans-serif;font-size:8px;display:block}.ai-dock{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(#a87bff1f,#6c50c80a),#0d0a20b3;border:1px solid #a87bff38;gap:12px;padding:16px;display:grid}.ai-dock .row{grid-template-columns:64px 1fr;align-items:center;gap:14px;display:grid}.ai-orb{background:radial-gradient(circle at 32% 30%,#f1e9ff 0%,#b890ff 30%,#6f4dff 65%,#1a0c5a 100%);border-radius:50%;width:64px;height:64px;animation:5s ease-in-out infinite orb-float;position:relative;box-shadow:0 0 30px #a87bffa6,inset 0 0 18px #ffffff40}.ai-orb:after{content:"";filter:blur(10px);z-index:-1;background:radial-gradient(circle,#a87bff66,#0000 60%);border-radius:50%;position:absolute;inset:-10px}@keyframes orb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.ai-meta{letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;font-size:10px;display:flex}.ai-beta{letter-spacing:.18em;color:var(--accent-violet);background:#a87bff2e;border:1px solid #a87bff4d;border-radius:4px;padding:2px 6px;font-size:9px}.ai-dock .ai-greeting{color:var(--text-primary);margin:4px 0 0;font-size:14px;line-height:1.45}.ai-dock .ai-greeting .stream-cursor{vertical-align:-2px;background:var(--accent-violet);width:7px;height:14px;margin-left:3px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.suggestion-row{flex-wrap:wrap;gap:8px;display:flex}.suggestion-pill{border-radius:var(--radius-pill);background:var(--glass-2);border:1px solid var(--hairline);color:var(--text-primary);padding:8px 12px;font-size:11px;transition:background .2s,transform .2s}.suggestion-pill:hover{background:var(--glass-3);transform:translateY(-1px)}.composer{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:#080616b3;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:6px 6px 6px 16px;display:grid}.composer input{color:var(--text-primary);background:0 0;border:0;outline:none;padding:8px 0;font-size:13px}.composer input::placeholder{color:var(--text-muted)}.send-btn{background:var(--gradient-accent);color:#fff;width:38px;height:38px;box-shadow:var(--shadow-glow);border-radius:50%;place-items:center;transition:transform .2s;display:grid}.send-btn:hover{transform:scale(1.04)}.bottom-nav{border-radius:var(--radius-pill);border:1px solid var(--hairline);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);z-index:40;width:min(440px,100% - 28px);box-shadow:var(--shadow-soft);background:#080616d9;grid-template-columns:repeat(5,1fr);align-items:center;padding:8px;display:grid;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.bottom-nav a,.bottom-nav button{letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);border-radius:14px;justify-items:center;gap:4px;padding:6px 0;font-size:8px;transition:color .2s,background .2s;display:grid}.bottom-nav a.active{color:var(--accent-violet)}.bottom-nav .nav-center{background:var(--gradient-accent);color:#fff;width:52px;height:52px;box-shadow:var(--shadow-glow);border-radius:50%;place-items:center;margin:-22px auto 0;font-size:0;display:grid}.bottom-nav .nav-center:after{content:"✦";color:#fff;font-size:22px}.intake{gap:18px;padding:8px 4px;display:grid}.intake-hero{gap:10px;padding:20px;display:grid}.intake-hero h1{font-family:Cormorant Garamond,serif;font-weight:500}.intake-hero .lead{margin-top:4px}.atm-strip{letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;font-size:10px;display:flex}.atm-strip strong{color:var(--text-primary);letter-spacing:.02em;text-transform:none;font-size:12px;font-weight:500}.intake-section{gap:10px;padding:16px;display:grid}.choice-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:var(--radius-pill);border:1px solid var(--hairline);color:var(--text-primary);letter-spacing:.02em;text-transform:none;background:#fff;padding:8px 14px;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,color .2s}.chip:hover{background:var(--surface-muted)}.chip.is-selected{background:var(--accent-violet);border-color:var(--accent-violet);color:#fff;box-shadow:none}.range{gap:6px;display:grid}.range-head{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.range-head strong{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:18px;font-weight:500}input[type=range]{appearance:none;background:#ffffff14;border-radius:999px;outline:none;width:100%;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--gradient-accent);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 14px #a87bffb3}.cta-primary{border-radius:var(--radius-pill);background:var(--accent-violet);color:#fff;letter-spacing:.01em;text-transform:none;box-shadow:none;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-size:.95rem;font-weight:500;transition:background .2s;display:inline-flex}.cta-primary:hover{background:var(--accent-violet-deep)}.cta-secondary{border-radius:var(--radius-pill);border:1px solid var(--hairline);color:var(--text-primary);letter-spacing:.01em;text-transform:none;background:0 0;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:.9rem;font-weight:500;display:inline-flex}.row-cta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.muted{color:var(--text-muted);letter-spacing:.04em;font-size:11px}.plan{gap:14px;display:grid}.plan-section{gap:12px;padding:16px;display:grid}.upload-zone{border:1px dashed var(--hairline-bright);border-radius:var(--radius-md);text-align:center;color:var(--text-secondary);cursor:pointer;background:#ffffff05;place-items:center;gap:6px;padding:18px;display:grid}.upload-zone input{display:none}.simulation-face{aspect-ratio:1;border-radius:var(--radius-md);border:1px solid var(--hairline);background:radial-gradient(circle at 30% 25%,#f7d6d0 0%,#d49a92 45%,#7e4c4d 100%);width:100%}.product-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.product-card{border-radius:var(--radius-md);background:var(--glass-1);border:1px solid var(--hairline);gap:8px;padding:12px;display:grid}.product-card .pname{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:17px}.product-card .ptag{color:var(--text-secondary);font-size:11px;line-height:1.4}.product-card .pfoot{justify-content:space-between;align-items:center;display:flex}.product-card .price{color:var(--text-primary);font-size:13px}.timeline{gap:8px;display:grid}.timeline li{background:var(--glass-1);border:1px solid var(--hairline);border-radius:12px;gap:4px;padding:10px 12px;list-style:none;display:grid}.timeline li strong{color:var(--text-primary);font-size:12px}.timeline li p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.4}.timeline li time{color:var(--text-muted);letter-spacing:.16em;font-size:10px}.input-glass{background:var(--surface-muted);border:1px solid var(--hairline);border-radius:var(--radius-md);width:100%;color:var(--ink);outline:none;padding:12px 14px;transition:border-color .2s,background .2s}.input-glass::placeholder{color:var(--text-muted)}.input-glass:focus{border-color:var(--accent-violet);box-shadow:0 0 0 3px var(--accent-violet-soft);background:#fff}.error{color:#ffb1c0;background:#ff7d9a1f;border:1px solid #ff7d9a4d;border-radius:10px;margin:0;padding:8px 10px;font-size:12px}.boot-stage{z-index:100;color:var(--text-primary);isolation:isolate;background:radial-gradient(800px 600px,#170f3a 0%,#050410 70%,#020108 100%);grid-template-rows:1fr auto;align-items:stretch;display:grid;position:fixed;inset:0;overflow:hidden}.boot-bg{z-index:0;background:radial-gradient(60% 40% at 30% 30%,#52c8ff2e,#0000 70%),radial-gradient(60% 40% at 80% 70%,#ff7d9a29,#0000 70%),radial-gradient(50% 40% at 50% 100%,#a87bff38,#0000 70%);position:absolute;inset:0}.boot-grid{z-index:1;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 50%,#000 60%,#0000 100%);mask-image:radial-gradient(60% 50%,#000 60%,#0000 100%)}.boot-vignette{z-index:2;background:radial-gradient(80% 60% at 50% 40%,#0000 60%,#020108d9 100%),linear-gradient(#0003,#0000008c);position:absolute;inset:0}.boot-scanline{pointer-events:none;mix-blend-mode:screen;z-index:3;background:linear-gradient(#0000 0% 48%,#a87bff1f 50%,#0000 52% 100%);position:absolute;inset:0;transform:translateY(-100%)}.boot-center{z-index:4;place-items:center;padding:32px 24px;display:grid;position:relative}.boot-pulse{filter:blur(20px);background:radial-gradient(circle,#a87bff59,#0000 65%);border-radius:50%;width:380px;max-width:80vw;height:380px;max-height:80vw;position:absolute}.boot-reticle{color:#fff9;filter:drop-shadow(0 0 30px #5ce0ff59);width:clamp(220px,60vw,320px);height:clamp(220px,60vw,320px)}.boot-ring{border:1px solid #ffffff14;border-radius:50%;width:clamp(260px,70vw,380px);height:clamp(260px,70vw,380px);position:absolute;box-shadow:inset 0 0 60px #a87bff40,0 0 60px #5ce0ff33}.boot-wordmark{letter-spacing:.42em;color:var(--text-primary);text-shadow:0 1px 12px #a87bff80;gap:8px;font-family:Cormorant Garamond,serif;font-size:clamp(20px,4.6vw,30px);display:flex;position:absolute;bottom:-34px}.boot-wordmark span{display:inline-block}.boot-tag{letter-spacing:.4em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:10px;position:absolute;bottom:-78px}.boot-status{z-index:5;border:1px solid var(--hairline);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0806168c;border-radius:18px;gap:10px;width:min(540px,92vw);margin:0 auto 36px;padding:16px 18px;display:grid;position:relative}.boot-status-row{letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:10px;font-size:12px;display:flex}.boot-status-dot{background:var(--accent-violet);width:8px;height:8px;box-shadow:0 0 12px var(--accent-violet);border-radius:50%}.boot-status-label{color:var(--text-primary);letter-spacing:.04em;text-transform:none;flex:1;font-size:13px}.boot-status-pct{letter-spacing:.04em;color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:18px}.boot-meter{background:#ffffff0f;border-radius:999px;height:4px;overflow:hidden}.boot-meter-fill{background:var(--gradient-accent);width:0%;height:100%;box-shadow:0 0 20px #a87bff80}.boot-steps{color:var(--text-muted);gap:6px;margin:0;padding:0;font-size:11px;list-style:none;display:grid}.boot-steps li{letter-spacing:.08em;grid-template-columns:14px 1fr;align-items:center;gap:8px;display:grid}.boot-steps li .dot{background:#ffffff2e;border-radius:50%;width:6px;height:6px}.boot-steps li[data-status=active]{color:var(--text-secondary)}.boot-steps li[data-status=active] .dot{background:var(--accent-cyan);box-shadow:0 0 10px var(--accent-cyan)}.boot-steps li[data-status=done]{color:var(--text-primary)}.boot-steps li[data-status=done] .dot{background:var(--accent-violet);box-shadow:0 0 10px var(--accent-violet)}.boot-steps li[data-status=failed]{color:var(--accent-rose)}.boot-steps li[data-status=failed] .dot{background:var(--accent-rose)}.boot-device{letter-spacing:.32em;text-transform:uppercase;color:var(--text-soft);margin:0;font-size:9px}.route-fade{animation:.6s ease-out both route-in}@keyframes route-in{0%{opacity:0;filter:blur(6px);transform:translateY(8px)scale(.99)}to{opacity:1;filter:none;transform:none}}.realtime-row{border-radius:var(--radius-pill);background:#a87bff1f;border:1px solid #a87bff4d;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.realtime-row .left{letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:8px;font-size:11px;display:flex}.realtime-row .left .live-dot{background:var(--accent-rose);width:8px;height:8px;box-shadow:0 0 10px var(--accent-rose);border-radius:50%;animation:1.4s ease-in-out infinite pulse}.realtime-row .left.idle .live-dot{background:var(--text-muted);box-shadow:none;animation:none}.realtime-row button{letter-spacing:.18em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-glow);padding:6px 12px;font-size:10px;font-weight:600;transition:transform .2s,opacity .2s}.realtime-row button:hover{transform:translateY(-1px)}.realtime-row button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.realtime-row button.ghost{box-shadow:none;border:1px solid var(--hairline-bright);color:var(--text-primary);background:0 0}@media (width>=1024px){.device-desktop .app-canvas{border:1px solid var(--hairline);width:min(1180px,96vw);box-shadow:var(--shadow-soft), inset 0 1px 0 #ffffff0f;background:radial-gradient(800px 400px at 50% -10%,#855cff2e,#0000 60%),linear-gradient(#0e0a26d9,#060612f2);border-radius:36px;margin:24px auto;padding:18px 24px 110px}.device-desktop .scan-cockpit{grid-template-columns:1fr 1.2fr 1fr;align-items:start;gap:16px;display:grid}.device-desktop .cockpit-left,.device-desktop .cockpit-right{flex-direction:column;gap:12px;display:flex;position:sticky;top:96px}.device-desktop .cockpit-stage{display:contents}.device-desktop .stage-overlay-grid{inset:16px}}.profile-badge{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface-muted);color:var(--text-primary);align-items:center;gap:8px;padding:4px 10px 4px 4px;transition:background .2s;display:inline-flex}.profile-badge:hover{background:#ebebef}.profile-ring{--profile-pct:0;background:conic-gradient(from 220deg, var(--accent-violet) 0%, var(--accent-violet) calc(var(--profile-pct) * 1%), #0f0f141a calc(var(--profile-pct) * 1%), #0f0f141a 100%);border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:relative}.profile-ring-inner{z-index:1;border:1px solid var(--hairline);width:28px;height:28px;color:var(--text-secondary);background:#fff;border-radius:50%;place-items:center;display:grid;position:relative}.profile-initial{font-family:var(--font-display);color:var(--text-primary);font-size:14px;font-weight:700}.profile-pct{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.profile-sheet-backdrop{z-index:80;background:#0f0f1447;place-items:end center;animation:.24s ease-out both backdrop-in;display:grid;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.profile-sheet{width:min(var(--app-max), 100%);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);border:1px solid var(--hairline);padding:16px 18px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:none;color:var(--ink);background:#fff;border-bottom:0;gap:14px;margin:0 auto;animation:.32s cubic-bezier(.22,1,.36,1) both sheet-in;display:grid}@keyframes sheet-in{0%{opacity:0;transform:translateY(40%)}to{opacity:1;transform:translateY(0)}}.profile-sheet-handle{background:#0f0f141f;border-radius:999px;width:38px;height:4px;margin:0 auto 4px}.profile-sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profile-sheet-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:4px 0 0;font-weight:700}.profile-progress{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:12px;font-size:11px;font-weight:600;display:flex}.profile-progress-track{background:#0f0f1414;border-radius:999px;flex:1;height:4px;overflow:hidden}.profile-progress-fill{background:var(--accent-violet);height:100%;transition:width .32s}.profile-step{gap:12px;display:grid}.profile-question{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.profile-sheet-foot{justify-content:space-between;gap:10px;display:flex}.profile-sheet-foot button:disabled{opacity:.5;cursor:not-allowed}.link-soft{color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;margin-top:6px;padding:6px 10px;font-size:11px;transition:color .2s}.link-soft:hover{color:var(--text-primary)}.permission-pulse{gap:6px;margin:8px auto 4px;display:flex}.permission-pulse span{background:var(--accent-violet);opacity:.4;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite permission-bounce}.permission-pulse span:nth-child(2){background:var(--accent-cyan);animation-delay:.15s}.permission-pulse span:nth-child(3){background:var(--accent-rose);animation-delay:.3s}@keyframes permission-bounce{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}.scene-card{border-radius:var(--radius-lg);border:1px solid var(--hairline);text-align:center;background:radial-gradient(600px 320px at 50% 20%,#855cff2e,#0000 65%),linear-gradient(#0e0a26d9,#060612f2);justify-items:center;gap:14px;padding:36px 22px;animation:.7s cubic-bezier(.22,1,.36,1) both scene-in;display:grid;position:relative;overflow:hidden}.scene-card .lead{text-align:center;max-width:36ch}.scene-card h1,.scene-card h2{letter-spacing:.02em;font-family:Cormorant Garamond,serif}.scene-orb{place-items:center;width:130px;height:130px;margin:6px auto 8px;display:grid;position:relative}.scene-orb .orb-core{background:radial-gradient(circle at 32% 30%,#f1e9ff 0%,#b890ff 30%,#6f4dff 65%,#1a0c5a 100%);border-radius:50%;width:64px;height:64px;animation:5s ease-in-out infinite scene-orb;box-shadow:0 0 36px #a87bff99}@keyframes scene-orb{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.04)}}.scene-orb .orb-ring{border:1px solid #a87bff73;border-radius:50%;width:96px;height:96px;animation:3.5s ease-in-out infinite ring-pulse;position:absolute}.scene-orb .orb-ring.outer{border-color:#5ce0ff52;width:130px;height:130px;animation-delay:.6s}@keyframes ring-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.stage[data-phase] video{filter:blur(var(--stage-blur,0));transition:filter 1.6s cubic-bezier(.22,1,.36,1)}.stage[data-phase=acquiring]:after,.stage[data-phase=mesh-snap]:after{content:"";z-index:4;pointer-events:none;background:radial-gradient(70% 50%,#0000 40%,#0201088c 100%);position:absolute;inset:0}.stage-acquire{z-index:5;color:var(--text-primary);text-align:center;place-items:center;display:grid;position:absolute;inset:0}.stage-acquire p{letter-spacing:.04em;text-shadow:0 1px 8px #00000080;margin:0;font-family:Cormorant Garamond,serif;font-size:20px}.stage-acquire span{letter-spacing:.32em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;font-size:9px;display:block}.acquire-reticle{pointer-events:none;position:absolute;inset:0}.acquire-reticle span{border:0 solid #ffffff8c;width:28px;height:28px;animation:2s ease-in-out infinite corner-pulse;position:absolute}.acquire-reticle span:first-child{border-top-width:2px;border-left-width:2px;top:22%;left:22%}.acquire-reticle span:nth-child(2){border-top-width:2px;border-right-width:2px;top:22%;right:22%}.acquire-reticle span:nth-child(3){border-bottom-width:2px;border-left-width:2px;bottom:22%;left:22%}.acquire-reticle span:nth-child(4){border-bottom-width:2px;border-right-width:2px;bottom:22%;right:22%}@keyframes corner-pulse{0%,to{opacity:.35}50%{opacity:1}}.stage-acquire.mesh p{font-family:Cormorant Garamond,serif;font-size:36px}.stage-tap{z-index:6;cursor:pointer;text-align:center;background:#0201088c;place-items:center;gap:10px;display:grid;position:absolute;inset:0}.stage-tap p{letter-spacing:.28em;text-transform:uppercase;color:var(--text-secondary);margin:12px 0 0;font-size:11px}.play-orb{width:64px;height:64px;color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #fff6;border-radius:50%;place-items:center;animation:2s ease-in-out infinite tap-pulse;display:grid}@keyframes tap-pulse{0%,to{transform:scale(1);box-shadow:0 0 #a87bff66}50%{transform:scale(1.05);box-shadow:0 0 0 18px #a87bff00}}.stage-overlay-grid .reveal{animation:.54s cubic-bezier(.22,1,.36,1) both reveal-in}.stage-overlay-grid .reveal-item{animation:.48s cubic-bezier(.22,1,.36,1) both reveal-in}@keyframes reveal-in{0%{opacity:0;filter:blur(6px);transform:translateY(8px)scale(.96)}to{opacity:1;filter:none;transform:none}}.conversation-feed{gap:6px;max-height:200px;display:grid;overflow:auto}.feed-line{border-radius:12px;margin:0;padding:9px 11px;font-size:12px;line-height:1.45;animation:.34s cubic-bezier(.22,1,.36,1) both feed-in}.feed-line.ai{color:var(--text-primary);background:#a87bff1f;border:1px solid #a87bff38}.feed-line.user{border:1px solid var(--hairline);color:var(--text-secondary);background:#ffffff0a;justify-self:end;max-width:85%}.feed-line.system{color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase;background:0 0;padding:4px 8px;font-size:10px}@keyframes feed-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.suggestion-pill.selected{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-glow);border-color:#0000}.invite-stage{color:var(--text-primary);isolation:isolate;background:radial-gradient(circle at 50% 18%,#1a0e3f 0%,#07051a 55%,#02010a 100%);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.invite-bg{z-index:0;background:radial-gradient(800px 480px at 50% 22%,#855cff52,#0000 60%),radial-gradient(640px 380px at 50% 90%,#5ce0ff29,#0000 70%);position:absolute;inset:0}.invite-grid{z-index:0;opacity:.6;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 10%,#0000 75%);mask-image:radial-gradient(circle at 50% 30%,#000 10%,#0000 75%)}.invite-vignette{z-index:0;background:radial-gradient(120% 100% at 50% 100%,#0000 30%,#02010cd9 100%);position:absolute;inset:0}.invite-top{z-index:2;padding:max(env(safe-area-inset-top), 22px) 24px 0;justify-content:space-between;align-items:center;display:flex;position:relative}.brand-row{align-items:center;gap:8px;display:flex}.brand-dot{background:radial-gradient(circle at 35% 35%,#fff 0%,#b890ff 35%,#5e35ff 65%,#1a0c5a 100%);border-radius:50%;width:18px;height:18px;box-shadow:0 0 12px #a87bff99}.brand-dot.small{width:12px;height:12px}.brand-text{letter-spacing:.32em;font-family:Cormorant Garamond,serif;font-size:13px}.invite-session{letter-spacing:.32em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.invite-center{z-index:2;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:0 26px 24px;display:flex;position:relative}.invite-orb{place-items:center;width:200px;height:200px;margin-bottom:4px;display:grid;position:relative}.invite-orb .orb-aurora{filter:blur(28px);opacity:.85;background:conic-gradient(#a87bff00,#a87bff8c 30%,#5ce0ff73 55%,#ff7d9a59 80%,#a87bff00 100%);border-radius:50%;position:absolute;inset:-10px}.invite-orb .orb-aurora.alt{filter:blur(54px);opacity:.55;mix-blend-mode:screen;inset:-32px}.invite-orb .orb-core{filter:blur(8px);z-index:1;background:radial-gradient(circle,#f4e9ff8c 0%,#855cff59 35%,#1a0c5a00 75%);border-radius:50%;width:64px;height:64px;animation:3.4s ease-in-out infinite core-breathe;position:absolute}@keyframes core-breathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}.invite-orb .boot-face-mesh{z-index:2;filter:drop-shadow(0 0 24px #a87bff59);pointer-events:none;width:calc(100% + 20px);height:calc(100% + 20px);position:absolute;inset:-10px}.invite-orb .boot-face-mesh .face-oval,.invite-orb .boot-face-mesh .face-oval-inner,.invite-orb .boot-face-mesh .mesh-line{fill:none}.invite-orb .boot-face-mesh .scan-beam-group{mix-blend-mode:screen}@keyframes mesh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.invite-wordmark{flex-direction:column;align-items:center;gap:4px;margin-top:6px;display:flex}.invite-wordmark>span:nth-child(2){letter-spacing:.45em;color:var(--text-secondary);font-family:Cormorant Garamond,serif;font-size:14px}.invite-wordmark .ai-mark{letter-spacing:.4em;color:var(--text-muted);font-size:9px}.invite-eyebrow{letter-spacing:.36em;text-transform:uppercase;color:var(--accent-violet);margin:0;font-size:11px}.invite-headline{letter-spacing:-.01em;color:var(--text-primary);margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(34px,8vw,46px);line-height:1.05}.invite-headline .accent{background:linear-gradient(120deg,#c8a5ff 0%,#5ce0ff 60%,#ff7d9a 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.invite-sub{max-width:38ch;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.55}.invite-cta{color:#fff;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:linear-gradient(120deg,#6f4dff 0%,#b08bff 50%,#ff7d9a 100%);border:0;border-radius:999px;align-items:center;gap:12px;margin-top:6px;padding:16px 26px;font-size:13px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 22px 50px #855cff8c,inset 0 0 0 1px #ffffff0d}.invite-cta:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 26px 60px #855cffb3,inset 0 0 0 1px #ffffff14}.invite-cta svg{transition:transform .22s}.invite-cta:hover svg{transform:translate(3px)}.invite-footer{z-index:2;padding:18px 26px max(env(safe-area-inset-bottom), 26px);justify-content:center;display:flex;position:relative}.invite-trust-row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.trust-chip{letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;font-size:10px;display:inline-flex}.trust-ico{border:1px solid var(--hairline);width:22px;height:22px;color:var(--text-secondary);background:#ffffff0d;border-radius:50%;place-items:center;display:grid}.scan-flow,.scan-theme{background:#efeae6;justify-content:center;width:100%;min-height:100svh;display:flex}.experience-stage{width:min(100%, var(--app-max));background:var(--surface-base);height:100svh;min-height:100svh;color:var(--ink);box-shadow:0 0 0 1px var(--hairline);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width<=480px){.scan-flow,.scan-theme{background:var(--surface-base)}.experience-stage{width:100%;box-shadow:none}}.experience-top{z-index:3;padding:max(env(safe-area-inset-top), 14px) 18px 10px;border-bottom:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);background:#fbf8f6f0;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid;position:relative}.exp-profile-btn{--profile-pct:0;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.exp-profile-ring{background:conic-gradient(from 220deg, var(--accent-violet) 0%, var(--accent-violet) calc(var(--profile-pct) * 1%), #0f0f141a calc(var(--profile-pct) * 1%), #0f0f141a 100%);border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.exp-profile-inner{border:1px solid var(--hairline);width:28px;height:28px;color:var(--text-secondary);background:#fff;border-radius:50%;place-items:center;display:grid}.exp-profile-pct{letter-spacing:.04em;color:var(--text-muted);font-size:10px;font-weight:600}.exp-step-info{text-align:center}.exp-step-eyebrow{letter-spacing:-.01em;text-transform:none;color:var(--text-primary);font-size:.95rem;font-weight:500;font-family:var(--font-display);margin:0}.exp-step-sub{letter-spacing:.01em;color:var(--text-muted);margin:2px 0 0;font-size:.75rem;font-weight:400}.exp-step-dots{align-items:center;gap:5px;display:flex}.exp-step-dots span{background:#2a20241f;border-radius:50%;width:6px;height:6px;transition:background .22s,transform .22s,width .22s}.exp-step-dots span.is-done{background:#b76e7973}.exp-step-dots span.is-current{background:var(--accent-violet);border-radius:999px;width:16px}.exp-step-dots span.is-next{background:#b76e7947}.experience-footer{padding:12px 0 max(env(safe-area-inset-bottom), 16px);letter-spacing:.02em;text-transform:none;color:var(--text-muted);border-top:1px solid var(--hairline);justify-content:center;align-items:center;gap:8px;font-size:.75rem;font-weight:400;display:flex}.exp-foot-dot{background:var(--accent-violet);border-radius:50%;width:5px;height:5px}.experience-footnote{text-align:center;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin:6px 0 12px;font-size:10px}.access-scene{background:#fff;flex-direction:column;flex:1;display:flex}.access-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:16px 24px;display:flex}.access-camera{color:#fff;border-radius:50%;place-items:center;width:130px;height:130px;margin-bottom:12px;display:grid;position:relative}.access-orb-pulse{border:1.5px solid #7c3aed59;border-radius:50%;position:absolute;inset:0}.access-orb-pulse:nth-child(2){animation-delay:.6s!important}.access-orb-core{background:var(--accent-violet);border-radius:50%;position:absolute;inset:16px;box-shadow:0 12px 32px #7c3aed59}.access-camera svg{z-index:2;color:#fffffff2;position:relative}.access-eyebrow{letter-spacing:.02em;text-transform:none;color:var(--accent-violet);margin:0;font-size:.8rem;font-weight:500}.access-title{letter-spacing:-.03em;color:var(--ink);font-size:clamp(1.7rem,6vw,2.1rem);font-weight:500;font-family:var(--font-display);margin:0}.access-sub{max-width:30ch;color:var(--ink-soft);margin:0;font-size:.95rem;font-weight:300;line-height:1.55}.access-error{border-radius:var(--radius-md);color:var(--accent-violet-deep);background:#b76e791a;border:1px solid #b76e7940;margin:0;padding:10px 14px;font-size:.85rem}.access-cta-row{gap:10px;width:100%;max-width:320px;margin-top:12px;display:grid}.cta-primary.fluid,.cta-secondary.fluid{letter-spacing:.01em;border-radius:var(--radius-pill);text-transform:none;width:100%;padding:15px 20px;font-size:.95rem;font-weight:500}.cta-primary.fluid{background:var(--accent-violet);color:#fff;box-shadow:none;cursor:pointer;border:0;transition:background .2s}.cta-primary.fluid:hover{background:var(--accent-violet-deep)}.cta-primary.fluid:disabled{opacity:.6;cursor:not-allowed}.cta-secondary.fluid{border:1px solid var(--hairline);color:var(--ink-soft);cursor:pointer;background:0 0}.ar-scene{flex-direction:column;flex:1;display:flex;position:relative}.ar-canvas{isolation:isolate;background:radial-gradient(circle at 50% 30%,#b76e791f,#0000 60%),linear-gradient(#1a1416,#0e0b0c);border-radius:28px;flex:1;margin:4px 14px 0;position:relative;overflow:hidden;box-shadow:0 16px 40px #2a20241f,inset 0 0 0 1px #ffffff0f}.ar-canvas video{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.ar-mesh-canvas{object-fit:cover;pointer-events:none;z-index:2;mix-blend-mode:screen;opacity:.55;width:100%;height:100%;position:absolute;inset:0}.lean-canvas .ar-mesh-canvas{opacity:.35}.lean-canvas[data-phase=capture] .ar-mesh-canvas,.lean-canvas[data-phase=locating] .ar-mesh-canvas{opacity:.15}.ar-vignette{z-index:3;pointer-events:none;background:radial-gradient(75% 60%,#0000 55%,#02010cb3 100%),linear-gradient(#02010c73 0%,#0000 22% 78%,#02010c8c 100%);position:absolute;inset:0}.ar-grain{z-index:4;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:repeating-linear-gradient(0deg,#ffffff0a 0 1px,#0000 1px 3px);position:absolute;inset:0}.ar-corners{z-index:5;pointer-events:none;position:absolute;inset:18px}.ar-corners span{border:0 solid #ffffff8c;width:22px;height:22px;animation:2.6s ease-in-out infinite ar-corner-pulse;position:absolute}.ar-corners span:first-child{border-top-width:1.5px;border-left-width:1.5px;top:0;left:0}.ar-corners span:nth-child(2){border-top-width:1.5px;border-right-width:1.5px;animation-delay:.3s;top:0;right:0}.ar-corners span:nth-child(3){border-bottom-width:1.5px;border-left-width:1.5px;animation-delay:.6s;bottom:0;left:0}.ar-corners span:nth-child(4){border-bottom-width:1.5px;border-right-width:1.5px;animation-delay:.9s;bottom:0;right:0}@keyframes ar-corner-pulse{0%,to{opacity:.45}50%{opacity:1}}.ar-annotations{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ar-annotations line,.ar-annotations circle{filter:drop-shadow(0 0 1px #a87bffb3)}.ar-line{transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1) 80ms}.ar-line.is-drawn{stroke-dashoffset:0}.ar-anchor{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .4s cubic-bezier(.22,1,.36,1) .72s,transform .6s cubic-bezier(.34,1.56,.64,1) .72s;transform:scale(0)}.ar-anchor.is-drawn{opacity:1;animation:2.4s ease-in-out 1.4s infinite ar-anchor-pulse;transform:scale(1)}.ar-anchor-tail{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .32s ease-out .98s,transform .32s ease-out .98s;transform:scale(0)}.ar-anchor-tail.is-drawn{opacity:.55;transform:scale(1)}@keyframes ar-anchor-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.6)}}.ar-locate{z-index:6;text-align:center;color:var(--text-secondary);place-items:center;display:grid;position:absolute;inset:0}.ar-locate p{z-index:2;letter-spacing:.04em;text-shadow:0 1px 8px #0009;margin:0;padding:20px;font-family:Cormorant Garamond,serif;font-size:18px;position:relative}.ar-tap{z-index:7;text-align:center;cursor:pointer;background:#02010880;place-items:center;display:grid;position:absolute;inset:0}.ar-tap p{letter-spacing:.28em;text-transform:uppercase;color:var(--text-secondary);margin:12px 0 0;font-size:11px}.locate-reticle{pointer-events:none;position:absolute;inset:18%}.locate-reticle span{border:0 solid #ffffff8c;width:30px;height:30px;animation:2s ease-in-out infinite locate-pulse;position:absolute}.locate-reticle span:first-child{border-top-width:2px;border-left-width:2px;top:0;left:0}.locate-reticle span:nth-child(2){border-top-width:2px;border-right-width:2px;top:0;right:0}.locate-reticle span:nth-child(3){border-bottom-width:2px;border-left-width:2px;bottom:0;left:0}.locate-reticle span:nth-child(4){border-bottom-width:2px;border-right-width:2px;bottom:0;right:0}@keyframes locate-pulse{0%,to{opacity:.35}50%{opacity:1}}.ar-profile-score{z-index:6;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.ar-scene.is-profile .ar-canvas{aspect-ratio:1;border-radius:50%;flex:none;max-width:380px;margin:8px auto 0}.ar-scene.is-profile .ar-canvas .ar-corners,.ar-scene.is-profile .ar-canvas .ar-vignette{display:none}.ar-progress{margin:14px 14px max(env(safe-area-inset-bottom), 16px)}.ar-zone-tag{z-index:7;-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);letter-spacing:.32em;text-transform:uppercase;color:var(--text-primary);pointer-events:none;white-space:nowrap;background:#080616b8;border:1px solid #a87bff80;border-radius:999px;align-items:center;gap:6px;padding:5px 11px 5px 9px;font-size:10px;transition:top 1.1s cubic-bezier(.65,0,.35,1),left 1.1s cubic-bezier(.65,0,.35,1);animation:1s cubic-bezier(.22,1,.36,1) both zone-tag-arrive;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 12px 30px #02010c8c,0 0 0 1px #a87bff2e,0 0 24px #a87bff40}@keyframes zone-tag-arrive{0%{opacity:0;filter:blur(6px);transform:translate(-50%,-50%)scale(.7)}55%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1.08)}78%{transform:translate(-50%,-50%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.ar-zone-tag .zone-dot{background:var(--accent-violet);width:6px;height:6px;box-shadow:0 0 8px var(--accent-violet);border-radius:50%;animation:1.6s ease-in-out infinite zone-dot-pulse}@keyframes zone-dot-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.ar-panel{z-index:6;-webkit-backdrop-filter:blur(20px)saturate(120%);opacity:0;filter:blur(10px);pointer-events:none;will-change:opacity, transform, filter;background:#0806166b;border:1px solid #ffffff14;border-radius:16px;gap:4px;min-width:132px;max-width:168px;padding:10px 12px;transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1),filter .54s cubic-bezier(.22,1,.36,1),box-shadow .6s;display:grid;position:absolute;box-shadow:0 18px 40px #02010c73,inset 0 1px #ffffff0d}.ar-panel.is-active{opacity:1;filter:blur();pointer-events:auto;animation:1.4s cubic-bezier(.22,1,.36,1) both ar-panel-glow;transform:translate(0)scale(1)}@keyframes ar-panel-glow{0%{box-shadow:0 18px 40px #02010c73,0 0 #a87bff00,inset 0 1px #ffffff0d}35%{box-shadow:0 18px 40px #02010c73,0 0 60px #a87bff73,inset 0 1px #ffffff2e}to{box-shadow:0 18px 40px #02010c73,0 0 #a87bff00,inset 0 1px #ffffff0d}}.ar-panel.tl{top:14px;left:14px;transform:translate(-12px,-12px)scale(.94)}.ar-panel.tr{text-align:right;top:14px;right:14px;transform:translate(12px,-12px)scale(.94)}.ar-panel.bl{min-width:168px;bottom:14px;left:14px;transform:translate(-12px,12px)scale(.94)}.ar-panel.br{text-align:right;min-width:168px;bottom:14px;right:14px;transform:translate(12px,12px)scale(.94)}.panel-eyebrow{letter-spacing:.36em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:8.5px;font-weight:600}.panel-headline{letter-spacing:.04em;color:var(--text-primary);margin:2px 0 0;font-family:Cormorant Garamond,serif;font-size:16px;animation:.9s cubic-bezier(.22,1,.36,1) both panel-headline-flash}@keyframes panel-headline-flash{0%{opacity:0;text-shadow:0 0 #a87bff00;letter-spacing:.18em;transform:translateY(6px)}40%{opacity:1;text-shadow:0 0 22px #a87bffd9}to{opacity:1;text-shadow:0 0 #a87bff00;letter-spacing:.04em;transform:none}}.panel-stream{min-height:26px;color:var(--text-secondary);letter-spacing:.02em;margin:0;font-size:10px;line-height:1.4}.stream-cursor{background:var(--accent-violet);vertical-align:-1px;width:6px;height:9px;margin-left:2px;animation:.9s steps(2,end) infinite stream-blink;display:inline-block}@keyframes stream-blink{50%{opacity:0}}.panel-bignum{background:linear-gradient(120deg,#c8a5ff 0%,#5ce0ff 60%,#ff7d9a 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:2px 0 0;font-family:Cormorant Garamond,serif;font-size:32px;line-height:1}.panel-meta{letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:9px}.panel-placeholder{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);opacity:.7;margin:0;font-size:10px}.panel-metric-list,.panel-insight-list{gap:5px;margin:4px 0 0;padding:0;list-style:none;display:grid}.panel-metric-line{grid-template-columns:1fr 32px 24px;align-items:center;gap:6px;font-size:10px;display:grid}.metric-name{color:var(--text-secondary);letter-spacing:.04em}.metric-bar{background:#ffffff14;border-radius:999px;height:3px;display:block;position:relative;overflow:hidden}.metric-bar>span{border-radius:inherit;background:linear-gradient(90deg,#5ce0ff 0%,#a87bff 100%);transition:width .32s;position:absolute;inset:0}.metric-num{color:var(--text-primary);text-align:right;font-family:Cormorant Garamond,serif;font-size:12px}.panel-insight-line{color:var(--text-secondary);letter-spacing:.02em;padding-left:12px;font-size:10px;line-height:1.4;animation:.36s cubic-bezier(.22,1,.36,1) both insight-in;position:relative}.panel-insight-line:before{content:"";background:var(--accent-violet);width:4px;height:4px;box-shadow:0 0 6px var(--accent-violet);border-radius:50%;position:absolute;top:6px;left:2px}@keyframes insight-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ar-panel.br .panel-insight-line{padding-left:0;padding-right:12px}.ar-panel.br .panel-insight-line:before{left:auto;right:2px}.ar-complete{z-index:9;pointer-events:none;place-items:center;animation:.7s cubic-bezier(.22,1,.36,1) both ar-complete-fade;display:grid;position:absolute;inset:0}@keyframes ar-complete-fade{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.ar-complete:before{content:"";pointer-events:none;background:radial-gradient(#02010c00 0%,#02010c59 55%,#02010ca6 100%);position:absolute;inset:0}.ar-complete-card{pointer-events:auto;-webkit-backdrop-filter:blur(28px)saturate(140%);text-align:center;background:#080616c7;border:1px solid #a87bff52;border-radius:24px;justify-items:center;gap:8px;min-width:260px;max-width:320px;padding:22px 28px 24px;animation:.9s cubic-bezier(.22,1,.36,1) .12s both ar-complete-card;display:grid;position:relative;box-shadow:0 32px 80px #02010c99,0 0 0 1px #a87bff1f,0 0 80px #a87bff38,inset 0 1px #ffffff14}@keyframes ar-complete-card{0%{opacity:0;filter:blur(8px);transform:translateY(14px)scale(.94)}to{opacity:1;filter:none;transform:none}}.complete-eyebrow{letter-spacing:.42em;text-transform:uppercase;color:var(--accent-violet);font-size:9.5px;font-weight:600}.complete-title{letter-spacing:.01em;color:var(--text-primary);margin:0;font-family:Cormorant Garamond,serif;font-size:24px;line-height:1.15}.complete-meta{letter-spacing:.32em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:10px}.complete-cta{color:#0b0518;letter-spacing:.32em;text-transform:uppercase;cursor:pointer;background:linear-gradient(120deg,#a87bfff2,#5ce0ffd9);border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:12px;margin-top:10px;padding:12px 22px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;transition:transform .22s,box-shadow .22s;display:inline-flex;box-shadow:0 12px 30px #a87bff59}.complete-cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px #a87bff80}.complete-cta .complete-arrow{font-size:14px;transition:transform .22s;display:inline-block}.complete-cta:hover .complete-arrow{transform:translate(3px)}.scan-progress-panel{z-index:3;border:1px solid var(--hairline);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0806168c;border-radius:24px;gap:10px;margin:20px 22px 4px;padding:16px 18px;display:grid;position:relative}.progress-stage-row{justify-content:space-between;align-items:baseline;display:flex}.progress-stage-label{letter-spacing:.32em;color:var(--accent-violet);font-size:10px}.progress-stage-pct{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:22px}.progress-stage-copy{color:var(--text-secondary);margin:0;font-size:13px}.progress-track{background:#ffffff0f;border-radius:999px;height:4px;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#5ce0ff 0%,#a87bff 50%,#ff7d9a 100%);height:100%;transition:width .26s;box-shadow:0 0 16px #a87bff73}.progress-shimmer{filter:blur(6px);background:radial-gradient(circle,#fffffff2 0%,#0000 70%);border-radius:50%;width:18px;height:18px;position:absolute;top:50%;transform:translate(-50%,-50%)}.scan-stage-dots{justify-content:center;gap:6px;display:flex}.scan-stage-dots span{background:#ffffff14;border-radius:999px;width:18px;height:3px}.scan-stage-dots span.is-active{background:#a87bff80}.scan-stage-dots span.is-done{background:var(--accent-violet)}.score-ring.big{--score:0;background:conic-gradient(from 220deg, #5ce0ff 0%, #a87bff calc(var(--score) * 1%), #ffffff0f calc(var(--score) * 1%), #ffffff0f 100%);border-radius:50%;place-items:center;width:160px;height:160px;display:grid;box-shadow:0 30px 60px #02010c80}.score-ring.big .score-ring-inner{text-align:center;background:#080616f2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:138px;height:138px;display:flex}.score-ring.big .score-num{color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:56px;line-height:1}.score-ring.big .score-label{letter-spacing:.32em;color:var(--text-muted);font-size:9px}.score-ring.big .score-grade{color:var(--accent-violet);font-family:Cormorant Garamond,serif;font-size:16px}.profile-summary{z-index:3;border:1px solid var(--hairline);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0806168c;border-radius:24px;gap:14px;margin:14px 22px 4px;padding:16px 18px 18px;display:grid;position:relative}.metric-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.metric-row{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;display:flex}.metric-row:last-child{border-bottom:0}.metric-row-label{color:var(--text-secondary);letter-spacing:.04em}.metric-row-status{font-family:Cormorant Garamond,serif;font-size:16px}.metric-row-status.status-good{color:#5ce0ff}.metric-row-status.status-mid{color:#c8a5ff}.metric-row-status.status-high{color:#ff8da6}.recommend-scene{background:#fff;flex-direction:column;flex:1;display:flex;overflow:hidden}.recommend-body{flex:1;gap:16px;padding:10px 18px 16px;display:grid;overflow-y:auto}.recommend-eyebrow{letter-spacing:.02em;text-transform:none;color:var(--accent-violet);margin:6px 0 0;font-size:.8rem;font-weight:500}.recommend-title{letter-spacing:-.03em;color:var(--ink);font-size:clamp(1.5rem,5vw,1.9rem);font-weight:500;line-height:1.15;font-family:var(--font-display);margin:0}.recommend-section{gap:10px;display:grid}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:10px;font-weight:600}.recommend-scene .treatment-stack{gap:10px;display:grid}.recommend-scene .treatment-card{border-radius:var(--radius-md);border:1px solid var(--hairline);color:var(--ink);text-align:left;cursor:pointer;background:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;padding:12px 14px;transition:background .2s,border-color .2s;display:grid}.recommend-scene .treatment-card:hover{background:var(--surface-muted);border-color:var(--hairline-strong)}.recommend-scene .treatment-avatar{background:var(--accent-violet-soft);width:44px;height:44px;color:var(--accent-violet);border-radius:50%;place-items:center;display:grid}.recommend-scene .treatment-meta{gap:2px;display:grid}.recommend-scene .treatment-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:1rem;font-weight:700}.recommend-scene .treatment-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.recommend-scene .treatment-arrow{color:var(--text-muted)}.product-feature{border-radius:var(--radius-lg);border:1px solid var(--hairline);background:var(--surface-muted);grid-template-columns:auto 1fr;gap:14px;padding:14px;display:grid}.product-feature-bottle{border-radius:var(--radius-md);background:var(--accent-violet);color:#fff;border:none;place-items:center;width:72px;height:92px;display:grid}.product-feature-meta{align-content:center;gap:4px;display:grid}.product-feature-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:1.15rem;font-weight:700;line-height:1.15}.product-feature-desc{color:var(--ink-soft);font-size:12px;line-height:1.45}.product-feature-price{color:var(--accent-violet);letter-spacing:.02em;font-size:14px;font-weight:700}.stack{gap:10px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.center{justify-content:center}.profile-report{background:#fff;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.report-scroll{scrollbar-width:thin;flex:1;gap:16px;padding:8px 16px 22px;display:grid;overflow-y:auto}.report-scroll:after{content:"";height:4px;display:block}.report-hero{border-radius:var(--radius-lg);background:var(--surface-muted);border:1px solid var(--hairline);box-shadow:none;margin:4px 0 0;padding:22px 18px 24px;position:relative;overflow:hidden}.report-hero:before{display:none}.report-hero-head{z-index:2;gap:8px;display:grid;position:relative}.report-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:10px;font-weight:600}.report-title{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(1.45rem,5vw,1.85rem);font-weight:700;line-height:1.1}.report-strap{color:var(--ink-soft);max-width:34ch;margin:4px 0 0;font-size:13px;line-height:1.5}.report-hero-body{z-index:2;grid-template-columns:auto 1fr;align-items:center;gap:16px;margin-top:18px;display:grid;position:relative}.report-score-ring{--score:0;background:conic-gradient(from 220deg, var(--accent-violet) 0%, var(--accent-violet) calc(var(--score) * 1%), #0f0f141a calc(var(--score) * 1%), #0f0f141a 100%);width:116px;height:116px;box-shadow:none;border-radius:50%;place-items:center;display:grid}.report-score-inner{text-align:center;border:1px solid var(--hairline);background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:96px;height:96px;display:flex}.report-score-num{font-family:var(--font-display);letter-spacing:-.04em;color:var(--accent-violet);font-size:2.4rem;font-weight:700;line-height:1}.report-score-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:9px;font-weight:600}.report-hero-tags{flex-wrap:wrap;align-content:center;gap:6px;display:flex}.report-tag{border:1px solid var(--hairline);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;font-weight:600;display:inline-flex}.report-tag.accent{border-color:var(--accent-violet);color:var(--accent-violet);background:var(--accent-violet-soft)}.report-tag.muted{color:var(--text-muted)}.report-tag-dot{background:var(--accent-violet);width:6px;height:6px;box-shadow:none;border-radius:50%}.report-section{gap:12px;display:grid}.report-section-head{gap:4px;display:grid}.section-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-violet);font-size:10px;font-weight:600}.section-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.15rem;font-weight:700;line-height:1.15}.atmo-card{border-radius:var(--radius-lg);border:1px solid var(--hairline);background:#fff;grid-template-columns:1fr auto 1fr;align-items:stretch;padding:16px;display:grid;position:relative;overflow:hidden}.atmo-cell{align-content:start;gap:4px;display:grid}.atmo-label{letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.atmo-value{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:2rem;font-weight:700;line-height:1}.atmo-value small{font-family:var(--font-sans);letter-spacing:.02em;color:var(--text-secondary);margin-left:3px;font-size:13px}.atmo-meta{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-violet);font-size:10px;font-weight:600}.atmo-divider{background:var(--hairline);width:1px;margin:4px 14px}.atmo-strap{border-top:1px dashed var(--hairline);color:var(--text-secondary);letter-spacing:.04em;grid-column:1/-1;align-items:center;gap:8px;margin-top:14px;padding-top:12px;font-size:11px;display:flex}.atmo-strap-dot{background:var(--accent-violet);width:6px;height:6px;box-shadow:none;border-radius:50%;animation:2.4s ease-in-out infinite zone-dot-pulse}.metric-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.metric-card{border-radius:var(--radius-md);border:1px solid var(--hairline);background:#fff;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:12px;transition:border-color .2s;display:grid;position:relative;overflow:hidden}.metric-card:before{display:none}.metric-card.status-good{border-color:#7c3aed47}.metric-card.status-good:before{display:none}.metric-card.status-mid{border-color:#7c3aed38}.metric-card.status-high{border-color:#ec48994d}.metric-card.status-high:before{display:none}.metric-card-icon{z-index:1;background:var(--surface-muted);border:1px solid var(--hairline);width:32px;height:32px;color:var(--ink);border-radius:10px;place-items:center;display:grid;position:relative}.metric-card.status-good .metric-card-icon,.metric-card.status-mid .metric-card-icon{color:var(--accent-violet)}.metric-card.status-high .metric-card-icon{color:var(--accent-rose)}.metric-card-body{z-index:1;gap:6px;display:grid;position:relative}.metric-card-label{letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.metric-card-value{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:1.45rem;font-weight:700;line-height:1}.metric-card-value small{font-family:var(--font-sans);letter-spacing:.02em;color:var(--text-secondary);margin-left:2px;font-size:11px}.metric-card-bar{background:#0f0f1414;border-radius:999px;height:4px;display:block;overflow:hidden}.metric-card-bar>span{border-radius:inherit;background:var(--accent-violet);height:100%;box-shadow:none;transition:width .9s cubic-bezier(.22,1,.36,1);display:block}.metric-card.status-high .metric-card-bar>span{background:var(--accent-rose);box-shadow:none}.metric-card-status{letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);font-size:10px}.metric-card.status-good .metric-card-status,.metric-card.status-mid .metric-card-status{color:var(--accent-violet)}.metric-card.status-high .metric-card-status{color:var(--accent-rose)}.finding-stack{gap:10px;margin:0;padding:0;list-style:none;display:grid}.finding-card{border-radius:var(--radius-md);border:1px solid var(--hairline);background:#fff;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:14px;display:grid;position:relative;overflow:hidden}.finding-card:before{content:"";background:var(--accent-violet);opacity:1;width:3px;position:absolute;top:0;bottom:0;left:0}.finding-card.tone-good:before,.finding-card.tone-mid:before{background:var(--accent-violet)}.finding-card.tone-high:before{background:var(--accent-rose)}.finding-bullet{background:var(--accent-violet);width:8px;height:8px;box-shadow:0 0 10px var(--accent-violet);border-radius:50%;margin-top:7px}.finding-card.tone-good .finding-bullet{background:var(--accent-cyan);box-shadow:0 0 10px var(--accent-cyan)}.finding-card.tone-high .finding-bullet{background:var(--accent-rose);box-shadow:0 0 10px var(--accent-rose)}.finding-body{gap:4px;display:grid}.finding-title{color:var(--text-primary);margin:0;font-family:Cormorant Garamond,serif;font-size:16px;line-height:1.1}.finding-detail{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.5}.suggestion-stack{gap:8px;margin:0;padding:0;list-style:none;display:grid}.suggestion-card{border-radius:var(--radius-md);border:1px solid var(--hairline);background:#fff;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:12px 14px;display:grid}.suggestion-step{font-family:var(--font-display);color:var(--accent-violet);letter-spacing:.02em;width:22px;font-size:15px;font-weight:700}.suggestion-icon{background:var(--accent-violet-soft);width:30px;height:30px;color:var(--accent-violet);border:1px solid #7c3aed33;border-radius:9px;place-items:center;display:grid}.suggestion-body{gap:2px;display:grid}.suggestion-title{color:var(--text-primary);letter-spacing:.02em;font-size:13px}.suggestion-meta{letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.report-meta-row{border-top:1px dashed var(--hairline);gap:10px;margin-top:4px;padding-top:14px;display:grid}.report-download{border-radius:var(--radius-md);border:1px solid var(--hairline);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#fff;justify-self:start;align-items:center;gap:8px;padding:10px 14px;font-size:11px;font-weight:600;transition:background .2s;display:inline-flex}.report-download:hover{background:var(--surface-muted)}.report-finepoint{color:var(--text-muted);max-width:38ch;margin:0;font-size:11px;font-style:normal;line-height:1.55}.report-cta-row{padding:12px 16px max(env(safe-area-inset-bottom), 16px);border-top:1px solid var(--hairline);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;grid-template-columns:auto 1fr;gap:10px;display:grid;position:relative}.report-cta-row .report-rescan{letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;width:auto;padding:14px 16px;font-size:11px;font-weight:700;display:inline-flex}.report-cta-row .cta-primary.fluid{padding:14px 18px;font-size:12px}.report-tag.ai-tag{border-color:var(--accent-violet);color:var(--accent-violet);background:var(--accent-violet-soft)}.ai-tag-dot{background:var(--accent-violet);width:6px;height:6px;box-shadow:none;border-radius:50%}.ai-narrative-section{position:relative}.ai-narrative-card{border-radius:var(--radius-lg);border:1px solid var(--hairline);background:var(--surface-muted);grid-template-columns:minmax(110px,140px) 1fr;gap:14px;padding:16px;display:grid;position:relative;overflow:hidden}.ai-narrative-card:before{display:none}.ai-narrative-snapshot{border-radius:var(--radius-md);border:1px solid var(--hairline);aspect-ratio:4/5;background:var(--surface-muted);position:relative;overflow:hidden}.ai-narrative-snapshot img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.ai-snapshot-tag{letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#0f0f14a6;border:none;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:9px;font-weight:600;display:inline-flex;position:absolute;bottom:8px;left:8px}.ai-snapshot-dot{width:5px;height:5px;box-shadow:none;background:#fff;border-radius:50%;animation:1.6s ease-in-out infinite ai-pulse}@keyframes ai-pulse{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.ai-narrative-body{align-content:start;gap:10px;display:grid}.ai-narrative-para{color:var(--text-primary);letter-spacing:.005em;margin:0;font-size:13.5px;line-height:1.55}.ai-narrative-para:nth-child(n+2){color:var(--text-secondary)}.ai-narrative-fallback{color:var(--text-muted);margin:0;font-size:12px;font-style:italic;line-height:1.55}.ai-narrative-meta{border:1px solid var(--hairline);background:#ffffff0a;border-radius:999px;align-items:center;gap:8px;width:max-content;max-width:100%;margin-top:4px;padding:8px 10px;display:inline-flex}.ai-narrative-meta-label{letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);font-size:9px}.ai-narrative-meta-value{color:var(--text-primary);letter-spacing:.04em;font-size:11px}.ai-narrative-status{letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;margin:6px 0 0;font-size:10px;display:inline-flex}.ai-spinner{border:1.5px solid #ffffff26;border-top-color:var(--accent-violet);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.shimmer-line{background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1f 50%,#ffffff0a 100%) 0 0/200% 100%;border-radius:6px;height:10px;animation:1.4s ease-in-out infinite shimmer-slide;display:block}.shimmer-line+.shimmer-line{margin-top:8px}.shimmer-line.shimmer-line-short{width:65%}.shimmer-line.shimmer-line-sm{width:45%;height:8px}@keyframes shimmer-slide{0%{background-position:100% 0}to{background-position:-100% 0}}.finding-card.is-loading .finding-title,.finding-card.is-loading .finding-detail{margin:0}.suggestion-reason{color:var(--text-secondary);letter-spacing:.005em;text-transform:none;margin-top:4px;font-size:11px;line-height:1.5}@media (width<=480px){.ai-narrative-card{grid-template-columns:1fr}.ai-narrative-snapshot{aspect-ratio:4/5;max-width:240px}}@media print{body,html,#root{color:#15102a!important;background:#fff!important}body:before{display:none!important}.app-shell,.app-canvas{box-shadow:none!important;background:#fff!important;border:0!important}.experience-top,.report-cta-row,.report-download{display:none!important}.profile-report{overflow:visible!important}.report-scroll{gap:22px!important;padding:0!important;overflow:visible!important}.report-hero{color:#1b1438!important;box-shadow:none!important;background:#f6f4fc!important;border:1px solid #e2dcf2!important}.report-hero:before{display:none!important}.report-title,.section-title,.finding-title,.metric-card-value,.report-score-num{color:#1b1438!important}.report-strap,.finding-detail,.atmo-meta,.metric-card-status,.suggestion-meta{color:#4a3f78!important}.atmo-card,.metric-card,.finding-card,.suggestion-card,.ai-narrative-card{color:#1b1438!important;background:#fff!important;border-color:#e2dcf2!important}.ai-narrative-card:before{display:none!important}.ai-narrative-para,.ai-narrative-meta-value,.suggestion-reason{color:#1b1438!important}.ai-narrative-status,.ai-spinner,.shimmer-line,.metric-card:before{display:none!important}.metric-card-bar>span{box-shadow:none!important}.diagnostic-section{background:#fafafd!important;border:1px solid #e2dcf2!important}}.metric-card-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.metric-card-conf{align-items:center;gap:2px;display:inline-flex}.metric-card-conf .conf-dot{background:#ffffff2e;border-radius:50%;width:4px;height:4px;transition:background .25s}.metric-card-conf.conf-low .conf-dot:first-child{background:var(--accent-rose);box-shadow:0 0 4px var(--accent-rose)}.metric-card-conf.conf-mid .conf-dot:nth-child(-n+2){background:var(--accent-violet);box-shadow:0 0 4px var(--accent-violet)}.metric-card-conf.conf-high .conf-dot{background:var(--accent-cyan);box-shadow:0 0 4px var(--accent-cyan)}.metric-card-foot{justify-content:space-between;align-items:center;gap:6px;margin-top:2px;display:flex}.metric-card-zone{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-size:9.5px}.metric-card.is-pending{opacity:.62}.metric-card.is-pending .metric-card-value{color:var(--text-muted)}.diagnostic-section{gap:12px;display:grid}.diagnostic-section .report-section-head .section-eyebrow{color:var(--accent-violet)}.diagnostic-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}@media (width<=380px){.diagnostic-grid{grid-template-columns:1fr 1fr}}.diagnostic-stat{border-radius:var(--radius-md);border:1px solid var(--hairline);background:#fff;gap:4px;padding:12px;display:grid;position:relative;overflow:hidden}.diagnostic-stat:before{display:none}.diagnostic-stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:9.5px;font-weight:600}.diagnostic-stat-value{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);text-transform:capitalize;font-size:1.5rem;font-weight:700;line-height:1}.diagnostic-stat-meta{letter-spacing:.16em;color:var(--text-secondary);font-size:10px}.diagnostic-zones{border:1px dashed var(--hairline);background:#08061673;border-radius:16px;gap:6px;padding:14px;display:grid}.diagnostic-zone-row{border-bottom:1px solid var(--hairline);grid-template-columns:1fr auto;align-items:center;gap:6px;padding:8px 0;display:grid}.diagnostic-zone-row:last-child{border-bottom:0}.diagnostic-zone-name{letter-spacing:.02em;color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:16px}.diagnostic-zone-count{letter-spacing:.22em;text-transform:uppercase;color:var(--accent-cyan);font-size:10px}.diagnostic-zone-metrics{letter-spacing:.06em;color:var(--text-muted);flex-wrap:wrap;grid-column:1/-1;gap:12px 14px;font-size:11px;display:flex}.diagnostic-zone-metrics strong{color:var(--text-primary);margin-left:2px;font-family:Cormorant Garamond,serif;font-size:14px;font-weight:500}.diagnostic-predictions{border:1px solid var(--hairline);background:#ffffff0a;border-radius:16px;gap:8px;padding:12px 14px 14px;display:grid}.diagnostic-predictions-label{letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:10px}.diagnostic-prediction-bars{gap:6px;display:grid}.diagnostic-prediction-row{grid-template-columns:80px 1fr 36px;align-items:center;gap:8px;display:grid}.diagnostic-prediction-name{color:var(--text-secondary);text-transform:capitalize;letter-spacing:.04em;font-size:11px}.diagnostic-prediction-bar{background:#ffffff0f;border-radius:999px;height:4px;display:block;overflow:hidden}.diagnostic-prediction-bar>span{border-radius:inherit;background:linear-gradient(90deg,#5ce0ff,#a87bff);height:100%;transition:width .6s cubic-bezier(.22,1,.36,1);display:block}.diagnostic-prediction-pct{letter-spacing:.06em;color:var(--text-muted);text-align:right;font-size:10px}.face-guide{z-index:6;pointer-events:none;color:#ffffffd9;transition:color .26s;animation:.48s cubic-bezier(.22,1,.36,1) both face-guide-arrive;position:absolute;inset:0}@keyframes face-guide-arrive{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.face-guide.stage-searching{color:#ffffffc7}.face-guide.stage-aligning{color:var(--accent-violet)}.face-guide.stage-almost{color:#c8a5ff}.face-guide.stage-locked{color:var(--accent-cyan)}.face-guide-shade{pointer-events:none;background:radial-gradient(60% 70% at 50% 49%,#0000 50%,#02010c8c 100%);transition:opacity .36s;position:absolute;inset:0}.face-guide.stage-locked .face-guide-shade{opacity:.55}.face-guide-svg{filter:drop-shadow(0 0 10px #a87bff2e);width:100%;height:100%;transition:filter .32s;position:absolute;inset:0}.face-guide.stage-almost .face-guide-svg{filter:drop-shadow(0 0 16px #a87bff66)}.face-guide.stage-locked .face-guide-svg{filter:drop-shadow(0 0 22px #5ce0ff8c)}.face-guide-locator{transition:opacity .32s,stroke-dashoffset 18s linear;animation:6s linear infinite face-guide-locator-march}.face-guide.stage-searching .face-guide-locator{opacity:.95}.face-guide.stage-aligning .face-guide-locator{opacity:.42}.face-guide.stage-almost .face-guide-locator{opacity:.16}.face-guide.stage-locked .face-guide-locator{opacity:0}@keyframes face-guide-locator-march{to{stroke-dashoffset:-32px}}.face-guide-outline-soft{opacity:.55;transition:opacity .26s}.face-guide.stage-locked .face-guide-outline-soft{opacity:.32}.face-guide-outline{transition:stroke-width .24s,opacity .24s}.face-guide.stage-locked .face-guide-outline{opacity:.45}.face-guide-progress{filter:drop-shadow(0 0 6px);transition:stroke-dashoffset .22s cubic-bezier(.22,1,.36,1)}.face-guide-ticks line{stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;opacity:.55;transition:opacity .24s}.face-guide.stage-locked .face-guide-ticks line{opacity:.9}.face-guide-distance{letter-spacing:.28em;text-transform:uppercase;color:currentColor;white-space:nowrap;background:#080616bf;border:1px solid;border-radius:999px;padding:4px 10px;font-size:9.5px;animation:1.6s ease-in-out infinite distance-pulse;position:absolute;bottom:calc(50% - 125px);left:50%;transform:translate(-50%)}@keyframes distance-pulse{0%,to{opacity:.7;transform:translate(-50%)scale(.97)}50%{opacity:1;transform:translate(-50%)scale(1.02)}}.face-guide-spark{background:var(--accent-cyan);width:12px;height:12px;box-shadow:0 0 24px var(--accent-cyan), 0 0 60px #5ce0ff8c;pointer-events:none;border-radius:50%;animation:.9s ease-out face-guide-spark;position:absolute;top:49.3%;left:50%;transform:translate(-50%,-50%)}@keyframes face-guide-spark{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.6)}to{opacity:0;transform:translate(-50%,-50%)scale(2.4)}}.drift-arrow{width:32px;height:32px;color:var(--accent-cyan);opacity:calc(.3 + .55 * var(--intensity,.6));transform:scale(calc(.85 + .25 * var(--intensity,.6)));pointer-events:none;filter:drop-shadow(0 0 10px #5ce0ff73);background:#0806168c;border:1px solid;border-radius:50%;place-items:center;transition:opacity .22s,transform .22s;display:grid;position:absolute}.drift-arrow.side-left{transform-origin:50%;animation:1.2s ease-in-out infinite drift-bob-x;top:50%;left:8%}.drift-arrow.side-right{transform-origin:50%;animation:1.2s ease-in-out infinite reverse drift-bob-x;top:50%;right:8%}.drift-arrow.side-up{transform-origin:50%;animation:1.2s ease-in-out infinite drift-bob-y;top:8%;left:50%}.drift-arrow.side-down{transform-origin:50%;animation:1.2s ease-in-out infinite reverse drift-bob-y;bottom:8%;left:50%}.drift-arrow.side-left svg{transform:rotate(180deg)}.drift-arrow.side-up svg{transform:rotate(-90deg)}.drift-arrow.side-down svg{transform:rotate(90deg)}@keyframes drift-bob-x{0%,to{translate:0}50%{translate:-4px}}@keyframes drift-bob-y{0%,to{translate:0}50%{translate:0 -4px}}.scan-status{z-index:7;-webkit-backdrop-filter:blur(16px)saturate(140%);pointer-events:none;background:#0806168c;border:1px solid #ffffff12;border-radius:16px;align-content:end;justify-items:center;gap:8px;width:min(86%,360px);padding:10px 14px;animation:.42s cubic-bezier(.22,1,.36,1) both scan-status-arrive;display:grid;position:absolute;bottom:86px;left:50%;transform:translate(-50%);box-shadow:0 18px 36px #02010c73}.scan-status.is-ready{border-color:#5ce0ff66;box-shadow:0 18px 36px #02010c73,0 0 24px #5ce0ff2e}@keyframes scan-status-arrive{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.scan-status-line{letter-spacing:.01em;color:var(--text-primary);text-align:center;font-feature-settings:"ss01";margin:0;font-size:13px;line-height:1.3}.scan-status-pips{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;max-width:280px;display:grid}.status-pip{letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;grid-template-columns:8px 1fr;align-items:center;gap:6px;min-width:0;padding:4px 6px 4px 7px;font-size:8.5px;transition:background .22s,border-color .22s,color .22s,transform .22s;display:grid}.status-pip .pip-dot{background:#ffffff2e;border-radius:50%;width:6px;height:6px;transition:background .22s,box-shadow .22s}.status-pip .pip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-pip.is-warn{color:#ffd598eb;background:#ffc16a14;border-color:#ffc16a59}.status-pip.is-warn .pip-dot{background:#ffc16a;box-shadow:0 0 6px #ffc16ab3}.status-pip.is-pass{color:#cff5fff2;background:#5ce0ff1a;border-color:#5ce0ff66}.status-pip.is-pass .pip-dot{background:var(--accent-cyan);box-shadow:0 0 8px #5ce0ffd9}.scan-status.is-ready .status-pip.is-pass{animation:.9s cubic-bezier(.22,1,.36,1) both pip-settle}.scan-status.is-ready .status-pip.is-pass:first-child{animation-delay:0s}.scan-status.is-ready .status-pip.is-pass:nth-child(2){animation-delay:90ms}.scan-status.is-ready .status-pip.is-pass:nth-child(3){animation-delay:.18s}.scan-status.is-ready .status-pip.is-pass:nth-child(4){animation-delay:.27s}.scan-status.is-ready .status-pip.is-pass:nth-child(5){animation-delay:.36s}@keyframes pip-settle{0%{transform:translateY(2px)}60%{transform:translateY(-1px)}to{transform:translateY(0)}}@media (width<=420px){.status-pip{padding:4px 5px;font-size:8px}.scan-status{bottom:96px}}.ai-narrative-card.reveal-incoming{position:relative;overflow:hidden}.ai-narrative-card.reveal-incoming .ai-narrative-snapshot img{filter:blur(28px)saturate(108%)brightness(.9);transition:none;transform:scale(1.08)}.ai-narrative-card.reveal-incoming .ai-snapshot-shade{opacity:1}.ai-narrative-card.reveal-incoming .ai-narrative-body{filter:blur(8px);opacity:.55}.ai-narrative-card.reveal-visible .ai-narrative-snapshot img{filter:blur()saturate()brightness();transition:filter 1.1s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1);transform:scale(1)}.ai-narrative-card.reveal-visible .ai-snapshot-shade{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1) .2s}.ai-narrative-card.reveal-visible .ai-narrative-body{filter:blur();opacity:1;transition:filter .7s cubic-bezier(.22,1,.36,1) .24s,opacity .7s cubic-bezier(.22,1,.36,1) .24s}.ai-narrative-card.reveal-visible .ai-narrative-para{animation:.72s cubic-bezier(.22,1,.36,1) both ai-para-rise;animation-delay:calc(.36s + var(--para-idx,0) * .16s)}@keyframes ai-para-rise{0%{opacity:0;filter:blur(6px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.ai-narrative-card.reveal-visible .ai-narrative-meta{animation:.7s cubic-bezier(.22,1,.36,1) .72s both ai-para-rise}.ai-narrative-card.reveal-visible .ai-narrative-snapshot:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff73 50%,#0000 70%);animation:1.1s cubic-bezier(.22,1,.36,1) .22s ai-snapshot-sweep;position:absolute;inset:0;transform:translate(-120%)}@keyframes ai-snapshot-sweep{to{transform:translate(120%)}}.ai-snapshot-shade{pointer-events:none;opacity:0;z-index:1;background:radial-gradient(80% 60% at 50% 40%,#a87bff00 0%,#08061699 100%),linear-gradient(#08061600 30%,#0806168c 100%);transition:opacity .6s;position:absolute;inset:0}.ai-narrative-snapshot{position:relative}.ai-narrative-snapshot .ai-snapshot-tag{z-index:2}.capture-seq{z-index:14;pointer-events:none;color:var(--text-primary);place-items:center;font-family:Inter,sans-serif;display:grid;position:absolute;inset:0}.capture-seq-shade{opacity:0;background:radial-gradient(60% 70% at 50% 47%,#fbf8f600 0%,#2a202447 100%),linear-gradient(#2a202414 0%,#2a202429 100%);transition:opacity .36s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.capture-seq.stage-tracking-ok .capture-seq-shade{opacity:.35}.capture-seq.stage-scan-beam .capture-seq-shade{opacity:.45}.capture-seq.stage-flash .capture-seq-shade{opacity:0}.capture-seq.stage-captured .capture-seq-shade{opacity:.3}.capture-toast{-webkit-backdrop-filter:blur(18px)saturate(140%);color:var(--text-primary);transform-origin:50%;background:#ffffffeb;border:1px solid #b76e7966;border-radius:16px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;padding:12px 18px 12px 14px;animation:.7s cubic-bezier(.22,1,.36,1) both capture-toast-pop;display:grid;position:relative;box-shadow:0 18px 40px #2a20241f,inset 0 0 0 1px #fff9}.capture-toast-icon{color:#fff;background:radial-gradient(circle at 50% 30%,#ffffff80,#b76e79f2);border-radius:50%;grid-row:1/span 2;place-items:center;width:28px;height:28px;animation:.6s cubic-bezier(.22,1,.36,1) 80ms both capture-toast-check;display:grid;box-shadow:inset 0 0 0 1px #ffffff4d,0 0 14px #b76e7959}.capture-toast-text{letter-spacing:.02em;color:var(--text-primary);grid-area:1/2;font-size:13px;font-weight:600}.capture-toast-sub{letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);grid-area:2/2;font-size:9.5px}@keyframes capture-toast-pop{0%{opacity:0;filter:blur(8px);transform:translateY(14px)scale(.92)}55%{opacity:1;filter:blur();transform:translateY(-2px)scale(1.02)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes capture-toast-check{0%{opacity:0;transform:scale(.4)rotate(-14deg)}60%{opacity:1;transform:scale(1.15)rotate(0)}to{opacity:1;transform:scale(1)rotate(0)}}.capture-scan{border:1px solid #b76e7959;border-radius:22px;place-items:center;display:grid;position:absolute;inset:10% 8%;overflow:hidden;box-shadow:inset 0 0 0 1px #b76e7914,0 0 28px #b76e791a}.capture-scan-grid{opacity:.35;background:repeating-linear-gradient(0deg,#0000 0 11px,#b76e791a 11px 12px);animation:1.8s ease-in-out infinite capture-grid-fade;position:absolute;inset:0}.capture-scan-beam{background:linear-gradient(90deg,#0000 0%,#b76e7940 18%,#b76e79 50%,#e8c4c8f2 82%,#0000 100%);border-radius:999px;height:3px;animation:1.15s cubic-bezier(.42,0,.2,1) infinite capture-beam-sweep;position:absolute;left:6%;right:6%;box-shadow:0 0 16px #b76e79a6,0 0 36px #b76e7947}.capture-scan-beam-trail{opacity:.45;filter:blur(6px);background:linear-gradient(#b76e7973 0%,#b76e7914 55%,#0000 100%);height:28px;margin-top:-12px;animation:1.15s cubic-bezier(.42,0,.2,1) infinite capture-beam-sweep}.capture-scan-label{letter-spacing:.34em;text-transform:uppercase;color:#2a2024b8;-webkit-backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #b76e7947;border-radius:999px;margin:0;padding:6px 12px;font-size:9.5px;animation:1.4s ease-in-out infinite capture-label-pulse;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}@keyframes capture-beam-sweep{0%{opacity:0;top:8%}8%{opacity:1}92%{opacity:1}to{opacity:0;top:92%}}@keyframes capture-grid-fade{0%,to{opacity:.22}50%{opacity:.42}}@keyframes capture-label-pulse{0%,to{opacity:.72}50%{opacity:1}}.capture-confirm{-webkit-backdrop-filter:blur(16px)saturate(140%);background:#fffffff0;border:1px solid #b76e7959;border-radius:18px;place-items:center;gap:10px;padding:18px 22px;animation:.52s cubic-bezier(.22,1,.36,1) both capture-confirm-pop;display:grid;position:relative;box-shadow:0 18px 40px #2a20241f}.capture-confirm-pulse{border:1px solid #b76e794d;border-radius:22px;animation:.68s cubic-bezier(.22,1,.36,1) both capture-confirm-ring;position:absolute;inset:-8px}.capture-confirm-icon{color:#fff;background:radial-gradient(circle at 50% 30%,#ffffff73,#b76e79f2);border-radius:50%;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 0 16px #b76e7959}.capture-confirm-text{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}@keyframes capture-confirm-pop{0%{opacity:0;filter:blur(6px);transform:scale(.88)}60%{opacity:1;filter:blur();transform:scale(1.03)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes capture-confirm-ring{0%{opacity:.8;transform:scale(.92)}to{opacity:0;transform:scale(1.18)}}.capture-flash{mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle at 50% 45%,#fff 0%,#ffffffeb 35%,#ffffffa6 70%,#fff0 100%);animation:.36s cubic-bezier(.22,1,.36,1) both capture-flash-pulse;position:absolute;inset:0}.capture-flash.capture-flash-soft{background:radial-gradient(circle at 50% 45%,#fffffff2 0%,#cff5ff8c 38%,#a87bff2e 68%,#fff0 100%);animation:.28s cubic-bezier(.22,1,.36,1) both capture-flash-pulse}@keyframes capture-flash-pulse{0%{opacity:0}22%{opacity:.92}to{opacity:0}}.capture-shutter{pointer-events:none;position:absolute;inset:0;overflow:hidden}.capture-shutter span{filter:blur(2px);opacity:0;background:linear-gradient(#02010cd9,#02010c00);height:18%;position:absolute;left:-4%;right:-4%}.capture-shutter span:first-child{animation:.36s cubic-bezier(.32,.72,.18,1) both shutter-drop;top:0}.capture-shutter span:last-child{background:linear-gradient(#02010c00,#02010cd9);animation:.36s cubic-bezier(.32,.72,.18,1) both shutter-rise;bottom:0}@keyframes shutter-drop{0%{opacity:0;transform:translateY(-100%)}20%{opacity:.95}60%{opacity:.65;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes shutter-rise{0%{opacity:0;transform:translateY(100%)}20%{opacity:.95}60%{opacity:.65;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}.ar-canvas[data-capture-stage]:not([data-capture-stage=idle]):not([data-capture-stage=done]) .ar-panel,.ar-canvas[data-capture-stage]:not([data-capture-stage=idle]):not([data-capture-stage=done]) .ar-zone-tag,.ar-canvas[data-capture-stage]:not([data-capture-stage=idle]):not([data-capture-stage=done]) .ar-annotations,.ar-canvas[data-capture-stage]:not([data-capture-stage=idle]):not([data-capture-stage=done]) .ar-corners,.ar-canvas[data-capture-stage]:not([data-capture-stage=idle]):not([data-capture-stage=done]) .ar-mesh-canvas{opacity:0;pointer-events:none;transition:opacity .38s cubic-bezier(.22,1,.36,1)}.ar-canvas[data-capture-stage=scan-beam] video{filter:saturate(1.08)brightness(.96)contrast(1.02);transition:filter .48s,transform .48s;transform:scaleX(-1)scale(1.01)}.ar-canvas[data-capture-stage=flash] video,.ar-canvas[data-capture-stage=captured] video{filter:saturate(1.12)brightness(1.05);transition:filter .22s,transform .22s;transform:scaleX(-1)scale(1.01)}.ar-canvas[data-capture-stage=done] video{filter:blur(10px)saturate(.95)brightness(.78);transition:filter .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1);transform:scaleX(-1)scale(1.01)}.capture-review-scene{flex-direction:column;flex:1;min-height:0;display:flex}.capture-review-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;min-height:0;padding:8px 18px 12px;display:flex}.capture-preview-frame{aspect-ratio:4/5;border:1px solid var(--hairline);background:radial-gradient(circle at 50% 24%,#b76e7924,#0000 58%),linear-gradient(#f3eeea,#ebe4df);border-radius:24px;width:min(100%,320px);animation:.56s cubic-bezier(.22,1,.36,1) both capture-preview-land;position:relative;overflow:hidden;box-shadow:0 18px 40px #2a20241a}.capture-preview-img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.capture-preview-empty{text-align:center;width:100%;height:100%;color:var(--text-secondary);place-items:center;padding:24px;font-size:13px;line-height:1.5;display:grid}.capture-preview-vignette{pointer-events:none;background:radial-gradient(80% 70% at 50% 42%,#0000 52%,#02010c6b 100%),linear-gradient(#02010c2e 0%,#0000 18% 82%,#02010c47 100%);position:absolute;inset:0}.capture-preview-corners{z-index:2;pointer-events:none;position:absolute;inset:14px}.capture-preview-corners span{border:0 solid #b76e79bf;width:20px;height:20px;animation:2.4s ease-in-out infinite ar-corner-pulse;position:absolute}.capture-preview-corners span:first-child{border-top-width:1.5px;border-left-width:1.5px;top:0;left:0}.capture-preview-corners span:nth-child(2){border-top-width:1.5px;border-right-width:1.5px;animation-delay:.25s;top:0;right:0}.capture-preview-corners span:nth-child(3){border-bottom-width:1.5px;border-left-width:1.5px;animation-delay:.5s;bottom:0;left:0}.capture-preview-corners span:nth-child(4){border-bottom-width:1.5px;border-right-width:1.5px;animation-delay:.75s;bottom:0;right:0}.capture-review-hint{text-align:center;max-width:320px;color:var(--text-secondary);letter-spacing:.01em;margin:0;font-size:12px;line-height:1.55}.capture-review-actions{padding:0 18px max(env(safe-area-inset-bottom), 18px);gap:10px;display:grid}@keyframes capture-preview-land{0%{opacity:0;filter:blur(8px);transform:translateY(16px)scale(.97)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.capture-toast,.capture-scan-beam,.capture-scan-beam-trail,.capture-scan-grid,.capture-scan-label,.capture-confirm,.capture-confirm-pulse,.capture-flash,.capture-shutter span,.capture-preview-frame{animation-duration:1ms!important;animation-iteration-count:1!important}}
