:root{--paper: #ffffff;--canvas: #f2f2f7;--well: #e8e8ed;--ink: #0b0b0c;--ink-2: #3a3a3c;--mute: #8e8e93;--line: rgba(60, 60, 67, .13);--line-strong: rgba(60, 60, 67, .24);--amber: #8a5300;--amber-bg: #fff3dc;--red: #c01530;--red-bg: #fdecef;--green: #1d6b45;--r-xl: 28px;--r-l: 20px;--r-m: 14px;--r-s: 10px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;--display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--shadow-float: 0 10px 30px rgba(0, 0, 0, .12), 0 1px 3px rgba(0, 0, 0, .08);--ease: cubic-bezier(.32, .72, 0, 1);--sheet-radius: 28px;--sheet-gap: 12px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body{overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}img{display:block;max-width:100%}[hidden]{display:none!important}::-webkit-scrollbar{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-root{position:fixed;left:0;right:0;top:var(--vv-top, 0px);height:var(--vv-height, 100dvh);display:flex;flex-direction:column;background:var(--paper);overflow:hidden}.app-column{width:100%;max-width:520px;margin:0 auto;height:100%;display:flex;flex-direction:column;position:relative}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border-radius:var(--r-m);font-size:17px;font-weight:600;letter-spacing:-.01em}.btn-primary{background:var(--ink);color:#fff}.btn-primary:disabled{opacity:.35}.btn-secondary{background:var(--canvas);color:var(--ink)}.btn-outline{border:1.5px solid var(--line-strong);color:var(--ink);background:var(--paper)}.btn-danger{background:var(--red);color:#fff}.btn-danger-quiet{background:var(--red-bg);color:var(--red)}.btn-block{width:100%}.btn-small{min-height:40px;padding:0 14px;font-size:15px;border-radius:12px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--ink)}.segmented{display:inline-flex;padding:3px;border-radius:12px;background:#7676801f}.segmented button{min-height:32px;padding:0 14px;border-radius:9px;font-size:14px;font-weight:600;color:var(--ink-2)}.segmented button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a}.segmented.on-media{background:#ffffffb8;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4)}.stamp{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.eyebrow{font-size:13px;font-weight:600;color:var(--mute);letter-spacing:.01em}.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-m);background:var(--canvas);font-size:14px;color:var(--ink-2)}.notice svg{flex:none;margin-top:1px}.notice.warn{background:var(--amber-bg);color:var(--amber)}.notice.error{background:var(--red-bg);color:var(--red)}.error-text{color:var(--red);font-size:14px;margin:10px 0 0}.wordmark{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.03em;color:var(--ink)}.logo-mark{flex:none;display:block}.logo-loader{display:inline-grid;place-items:center;flex:none}.logo-loader path{stroke-dasharray:1;stroke-dashoffset:1;animation:3.4s linear infinite both}.logo-loader path[data-step="0"]{animation-name:logo-draw-0}@keyframes logo-draw-0{0%{stroke-dashoffset:1;opacity:1;animation-timing-function:cubic-bezier(.33,1,.68,1)}8.824%,79.412%{stroke-dashoffset:0;opacity:1;animation-timing-function:cubic-bezier(.32,0,.67,0)}91.176%,to{stroke-dashoffset:0;opacity:0}}.logo-loader path[data-step="1"]{animation-name:logo-draw-1}@keyframes logo-draw-1{0%,4.412%{stroke-dashoffset:1;opacity:0}4.706%{stroke-dashoffset:1;opacity:1;animation-timing-function:cubic-bezier(.33,1,.68,1)}13.235%,79.412%{stroke-dashoffset:0;opacity:1;animation-timing-function:cubic-bezier(.32,0,.67,0)}91.176%,to{stroke-dashoffset:0;opacity:0}}.logo-loader path[data-step="2"]{animation-name:logo-draw-2}@keyframes logo-draw-2{0%,8.824%{stroke-dashoffset:1;opacity:0}9.118%{stroke-dashoffset:1;opacity:1;animation-timing-function:cubic-bezier(.33,1,.68,1)}17.647%,79.412%{stroke-dashoffset:0;opacity:1;animation-timing-function:cubic-bezier(.32,0,.67,0)}91.176%,to{stroke-dashoffset:0;opacity:0}}.logo-loader path[data-step="3"]{animation-name:logo-draw-3}@keyframes logo-draw-3{0%,13.235%{stroke-dashoffset:1;opacity:0}13.529%{stroke-dashoffset:1;opacity:1;animation-timing-function:cubic-bezier(.33,1,.68,1)}22.059%,79.412%{stroke-dashoffset:0;opacity:1;animation-timing-function:cubic-bezier(.32,0,.67,0)}91.176%,to{stroke-dashoffset:0;opacity:0}}.logo-loader path[data-step="4"]{animation-name:logo-draw-4}@keyframes logo-draw-4{0%,17.647%{stroke-dashoffset:1;opacity:0}17.941%{stroke-dashoffset:1;opacity:1;animation-timing-function:cubic-bezier(.33,1,.68,1)}26.471%,79.412%{stroke-dashoffset:0;opacity:1;animation-timing-function:cubic-bezier(.32,0,.67,0)}91.176%,to{stroke-dashoffset:0;opacity:0}}.logo-loader path[data-step="5"]{animation-name:logo-draw-5}@keyframes logo-draw-5{0%,22.059%{stroke-dashoffset:1;opacity:0}22.353%{stroke-dashoffset:1;opacity:1;animation-timing-function:cubic-bezier(.33,1,.68,1)}30.882%,79.412%{stroke-dashoffset:0;opacity:1;animation-timing-function:cubic-bezier(.32,0,.67,0)}91.176%,to{stroke-dashoffset:0;opacity:0}}.logo-loader path[data-step="6"]{animation-name:logo-draw-6}@keyframes logo-draw-6{0%,26.471%{stroke-dashoffset:1;opacity:0}26.765%{stroke-dashoffset:1;opacity:1;animation-timing-function:cubic-bezier(.33,1,.68,1)}35.294%,79.412%{stroke-dashoffset:0;opacity:1;animation-timing-function:cubic-bezier(.32,0,.67,0)}91.176%,to{stroke-dashoffset:0;opacity:0}}@media(prefers-reduced-motion:reduce){.logo-loader path{animation:none;stroke-dashoffset:0}.logo-loader svg{animation:logo-breathe 1.6s ease-in-out infinite alternate}}@keyframes logo-breathe{0%{opacity:1}to{opacity:.45}}.startup-curtain{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:var(--paper);color:var(--ink);opacity:1;transition:opacity .26s ease}.startup-curtain[data-leaving]{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.startup-curtain{transition:none}}.viewer-waiting{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:var(--ink);pointer-events:none}.ob{position:relative;flex:none;width:100%;height:100%;display:flex;flex-direction:column;background:#fff;color:#111827}.ob-head{flex:none;padding:calc(var(--safe-top) + 20px) 16px 8px;text-align:center}.ob-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;font-family:var(--font);font-size:24px;line-height:32px;font-weight:700;letter-spacing:normal;color:#111827}.ob-brand .logo-mark{color:#000}.ob-account{display:flex;justify-content:center;height:20px;margin-top:8px}.ob-account-link{font-size:14px;line-height:20px;font-weight:600;color:#6b7280}.ob-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:0 16px 8px;overflow-y:auto}.ob-content{width:100%;max-width:384px;margin:auto}.ob-step{display:flex;flex-direction:column;text-align:center}.ob-title{margin:0 0 6px;font-size:18px;line-height:28px;font-weight:600;letter-spacing:normal;color:#111827}.ob-title label{cursor:default}.ob-sub{margin:0 0 24px;font-size:12px;line-height:16px;color:#6b7280}.ob-sub b{font-weight:500;color:#1f2937;overflow-wrap:anywhere}.ob-choices{display:flex;gap:16px}.ob-choice{flex:1;padding:16px 24px;border-radius:12px;border:2px solid #e5e7eb;background:#fff;font-size:18px;line-height:28px;font-weight:500;color:#374151}.ob-choice[aria-pressed=true]{border-color:#000;background:#000;color:#fff}.ob-input{width:100%;min-height:64px;padding:0 16px;border-radius:12px;border:2px solid #e5e7eb;background:#fff;text-align:center;font-size:20px;font-weight:500;color:#111827;outline:none;appearance:textfield;-moz-appearance:textfield}.ob-input::-webkit-inner-spin-button,.ob-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ob-input::placeholder{color:#9ca3af}.ob-input:focus{border-color:#000}.ob-input-text{font-size:16px}.ob-input-code{font-family:var(--mono);letter-spacing:.4em}.ob-actions{position:relative;display:flex;flex-direction:column;gap:12px;margin-top:16px}.ob-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:12px 24px;border-radius:12px;background:#000;color:#fff;font-size:16px;line-height:24px;font-weight:500}.ob-cta:disabled{background:#9ca3af}.ob-cta-secondary{background:#fff;color:#111827;box-shadow:inset 0 0 0 2px #e5e7eb}.ob-error{position:absolute;top:100%;left:0;right:0;margin:12px 0 0;font-size:14px;line-height:20px;color:#ef4444}.ob-foot{flex:none;display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 16px calc(var(--safe-bottom) + 16px)}.ob-nav{width:100%;max-width:384px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center}.ob-back{width:40px;height:40px;display:grid;place-items:center;color:#9ca3af}.ob-back svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ob-back:disabled{opacity:.4}.ob-back-space{width:40px;height:40px}.ob-dots{display:flex;justify-content:center;gap:8px}.ob-dots span{width:10px;height:10px;border-radius:5px;background:#d1d5db;transition:width .3s ease,background-color .3s ease}.ob-dots span[data-state=done]{background:#000}.ob-dots span[data-state=current]{width:32px;background:#000}.ob-legal{display:flex;gap:12px;font-size:12px;line-height:16px;color:#9ca3af}.ob-legal a{color:inherit;text-decoration:none}.ob .challenge{margin-top:16px}@media(prefers-reduced-motion:reduce){.ob-dots span{transition:none}}.al-face{position:relative;width:100%;height:clamp(140px,calc(100svh - 336px),340px)}.al-face[data-compact]{height:clamp(120px,calc(100svh - 420px),300px)}.al-foot{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:16px;color:#111827}.al-note{margin:0;font-size:12px;line-height:16px;color:#6b7280}.back-link{align-self:flex-start;display:inline-flex;align-items:center;gap:2px;color:var(--ink-2);font-size:15px;min-height:40px}.grow{flex:1;min-width:0}.btn-quiet{background:transparent;color:var(--ink-2)}.text-btn{display:inline-flex;align-items:center;gap:2px;min-height:44px;padding:0 4px;font-size:15px;font-weight:600;color:var(--ink-2)}.text-btn:disabled{opacity:.4}.text-btn-ink{color:var(--ink)}.text-btn-danger{color:var(--red)}.fine{font-size:12.5px;line-height:1.45;color:var(--mute);margin:8px 0 0}.face-thumb{position:relative;display:inline-block;flex:none;overflow:hidden;border-radius:50%;background:var(--well);box-shadow:inset 0 0 0 .5px #00000014}.face-thumb img{position:absolute;max-width:none;pointer-events:none}.ws{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#f4f4f7,#f7f7f9 55%,#fff)}.ws-main{flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:var(--dock-h, 140px)}.ws[data-ask-open] .ws-main{visibility:hidden}.ws-top{position:relative;z-index:4;flex:none;display:flex;align-items:center;gap:6px;min-height:52px;padding:calc(var(--safe-top) + 4px) 12px 0 10px}.date-btn{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 8px;border-radius:12px;color:var(--ink)}.date-btn .stamp{font-size:12.5px;letter-spacing:.08em;white-space:nowrap}.date-btn svg{color:var(--mute)}.date-lines{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.older-tag{padding:1px 5px;border-radius:5px;background:#7676801f;color:var(--ink-2);font-size:10.5px;font-weight:600;line-height:1.3;white-space:nowrap}.new-scan-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px 0 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;white-space:nowrap}.stage{position:relative;flex:1;min-height:0;overflow:visible;--fv-bleed: 176px;container-type:size}.viewer-host{position:absolute;top:calc(-1 * var(--fv-top-bleed, 0px));left:0;right:0;height:calc(100% + var(--vv-shrink, 0px) + var(--fv-top-bleed, 0px))}.viewer-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;color:var(--mute)}.viewer-fallback p{margin:0;color:var(--ink-2)}.stage-hint{position:absolute;left:0;right:0;bottom:calc(var(--fv-bleed) + 6px);margin:0;display:flex;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--ink-2);pointer-events:none;animation:stage-hint-in .42s ease-out 1.5s both}.stage-hint-mark{flex:none;width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1.25px var(--ink-2);background:radial-gradient(circle,var(--ink-2) 0 1.9px,transparent 2.4px)}@keyframes stage-hint-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.stage-hint{animation:none}}.caption{position:absolute;left:0;right:0;bottom:20px;z-index:3;height:min(calc(var(--fv-bleed) + 60px),52cqh);padding:0 16px;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.caption>*{pointer-events:auto}.glass{background:#ffffff94;-webkit-backdrop-filter:blur(18px) saturate(1.7);backdrop-filter:blur(18px) saturate(1.7);box-shadow:inset 0 0 0 .5px #ffffffd9,0 0 0 .5px #00000012,0 6px 20px #00000014}.ws-top.glass{border:0;border-radius:0;margin:0;box-shadow:0 6px 16px -8px #0000001f}.score-line{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px 0 18px;border-radius:999px}.score-line-main{display:inline-flex;align-items:center;gap:6px;font-size:17px;font-weight:600;letter-spacing:-.01em}.score-num{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.03em}.score-chev{color:var(--mute);margin-left:-2px}.score-line.alert .score-line-main{color:var(--red)}.feature-strip{width:100%;max-width:420px;max-height:100%;display:flex;flex-direction:column;padding:4px 14px 10px;border-radius:20px;--zone-major: #fca5a5;--zone-slight: #fcd34d;--zone-good: #7dd3fc;--zone-ideal: #6ee7b7}.feature-row{display:flex;align-items:center;gap:8px;flex:none;min-height:44px}.feature-name{flex:1;min-width:0;margin:0;font-size:15px;line-height:19px;font-weight:600}.feature-close{flex:none;width:44px;height:44px;margin-right:-10px;color:var(--ink-2)}.feature-details{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 2px 2px}.feature-explanation,.feature-observation{margin:7px 0 0;font-size:12.5px;line-height:17px;color:var(--ink-2)}.feature-observation{color:var(--ink)}.feature-strip .feature-value{flex:none;font-size:16px;font-weight:600}.scale{position:relative;margin:0 0 4px;padding-top:5px}.scale-marker{position:absolute;top:0;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--ink)}.scale-bar{height:6px;border-radius:3px}.scale-labels{display:flex;justify-content:space-between;margin-top:2px;font-size:11px;line-height:14px;color:var(--ink-2)}.scale-ideal{margin:2px 0 0;text-align:center;font-size:11px;line-height:14px;color:var(--ink-2)}.scale-ideal b{color:var(--ink);font-weight:600}.ask-layer{display:contents}.ask{position:absolute;left:0;right:0;bottom:0;z-index:20;display:flex;flex-direction:column;overflow:hidden}.ask[data-animating]{transition:height .38s var(--ease),border-radius .38s var(--ease),padding-top .38s var(--ease);will-change:height}.ask-convo{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ask-dock{position:relative;flex:none}.sheet-surface{background:#fff;isolation:isolate;border-radius:var(--sheet-radius) var(--sheet-radius) 0 0;box-shadow:0 -1px 0 var(--line),0 -16px 40px #00000014}.sheet-head{position:relative;flex:none;display:flex;align-items:center;min-height:64px;padding:20px 12px 6px 20px;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.sheet-handle{position:absolute;top:6px;left:50%;width:36px;height:5px;margin-left:-18px;border-radius:3px;background:#3c3c432e;pointer-events:none}.sheet-head-row{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.sheet-title{flex:1;min-width:0;display:flex;align-items:center}.sheet-title h2{margin:0;font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.025em}.sheet-close{flex:none;width:32px;height:32px;margin-left:6px;background:#7676801f;color:var(--ink-2)}.ask[data-open]{height:calc(100% - var(--safe-top) - var(--sheet-gap))}.ask[data-dragging]{transition:none}.ask:not([data-open]) .sheet-head{min-height:32px;padding-bottom:0}.ask:not([data-open]) .sheet-head-row{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ask-context{min-width:0;display:flex;align-items:center;gap:8px;min-height:40px;margin-left:-6px;padding-right:8px;border-radius:999px}.ask-context .stamp{color:var(--ink-2);font-size:11.5px}[data-keyboard] .ask-composer{padding-bottom:8px}[data-keyboard] .modal-body{padding-bottom:16px}@media(max-height:560px){.ask .ask-log{padding-top:4px;gap:12px}.ask .ask-tokens{padding-bottom:6px}}.ask-log{flex:1;min-height:0;overflow-y:auto;padding:12px 20px 16px;display:flex;flex-direction:column;gap:16px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ask-item{display:flex;flex-direction:column;gap:16px}.ask-divider{align-self:center;color:var(--mute);font-size:11px}.ask-empty{margin:auto 0;padding:24px 12px;text-align:center;color:var(--mute);font-size:14.5px}.ask-empty p{margin:0}.ask-empty-title{color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px!important}.ask-jump{position:absolute;right:16px;bottom:calc(var(--ask-dock, 120px) + 10px);z-index:2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-float)}.ask-composer{flex:none;padding:0 12px calc(var(--safe-bottom) + 10px)}.ask-tokens{display:flex;flex-wrap:wrap;gap:6px;padding:0 4px 8px}.token{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 4px 0 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:600}.token button{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:inherit;opacity:.8}.token-image{padding-left:4px;background:var(--canvas);color:var(--ink-2);font-weight:500}.token-image img{width:24px;height:24px;border-radius:7px;object-fit:cover}.token-error{padding:0 12px;background:var(--red-bg);color:var(--red)}.token-warn{padding:0 12px;background:var(--amber-bg);color:var(--amber)}.ask-field{display:flex;align-items:flex-end;gap:2px;min-height:50px;padding:5px;border-radius:25px;background:var(--canvas)}.ask-locked{width:100%;align-items:center;padding:5px 16px 5px 14px;color:var(--mute);text-align:left}.ask-locked-text{flex:1;min-width:0;font-size:16px}.ask-field textarea{flex:1;min-width:0;border:0;outline:none;background:transparent;resize:none;font-size:16px;line-height:22px;padding:9px 6px 9px 12px;max-height:120px}.ask-field textarea::placeholder{color:var(--mute)}.ask-attach,.ask-send{width:40px;height:40px;flex:none}.ask-attach{color:var(--ink-2)}.ask-send{background:var(--ink);color:#fff}.ask-send:disabled{background:#d1d1d6}.msg{display:flex;flex-direction:column;gap:5px}.msg-user{align-items:flex-end}.msg-bubble{max-width:84%;padding:10px 15px;border-radius:21px 21px 6px;background:var(--ink);color:#fff;font-size:16px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.msg-text{font-size:16px;line-height:1.52;color:var(--ink);overflow-wrap:anywhere}.msg-text p{margin:0 0 10px}.msg-text p:last-child,.msg-text ul:last-child{margin-bottom:0}.msg-text ul{margin:0 0 10px;padding-left:20px}.msg-text li{margin:3px 0}.msg-thinking{color:var(--mute);background:linear-gradient(90deg,var(--mute) 0%,var(--ink) 50%,var(--mute) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 1.6s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.caret{display:inline-block;width:7px;height:7px;margin-left:4px;border-radius:50%;background:var(--ink);vertical-align:2px;animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}.msg-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--mute)}.msg-tag{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--canvas);font-size:12px;font-weight:600;color:var(--ink-2)}.msg-attachment{width:112px;aspect-ratio:3 / 4;object-fit:cover;border-radius:16px}.msg-error{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:16px;background:var(--red-bg);color:var(--red);font-size:14px}.msg-error .row{display:flex;flex-wrap:wrap;gap:6px}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 32px calc(var(--safe-bottom) + 24px);text-align:center}.empty h2{margin:12px 0 0;font-family:var(--display);font-size:26px;letter-spacing:-.03em}.empty p{margin:0 0 16px;max-width:300px;color:var(--ink-2)}.face-glyph{width:116px;height:140px;color:var(--ink)}.backdrop{position:absolute;inset:0;z-index:40;background:#00000047;animation:fade .38s var(--ease) backwards;transition:opacity .38s var(--ease)}.backdrop[data-closing]{opacity:0;pointer-events:none}@keyframes fade{0%{opacity:0}}.modal-sheet{position:absolute;left:0;right:0;bottom:0;z-index:41;max-height:calc(100% - var(--safe-top) - var(--sheet-gap));display:flex;flex-direction:column;animation:slide-up .38s var(--ease) backwards;transition:transform .38s var(--ease);outline:none}.modal-sheet[data-closing]{pointer-events:none}.modal-sheet[data-dragging]{transition:none}.modal-sheet.tall{height:calc(100% - var(--safe-top) - var(--sheet-gap))}@keyframes slide-up{0%{transform:translateY(100%)}}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:4px 20px calc(var(--safe-bottom) + 28px);overscroll-behavior:contain}.sheet-stamp{font-size:13px;font-weight:500;color:var(--ink-2)}.row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.confirm-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:14px;color:var(--ink-2)}.confirm-row>span{flex:1 1 100%}.score-hero{display:flex;align-items:flex-end;gap:12px;margin-top:6px}.score-big{font-family:var(--display);font-size:64px;font-weight:700;letter-spacing:-.055em;line-height:.9}.score-big sup{font-size:22px;letter-spacing:-.02em;vertical-align:30px;margin-left:2px}.score-caption{padding-bottom:6px;font-size:15px;line-height:1.25;color:var(--ink-2)}.curve{width:100%;height:auto;margin-top:10px;overflow:visible}.change{margin:22px 0 0;padding-top:16px;box-shadow:inset 0 .5px 0 var(--line-strong)}.change-title{margin:0;font-size:17px;font-weight:600}.change .fine{margin-top:4px}.score-facets{display:flex;gap:8px;margin:14px 0 0;font-size:14px;color:var(--ink-2)}.score-summary{margin:10px 0 22px;font-size:15.5px;line-height:1.5}.sheet-state{padding-top:8px}.sheet-state p{margin:8px 0 0}.state-title{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;letter-spacing:-.02em}.state-title.alert{color:var(--red)}.group-details{padding:0 16px;font-size:15px}.group-details .group-text{padding:0 0 14px}.group-details summary{min-height:48px;display:flex;align-items:center;font-weight:600;cursor:pointer;list-style:none}.group-details summary::-webkit-details-marker{display:none}.group-details summary:after{content:"›";display:inline-block;margin-left:6px;color:var(--mute)}.group-details[open] summary:after{transform:rotate(90deg)}.trend{display:block;width:100%;height:auto;margin:4px 0 6px;overflow:visible}.trend-base{stroke:var(--line-strong);stroke-dasharray:2 4}.trend-line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.trend-dot{fill:var(--paper);stroke:var(--ink);stroke-width:2}.trend-dot[data-viewing]{fill:var(--ink)}.trend-val{font:600 12px var(--mono);fill:var(--ink-2)}.trend-date{font:500 10.5px var(--mono);fill:var(--mute);text-transform:uppercase}.progress-summary{margin:4px 0 0;font-size:16px;line-height:1.45;color:var(--ink-2)}.list-title{margin:26px 0 4px;font-size:13px;font-weight:600;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}.scan-list{list-style:none;margin:0 0 20px;padding:0}.scan-row{display:flex;align-items:center;gap:10px}.scan-list li+li .scan-row-main{box-shadow:inset 0 .5px 0 var(--line)}.scan-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;min-height:64px;text-align:left}.scan-row-main:disabled{opacity:1}.scan-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.scan-row-date{font-size:16px;font-weight:500}.scan-row-sub{display:flex;gap:4px;font-size:13px;color:var(--mute)}.scan-row-status{font-size:15px;font-weight:600;color:var(--ink)}.viewing-dot{width:7px;height:7px;border-radius:50%;background:var(--ink);flex:none}.delete-dot{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;flex:none}.confirm-row-indent{margin:0 0 12px 34px}.settings-group{margin-top:22px}.settings-group:first-child{margin-top:6px}.settings-group h3{margin:0 0 8px 4px;font-size:13px;font-weight:600;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}.settings-group>.fine{margin:8px 4px 0}.group{border-radius:var(--r-m);background:var(--canvas);overflow:hidden}.group-row{display:flex;align-items:center;gap:10px;min-height:50px;padding:8px 16px;font-size:16px}.group>*+*{box-shadow:inset 0 .5px 0 var(--line-strong)}.group-row .sub{display:block;font-size:13px;color:var(--mute)}.row-input{width:72px;border:0;background:transparent;text-align:right;font-size:16px;outline:none;color:var(--ink);-moz-appearance:textfield}.row-input::-webkit-inner-spin-button,.row-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.row-textarea{display:block;width:100%;min-height:88px;padding:14px 16px;border:0;background:transparent;resize:none;font-size:16px;line-height:1.4;outline:none}.group-text{margin:0;padding:14px 16px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}.toast{position:absolute;left:16px;right:16px;top:calc(var(--safe-top) + 10px);z-index:80;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--ink);color:#fff;font-size:14px;box-shadow:var(--shadow-float)}.toast.error{background:var(--red)}.toast span{flex:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(min-width:700px){.app-root{background:var(--canvas)}.app-column{background:var(--paper);box-shadow:0 0 0 1px var(--line)}}.account-body{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.account-lede{margin:0;font-size:16px;line-height:1.45;color:var(--ink-2)}.account-price{margin:4px 0;font-size:15px;color:var(--ink-2)}.account-amount{font-family:var(--display);font-size:34px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.membership-offer{gap:18px}.membership-intro{display:grid;gap:10px}.membership-title{margin:0;font-family:var(--display);font-size:clamp(25px,6.5vw,30px);font-weight:700;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.membership-benefits{margin:0;display:grid;gap:14px}.membership-benefits>div{display:grid;gap:3px}.membership-benefits dt{font-weight:600;font-size:16px}.membership-benefits dd{margin:0;font-size:14px;line-height:1.4;color:var(--ink-2)}.membership-offer .account-price,.membership-offer .fine{margin:0}@media(max-height:680px){.membership-offer{gap:12px}.membership-intro{gap:7px}.membership-title{font-size:24px}.membership-offer .account-lede{font-size:14px}.membership-benefits{gap:10px}.membership-benefits dt{font-size:15px}.membership-benefits dd{font-size:13px}.membership-offer .account-amount{font-size:28px}}.challenge:empty{display:none}.text-link{padding:0;font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:2px}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.face-thumb img.face-thumb-cover{inset:0;width:100%;height:100%;object-fit:cover}.legal{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(var(--safe-top) + 8px) 20px calc(var(--safe-bottom) + 32px);background:var(--paper)}.legal-head{display:flex;align-items:center;justify-content:space-between;min-height:52px}.legal-body{max-width:640px;margin:0 auto;font-size:15px;line-height:1.55;color:var(--ink-2)}.legal-body h1{margin:16px 0 4px;font-family:var(--display);font-size:28px;letter-spacing:-.02em;color:var(--ink)}.legal-body h2{margin:24px 0 6px;font-size:17px;color:var(--ink)}.legal-body ul{padding-left:20px}.maintenance{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:32px;background:var(--paper);color:var(--ink);font-size:20px;font-weight:600;letter-spacing:-.01em;text-align:center}.maintenance p{margin:0}.ob-loading{display:grid;place-items:center;width:100%}.signin-security{position:fixed;inset:0;z-index:120;display:grid;place-items:center;pointer-events:none}.signin-security[data-interactive]{pointer-events:auto;background:#fffffff5}.signin-security-widget{max-width:100%}#signin-code:focus{border-color:#e5e7eb}.caption-stack{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:420px;max-height:100%;pointer-events:none}.caption-stack>*{pointer-events:auto}.caption-stack .feature-strip{min-height:0;flex-shrink:1}.all-measurements-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:6px 14px;border:0;border-radius:22px;font-size:12px;font-weight:600;color:var(--ink);flex:none}.feature-choices{display:flex;gap:5px;flex-wrap:wrap;padding:0 0 10px}.feature-choices button{border:1px solid rgba(0,0,0,.09);background:#ffffff80;border-radius:12px;min-height:32px;padding:5px 8px;font-size:11px;color:var(--ink-2)}.feature-choices button[aria-pressed=true]{background:var(--ink);color:#fff}.feature-unlock{display:flex;gap:7px;align-items:center;justify-content:center;width:100%;min-height:40px;border:0;border-radius:12px;background:#ffffffb3;font-size:13px;color:var(--ink)}.measurement-list-intro{color:var(--ink-2);font-size:13px;line-height:1.5;margin:0 0 14px}.measurement-list{display:flex;flex-direction:column}.measurement-list-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line, #e6e7e9);background:transparent;min-height:70px;padding:12px 0;color:var(--ink)}.measurement-list-row>span:first-child{flex:1}.measurement-list-row strong{font-size:14px;font-weight:600;display:block}.measurement-list-row small{display:block;font-size:12px;margin-top:4px;color:var(--ink-2)}.measurement-list-note{margin-top:18px}.chat-measurement{--zone-major: #fca5a5;--zone-slight: #fcd34d;--zone-good: #7dd3fc;--zone-ideal: #6ee7b7;border:1px solid var(--line, #e6e7e9);border-radius:16px;padding:14px;background:#ffffffa6}.chat-measurements{display:grid;gap:10px;margin-top:12px}.chat-measurement-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:13px}.chat-measurement-head h3{font-size:13px;font-weight:600;margin:0}.chat-measurement-head .mono{font-size:15px;font-weight:600}.chat-measurement-date{margin:7px 0 0;font-size:11px;color:var(--ink-2)}.chat-starter-label{color:var(--ink-2);font-size:11px;margin-bottom:6px}.chat-unlock{position:relative;border-radius:16px;border:1px solid var(--line, #e6e7e9);overflow:hidden;margin-top:10px;text-align:center;padding:22px 16px}.chat-unlock-ghost{position:absolute;inset:0;opacity:.22;filter:blur(5px);pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 28px,#9ab5af 28px 35px,transparent 35px 54px)}.chat-unlock-content{position:relative}.chat-unlock p{font-size:13px;line-height:1.5;margin:8px 0 14px}.chat-unlock .btn{width:100%}@media(max-height:450px)and (min-width:480px){.caption{height:calc(100% - 20px)}.caption-stack{flex-direction:row;align-items:flex-end;max-width:600px}.caption-stack .feature-strip{flex:1;min-width:0}.all-measurements-btn{flex:none;width:115px;min-height:44px;white-space:normal}}.measurement-value{display:inline-flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}.measurement-number{white-space:nowrap}.measurement-badge{display:inline-block;padding:3px 7px;border-radius:7px;font-size:10px;line-height:13px;font-weight:600;white-space:nowrap;letter-spacing:0}.measurement-badge-ideal{color:#047857;background:#d1fae5}.measurement-badge-good{color:#0369a1;background:#e0f2fe}.measurement-badge-slight_flaw{color:#b45309;background:#fef3c7}.measurement-badge-major_flaw{color:#b91c1c;background:#fee2e2}.feature-row:has(.measurement-value){min-height:58px}.chat-measurement-head{align-items:center}@media(max-height:450px)and (min-width:480px){.feature-row:has(.measurement-value){min-height:44px}.feature-value.measurement-value{flex-direction:row;align-items:center;gap:6px}}
