:root{color:#30252a;font-synthesis:none;background:#eee8e4;font-family:Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#eee8e4;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.phone-stage{justify-content:center;min-height:100vh;padding:25px 15px;display:flex}.phone-card{background:#f8f3ed;border:1px solid #683d4a1a;border-radius:25px;width:min(100%,580px);min-height:calc(100vh - 50px);padding:24px clamp(21px,5vw,48px) 28px;box-shadow:0 18px 45px #432b301a}.phone-header{justify-content:space-between;align-items:center;display:flex}.wordmark{width:auto;height:32px;display:block}.secure-label{color:#806d73;background:#eee4df;border-radius:999px;padding:6px 10px;font-size:12px}.progress-line{background:#683d4a1a;border-radius:3px;height:3px;margin:19px 0 0;overflow:hidden}.progress-line span{border-radius:inherit;background:#b78383;height:100%;transition:width .3s;display:block}.phone-screen{text-align:center;padding-top:52px}.heading{margin-bottom:28px}.eyebrow{color:#b06f79;letter-spacing:.13em;margin:0 0 8px;font-size:12px;font-weight:700}h1{color:#683d4a;letter-spacing:-.08em;text-wrap:balance;margin:0;font-size:clamp(31px,7vw,43px);line-height:1.25}.copy{color:#806d73;margin:12px 0 0;font-size:17px;line-height:1.6}.qr-box{background:#fffdfac7;border:1px solid #683d4a21;border-radius:18px;padding:24px}.qr{aspect-ratio:1;background:#fff;border:11px solid #fff;border-radius:7px;justify-content:center;align-items:center;width:min(250px,72vw);display:inline-flex;box-shadow:0 5px 18px #27181e1a}.qr-grid{background:#fff;grid-template-columns:repeat(21,1fr);gap:1px;width:100%;height:100%;display:grid}.cell{background:#fff}.cell.on{background:#2f2429}.qr-box p{color:#806d73;margin:15px 0 3px}.qr-box p strong{color:#683d4a;letter-spacing:.13em;margin-left:5px}.qr-box small{color:#806d73;font-size:13px}.file-picker,.primary-button,.secondary-button{border-radius:13px;justify-content:center;align-items:center;width:100%;min-height:62px;padding:12px 17px;font-size:18px;font-weight:700;display:flex}.file-picker{color:#fff;background:#683d4a;border:1px solid #683d4a;margin-top:18px}.file-picker input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.file-summary,.upload-card,.account-card,.result-preview{background:#fffdfa;border:1px solid #683d4a21;border-radius:18px}.file-summary{color:#683d4a;flex-direction:column;gap:9px;margin-top:13px;padding:17px;display:flex}.file-summary span{color:#806d73;font-size:13px}.primary-button{color:#fff;background:#683d4a;border:1px solid #683d4a;box-shadow:0 5px 12px #683d4a24}.secondary-button{color:#683d4a;background:#fffdfa;border:1px solid #683d4a40}.text-button{color:#806d73;background:0 0;border:0;border-bottom:1px solid;padding:3px 1px;font-size:16px}.file-summary .primary-button{min-height:52px;margin-top:7px;font-size:16px}.upload-card{flex-direction:column;align-items:center;gap:9px;padding:30px 20px;display:flex}.file-icon,.account-avatar{color:#fff;background:#b78383;border-radius:50%;justify-content:center;align-items:center;width:65px;height:65px;font-size:34px;display:inline-flex}.upload-card strong{color:#683d4a;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.upload-card span{color:#806d73;font-size:14px}.progress-track{background:#eee4df;border-radius:999px;width:100%;height:11px;margin-top:13px;overflow:hidden}.progress-track span{border-radius:inherit;background:#b78383;height:100%;transition:width .15s linear;display:block}.upload-card b{color:#683d4a;font-size:20px}.success-message{color:#4f7c64;font-size:16px}.phone-screen>.secondary-button{margin-top:15px}.phone-screen>.text-button{margin-top:21px}.result-preview{aspect-ratio:.92;background:#fffdfa;position:relative;overflow:hidden}.result-preview img{object-fit:contain;width:100%;height:100%;display:block}.result-preview span{color:#fff;background:#30252a99;border-radius:999px;padding:6px 10px;font-size:12px;position:absolute;bottom:10px;right:10px}.ai-portrait-preview{aspect-ratio:auto;flex-direction:column;gap:10px;margin-top:14px;padding:14px;display:flex;position:relative;overflow:visible}.ai-portrait-preview img{object-fit:contain;border-radius:12px;width:100%;height:auto;max-height:360px;position:static}.ai-portrait-preview .ai-portrait-badge{color:#fff;background:#30252a99;border-radius:999px;padding:6px 10px;font-size:12px;position:absolute;top:24px;right:24px}.ai-portrait-preview .ai-portrait-title{color:#683d4a;font-size:15px}.file-ready{color:#4f7c64;align-items:center;gap:6px;font-size:14px;display:flex}.switch-row{color:#683d4a;justify-content:space-between;align-items:center;margin:17px 0;font-size:16px;display:flex}.switch-row input{accent-color:#683d4a;width:44px;height:24px}.account-card{flex-direction:column;align-items:center;padding:28px 20px;display:flex}.account-card strong{color:#683d4a;margin-top:12px;font-size:22px}.account-card p{color:#806d73;margin:5px 0 0}.check-row{color:#5f4c54;text-align:left;align-items:flex-start;gap:9px;width:100%;margin-top:20px;font-size:15px;display:flex}.check-row input{accent-color:#683d4a;width:20px;height:20px;margin:1px 0 0}.account-card .email-input{color:#30252a;background:#fffdfa;border:1px solid #683d4a40;border-radius:13px;width:100%;min-height:54px;margin-top:16px;padding:0 15px;font-size:17px}.account-card .primary-button,.account-card .secondary-button{margin-top:16px}.account-card .text-button{margin-top:14px}.privacy-note{color:#806d73;margin:16px 0 0;font-size:14px;line-height:1.5}.vault-card{text-align:left;align-items:stretch}.vault-card>strong{align-self:center}.vault-list{flex-direction:column;gap:12px;width:100%;margin:18px 0 0;padding:0;list-style:none;display:flex}.vault-item{background:#fffdfa;border:1px solid #683d4a21;border-radius:14px;align-items:center;gap:12px;padding:10px;display:flex}.vault-item img{object-fit:cover;border-radius:10px;flex-shrink:0;width:56px;height:56px}.vault-item-info{color:#683d4a;flex-direction:column;flex:1;min-width:0;display:flex}.vault-item-info span{color:#806d73;font-size:13px}.vault-item-info small{color:#9a898d;font-size:12px}.vault-item .text-button{flex-shrink:0;margin-top:0}.notice{color:#683d4a;min-height:22px;margin:22px 0 0;font-size:14px;line-height:1.5}.notice.error{color:#803d47}.phone-card footer{color:#9a898d;text-align:center;margin-top:auto;padding-top:38px;font-size:12px}@media (width<=400px){.phone-stage{padding:0}.phone-card{border-radius:0;min-height:100vh}.phone-screen{padding-top:37px}}
