:root{--canvas:#f8f3e9;--surface:#fbf8f1;--surface-2:#f0eadf;--white:#fff;--black:#0a0a0a;--graphite:#292929;--text:var(--black);--text-2:#66645f;--text-3:#8f8c85;--line:#dad4c8;--line-strong:#bdb8ae;--accent:#b8975a;--ok:#2f6b45;--warn:#8c6a12;--bad:#a33f2e;--ink:var(--black);--ink-2:var(--surface);--ink-3:var(--surface-2);--ivory:var(--canvas);--ivory-2:var(--surface-2);--stone:var(--text-2);--stone-2:var(--text-3);--gold:var(--accent);--gold-2:var(--accent);--serif:"Bodoni Moda", "Didot", "Bodoni 72", "Playfair Display", Georgia, serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--track-ui:.18em;--track-nav:.22em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--radius:0px;--radius-sm:2px;--shadow:none;--shadow-sheet:0 -1px 0 var(--line);--ease:cubic-bezier(.2, .7, .2, 1);--t-fast:.18s;--t:.32s;--t-slow:.7s;--ratio-portrait:3 / 4;--ratio-editorial:4 / 5;--ratio-hero:2 / 3;--tab-h:62px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t:0s;--t-slow:0s}}:root{font-family:var(--sans);color:var(--text);background:var(--canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior-y:none;background:var(--canvas)}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:1px solid var(--black);outline-offset:3px}::selection{background:var(--black);color:var(--canvas)}.app{flex-direction:column;min-height:100%;display:flex}.screen{width:100%;max-width:560px;padding:calc(14px + var(--safe-t)) 22px calc(var(--tab-h) + 28px + var(--safe-b));flex:1;margin:0 auto}.screen.bleed{padding-top:0;padding-left:0;padding-right:0}.pad{padding:0 22px}@media (width>=1024px){.screen{max-width:640px}}.display{font-family:var(--serif);letter-spacing:-.005em;font-weight:400;line-height:.96}.screen h1,h1.display{font-family:var(--serif);letter-spacing:-.005em;text-transform:uppercase;margin:10px 0;font-size:44px;font-weight:400;line-height:.96}.screen h1 em,.display em{text-transform:none;font-style:italic;font-weight:400}.screen h2{font-family:var(--sans);letter-spacing:var(--track-nav);text-transform:uppercase;color:var(--text-2);margin:34px 0 12px;font-size:10px;font-weight:500}.sub{color:var(--text-2);max-width:34ch;margin:0 0 22px;font-size:15px;font-weight:400;line-height:1.55}.muted{color:var(--text-2);font-size:12.5px;line-height:1.5}.eyebrow{letter-spacing:.26em;text-transform:uppercase;color:var(--text-2);font-size:10px;font-weight:500}.rule{background:var(--line);height:1px;margin:20px 0}.brand{justify-content:space-between;align-items:center;padding:8px 0 10px;display:flex}.brand .wordmark{font-family:var(--serif);letter-spacing:.03em;text-transform:uppercase;color:var(--text);font-size:18px;font-weight:700}.brand .wordmark i{font-style:normal}.brand .logo{border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.tabs{z-index:10;height:calc(var(--tab-h) + var(--safe-b));padding:0 8px var(--safe-b);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);background:#f8f3e9eb;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabs a{color:var(--text-3);letter-spacing:var(--track-nav);text-transform:uppercase;transition:color var(--t-fast);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:9px;font-weight:500;text-decoration:none;display:flex;position:relative}.tabs a.active{color:var(--text)}.tabs a.active:after{content:"";background:var(--black);width:22px;height:1px;position:absolute;top:-1px}.tabs svg{stroke-width:1.2px;width:21px;height:21px}.card{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;margin-bottom:6px;padding:18px 0}.card.tight{padding:14px 0}.card.ivory{background:var(--black);color:var(--canvas);border:0;padding:22px}.card.ivory .muted,.card.ivory h2,.card.ivory .eyebrow{color:#b9b4aa}.row{align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.btn{border:1px solid var(--black);width:100%;color:var(--text);border-radius:var(--radius);letter-spacing:var(--track-ui);text-transform:uppercase;cursor:pointer;transition:background var(--t-fast), color var(--t-fast), opacity var(--t-fast), transform var(--t-fast);background:0 0;justify-content:center;align-items:center;gap:10px;padding:16px 22px;font-size:11px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.3;cursor:default}.btn.primary{background:var(--black);color:var(--canvas);border-color:var(--black)}.btn.primary:hover{background:var(--graphite)}.btn.gold{background:var(--graphite);color:var(--canvas);border-color:var(--graphite)}.btn.gold:hover{background:var(--black)}.btn.ghost{color:var(--text-2);border-color:#0000}.btn.ghost:hover{color:var(--text);background:0 0}.btn.small{width:auto;padding:10px 14px;font-size:10px}.btn.danger{color:var(--bad);border-color:var(--line-strong)}.card.ivory .btn{color:var(--canvas);border-color:#f8f3e966}.card.ivory .btn.primary{background:var(--canvas);color:var(--black);border-color:var(--canvas)}.field{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.field label{letter-spacing:var(--track-ui);text-transform:uppercase;color:var(--text-2);font-size:10px;font-weight:500}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--line-strong);font-size:16px;font-family:var(--sans);width:100%;color:var(--text);background:0 0;border-radius:0;outline:none;padding:10px 0;font-weight:400}.field input::placeholder{color:var(--text-3);font-style:normal;font-weight:400}.field input:focus,.field select:focus{border-bottom-color:var(--black)}.field select{appearance:none}.seg{border:1px solid var(--line-strong);border-radius:0;display:flex;overflow:hidden}.seg button{letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:0;flex:1;padding:11px 6px;font-size:10px;font-weight:500}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--black);color:var(--canvas)}.photo-slot{aspect-ratio:3/4;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.photo-slot img{object-fit:contain;background:var(--surface-2);width:100%;height:100%}.photo-slot .hint{text-align:center;color:var(--text-2);padding:14px;font-size:12px;line-height:1.45;position:relative}.photo-slot .hint strong{font-family:var(--serif);color:var(--text);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px;font-size:24px;font-weight:400;display:block}.silhouette{opacity:.12;pointer-events:none;position:absolute;inset:0}.photo-slot:after{content:"+";font-family:var(--serif);color:var(--text-2);font-size:26px;position:absolute;bottom:6px;right:12px}.photo-slot:has(img):after{content:"retake";font-family:var(--sans);letter-spacing:var(--track-ui);text-transform:uppercase;background:var(--black);color:var(--canvas);padding:6px 9px;font-size:9px;bottom:8px;right:8px}.pill{border:1px solid var(--line-strong);letter-spacing:.16em;text-transform:uppercase;color:var(--text-2);border-radius:0;align-items:center;gap:6px;padding:5px 10px;font-size:9px;font-weight:500;display:inline-flex}.pill.ok{color:var(--ok);border-color:#2f6b4566}.pill.warn{color:var(--warn);border-color:#8c6a1266}.pill.bad{color:var(--bad);border-color:#a33f2e66}.pill.accent{color:var(--canvas);background:var(--black);border-color:var(--black)}.pill.ivory{color:var(--black);background:var(--canvas);border-color:var(--canvas)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line-strong);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--text-2);transition:background var(--t-fast), color var(--t-fast);border-radius:0;padding:9px 13px;font-size:10px;font-weight:500}.chip:hover{color:var(--text)}.chip.on{background:var(--black);color:var(--canvas);border-color:var(--black)}.thumbs{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.thumb{aspect-ratio:3/4;background:var(--surface-2);cursor:pointer;border:0;border-radius:0;position:relative;overflow:hidden}.thumb img{object-fit:cover;background:var(--surface-2);width:100%;height:100%;transition:transform var(--t-slow) var(--ease)}.thumb:hover img{transform:scale(1.02)}.thumb .tag{position:absolute;bottom:6px;left:6px}.thumb.on{outline:1px solid var(--black);outline-offset:-1px}.thumb.hero{aspect-ratio:4/5}.result{background:var(--surface-2);aspect-ratio:3/4;position:relative;overflow:hidden}.result .fill{filter:blur(30px)saturate(1.05);opacity:.55;background-position:50%;background-size:cover;position:absolute;inset:-6%}.result img,.result video{object-fit:contain;width:100%;height:100%;position:relative}.result:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0a0a0ab8);height:38%;position:absolute;inset:auto 0 0}.result .badge{z-index:2;position:absolute;top:14px;left:18px}.result .caption{z-index:2;color:var(--canvas);position:absolute;bottom:18px;left:18px;right:18px}.result .caption .name{font-family:var(--serif);text-transform:uppercase;font-size:28px;font-weight:400;line-height:1}.result .caption .meta{color:#f8f3e9bf;letter-spacing:.08em;text-transform:uppercase;margin-top:6px;font-size:11px}.result .loading{z-index:3;color:var(--text-2);letter-spacing:.24em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f8f3e9c7;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:10px;display:flex;position:absolute;inset:0}.spinner{border:1px solid var(--line-strong);border-top-color:var(--black);border-radius:50%;width:34px;height:34px;animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=768px){.result{aspect-ratio:auto;height:min(78vh,133.333vw)}.result img,.result video{object-fit:contain}}.verdict-card{background:var(--black);color:var(--canvas);border-radius:0;margin:0 0 6px;padding:24px 22px}.verdict-card .eyebrow{color:#b9b4aa}.verdict-card .verdict{font-family:var(--serif);margin:8px 0 6px;font-size:52px;font-weight:400;line-height:.95}.verdict-card .verdict em{font-style:italic}.verdict-card .summary{color:#c9c4ba;margin:0 0 18px;font-size:13.5px;line-height:1.55}.verdict-card .conf{letter-spacing:var(--track-ui);text-transform:uppercase;color:#b9b4aa;font-size:10px;font-weight:500}.verdict-card .muted{color:#b9b4aa!important}.sizes{gap:4px;display:flex}.size{text-align:center;font-family:var(--serif);cursor:pointer;transition:background var(--t-fast);border:1px solid #f8f3e947;border-radius:0;flex:1;padding:12px 0 10px;font-size:20px;font-weight:400}.size.rec{background:var(--canvas);color:var(--black);border-color:var(--canvas)}.size.on:not(.rec){border-color:var(--canvas)}.size small{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;opacity:.6;margin-top:2px;font-size:8px;display:block}.zones{flex-direction:column;gap:10px;margin-top:8px;display:flex}.zone{color:#c9c4ba;grid-template-columns:74px 1fr 92px;align-items:center;gap:12px;font-size:12px;display:grid}.zone>span:first-child{font-family:var(--serif);color:var(--canvas);font-size:17px}.bar{background:#f8f3e940;height:1px;position:relative}.bar i{background:#8fcf9f;border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;transform:translate(-50%)}.bar i.tight{background:#e07a6a}.bar i.loose{background:#e3b85c}.bar b{background:#f8f3e980;width:1px;height:11px;position:absolute;top:-5px;left:50%}.verdict-card .pill{color:#c9c4ba;border-color:#f8f3e94d;justify-content:center}.verdict-card .pill.ok{color:#9fd6ae;border-color:#9fd6ae66}.verdict-card .pill.bad{color:#e9968a;border-color:#e9968a66}.verdict-card .pill.warn{color:#e6c87a;border-color:#e6c87a66}.hero{background:var(--canvas);flex-direction:column;display:flex;position:relative}.hero-image{aspect-ratio:4/5;background:var(--surface-2);width:100%;max-height:58vh;display:block;overflow:hidden}.hero-image img{object-fit:cover;object-position:50% 12%;width:100%;height:100%;display:block}.hero-copy{padding:26px 22px 30px}.hero .eyebrow{margin-bottom:14px}.hero h1{text-transform:uppercase;letter-spacing:-.01em;margin:0 0 16px;font-size:clamp(44px,12.5vw,92px);line-height:.9}.hero h1 em{text-transform:uppercase;font-style:normal;display:block}.hero p{color:var(--text-2);max-width:30ch;line-height:1.5;font-family:var(--sans);margin:0 0 24px;font-size:15px}.hero .btn{width:100%}@media (width>=768px){.hero{flex-direction:row;align-items:center;gap:32px}.hero-image{aspect-ratio:4/5;width:46%;max-height:none}.hero-copy{flex:1;padding:22px 22px 22px 0}.hero .btn{width:auto;min-width:220px}}.marquee{white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -22px;padding:12px 0;overflow:hidden}.marquee span{letter-spacing:.3em;text-transform:uppercase;color:var(--text-2);padding-right:48px;font-size:9.5px;animation:26s linear infinite slide;display:inline-block}@keyframes slide{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee span{animation:none}}.profile-card{border:0;border-top:1px solid var(--line);cursor:pointer;background:0 0;border-radius:0;grid-template-columns:72px 1fr auto;align-items:center;gap:16px;margin:0;padding:14px 0;display:grid}.profile-card:last-of-type{border-bottom:1px solid var(--line)}.profile-card.active .name:before{content:"";background:var(--black);vertical-align:middle;width:18px;height:1px;margin-right:8px;display:inline-block}.profile-card .thumb{aspect-ratio:3/4}.profile-card .name{font-family:var(--serif);text-transform:uppercase;font-size:24px;font-weight:400;line-height:1}.profile-card .meta{color:var(--text-2);margin-top:6px;font-size:11.5px;line-height:1.45}.empty{text-align:center;color:var(--text-2);padding:40px 16px;font-size:13px}.empty strong{font-family:var(--serif);color:var(--text);text-transform:uppercase;margin-bottom:8px;font-size:30px;font-weight:400;line-height:1;display:block}.toast{left:50%;bottom:calc(var(--tab-h) + 18px + var(--safe-b));background:var(--black);color:var(--canvas);letter-spacing:var(--track-ui);text-transform:uppercase;z-index:20;white-space:nowrap;border-radius:0;padding:12px 18px;font-size:10px;font-weight:500;position:fixed;transform:translate(-50%)}.hidden-input{display:none}.actions{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;display:grid}.stat{flex-direction:column;gap:4px;display:flex}.stat b{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1}.stat span{letter-spacing:var(--track-ui);text-transform:uppercase;color:var(--text-2);font-size:9px}.splash{z-index:100;background:var(--black);place-items:center;transition:opacity .6s;display:grid;position:fixed;inset:0}.splash.out{opacity:0;pointer-events:none}.splash-svg{width:min(62vw,360px);height:auto}.splash .half{transform-box:fill-box}.splash .half.left{animation:.9s cubic-bezier(.2,.8,.2,1) .15s forwards sp-in-l;transform:translate(-140px)}.splash .half.right{animation:.9s cubic-bezier(.2,.8,.2,1) .15s forwards sp-in-r;transform:translate(140px)}.splash .seam{opacity:0;animation:.3s 1s forwards sp-fade}.splash .sheen{animation:1.1s 1.05s forwards sp-sheen}.splash .arch{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.1s cubic-bezier(.4,0,.2,1) .55s forwards sp-draw}.splash .fm{opacity:0;transform-box:fill-box;animation:.7s cubic-bezier(.2,.8,.2,1) 1.25s forwards sp-rise;transform:translateY(24px)}.splash .word{opacity:0;animation:.6s 1.6s forwards sp-fade}.splash.loop .half.left,.splash.loop .half.right,.splash.loop .seam,.splash.loop .sheen,.splash.loop .arch,.splash.loop .fm,.splash.loop .word{animation-duration:3.4s;animation-iteration-count:infinite}@keyframes sp-in-l{to{transform:translate(0)}}@keyframes sp-in-r{to{transform:translate(0)}}@keyframes sp-draw{to{stroke-dashoffset:0}}@keyframes sp-rise{to{opacity:1;transform:translateY(0)}}@keyframes sp-fade{to{opacity:1}}@keyframes sp-sheen{0%{opacity:0;transform:translate(0)skew(-18deg)}20%{opacity:.35}to{opacity:0;transform:translate(420px)skew(-18deg)}}@media (prefers-reduced-motion:reduce){.splash .half,.splash .seam,.splash .sheen,.splash .arch,.splash .fm,.splash .word{animation-duration:10ms!important;animation-delay:0s!important}}.sheet-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#0a0a0a6b;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--canvas);border-top:1px solid var(--line);width:100%;max-width:560px;padding:14px 22px calc(26px + var(--safe-b));animation:sheet-up .4s var(--ease)}.sheet-handle{background:var(--line-strong);width:36px;height:2px;margin:0 auto 18px}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.consent{color:var(--text-2);align-items:flex-start;gap:10px;margin:8px 0;font-size:13px;line-height:1.45;display:flex}.consent input{accent-color:var(--black);margin-top:2px}.plans{border-top:1px solid var(--line);gap:0;display:grid}.plan{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 0}.plan.current b:after{content:"  · current";font-family:var(--sans);letter-spacing:var(--track-ui);text-transform:uppercase;color:var(--text-2);font-size:9px}.plan b{font-family:var(--serif);text-transform:uppercase;letter-spacing:.02em;font-size:22px;font-weight:400}
