@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Gaegu:wght@700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root{--ink:#282520;--muted:#777068;--cream:#f8f4ec;--paper:#fffdfa;--orange:#ed7a4b;--orange-dark:#d96236;--orange-light:#fff0e7;--line:#e8e0d5}*{box-sizing:border-box}html{scroll-behavior:smooth}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.page-shell{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 15% 12%, #ed7a4b14, transparent 20rem), radial-gradient(circle at 89% 31%, #e5ae5217, transparent 18rem), var(--cream);position:relative;overflow:hidden}.navbar{border-bottom:1px solid #38302717;justify-content:space-between;align-items:center;width:min(1120px,100% - 48px);height:88px;margin:0 auto;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;font-family:Gaegu,sans-serif;font-size:25px;font-weight:700;text-decoration:none;display:flex}.cat-mark{background:var(--orange);color:#fff;border-radius:45% 45% 48% 48%;place-items:center;width:38px;height:34px;display:grid;position:relative}.cat-mark__ear{z-index:0;background:var(--orange);border-radius:3px;width:14px;height:14px;position:absolute;top:-4px;transform:rotate(45deg)}.cat-mark__ear--left{left:3px}.cat-mark__ear--right{right:3px}.cat-mark__face{z-index:1;letter-spacing:-1px;font-size:12px}.step-label{color:#968f86;letter-spacing:.04em;font-size:13px;font-weight:600}.nav-actions{align-items:center;gap:18px;display:flex}.language-picker select{background:var(--paper);color:#5f5850;cursor:pointer;border:1px solid #ded6cc;border-radius:10px;outline:none;height:38px;padding:0 30px 0 12px;font-size:12px;font-weight:600}.language-picker select:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ed7a4b1a}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero{text-align:center;width:min(720px,100% - 40px);margin:66px auto 42px}.eyebrow{color:var(--orange-dark);letter-spacing:.22em;margin-bottom:19px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;display:inline-block}.hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(38px,5vw,58px);font-weight:800;line-height:1.25}.hero h1 em{color:var(--orange);font-style:normal;position:relative}.hero h1 em:after{content:"";border-top:3px solid #ed7a4b73;border-radius:50%;height:5px;position:absolute;bottom:-8px;left:2%;right:1%;transform:rotate(-1deg)}.hero p{color:var(--muted);margin:24px 0 26px;font-size:15px;line-height:1.7}.progress{justify-content:center;gap:7px;display:flex}.progress span{background:#d9d2c8;border-radius:99px;width:7px;height:7px}.progress .progress__active{background:var(--orange);width:25px}.profile-card{background:var(--paper);border:1px solid #5446371a;border-radius:24px;width:min(900px,100% - 40px);margin:0 auto;overflow:hidden;box-shadow:0 22px 70px #53443217}.form-section{padding:46px 58px}.section-heading{align-items:flex-start;gap:16px;margin-bottom:30px;display:flex}.section-number{background:var(--orange-light);min-width:36px;height:36px;color:var(--orange-dark);border-radius:50%;place-items:center;font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;display:grid}.section-heading h2{letter-spacing:-.025em;margin:0 0 7px;font-size:20px}.section-heading p{color:var(--muted);margin:0;font-size:13px}.detail-section{padding-bottom:50px}.field-row{grid-template-columns:1fr 185px;gap:18px;margin-bottom:25px;display:grid}.field{color:#4b4640;flex-direction:column;gap:10px;font-size:13px;font-weight:600;display:flex}.field>span small{color:#aaa198;margin-left:6px;font-size:10px;font-weight:500}.field input,.field textarea,.field select{width:100%;color:var(--ink);background:#fff;border:1px solid #ded6cc;border-radius:11px;outline:none;transition:all .2s}.field input,.field select{height:48px;padding:0 15px}.field select{cursor:pointer}.field textarea{resize:vertical;padding:14px 15px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:#b5ada4;font-weight:400}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ed7a4b1a}.field-row--triple{grid-template-columns:repeat(3,1fr)}.age-input{position:relative}.age-input input{padding-right:42px}.age-input>span{color:#8c847a;font-weight:500;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.age-input input::-webkit-inner-spin-button{appearance:none}.mbti-field{margin-bottom:27px}.mbti-field input{text-transform:uppercase;letter-spacing:.18em;max-width:250px;font-weight:700}.field .field-help{color:#9b938a;font-size:11px;font-weight:400;line-height:1.5}.card-footer{border-top:1px solid var(--line);text-align:center;background:#fbf8f3;padding:28px 58px 35px}.card-footer p{color:#9a9289;margin:0 0 18px;font-size:11px}.card-footer p span{margin-right:5px}.submit-button{background:var(--orange);color:#fff;cursor:pointer;border:0;border-radius:13px;width:min(100%,370px);height:56px;font-size:14px;font-weight:700;transition:all .2s;box-shadow:0 10px 22px #dc613233}.submit-button span{margin-left:10px;font-size:18px}.submit-button:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 13px 25px #dc613242}.submit-button:disabled{cursor:wait;opacity:.7;transform:none}.error-message{color:#b94a3b;margin:16px auto 0;font-size:12px}.generation-progress{text-align:left;width:min(100%,370px);margin:18px auto 0}.generation-progress__meta{color:#837b72;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.generation-progress__meta strong{color:var(--orange-dark);font-family:DM Sans,sans-serif;font-size:12px}.generation-progress__track{background:#e9e1d8;border-radius:99px;height:7px;overflow:hidden}.generation-progress__track span{border-radius:inherit;background:linear-gradient(90deg, #f09a72, var(--orange));height:100%;transition:width .5s;display:block}.result-card{background:var(--paper);text-align:center;border:1px solid #5446371a;border-radius:24px;width:min(680px,100% - 40px);margin:34px auto 0;padding:42px;box-shadow:0 22px 70px #53443217}.result-card h2{margin:0 0 24px;font-size:25px}.result-card img{background:var(--cream);border-radius:18px;width:100%;display:block}.result-card button{border:1px solid var(--orange);color:var(--orange-dark);cursor:pointer;background:#fff;border-radius:99px;margin-top:22px;padding:11px 20px;font-weight:700}.cat-description{text-align:left;background:#fbf8f3;border-radius:16px;margin-top:28px;padding:26px}.cat-description h3{margin:0 0 14px;font-size:17px}.cat-description p{color:#625b54;white-space:pre-line;margin:0;font-size:13px;line-height:1.85}footer{color:#aaa299;letter-spacing:.04em;text-align:center;padding:38px 20px 44px;font-family:DM Sans,sans-serif;font-size:10px}footer span{color:var(--orange)}.decor{color:#ed7a4b2e;font-size:35px;position:absolute}.decor--left{top:230px;left:8%;transform:rotate(-15deg)}.decor--right{font-size:22px;top:360px;right:8%;transform:rotate(18deg)}@media (width<=700px){.navbar{width:calc(100% - 32px);height:70px}.step-label{display:none}.hero{margin-top:48px}.hero h1{font-size:38px}.hero p{word-break:keep-all;width:90%;margin-left:auto;margin-right:auto}.profile-card{border-radius:19px;width:calc(100% - 24px)}.form-section{padding:34px 24px}.field-row{grid-template-columns:1fr}.mbti-field input{max-width:none}.card-footer{padding:25px 24px 30px}.result-card{border-radius:19px;width:calc(100% - 24px);padding:28px 20px}.decor{display:none}}@media (width<=390px){.hero h1{font-size:34px}.section-heading{gap:11px}.section-heading h2{font-size:18px}}
