.navbar{position:sticky;top:0;z-index:10;background-color:#f5f1e8eb;-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px)}.navbar__inner{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-2)}.navbar__brand{display:inline-flex;align-items:baseline;gap:.5rem;color:var(--ink)}.navbar__brand-mark{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;background:var(--ink);color:var(--paper);font-family:Fraunces Variable,Fraunces,Georgia,serif;font-weight:600;font-size:1rem;border-radius:var(--radius);transform:translateY(2px)}.navbar__brand-name{font-family:Fraunces Variable,Fraunces,Georgia,serif;font-size:1.4rem;letter-spacing:.01em}.navbar__tag{margin:0;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}@media(max-width:480px){.navbar__tag{display:none}}.landing{flex:1;display:flex;flex-direction:column}.landing__hero{display:grid;grid-template-columns:1fr;gap:var(--space-6);align-items:center;padding-block:clamp(2.5rem,8vw,6rem)}@media(min-width:900px){.landing__hero{grid-template-columns:1.4fr 1fr;gap:var(--space-8)}}.landing__copy{display:flex;flex-direction:column;gap:var(--space-3)}.landing__headline{margin:0;font-family:Fraunces Variable,Fraunces,Georgia,serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:500;line-height:1.04;letter-spacing:-.02em;text-wrap:balance}.landing__headline-em{font-style:italic;font-variation-settings:"SOFT" 100;color:var(--saffron)}.landing__sub{margin:0;max-width:56ch;color:var(--ink-soft);font-size:clamp(1rem,1.6vw,1.15rem)}.landing__cta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}.landing__hint{color:var(--ink-muted);font-size:.875rem}.landing__figure{margin:0;justify-self:center}.landing__figure img{width:min(420px,100%);height:auto}.landing__artifact{position:relative;width:100%;height:clamp(360px,48vh,540px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.brushstroke-field{position:absolute;top:0;right:0;bottom:0;left:0}.brushstroke-field canvas{display:block;width:100%;height:100%}.landing__how{padding-block:clamp(2rem,6vw,4rem)}.landing__how-title{margin:0 0 var(--space-3);font-family:Fraunces Variable,Fraunces,Georgia,serif;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:500;letter-spacing:-.01em}.landing__how-lede{margin:0 0 var(--space-4);max-width:64ch;color:var(--ink-soft);font-size:1.05rem}.landing__credits{padding-block:clamp(2rem,6vw,4rem)}.landing__credit-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);max-width:72ch;color:var(--ink-soft);font-size:.95rem}.landing__credit-list strong{color:var(--ink);font-weight:500}.landing__steps{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3);grid-template-columns:1fr;counter-reset:step}@media(min-width:800px){.landing__steps{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}}.landing__steps li{border-top:1px solid var(--ink);padding-top:var(--space-2);display:flex;flex-direction:column;gap:.25rem}.landing__step-num{font-size:.75rem;letter-spacing:.18em;color:var(--saffron);font-feature-settings:"tnum"}.landing__steps h3{margin:0;font-family:Fraunces Variable,Fraunces,Georgia,serif;font-size:1.25rem;font-weight:500}.landing__steps p{margin:0;color:var(--ink-soft);max-width:32ch}.stylize{flex:1;display:flex;flex-direction:column;padding-block:clamp(1.5rem,4vw,3rem);gap:var(--space-4)}.stylize__head{display:flex;flex-direction:column;gap:.5rem}.stylize__title{margin:0;font-family:Fraunces Variable,Fraunces,Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:500;letter-spacing:-.01em}.stylize__lede{margin:0;max-width:64ch;color:var(--ink-soft);font-size:.95rem}.stylize__grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:900px){.stylize__grid{grid-template-columns:1fr 1fr;gap:var(--space-6)}}.stylize__col{display:flex;flex-direction:column;gap:var(--space-2)}.stylize__col-title{margin:0;font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}.stylize__action{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding-block:var(--space-2) var(--space-4)}.model-status{display:flex;flex-direction:column;align-items:center;gap:.4rem}.model-status__text{font-size:.8rem;color:var(--ink-muted);letter-spacing:.04em;font-feature-settings:"tnum"}.resolution-picker{display:flex;flex-direction:column;gap:.4rem;width:min(320px,80vw);font-size:.8rem;color:var(--ink-muted);letter-spacing:.04em}.resolution-picker__label{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.resolution-picker__value{color:var(--ink);font-weight:500;font-feature-settings:"tnum"}.resolution-picker__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--rule);border-radius:2px;outline:none;cursor:pointer}.resolution-picker__input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--ink);border:2px solid var(--paper);border-radius:50%;cursor:pointer;box-shadow:0 0 0 1px var(--ink)}.resolution-picker__input::-moz-range-thumb{width:16px;height:16px;background:var(--ink);border:2px solid var(--paper);border-radius:50%;cursor:pointer;box-shadow:0 0 0 1px var(--ink)}.resolution-picker__input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--saffron);outline-offset:2px}.resolution-picker__input:focus-visible::-moz-range-thumb{outline:2px solid var(--saffron);outline-offset:2px}.resolution-picker__input:disabled{opacity:.5;cursor:not-allowed}.resolution-picker__bounds{display:flex;justify-content:space-between;font-size:.7rem;font-feature-settings:"tnum"}.backend-picker{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--ink-muted);letter-spacing:.04em}.backend-picker__label{font-feature-settings:"tnum"}.backend-picker__select{background:transparent;border:0;border-bottom:1px solid var(--rule);color:var(--ink);font:inherit;font-size:.8rem;letter-spacing:.04em;padding:.1rem .2rem;cursor:pointer;transition:border-color .12s ease;max-width:min(320px,60vw)}.backend-picker__select:hover:not(:disabled){border-bottom-color:var(--ink)}.backend-picker__select:focus-visible{outline:2px solid var(--saffron);outline-offset:2px}.backend-picker__select:disabled{opacity:.5;cursor:not-allowed}.dropzone{position:relative;display:block;width:100%;aspect-ratio:4 / 5;border:1px dashed var(--rule-strong);background:var(--paper-deep);cursor:pointer;overflow:hidden;transition:border-color .16s ease,background-color .16s ease}.dropzone:hover,.dropzone--drag{border-color:var(--ink);background:#0e0e0c0a}.dropzone--filled{border-style:solid;border-color:var(--ink);background:var(--paper)}.dropzone__empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--ink-soft);text-align:center;padding:var(--space-3)}.dropzone__hint{font-size:1rem;color:var(--ink)}.dropzone__sub{font-size:.85rem;color:var(--ink-muted)}.dropzone__img{width:100%;height:100%;object-fit:cover}.picker{display:flex;flex-direction:column;gap:var(--space-2)}.picker__frame{width:100%;aspect-ratio:4 / 5;background:var(--paper-deep);border:1px solid var(--ink);overflow:hidden}.picker__img{width:100%;height:100%;object-fit:cover}.picker__placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--paper-deep) 0%,rgba(194,65,12,.08) 100%)}.picker__controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2)}.picker__meta{display:flex;flex-direction:column;gap:.15rem;text-align:center}.picker__title{margin:0;font-family:Fraunces Variable,Fraunces,Georgia,serif;font-size:1.1rem;font-weight:500;line-height:1.2}.picker__desc{margin:0;font-size:.85rem;color:var(--ink-muted);line-height:1.4}.picker__count{margin:0;font-size:.75rem;letter-spacing:.16em;color:var(--ink-muted);font-feature-settings:"tnum"}.link-btn{align-self:flex-start;background:none;border:0;border-bottom:1px solid var(--rule);color:var(--ink);font:inherit;padding:0 0 1px;cursor:pointer;transition:border-color .12s ease}.link-btn:hover{border-bottom-color:var(--ink)}.result{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding-block:clamp(2rem,5vw,4rem)}.result__head{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.result__title{margin:0;font-family:Fraunces Variable,Fraunces,Georgia,serif;font-size:clamp(2rem,4.5vw,3rem);font-weight:500;letter-spacing:-.01em}.result__sub{margin:0;color:var(--ink-soft);font-size:.95rem}.result__figure{margin:0;width:100%;max-width:720px;border:1px solid var(--ink);box-shadow:0 24px 64px -24px #0e0e0c40;background:var(--paper);padding:clamp(.5rem,1.5vw,1rem);animation:fade-up .36s ease-out both}.result__img{width:100%;height:auto}.result__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-italic-BicUS2cM.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-italic-BfTTTDIL.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f5f1e8;--paper-deep: #efe9da;--ink: #0e0e0c;--ink-soft: #2a2a26;--ink-muted: #5a564f;--saffron: #c2410c;--saffron-deep: #9a330a;--slate: #475569;--rule: rgba(14, 14, 12, .12);--rule-strong: rgba(14, 14, 12, .32);--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-6: 3rem;--space-8: 5rem;--radius: 2px;color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv05"}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100dvh;color:var(--ink);background-color:var(--paper);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.06  0 0 0 0 0.06  0 0 0 0 0.05  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-repeat:repeat;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}#root{min-height:100dvh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}a.text-link{border-bottom:1px solid var(--rule);transition:border-color .12s ease}a.text-link:hover{border-bottom-color:var(--ink)}img{max-width:100%;display:block}.page{flex:1;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem)}.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);margin:0}.rule{height:1px;background:var(--rule);border:0;margin:0}::selection{background:var(--saffron);color:var(--paper)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rule-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}.skip-link{position:absolute;left:-9999px;top:1rem;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:100}.skip-link:focus{left:1rem}.route-fallback{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding-block:4rem}.route-fallback__dot{width:.5rem;height:.5rem;background:var(--ink);border-radius:50%;animation:rf-bounce 1.2s infinite ease-in-out both}.route-fallback__dot:nth-child(1){animation-delay:-.32s}.route-fallback__dot:nth-child(2){animation-delay:-.16s}@keyframes rf-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
