@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/dm-sans-latin-ext-400-normal.d663ebe0.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-ext-400-normal.9850054c.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/dm-sans-latin-400-normal.7abd0811.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-400-normal.6193dcef.woff) format("woff");unicode-range:u+00??,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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/dm-sans-latin-ext-500-normal.d7898f39.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-ext-500-normal.fae40d5a.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/dm-sans-latin-500-normal.210398b6.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-500-normal.1dd5b1eb.woff) format("woff");unicode-range:u+00??,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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/dm-sans-latin-ext-600-normal.47d62717.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-ext-600-normal.23d427ce.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/dm-sans-latin-600-normal.ad414a0a.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-600-normal.895dddc8.woff) format("woff");unicode-range:u+00??,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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/dm-sans-latin-ext-700-normal.c3bb9d04.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-ext-700-normal.654517d4.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/dm-sans-latin-700-normal.db6484ff.woff2) format("woff2"),url(/_next/static/media/dm-sans-latin-700-normal.beb4580c.woff) format("woff");unicode-range:u+00??,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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/dm-mono-latin-ext-400-normal.3d7b48a6.woff2) format("woff2"),url(/_next/static/media/dm-mono-latin-ext-400-normal.5c4b3754.woff) format("woff");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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/dm-mono-latin-400-normal.0488ee5d.woff2) format("woff2"),url(/_next/static/media/dm-mono-latin-400-normal.473b4a21.woff) format("woff");unicode-range:u+00??,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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/dm-mono-latin-ext-500-normal.903f18c3.woff2) format("woff2"),url(/_next/static/media/dm-mono-latin-ext-500-normal.38827eb9.woff) format("woff");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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/dm-mono-latin-500-normal.e8e797f5.woff2) format("woff2"),url(/_next/static/media/dm-mono-latin-500-normal.5214b5fe.woff) format("woff");unicode-range:u+00??,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:Italiana;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/italiana-latin-400-normal.d2a492a9.woff2) format("woff2"),url(/_next/static/media/italiana-latin-400-normal.7e40f5ec.woff) format("woff");unicode-range:u+00??,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:#e9e8e5;--ink:#131313;--muted:#777773;--rule:#c6c5c0;--dark:#161616}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink)}body{font-family:DM Sans,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}button:focus-visible,input:focus-visible{outline:2px solid #777;outline-offset:4px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.analysis-strip,.before-after,.control-note,.development-group h3,.development-toggle,.download-menu,.kicker,.photo-label,.primary,.processing-percent,.processing-stage,.processing-title,.studio-meta-right,.subtle-button,.text-button{font-family:DM Mono,monospace;letter-spacing:.075em}.landing{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:80px 7vw}.landing-center{text-align:center;transform:translateY(-1.5vh)}.landing h1{font-family:Italiana,Georgia,serif;font-size:clamp(72px,9.2vw,160px);line-height:.86;letter-spacing:-.068em;margin:0 0 48px}.landing h1,.landing h1 em{font-weight:400}.primary{border:1px solid var(--ink);background:var(--ink);color:#f4f3f0;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-size:11px;font-weight:500;min-height:58px;padding:0 20px 0 27px;transition:background .25s,color .25s,transform .25s}.primary:hover{background:#f2f1ee;color:var(--ink);transform:translateY(-2px)}.button-arrow{font-family:DM Sans,sans-serif;font-size:22px;line-height:1;font-weight:400}.choose{min-width:212px}.studio{flex:1 1;padding:29px 4.2vw 60px}.studio-meta{display:flex;justify-content:flex-end;align-items:flex-end;margin-bottom:23px}.kicker{display:block;font-size:9px;color:#83837d;margin-bottom:9px}.studio-meta-right{font-size:10px;color:#6f6f6b;display:flex;gap:31px;align-items:center}.text-button{border:0;background:transparent;color:#30302d;padding:0 0 2px;border-bottom:1px solid #777;font-size:10px}.photo-stage{width:100%;display:flex;align-items:center;justify-content:center}.photo-frame{width:100%;aspect-ratio:var(--image-ratio,3/2);position:relative;overflow:hidden;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:transparent}.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.developed{transition:none}.compare-line{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.85);z-index:3;cursor:ew-resize;touch-action:none}.compare-handle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:1px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:7px;background:rgba(22,22,22,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:20px Georgia}.compare-handle i{display:block;height:17px;width:1px;background:#fff}.photo-label{position:absolute;bottom:21px;z-index:3;color:#fff;font-size:10px;text-shadow:0 1px 3px #000}.before-label{left:24px}.after-label{right:24px}.processing-overlay{position:absolute;inset:0;z-index:5;background:rgba(9,9,9,.76);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.processing-inner{display:flex;flex-direction:column;align-items:center;color:#eee}.processing-spinner{width:43px;height:43px;border:1px solid #777;border-top-color:#fff;border-radius:50%;animation:spin 1.2s linear infinite;margin-bottom:32px}@keyframes spin{to{transform:rotate(1turn)}}.processing-title{font-size:12px;letter-spacing:.25em}.processing-stage{font-size:10px;color:#bcbcb8;margin-top:17px;letter-spacing:.02em}.progress-track{width:210px;height:1px;background:#555;margin-top:31px}.progress-track span{display:block;height:1px;background:#fff;transition:width .3s}.processing-percent{font-size:9px;color:#aaa;margin-top:9px}.studio-controls{max-width:100%}.develop-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-top:27px}.control-note{font-size:10px;color:#787874}.control-note.right{text-align:right}.develop-button{min-width:236px}.result-main-row{justify-content:space-between;padding-top:26px}.before-after,.result-main-row{display:flex;align-items:center}.before-after{gap:19px;font-size:10px}.before-after button{border:0;background:transparent;padding:8px 0;font-size:10px;letter-spacing:.075em}.ba-rule{height:1px;width:35px;background:#999}.result-actions{display:flex;align-items:center;gap:24px}.subtle-button{border:0;background:transparent;font-size:10px;padding:10px 0;white-space:nowrap}.subtle-button span{font:19px DM Sans;margin-left:12px}.download-button{min-width:171px;min-height:51px}.download-wrap{position:relative}.download-menu{position:absolute;right:0;bottom:calc(100% + 8px);width:212px;background:#f6f5f2;border:1px solid #bdbdb9;box-shadow:0 15px 35px #0002;z-index:10}.download-menu button{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;padding:16px;font-size:10px;text-align:left}.download-menu button+button{border-top:1px solid #ddd}.download-menu button:hover{background:#e5e4df}.download-menu span{color:#8a8a85;font-size:9px}.development-toggle{display:flex;align-items:center;justify-content:space-between;border:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:transparent;width:100%;margin-top:45px;padding:20px 0;text-align:left;font-size:10px}.development-toggle span{font:22px DM Sans;line-height:.5}.development-panel{padding:28px 0 0}.development-intro{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.development-intro p{margin:0;color:#777;font-size:12px}.development-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:35px;gap:35px}.development-group h3{margin:0 0 16px;padding-bottom:11px;border-bottom:1px solid #bbb;font-size:10px;font-weight:500}.value-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px;color:#70706c}.value-row strong{color:#171717;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.analysis-strip{display:flex;gap:35px;border-top:1px solid var(--rule);margin-top:28px;padding-top:20px;color:#8b8b86;font-size:9px;flex-wrap:wrap}.analysis-strip b{color:#333;font-weight:500;margin-left:9px}.error-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;background:#161616;color:white;padding:14px 18px;font-size:12px;box-shadow:0 10px 30px #0003;display:flex;gap:20px;align-items:center}.error-toast button{color:#fff;background:none;border:0;font-size:21px}.drop-overlay{position:fixed;inset:0;z-index:30;background:rgba(233,232,229,.94);border:16px solid #161616;display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-overlay div{font-family:Italiana,Georgia,serif;font-size:clamp(56px,9vw,130px);text-align:center}.drop-overlay span{display:block;font:11px DM Mono;margin-top:15px;letter-spacing:.15em}@media (max-width:800px){.landing h1{font-size:clamp(65px,13vw,100px)}.studio{padding:22px 4vw 50px}.photo-stage{height:auto}.studio-meta-right{gap:14px}.control-note,.studio-meta-right>span{display:none}.develop-row{display:flex;justify-content:center}.development-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.landing{padding:60px 5vw}.landing h1{font-size:15vw;margin-bottom:38px}.photo-stage{height:auto}.result-main-row{align-items:stretch;gap:16px;flex-direction:column}.result-actions{justify-content:space-between}.download-button{min-width:150px}.development-intro{display:block}.development-intro p{margin-top:10px}.development-grid{gap:20px}.value-row{font-size:11px}.analysis-strip{gap:12px 22px}}.analysis-report,.optimization-report{border-top:1px solid var(--rule);padding-top:24px;margin-bottom:32px}.analysis-report h3,.optimization-report h3{font:500 10px DM Mono,monospace;letter-spacing:.075em;margin:0 0 16px}.analysis-report-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:4px 30px;gap:4px 30px}.optimization-report{margin-top:28px}.development-panel .value-row{border-bottom:1px solid #d7d6d1}.development-grid{gap:20px}.result-main-row{padding-bottom:10px}@media (max-width:800px){.analysis-report-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.analysis-report-grid{grid-template-columns:1fr 1fr;gap:2px 12px}.analysis-report-grid .value-row{display:block}.analysis-report-grid .value-row strong{display:block;margin-top:3px}}.debug-page{background:#eee;min-height:100vh;padding:30px 4vw 80px;color:#161616}.debug-page header{display:flex;justify-content:space-between;border-bottom:1px solid #aaa;padding-bottom:25px;align-items:flex-start}.debug-page header span{font:10px DM Mono;letter-spacing:.12em}.debug-page h1{font:400 60px Italiana,Georgia,serif;margin:6px 0 0}.debug-page h2{font:500 18px DM Sans;margin:0 0 22px}.debug-page h3{font:500 10px DM Mono;letter-spacing:.1em}.debug-page a{font:11px DM Mono;color:#111}.debug-upload{padding:28px 0;display:flex;gap:25px;align-items:center}.debug-upload label{font:11px DM Mono;display:flex;gap:20px;align-items:center}.debug-upload span{font:11px DM Mono}.debug-overview{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);grid-gap:35px;gap:35px}.debug-overview>img{width:100%;max-height:65vh;object-fit:contain;background:#222}.debug-overview p{font:12px DM Mono}.debug-timing{display:flex;justify-content:space-between;border-top:1px solid #ccc;padding:9px 0;font:11px DM Mono}.debug-section{border-top:1px solid #bbb;margin-top:45px;padding-top:25px}.debug-hist-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.debug-bars{height:110px;display:flex;align-items:flex-end;gap:1px;border-bottom:1px solid #777}.debug-bars span{flex:1 1;background:#242424;min-width:1px}.debug-map-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.debug-candidate-grid figure,.debug-map-grid figure{margin:0}.debug-candidate-grid img,.debug-map-grid img{width:100%;background:#222;aspect-ratio:3/2;object-fit:contain}.debug-candidate-grid figcaption,.debug-map-grid figcaption{font:10px DM Mono;padding:8px 0}.debug-candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.debug-scores{display:grid;grid-template-columns:1fr 1fr;grid-gap:45px;gap:45px}.debug-score{display:grid;grid-template-columns:160px 1fr 50px;grid-gap:12px;gap:12px;align-items:center;padding:6px 0;font:10px DM Mono}.debug-score>div{height:3px;background:#bbb}.debug-score i{height:3px;background:#222;display:block}.debug-score strong{text-align:right}.debug-trace{max-height:360px;overflow:auto;font:10px DM Mono}.debug-trace>div{display:grid;grid-template-columns:50px 1fr 70px;padding:5px;border-bottom:1px solid #ccc}@media (max-width:800px){.debug-overview{grid-template-columns:1fr}.debug-hist-grid,.debug-map-grid{grid-template-columns:repeat(2,1fr)}.debug-scores{grid-template-columns:1fr}.debug-candidate-grid{grid-template-columns:repeat(2,1fr)}}