*,:before,:after{box-sizing:border-box}:not(dialog){margin:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}:root{--bg:#f5f5f3;--surface:#fff;--ink:#151515;--muted:#6e6e6a;--line:#e2e2de;--danger:#c4392c;--on-dark:#fff;--on-dark-muted:#ffffffb8;--scrim:#0000006b;--rec:#ff3b30;--radius:16px;--gutter:20px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111;--surface:#1b1b1b;--ink:#f1f1ee;--muted:#9b9b96;--line:#2b2b2b;--danger:#ff6b5e}}html,body{background:var(--bg);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;height:100%}button{cursor:pointer;color:inherit;touch-action:manipulation;background:0 0;border:0}button:disabled{cursor:default}h1{letter-spacing:-.02em;font-size:28px;font-weight:600;line-height:1.15}.screen{min-height:100dvh;padding:calc(var(--safe-top) + 28px) var(--gutter) calc(var(--safe-bottom) + 24px);flex-direction:column;gap:28px;display:flex}.screen.centered{text-align:center;justify-content:center;align-items:center;gap:16px}.screen-head{gap:8px;margin-top:12vh;display:grid}.eyebrow{color:var(--muted);letter-spacing:.02em;font-size:13px;font-weight:500}.lede{color:var(--muted);max-width:34ch;font-size:16px}.error{color:var(--danger);font-size:15px}.choices{gap:12px;display:grid}.choice{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:16px;width:100%;padding:18px 16px;display:flex}.choice:active{background:var(--line)}.choice>svg{color:var(--muted);flex:none}.choice-icon{background:var(--bg);border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.choice-text{flex:1;gap:2px;display:grid}.choice-title{font-size:17px;font-weight:600}.choice-detail{color:var(--muted);font-size:14px}.button{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:center;align-items:center;min-height:50px;padding:0 22px;font-size:16px;font-weight:600;display:inline-flex}.button:active{opacity:.7}.button:disabled{opacity:.5}.button.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.button.block{width:100%;margin-top:auto}.button.on-dark{background:var(--on-dark);border-color:var(--on-dark);color:#111}.text-button{color:var(--muted);align-self:flex-start;padding:8px 0;font-size:16px}.permission{justify-items:start;gap:14px;margin-top:8vh;display:grid}.permission-icon{background:var(--surface);border:1px solid var(--line);border-radius:16px;place-items:center;width:56px;height:56px;display:grid}.camera{color:var(--on-dark);background:#000;position:fixed;inset:0;overflow:hidden}.camera-feed,.camera-feed video,.hand-mask,.debug-overlay{width:100%;height:100%;position:absolute;inset:0}.camera-feed video,.hand-mask{object-fit:cover;max-width:none}.hand-mask{pointer-events:none;opacity:.9}.debug-overlay{pointer-events:none}.hand-guide{pointer-events:none;opacity:.9;width:100%;height:auto;margin:auto;position:absolute;inset:0}.hand-guide.is-mirrored{transform:scaleX(-1)}.camera-top{padding:calc(var(--safe-top) + 12px) 12px 12px;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0 0 auto}.icon-button,.icon-spacer{flex:none;place-items:center;width:44px;height:44px;display:grid}.icon-button{background:var(--scrim);border-radius:50%}.pill{background:var(--scrim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:3px;display:flex}.pill-option{min-width:72px;color:var(--on-dark-muted);border-radius:999px;padding:8px 16px;font-size:15px;font-weight:500;transition:background-color .15s,color .15s}.pill-option.is-active{background:var(--on-dark);color:#111}.pill-option:disabled:not(.is-active){opacity:.4}.camera-bottom{padding:48px var(--gutter) calc(var(--safe-bottom) + 20px);text-align:center;background:linear-gradient(#0000,#0000008c);flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute;inset:auto 0 0}.status{font-size:17px;font-weight:500}.hint{color:var(--on-dark-muted);font-size:13px}.notice{background:#c4392ce6;border-radius:12px;max-width:34ch;padding:10px 14px;font-size:14px}.progress{gap:8px;height:8px;display:flex}.progress-dot{background:#ffffff4d;border-radius:50%;width:8px;height:8px;transition:background-color .1s}.progress-dot.is-on{background:var(--on-dark)}.shutter{place-items:center;width:80px;height:80px;display:grid;position:relative}.shutter svg{position:absolute;inset:0;transform:rotate(-90deg)}.shutter-track,.shutter-progress{fill:none;stroke-width:4px}.shutter-track{stroke:var(--on-dark)}.shutter-progress{stroke:var(--rec)}.shutter-core{background:var(--rec);border-radius:50%;width:62px;height:62px;transition:width .2s,height .2s,border-radius .2s}.shutter.is-recording .shutter-core{border-radius:6px;width:28px;height:28px}.shutter:disabled .shutter-core{opacity:.4}.rec-timer{top:calc(var(--safe-top) + 72px);font-variant-numeric:tabular-nums;background:var(--scrim);border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-size:15px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.rec-dot{background:var(--rec);border-radius:50%;width:8px;height:8px}.result{gap:20px}.result-media{border-radius:var(--radius);background:#000;flex:1;place-items:center;min-height:0;display:grid;overflow:hidden}.result-media img,.result-media video{object-fit:contain;width:100%;height:100%;max-height:62dvh}.result-info{gap:2px;display:grid}.filename{color:var(--muted);overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px}.actions{gap:10px;display:grid}.actions-row{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;display:grid}.actions .text-button{place-self:center}.actions-links{justify-content:center;gap:32px;display:flex}.text-button.danger{color:var(--danger)}.gallery-link{text-align:left;border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:16px;width:100%;margin-top:auto;padding:14px 16px;display:flex}.gallery-link:active{background:var(--line)}.gallery-link>svg{color:var(--muted);flex:none}.gallery-link-thumbs{flex:none;min-width:44px;height:44px;display:flex}.gallery-link-thumbs img{object-fit:cover;border:2px solid var(--bg);border-radius:10px;width:44px;height:44px}.gallery-link-thumbs img+img{margin-left:-26px}.gallery{gap:20px}.gallery-head{gap:4px;display:grid}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.gallery-item{aspect-ratio:1;background:var(--line);border-radius:6px;position:relative;overflow:hidden}.gallery-item img,.gallery-item video{object-fit:cover;pointer-events:none;width:100%;height:100%}.gallery-badge{font-variant-numeric:tabular-nums;color:var(--on-dark);background:var(--scrim);border-radius:6px;padding:1px 6px;font-size:12px;position:absolute;bottom:6px;left:6px}.viewer-top{justify-content:space-between;display:flex}.viewer-details{font-size:16px;font-weight:500}.rotate-notice{display:none}@media (orientation:landscape) and (height<=500px){.rotate-notice{z-index:10;padding:var(--gutter);text-align:center;background:var(--bg);color:var(--ink);place-items:center;font-size:17px;display:grid;position:fixed;inset:0}}.camera-starting{place-items:center;display:grid}.share-message{color:var(--muted);text-align:center;font-size:14px}.step-label{letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-muted);font-size:12px;font-weight:600}.review{gap:24px}.review-head{gap:6px;display:grid}.review-item{gap:12px;display:grid}.review-item .result-media img,.review-item .result-media video{max-height:46dvh}
