*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#f0f3f8;--bg-card:#f0f3f8;--bg-glass:#ffffff80;--bg-glass-hover:#fffc;--border:#d1d9e680;--border-glow:#4b8af333;--accent:#4b8af3;--accent-light:#73a5f5;--accent-glow:#4b8af31a;--accent2:#4ba6f3;--accent2-glow:#4ba6f31a;--text-primary:#4a5568;--text-secondary:#718096;--text-muted:#a0aec0;--gradient-hero:linear-gradient(135deg,#e6edf5 0%,#f0f3f8 100%);--gradient-card:linear-gradient(135deg,#fff 0%,#f4f6fa 100%);--gradient-accent:linear-gradient(135deg,#4b8af3 0%,#4ba6f3 100%);--shadow-soft:6px 6px 12px #c8d0e0,-6px -6px 12px #fff;--shadow-soft-sm:4px 4px 8px #c8d0e0,-4px -4px 8px #fff;--shadow-soft-hover:8px 8px 16px #c8d0e0,-8px -8px 16px #fff;--shadow-inset:inset 3px 3px 6px #c8d0e0,inset -3px -3px 6px #fff;--shadow-flat:drop-shadow(4px 4px 10px #0000000f);--font-body:"Pretendard","Plus Jakarta Sans",-apple-system,sans-serif;--font-heading:"Plus Jakarta Sans","Pretendard",sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:9999px}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg-deep);color:var(--text-primary);min-height:100dvh;line-height:1.6;overflow-x:hidden}.container{max-width:900px;margin:0 auto;padding:0 24px}.header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:#f0f3f8d9;padding:24px 0;position:sticky;top:0;box-shadow:0 4px 10px #00000008}.header-inner{align-items:center;gap:12px;max-width:900px;margin:0 auto;padding:0 24px;display:flex}.logo{font-family:var(--font-heading);background:var(--gradient-accent);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.logo-badge{box-shadow:var(--shadow-soft-sm);color:var(--accent);border-radius:var(--radius-pill);letter-spacing:.05em;text-transform:uppercase;background:#f0f3f8;border:none;padding:4px 10px;font-size:.65rem;font-weight:600}.hero{text-align:center;padding:80px 0 60px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#8b5cf61f 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.hero-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--bg-card);box-shadow:var(--shadow-soft-sm);border-radius:var(--radius-pill);border:none;margin-bottom:24px;padding:8px 20px;font-size:.75rem;font-weight:600;display:inline-block}.hero h1{font-family:var(--font-heading);letter-spacing:-.03em;margin-bottom:20px;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15}.hero h1 span{background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero p{color:var(--text-secondary);max-width:480px;margin:0 auto;font-size:1.1rem;line-height:1.7}.form-section{padding:40px 0 80px}.form-card{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);border:none;padding:48px;position:relative;overflow:hidden}.form-card:before{display:none}.form-step{flex-direction:column;gap:32px;display:flex}.field-group{flex-direction:column;gap:10px;display:flex}.field-label{align-items:center;gap:10px;display:flex}.step-num{background:var(--gradient-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.field-label-text{color:var(--text-primary);font-size:1rem;font-weight:600}.field-hint{color:var(--text-muted);padding-left:38px;font-size:.8rem}.field-input,.field-textarea{background:var(--bg-deep);box-shadow:var(--shadow-inset);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-body);color:var(--text-primary);border:none;outline:none;width:100%;padding:16px 20px;transition:box-shadow .2s}.field-input.pill{border-radius:var(--radius-pill)}.field-input::placeholder,.field-textarea::placeholder{color:var(--text-muted)}.field-input:focus,.field-textarea:focus{box-shadow:var(--shadow-inset),0 0 0 2px var(--accent-glow)}.field-textarea{resize:vertical;min-height:100px;line-height:1.6}.submit-btn{width:100%;font-size:1rem;font-weight:600;font-family:var(--font-body);color:#fff;background:var(--gradient-accent);border-radius:var(--radius-pill);cursor:pointer;letter-spacing:.01em;box-shadow:var(--shadow-soft);border:none;justify-content:center;align-items:center;gap:10px;padding:18px 32px;transition:all .2s;display:flex}.submit-btn:hover:not(:disabled){box-shadow:var(--shadow-soft-hover);transform:translateY(-2px)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.loading-overlay{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:200;background:#0a0b14f2;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0}.loading-spinner{border:4px solid var(--border);border-top-color:var(--accent);width:56px;height:56px;box-shadow:var(--shadow-soft-sm);border-radius:50%;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);text-align:center;font-size:1.1rem}.loading-steps{flex-direction:column;gap:8px;min-width:260px;display:flex}.loading-step{color:var(--text-muted);align-items:center;gap:10px;font-size:.85rem;transition:color .3s;display:flex}.loading-step.active{color:var(--accent-light)}.loading-step.done{color:#34d399}.step-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.persona-page{min-height:100dvh}.persona-hero{text-align:center;background:var(--gradient-hero);padding:60px 0 40px;position:relative;overflow:hidden}.persona-hero:after{content:"";background:var(--border);height:1px;position:absolute;bottom:0;left:0;right:0}.persona-avatar{background:var(--gradient-accent);border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 20px;font-size:2.5rem;display:flex;box-shadow:0 0 40px #8b5cf64d}.persona-name{font-family:var(--font-heading);letter-spacing:-.02em;margin-bottom:8px;font-size:2rem;font-weight:700}.persona-subtitle{color:var(--text-secondary);margin-bottom:20px;font-size:.95rem}.persona-tags{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.persona-tag{border-radius:var(--radius-pill);background:var(--bg-card);box-shadow:var(--shadow-soft-sm);color:var(--text-secondary);border:none;padding:6px 16px;font-size:.75rem;font-weight:500}.persona-tag.accent{background:var(--accent-glow);color:var(--accent)}.persona-actions{justify-content:center;gap:12px;padding:24px 0;display:flex}.action-btn{border-radius:var(--radius-pill);font-size:.9rem;font-weight:600;font-family:var(--font-body);cursor:pointer;color:var(--text-primary);background:var(--bg-card);box-shadow:var(--shadow-soft-sm);border:none;align-items:center;gap:8px;padding:12px 24px;text-decoration:none;transition:all .2s;display:flex}.action-btn:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.action-btn.primary{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-soft)}.action-btn.primary:hover{opacity:.9;box-shadow:var(--shadow-soft-hover)}.persona-sections{padding:40px 0 80px}.section-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:none;width:100%;transition:all .2s;overflow:hidden}.section-card:hover{box-shadow:var(--shadow-soft-hover);transform:translateY(-2px)}.hero-container{text-align:center;flex-direction:column}@media (min-width:768px){.hero-container{flex-direction:column;justify-content:center;align-items:center}.hero-text{text-align:center}}.hero-visual{width:100%}.hero-animation-wrapper{background:var(--surface);border-radius:var(--radius-xl);border:2px solid var(--border);flex-direction:column;width:100%;height:460px;margin:0 auto;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000000f,0 4px 12px #0000000a}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:14px;padding:22px 28px;display:flex}.section-icon{background:var(--bg-card);border-radius:var(--radius-pill);width:44px;height:44px;box-shadow:var(--shadow-soft-sm);justify-content:center;align-items:center;font-size:1.4rem;display:flex}.section-title{flex:1;font-size:1rem;font-weight:600}.section-chevron{color:var(--text-muted);font-size:.85rem;transition:transform .2s}.section-chevron.open{transform:rotate(180deg)}.section-body{border-top:1px solid var(--border);padding:24px 28px}.detail-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:16px;padding:14px 0;display:flex}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-key{color:var(--text-muted);flex-shrink:0;min-width:110px;padding-top:2px;font-size:.8rem}.detail-val{color:var(--text-primary);flex:1;font-size:.9rem;line-height:1.6}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag-item{border-radius:var(--radius-pill);background:var(--bg-card);box-shadow:var(--shadow-soft-sm);color:var(--text-secondary);padding:6px 14px;font-size:.78rem}.tag-item.colored{background:var(--accent-glow);color:var(--accent);box-shadow:none}.finance-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.finance-item:last-child{border-bottom:none}.finance-label{color:var(--text-secondary);flex-shrink:0;width:80px;font-size:.85rem}.finance-amount{color:var(--text-primary);text-align:right;flex-shrink:0;width:60px;font-size:.9rem;font-weight:600}.finance-bar-bg{background:var(--bg-deep);height:8px;box-shadow:var(--shadow-inset);border-radius:4px;flex:1;overflow:hidden}.finance-bar-fill{background:var(--gradient-accent);border-radius:4px;height:100%}.chat-page{flex-direction:column;height:100dvh;display:flex}.chat-header{border-bottom:1px solid var(--border);background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-shrink:0;align-items:center;gap:14px;padding:16px 24px;display:flex}.chat-persona-avatar{background:var(--gradient-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.chat-persona-info{flex:1}.chat-persona-name{font-size:.95rem;font-weight:600}.chat-online{color:#34d399;align-items:center;gap:4px;font-size:.75rem;display:flex}.chat-online:before{content:"";background:#34d399;border-radius:50%;width:6px;height:6px}.chat-back-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:6px;font-size:1.1rem;text-decoration:none;transition:background .2s,color .2s;display:flex}.chat-back-btn:hover{background:var(--bg-glass);color:var(--text-primary)}.chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.msg-row{align-items:flex-end;gap:12px;display:flex}.msg-row.user{flex-direction:row-reverse}.msg-avatar{background:var(--gradient-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;display:flex}.msg-row.user .msg-avatar{background:var(--bg-card);box-shadow:var(--shadow-soft-sm);border:none}.msg-bubble{border-radius:var(--radius-xl);max-width:72%;box-shadow:var(--shadow-soft-sm);padding:14px 20px;font-size:.93rem;line-height:1.65}.msg-row.persona .msg-bubble{background:var(--bg-card);color:var(--text-primary);border-bottom-left-radius:8px}.msg-row.user .msg-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:8px}.msg-time{color:var(--text-muted);align-self:flex-end;margin-bottom:2px;font-size:.7rem}.typing-indicator{background:var(--bg-card);box-shadow:var(--shadow-soft-sm);border-radius:var(--radius-xl);border-bottom-left-radius:8px;gap:4px;width:fit-content;padding:14px 20px;display:flex}.typing-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s infinite bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.chat-input-area{border-top:1px solid var(--border);background:var(--bg-card);flex-shrink:0;align-items:flex-end;gap:12px;padding:16px 24px;display:flex}.chat-input{background:var(--bg-deep);box-shadow:var(--shadow-inset);border-radius:var(--radius-xl);font-size:.93rem;font-family:var(--font-body);color:var(--text-primary);resize:none;border:none;outline:none;flex:1;max-height:140px;padding:16px 22px;line-height:1.5;transition:box-shadow .2s}.chat-input::placeholder{color:var(--text-muted)}.chat-input:focus{box-shadow:var(--shadow-inset),0 0 0 2px var(--accent-glow)}.chat-send-btn{background:var(--gradient-accent);width:50px;height:50px;box-shadow:var(--shadow-soft-sm);cursor:pointer;color:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;transition:opacity .2s,transform .2s,box-shadow .2s;display:flex}.chat-send-btn:hover:not(:disabled){opacity:.9;transform:scale(1.05)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.error-box{border-radius:var(--radius-md);color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d;margin-top:16px;padding:16px 20px;font-size:.9rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.4s forwards fadeInUp}.mock-window{background:var(--bg);border-radius:var(--radius-xl);flex-direction:column;height:100%;display:flex}.mock-header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;height:38px;padding:0 16px;display:flex}.mock-dots{gap:6px;display:flex}.mock-dots span{border-radius:50%;width:10px;height:10px}.mock-title{text-align:center;color:var(--text-muted);flex:1;margin-right:44px;font-size:.75rem;font-weight:600}.mock-body{background:var(--bg);flex:1;padding:24px;position:relative;overflow:hidden}.mock-step{flex-direction:column;height:100%;animation:.4s fadeIn;display:flex}.mock-label{color:var(--text-secondary);margin-bottom:8px;font-size:.8rem;font-weight:700}.mock-textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);min-height:90px;margin-bottom:20px;padding:14px;font-size:.9rem;line-height:1.5;box-shadow:inset 0 2px 4px #00000005}.cursor-blink{color:var(--primary-color);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.mock-btn.skeleton{background:var(--border);opacity:.4;border-radius:24px;align-self:flex-start;width:160px;height:48px}.mock-profile-card{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);text-align:center;box-shadow:var(--shadow-md);width:100%;max-width:260px;padding:32px 24px;animation:.5s cubic-bezier(.175,.885,.32,1.275) popIn}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.mock-profile-card .avatar{background:var(--gradient-accent);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 20px;font-size:3rem;display:flex}.mock-profile-card .name{margin-bottom:4px;font-size:1.4rem;font-weight:800}.mock-profile-card .desc{color:var(--text-secondary);margin-bottom:20px;font-size:.85rem}.mock-profile-card .tags{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.mock-profile-card .tags span{background:var(--bg-hover);color:var(--text-secondary);border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:600}.mock-chat-container{flex-direction:column;height:100%;display:flex}.mock-chat-header{text-align:center;border-bottom:1px solid var(--border);color:var(--text-primary);margin-bottom:16px;padding-bottom:12px;font-size:.95rem;font-weight:700}.mock-chat-history{flex-direction:column;flex:1;gap:14px;display:flex;overflow-y:auto}.mock-chat-bubble{border-radius:18px;max-width:85%;padding:12px 16px;font-size:.85rem;line-height:1.5;animation:.3s slideUpFade}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mock-chat-bubble.user{background:var(--gradient-accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.mock-chat-bubble.persona{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);box-shadow:var(--shadow-soft-sm);border-bottom-left-radius:4px;align-self:flex-start}.mock-chat-input-area{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.mock-chat-input{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:24px;padding:12px 20px;font-size:.85rem;box-shadow:inset 0 2px 4px #00000005}.mock-chat-bubble.persona.typing{align-items:center;gap:4px;padding:14px 18px;display:inline-flex}.mock-chat-bubble.typing .dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typing-jump}.mock-chat-bubble.typing .dot:first-child{animation-delay:-.32s}.mock-chat-bubble.typing .dot:nth-child(2){animation-delay:-.16s}@keyframes typing-jump{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width:640px){.form-card{padding:28px 20px}.section-body{padding:16px 20px}.detail-key{min-width:90px}.msg-bubble{max-width:85%}}
