:root{--text:#60655c;--text-h:#1c1e1b;--text-muted:#7c8177;--text-faint:#9aa093;--bg:#f6f4ef;--card-bg:#fffefb;--border:#e2ded3;--divider:#ede9df;--accent:#3f6b4f;--accent-hover:#2c4d38;--accent-bg:#f2f5f0;--accent-border:#dce4db;--tag-bg:#e8efe6;--item-bg:#fbfaf6;--item-border:#ede9df;--input-bg:#fbfaf6;--error-bg:#fbeae6;--error-border:#efc8be;--error-text:#8e3320;--photo-bg:#efebe1;--upload-border:#d6d1c4;--upload-drag-bg:#f1f5ef;--sans:"Noto Sans KR", system-ui, sans-serif;--serif:"Gowun Batang", serif;font:16px/1.6 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-h);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);margin:0}#root{box-sizing:border-box;justify-content:center;min-height:100vh;padding:40px 20px 64px;display:flex}p{margin:0}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.page-shell{flex-direction:column;width:100%;max-width:480px;min-height:calc(100vh - 104px);display:flex}.site-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;margin-bottom:22px;padding:0 2px 18px;display:flex}.header-nav{align-items:center;gap:14px;font-size:13px;display:flex}.profile-menu-wrap{position:relative}.profile-button{border:1px solid var(--border);background:var(--card-bg);width:34px;height:34px;color:var(--accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.profile-button:hover,.profile-button[aria-expanded=true]{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-hover)}.profile-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-menu{z-index:20;background:var(--card-bg);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;flex-direction:column;gap:2px;width:max-content;min-width:200px;max-width:min(280px,100vw - 32px);padding:6px;animation:.15s both fade-in;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 24px #0000001a}.profile-menu-email{border-bottom:1px solid var(--divider);color:var(--text-muted);overflow-wrap:anywhere;margin:0 0 4px;padding:8px 10px 10px;font-size:12.5px;line-height:1.5}.profile-menu-item{width:100%;font:inherit;text-align:left;color:var(--text-h);cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:8px;padding:10px;font-size:14px;text-decoration:none;display:block}.profile-menu-item:hover,.profile-menu-item:focus-visible{background:var(--accent-bg);color:var(--accent-hover);outline:none}.header-auth-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:700;text-decoration:none}.header-auth-button:hover{color:var(--accent-hover)}.site-logo{font-family:var(--serif);letter-spacing:-.02em;color:var(--accent);align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.site-logo:hover{color:var(--accent-hover)}.site-logo-mark{flex:none}#main-screen{flex:1;width:100%;max-width:480px;animation:.4s both fade-in}.site-footer{border-top:1px solid var(--divider);text-align:center;flex-direction:column;gap:4px;margin-top:40px;padding-top:18px;display:flex}.site-footer p{color:var(--text-faint);font-size:11.5px;line-height:1.6}.eyebrow{letter-spacing:.18em;color:var(--accent);margin-bottom:14px;font-size:11px;font-weight:700}.intro{padding:8px 2px 28px}.intro h1{font-family:var(--serif);letter-spacing:-.01em;color:var(--text-h);margin:0 0 12px;font-size:34px;font-weight:700;line-height:1.25}.intro p{color:var(--text);max-width:30em;font-size:14px;line-height:1.65}.intro .caption{color:var(--text-faint);margin-top:4px;font-size:12px}.caption{color:var(--text-faint);margin:0;font-size:11.5px;line-height:1.6}.caption a{color:inherit;text-decoration:underline}.caption a:hover{color:var(--accent)}.account-cards{flex-direction:column;gap:16px;display:flex}.account-card{background:var(--card-bg);border:1px solid var(--border);box-sizing:border-box;border-radius:16px;flex-direction:column;gap:14px;padding:20px;display:flex}.account-card h2{font-family:var(--serif);color:var(--text-h);margin:0;font-size:17px;line-height:1.4}.account-card>p{color:var(--text);font-size:14px;line-height:1.65}.info-list{flex-direction:column;gap:10px;margin:0;display:flex}.info-list>div{grid-template-columns:78px 1fr;gap:10px;display:grid}.info-list dt{color:var(--text-muted);font-size:13px;line-height:1.7}.info-list dd{color:var(--text-h);overflow-wrap:anywhere;margin:0;font-size:14.5px;line-height:1.7}.settings-section{border-top:1px solid var(--divider);flex-direction:column;gap:14px;padding-top:16px;display:flex}.settings-section h3{color:var(--text-h);margin:0;font-size:14px;font-weight:700}.success-message{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent-hover);border-radius:10px;margin:0;padding:12px 14px;font-size:13px;line-height:1.55}.button-row{gap:10px;display:flex}.button-row>button{flex:1}.danger-button{font:inherit;border:1px solid var(--error-border);width:100%;color:var(--error-text);cursor:pointer;box-sizing:border-box;background:0 0;border-radius:12px;padding:15px;font-size:14.5px;font-weight:700;transition:background .15s,color .15s}.danger-button:hover:not(:disabled){background:var(--error-bg)}.danger-button:disabled{opacity:.5;cursor:not-allowed}.danger-button:focus-visible{outline:2px solid var(--error-text);outline-offset:2px}.danger-button.solid{background:var(--error-text);border-color:var(--error-text);color:var(--card-bg)}.danger-button.solid:hover:not(:disabled){background:var(--error-text);opacity:.88}.login-notice{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent-hover);border-radius:10px;margin:0;padding:12px 14px;font-size:13px;line-height:1.55}.login-notice a{color:inherit;font-weight:700;text-decoration:underline}.promo-card{background:var(--accent-bg);border:1px solid var(--accent-border);color:inherit;box-sizing:border-box;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;transition:border-color .15s;display:flex}.promo-card:hover{border-color:var(--accent)}.promo-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#main-screen>.promo-card{margin-top:16px}.promo-text{flex-direction:column;gap:4px;min-width:0;display:flex}.promo-text strong{font-family:var(--serif);color:var(--accent-hover);font-size:16px;line-height:1.4}.promo-text span{color:var(--text);font-size:13px;line-height:1.55}.promo-text .promo-price{color:var(--accent-hover);white-space:nowrap;font-weight:700}.promo-arrow{color:var(--accent);flex:none;font-size:18px}.tabs{background:var(--item-bg);border:1px solid var(--item-border);border-radius:12px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.tab{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:10px;font-size:14px;font-weight:700;transition:background .15s,color .15s}.tab:hover{color:var(--text-h)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tab[aria-selected=true]{background:var(--card-bg);color:var(--text-h);box-shadow:0 1px 3px #00000014}.history-note{text-align:center;margin-top:14px}.step-list{counter-reset:step;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.step-list li{color:var(--text);counter-increment:step;grid-template-columns:28px 1fr;align-items:start;gap:12px;font-size:14px;line-height:1.65;display:grid}.step-list li:before{content:counter(step);background:var(--accent-bg);border:1px solid var(--accent-border);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.sample-card{background:var(--item-bg);border:1px dashed var(--item-border);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.sample-label{background:var(--card-bg);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-self:flex-start;padding:3px 8px;font-size:11px;font-weight:700}.sample-headline{font-family:var(--serif);color:var(--text-h);font-size:18px;line-height:1.4}.notice-list{color:var(--text-muted);flex-direction:column;gap:6px;margin:0;padding:0 0 0 18px;font-size:13px;line-height:1.65;display:flex}.notice-list a{color:inherit;text-decoration:underline}.notice-list a:hover{color:var(--accent)}.history-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.history-card{background:var(--card-bg);border:1px solid var(--border);color:inherit;box-sizing:border-box;border-radius:16px;gap:14px;padding:14px;text-decoration:none;transition:border-color .15s;display:flex}.history-card:hover{border-color:var(--accent-border)}.history-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.history-thumb{object-fit:cover;background:var(--accent-bg);border-radius:10px;flex:0 0 84px;width:84px;height:126px}.history-thumb-palette{box-sizing:border-box;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid;overflow:hidden}.history-thumb-palette span{border-radius:6px}.history-info{flex-direction:column;justify-content:center;gap:4px;min-width:0;display:flex}.history-info strong{font-family:var(--serif);color:var(--text-h);font-size:16px;line-height:1.4}.history-info>span{color:var(--text);font-size:13px;line-height:1.5}.history-info .history-date{color:var(--text-faint);font-size:11.5px}.history-info .keyword-list{margin-top:4px}.legal-card{background:var(--card-bg);border:1px solid var(--border);box-sizing:border-box;border-radius:16px;flex-direction:column;gap:26px;padding:22px 20px;display:flex}.legal-section h2{font-family:var(--serif);color:var(--text-h);margin:0 0 10px;font-size:17px;line-height:1.4}.legal-section p,.legal-section li{color:var(--text);font-size:14px;line-height:1.75}.legal-section p+p{margin-top:8px}.legal-section ul{flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px;display:flex}.legal-section p+ul{margin-top:10px}.legal-section a{color:var(--accent);font-weight:700;text-decoration:none}.legal-section a:hover{color:var(--accent-hover)}.legal-group{background:var(--item-bg);border:1px solid var(--item-border);border-radius:10px;margin-top:12px;padding:14px 16px}.legal-group h3{color:var(--text-h);margin:0 0 10px;font-size:15px;font-weight:700}.legal-group dl{flex-direction:column;gap:8px;margin:0;display:flex}.legal-group dl>div{grid-template-columns:78px 1fr;gap:10px;display:grid}.legal-group dt{color:var(--text-muted);font-size:12.5px;line-height:1.75}.legal-group dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.75}.legal-switch{flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:22px;font-size:13.5px;display:flex}.legal-switch a{color:var(--accent);font-weight:700;text-decoration:none}.legal-switch a:hover{color:var(--accent-hover)}.footer-links{justify-content:center;gap:14px;font-size:12px;display:flex}.footer-links a{color:var(--text-muted);text-decoration:none}.footer-links a:hover{color:var(--accent)}.auth-switch{text-align:center;color:var(--text-muted);margin:0;font-size:13.5px;line-height:1.6}.auth-switch a{color:var(--accent);font-weight:700;text-decoration:none}.auth-switch a:hover{color:var(--accent-hover)}.loading-screen,.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;display:flex}:is(.loading-screen,.empty-state) h2{font-family:var(--serif);color:var(--text-h);margin:0 0 10px;font-size:24px;font-weight:700}:is(.loading-screen,.empty-state) p{color:var(--text);max-width:22em;font-size:13.5px;line-height:1.7}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:46px;height:46px;margin-bottom:26px;animation:1s linear infinite spin}.empty-dot{background:#cfcbc0;border-radius:50%;width:10px;height:10px;margin-bottom:28px}.empty-state p{margin-bottom:28px}.form-card{background:var(--card-bg);border:1px solid var(--border);box-sizing:border-box;text-align:left;border-radius:16px;flex-direction:column;gap:18px;width:100%;padding:20px;display:flex}.photo-upload{text-align:center;aspect-ratio:1;border:1.5px dashed var(--upload-border);background:var(--input-bg);cursor:pointer;box-sizing:border-box;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:0;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden}.photo-upload:hover{border-color:var(--accent);background:var(--upload-drag-bg)}.photo-upload:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photo-upload.dragging{border-color:var(--accent);background:var(--upload-drag-bg)}.photo-remove{width:32px;height:32px;color:var(--card-bg);cursor:pointer;background:#1c1e1bb8;border:none;border-radius:999px;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:background .15s;display:flex;position:absolute;top:10px;right:10px}.photo-remove:hover{background:#1c1e1be6}.photo-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.photo-preview{object-fit:cover;width:100%;height:100%;display:block}.photo-placeholder .photo-placeholder-icon{color:var(--text-faint);margin-bottom:10px}.photo-placeholder span{color:var(--text-h);margin-bottom:6px;font-size:15px;font-weight:700;display:block}.photo-placeholder small{color:var(--text-muted);font-size:12.5px}.measurements{flex-wrap:wrap;gap:12px;display:flex}.field-group{flex-direction:column;gap:12px;display:flex}.field-group .field{flex:none}.field{flex-direction:column;flex:140px;gap:7px;min-width:0;display:flex}.field span{color:var(--text-h);font-size:15px;font-weight:700}.field input,.field select{font:inherit;border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-h);box-sizing:border-box;border-radius:10px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .15s,background .15s}:is(.field input,.field select):focus{border-color:var(--accent);background:var(--card-bg)}.field input::-webkit-outer-spin-button{margin:0}.field input::-webkit-inner-spin-button{margin:0}.price-row{background:var(--item-bg);border:1px solid var(--item-border);border-radius:10px;justify-content:space-between;align-items:baseline;padding:14px 16px;display:flex}.price-row span{color:var(--text-muted);font-size:14px}.price-row strong{color:var(--text-h);font-size:17px;font-weight:700}.error-message{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:10px;margin:0;padding:12px 14px;font-size:13px;line-height:1.55}.analyze-button{font:inherit;width:100%;color:var(--card-bg);background:var(--accent);cursor:pointer;box-sizing:border-box;border:none;border-radius:12px;padding:16px;font-size:15px;font-weight:700;transition:background .15s,opacity .15s}.analyze-button:hover:not(:disabled){background:var(--accent-hover)}.analyze-button:disabled{opacity:.38;cursor:not-allowed}.analyze-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.google-button{width:100%;font:inherit;color:var(--text-h);background:var(--card-bg);border:1px solid var(--border);cursor:pointer;box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:15px;font-size:15px;font-weight:700;transition:background .15s,border-color .15s;display:flex}.google-button:hover{background:var(--item-bg);border-color:var(--upload-border)}.google-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.or-divider{color:var(--text-faint);align-items:center;gap:12px;font-size:12px;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--divider);flex:1;height:1px}.outline-button{font:inherit;border:1px solid var(--accent);width:100%;color:var(--accent);cursor:pointer;box-sizing:border-box;background:0 0;border-radius:12px;padding:15px;font-size:14.5px;font-weight:700;transition:background .15s,color .15s}.outline-button:hover{background:var(--accent);color:var(--card-bg)}.outline-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.empty-state .outline-button{border-radius:10px;width:auto;padding:13px 26px;font-size:14px}.result-card{background:var(--card-bg);border:1px solid var(--border);box-sizing:border-box;border-radius:18px;width:100%;animation:.45s both fade-in;overflow:hidden}.result-photo,.result-photo-placeholder{aspect-ratio:1;background:var(--photo-bg);width:100%;display:block}.result-photo{object-fit:cover}.result-photo-placeholder{background:repeating-linear-gradient(135deg,#ede8dd 0 8px,#e6e0d2 8px 16px);place-items:center;display:grid}.result-photo-placeholder span{letter-spacing:.08em;color:#8b9080;background:var(--card-bg);border-radius:4px;padding:6px 10px;font-family:ui-monospace,monospace;font-size:11px}.result-content{flex-direction:column;gap:30px;padding:28px 22px 24px;display:flex}.divider{background:var(--divider);height:1px}.result-section{flex-direction:column;display:flex}.result-section h2{font-family:var(--serif);color:var(--text-h);margin:0 0 10px;font-size:26px;font-weight:700;line-height:1.3}.result-section p{color:var(--text);font-size:13.5px;line-height:1.75}.result-label{letter-spacing:.18em;color:var(--accent);margin-bottom:12px;font-size:10.5px;font-weight:700}.keyword-list{flex-wrap:wrap;gap:8px;display:flex}.keyword-chip{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent-hover);border-radius:999px;padding:8px 15px;font-size:13px;font-weight:500}.palette-list{gap:14px;display:flex}.palette-item{flex-direction:column;flex:1 1 0;align-items:center;gap:9px;min-width:0;display:flex}.palette-item small{color:var(--text-muted);text-align:center;font-size:11px;line-height:1.4}.swatch{aspect-ratio:1;border:1px solid #1c1e1b14;border-radius:999px;width:100%}.item-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.item-row{border:1px solid var(--item-border);background:var(--item-bg);box-sizing:border-box;border-radius:12px;align-items:flex-start;gap:14px;padding:14px;display:flex}.item-row strong{color:var(--text-h);margin-bottom:5px;font-size:14.5px;font-weight:700;display:block}.item-row p{color:var(--text-muted);margin:0;font-size:12.5px;line-height:1.65}.item-category{letter-spacing:.04em;color:var(--accent-hover);background:var(--tag-bg);border-radius:6px;flex:none;padding:5px 9px;font-size:11px;font-weight:700}.image-button{cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block}.image-button img{transition:opacity .15s}.image-button:hover img{opacity:.88}.image-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.outfit-image-wrap{position:relative}.lightbox{box-sizing:border-box;z-index:1000;cursor:zoom-out;background:#1c1e1bd9;justify-content:center;align-items:center;padding:24px;animation:.15s both fade-in;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:12px;max-width:100%;max-height:100%;box-shadow:0 20px 60px #0006}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;transition:background .15s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{background:#ffffff4d}.outfit-image{aspect-ratio:2/3;object-fit:cover;border-radius:12px;width:100%;display:block}.download-button{width:32px;height:32px;color:var(--card-bg);cursor:pointer;background:#1c1e1bb8;border-radius:999px;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;top:10px;right:10px}.download-button:hover{background:#1c1e1be6}.download-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
