@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{color:#151719;background:#eceeec;font-family:Inter,Noto Sans KR,Apple SD Gothic Neo,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #151719;--muted: #6f7471;--line: #d9ddda;--paper: #f8f9f7;--accent: #1d4938}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#eceeec}button{font:inherit}button:focus-visible,[tabindex="-1"]:focus-visible{outline:2px solid #275b47;outline-offset:3px}h1,h2,h3,p{margin:0}.app{min-height:100dvh}.brand{display:flex;align-items:center;color:var(--ink);font-size:1rem;font-weight:700;letter-spacing:-.04em}.brand>span{margin:0 2px;color:#8b918d;font-weight:400}.brand small{margin-left:14px;color:#8a8f8c;font-size:.56rem;font-weight:600;letter-spacing:.16em}.eyebrow{color:var(--accent);font-size:.65rem;font-weight:700;letter-spacing:.17em}.capture-page{display:grid;min-height:100dvh;place-items:center;padding:28px;background:#dfe2df}.camera-device{width:min(1120px,100%);height:min(820px,calc(100dvh - 56px));min-height:620px;overflow:hidden;border:10px solid #191b1c;border-radius:34px;background:#f7f8f6}.device-header{display:flex;height:64px;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #d8dcda}.device-status{display:flex;align-items:center;gap:8px;color:#7d827f;font-size:.58rem;font-weight:700;letter-spacing:.12em}.device-status i{width:6px;height:6px;border-radius:50%;background:#a8adaa}.device-status i.is-live{background:#2f7759}.camera-view{position:relative;height:calc(100% - 148px);overflow:hidden;background:#222624}.camera-view video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);filter:saturate(.78) contrast(.96)}.camera-view:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(4,10,7,.42),transparent 62%);content:"";pointer-events:none}.camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;color:#fff;pointer-events:none}.capture-copy{position:absolute;left:7%;top:50%;max-width:520px;transform:translateY(-50%)}.capture-copy>p{margin-bottom:18px;font-size:.64rem;font-weight:600;letter-spacing:.19em;opacity:.7}.capture-copy h1{font-size:clamp(2.7rem,5vw,5.5rem);font-weight:500;line-height:1.12;letter-spacing:-.065em}.capture-copy>span{display:block;margin-top:24px;font-size:.8rem;letter-spacing:-.01em;opacity:.72}.guide-line{position:absolute;right:4%;left:4%;height:1px;background:#ffffff59}.line-top{top:5%}.line-bottom{bottom:5%}.camera-empty{display:grid;height:100%;place-content:center;justify-items:center;padding:40px;background:#eef0ed;text-align:center}.camera-empty svg{width:32px;fill:none;stroke:#555b57;stroke-width:1.4}.camera-empty strong{margin-top:24px;font-size:1rem}.camera-empty p{margin-top:8px;color:var(--muted);font-size:.78rem}.camera-empty button{margin-top:22px;border:1px solid #aeb4b0;border-radius:4px;padding:10px 16px;background:transparent;cursor:pointer}.device-footer{display:grid;height:84px;grid-template-columns:1fr 100px 1fr;align-items:center;padding:0 28px;border-top:1px solid #d8dcda}.device-footer p{color:#707572;font-size:.66rem}.device-footer p>span{margin-right:9px;color:#212522;font-weight:700}.device-footer .privacy{text-align:right}.device-footer .privacy span{color:var(--accent);font-size:.55rem;letter-spacing:.1em}.shutter{display:grid;width:58px;height:58px;place-items:center;justify-self:center;border:1px solid #aeb3b0;border-radius:50%;background:transparent;cursor:pointer}.shutter i{display:grid;width:45px;height:45px;place-items:center;border-radius:50%;background:#1c201e;color:#fff;transition:background .15s ease,transform .15s ease}.shutter:hover:not(:disabled) i{background:var(--accent);transform:scale(.96)}.shutter:disabled{cursor:wait;opacity:.35}.shutter svg{width:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.capture-error{position:absolute;bottom:12px;left:50%;z-index:2;border:1px solid #ad6e66;border-radius:4px;padding:9px 14px;background:#fff;color:#8c3027;font-size:.7rem;transform:translate(-50%)}.capture-canvas{display:none}.page-header{display:flex;height:78px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.page-header>span{color:#7e8480;font-size:.58rem;font-weight:600;letter-spacing:.16em}.page-header>button{border:0;background:transparent;color:#4e5450;cursor:pointer;font-size:.62rem;font-weight:700;letter-spacing:.12em}.page-header>button span{margin-left:7px}.analysis-page{width:min(1320px,calc(100% - 64px));min-height:100dvh;margin:0 auto}.analysis-content{display:grid;min-height:calc(100dvh - 79px);grid-template-columns:minmax(300px,430px) minmax(450px,1fr);gap:clamp(60px,9vw,150px);align-items:center;padding:48px 5%}.analysis-photo{position:relative}.analysis-photo img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;filter:saturate(.82)}.analysis-photo>span{display:block;margin-top:12px;color:#747a76;font-size:.58rem;letter-spacing:.15em}.analysis-copy{max-width:650px}.analysis-copy h1{margin-top:18px;font-size:clamp(3rem,5vw,5.6rem);font-weight:500;line-height:1.08;letter-spacing:-.065em}.analysis-state{display:grid;grid-template-columns:46px 1fr;gap:18px;align-items:center;margin-top:48px}.analysis-state span{display:grid;width:42px;height:42px;place-items:center;border:1px solid #9ca39e;border-radius:50%;color:var(--accent);font-size:.72rem;font-weight:700}.analysis-state p{color:#353a37;font-size:.92rem}.progress{height:2px;margin-top:25px;background:#cfd4d1}.progress i{display:block;height:100%;background:var(--accent);transition:width .5s ease}.analysis-note{max-width:520px;margin-top:18px;color:#7b817d;font-size:.72rem;line-height:1.7}.result-page{width:min(1400px,calc(100% - 72px));margin:0 auto;padding-bottom:40px}.result-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:end;padding:72px 0 56px;border-bottom:1px solid var(--line)}.result-heading h1{margin-top:15px;font-size:clamp(2.7rem,4.5vw,5.25rem);font-weight:500;line-height:1.13;letter-spacing:-.065em}.result-heading h1 span{color:var(--accent)}.result-summary{max-width:430px;padding-bottom:8px;color:#626864;font-size:.88rem;line-height:1.85}.result-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(620px,1.28fr);gap:clamp(48px,7vw,100px);padding:52px 0 58px}.section-label{display:flex;align-items:center;gap:12px;margin-bottom:22px}.section-label span{color:var(--accent);font-size:.65rem;font-weight:700}.section-label p{color:#777d79;font-size:.6rem;font-weight:600;letter-spacing:.16em}.look-visual{position:relative}.look-visual img{display:block;width:100%;max-height:470px;object-fit:cover;object-position:center 28%;filter:saturate(.85)}.look-tags{position:absolute;right:12px;bottom:12px;display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.look-tags span{border:1px solid rgba(255,255,255,.65);border-radius:999px;padding:6px 9px;background:#141815a6;color:#fff;font-size:.62rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.look-evidence{padding:25px 0 0}.look-evidence h2{margin-bottom:20px;font-size:1.05rem;font-weight:600;letter-spacing:-.03em}.evidence-row{display:grid;grid-template-columns:64px 1fr 30px;gap:12px;align-items:center;min-height:35px}.evidence-row>span,.evidence-row>strong{color:#555b57;font-size:.68rem;font-weight:500}.evidence-row>strong{color:var(--ink);text-align:right}.evidence-row>div{height:2px;background:#d5d9d6}.evidence-row i{display:block;height:100%;background:var(--accent)}.scent-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:18px}.scent-heading h2{font-size:1.65rem;font-weight:600;letter-spacing:-.045em}.scent-heading p{margin-top:8px;color:#747a76;font-size:.72rem}.scent-heading>span{color:#787e7a;font-size:.58rem;letter-spacing:.14em;white-space:nowrap}.perfume-list{border-top:1px solid #aeb4b0}.perfume-card{display:grid;min-height:164px;grid-template-columns:34px 86px 1fr 80px;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.perfume-index{align-self:start;padding-top:27px;color:#888e8a;font-size:.6rem}.bottle{position:relative;display:grid;width:58px;height:82px;place-items:center;justify-self:center;border:1px solid #888f8a;border-radius:2px 2px 5px 5px;background:var(--bottle-tone);color:#313633}.bottle:before{position:absolute;top:-17px;width:28px;height:17px;border:1px solid #777d79;background:#333835;content:""}.bottle i{position:absolute;top:-6px;width:18px;height:6px;background:#737975}.bottle span{max-width:48px;border-top:1px solid rgba(20,25,22,.35);border-bottom:1px solid rgba(20,25,22,.35);padding:5px 0;font-size:.42rem;font-weight:700;text-align:center}.perfume-copy>span{color:#707672;font-size:.55rem;font-weight:600;letter-spacing:.11em}.perfume-copy h3{margin-top:5px;font-size:1.25rem;font-weight:600;letter-spacing:-.04em}.perfume-copy p{margin-top:8px;color:#858b87;font-size:.66rem}.match-score{text-align:right}.match-score strong{display:block;color:var(--accent);font-size:1.8rem;font-weight:500;letter-spacing:-.06em}.match-score span{display:block;margin-top:3px;color:#8a908c;font-size:.48rem;letter-spacing:.09em}.recommendation-reason{display:grid;grid-template-columns:72px 1fr;gap:18px;margin-top:28px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.recommendation-reason span{color:var(--accent);font-size:.58rem;font-weight:700;letter-spacing:.12em}.recommendation-reason p{color:#59605b;font-size:.78rem;line-height:1.75}.trust-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #aeb4b0}.trust-footer>div{min-height:92px;padding:19px 28px 0 0}.trust-footer>div+div{border-left:1px solid var(--line);padding-left:28px}.trust-footer strong{font-size:.68rem;font-weight:600}.trust-footer p{margin-top:7px;color:#7c827e;font-size:.62rem;line-height:1.6}.error-page{display:grid;min-height:100dvh;grid-template-rows:80px 1fr;width:min(1180px,calc(100% - 64px));margin:0 auto}.error-page>.brand{border-bottom:1px solid var(--line)}.error-page>div{display:grid;place-content:center;justify-items:start}.error-page h1{margin-top:16px;font-size:clamp(2.5rem,5vw,5rem);font-weight:500;letter-spacing:-.06em}.error-page>div>p:not(.eyebrow){margin-top:18px;color:#737975}.error-actions{display:flex;gap:8px;margin-top:30px}.error-actions button{min-height:46px;border:1px solid var(--ink);border-radius:3px;padding:0 20px;background:var(--ink);color:#fff;cursor:pointer}.error-actions .secondary{background:transparent;color:var(--ink)}@media(max-width:900px){.capture-page{padding:0}.camera-device{width:100%;height:100dvh;min-height:600px;border:0;border-radius:0}.device-footer{grid-template-columns:1fr 80px 1fr;padding:0 16px}.device-footer p{font-size:.56rem}.capture-copy{left:8%}.analysis-content,.result-grid{grid-template-columns:1fr}.analysis-content{gap:45px}.analysis-photo{width:min(420px,70vw)}.result-hero{grid-template-columns:1fr;gap:24px}.result-summary{max-width:660px}.look-report{display:grid;grid-template-columns:minmax(230px,.75fr) 1fr;gap:28px}.look-report .section-label{grid-column:1 / -1;margin-bottom:-8px}}@media(max-width:620px){.brand small,.device-footer>p:first-child{display:none}.device-footer{grid-template-columns:1fr 1fr}.shutter{justify-self:start}.capture-copy h1{font-size:2.5rem}.analysis-page,.result-page,.error-page{width:min(100% - 36px,1400px)}.analysis-content{grid-template-columns:1fr;padding:34px 0}.analysis-photo{width:100%}.result-hero{padding:45px 0 38px}.result-grid{gap:52px;padding-top:38px}.look-report{display:block}.look-evidence{padding-top:24px}.perfume-card{grid-template-columns:24px 60px 1fr 55px;gap:10px}.bottle{width:46px;height:68px}.perfume-copy h3{font-size:.98rem}.perfume-copy p{display:none}.match-score strong{font-size:1.35rem}.trust-footer{grid-template-columns:1fr}.trust-footer>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}}
