:root{--bg:#0d1321;--bg-card:#141c2e;--bg-card-hover:#1a2438;--border:#232e47;--text:#e8ecf4;--text-sub:#9aa5bc;--brand:#3382f6;--brand-dim:rgba(51,130,246,.12);--up:#f24352;--down:#2563b0}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Pretendard Variable,Pretendard,Malgun Gothic,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}.container{max-width:1080px;margin:0 auto;padding:0 24px}.header{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(13,19,33,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--text);text-decoration:none}.logo span{color:var(--brand)}.nav{display:flex;gap:28px}.nav a{color:var(--text-sub);text-decoration:none;font-size:15px;transition:color .15s}.nav a:hover{color:var(--text)}@media (max-width:720px){.nav{gap:16px}.nav a{font-size:13.5px}.logo{font-size:19px}.header-inner{height:56px}}.hero{padding:120px 0 100px;text-align:center}.hero-badge{display:inline-block;background:var(--brand-dim);color:var(--brand);font-size:14px;font-weight:600;padding:6px 16px;border-radius:999px;margin-bottom:28px}.hero h1{font-size:clamp(32px,5.5vw,54px);font-weight:800;letter-spacing:-.03em;line-height:1.25}.hero h1 .accent{color:var(--brand)}.hero p{margin:24px auto 0;max-width:560px;font-size:18px;color:var(--text-sub)}.hero-cta{margin-top:44px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:14px 32px;border-radius:12px;font-size:16px;font-weight:700;text-decoration:none;transition:all .15s}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:#2470e0;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}.section{padding:80px 0}.section-title{font-size:32px;font-weight:800;letter-spacing:-.02em;text-align:center}.section-sub{text-align:center;color:var(--text-sub);margin-top:12px;font-size:17px}.card-grid{margin-top:56px;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px;gap:20px}@media (max-width:720px){.card-grid{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:36px 32px;transition:all .2s}.card:hover{background:var(--bg-card-hover);border-color:var(--brand);transform:translateY(-3px)}.card-icon{font-size:34px;margin-bottom:18px}.card h3{font-size:21px;font-weight:700;letter-spacing:-.01em}.card .card-tag{display:inline-block;margin-left:8px;font-size:12px;font-weight:600;color:var(--brand);background:var(--brand-dim);padding:3px 10px;border-radius:999px;vertical-align:middle}.card p{margin-top:12px;color:var(--text-sub);font-size:15.5px}.card .card-quote{margin-top:18px;padding-left:14px;border-left:3px solid var(--brand);color:var(--text);font-size:15px;font-style:normal}.dash-banner{background:linear-gradient(135deg,var(--bg-card) 0,#10203c 100%);border:1px solid var(--border);border-radius:24px;padding:48px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.dash-banner h3{font-size:24px;font-weight:800}.dash-banner p{margin-top:8px;color:var(--text-sub)}.ticker-demo{display:flex;gap:20px;font-size:15px;font-weight:600;flex-wrap:wrap}.ticker-up{color:var(--up)}.ticker-down{color:var(--down)}.footer{border-top:1px solid var(--border);padding:48px 0;margin-top:40px}.footer .disclaimer{color:var(--text-sub);font-size:13.5px;max-width:720px}.footer .copyright{margin-top:20px;color:#5c6784;font-size:13px}.mbti-wrap{max-width:640px;padding-top:32px;padding-bottom:100px}.mbti-home{display:inline-block;color:var(--text-sub);text-decoration:none;font-size:14px;margin-bottom:40px}.mbti-home:hover{color:var(--text)}.mbti-intro{text-align:center;padding-top:60px}.mbti-intro h1{font-size:clamp(30px,6vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1.3;margin-top:8px}.mbti-intro h1 .accent{color:var(--brand)}.mbti-intro p{margin:20px 0 36px;color:var(--text-sub);font-size:17px}.mbti-intro .btn{border:none;cursor:pointer;font-family:inherit}.mbti-note{margin-top:18px!important;font-size:14px!important;color:#5c6784!important}.mbti-progress{height:6px;background:var(--bg-card);border-radius:999px;overflow:hidden}.mbti-progress-fill{height:100%;background:var(--brand);border-radius:999px;transition:width .3s}.mbti-step{margin-top:28px;font-size:15px;font-weight:700;color:var(--brand)}.mbti-step span{color:#5c6784;font-weight:500}.mbti-question{margin-top:10px;font-size:clamp(22px,4.5vw,28px);font-weight:800;letter-spacing:-.02em;line-height:1.4}.mbti-options{margin-top:32px;display:flex;flex-direction:column;gap:12px}.mbti-option{text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px 20px;color:var(--text);font-size:16px;font-family:inherit;cursor:pointer;transition:all .15s}.mbti-option:hover{border-color:var(--brand);background:var(--bg-card-hover)}.mbti-option.selected{border-color:var(--brand);background:var(--brand-dim)}.mbti-back{margin-top:28px;background:none;border:none;color:var(--text-sub);font-size:14px;font-family:inherit;cursor:pointer}.mbti-back:hover{color:var(--text)}.mbti-result-head{text-align:center;padding-top:20px}.mbti-result-label{color:var(--text-sub);font-size:16px}.mbti-avatar{width:128px;height:128px;margin:24px auto 20px;border-radius:50%;border:2px solid var(--brand);overflow:hidden}.mbti-avatar img,.mbti-avatar svg{width:100%;height:100%;display:block;object-fit:cover}.mbti-runner-avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;overflow:hidden}.mbti-runner-avatar img,.mbti-runner-avatar svg{width:100%;height:100%;display:block;object-fit:cover}.mbti-result-head h1{font-size:clamp(32px,6vw,44px);font-weight:800;letter-spacing:-.02em}.mbti-sync{margin-top:10px;font-size:24px;font-weight:800;color:var(--up)}.mbti-tagline{margin-top:24px;font-size:18px;color:var(--text);line-height:1.6}.mbti-radar-box{margin-top:44px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:24px 16px 16px}.radar{width:100%;max-width:380px;display:block;margin:0 auto}.mbti-legend{display:flex;justify-content:center;gap:24px;font-size:14px;color:var(--text-sub);padding-bottom:8px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.dot-red{background:var(--up)}.dot-blue{background:var(--brand)}.mbti-detail{margin-top:40px;display:flex;flex-direction:column;gap:16px}.mbti-detail-item{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px}.mbti-detail-item h3{font-size:15px;font-weight:700;color:var(--brand);margin-bottom:10px}.mbti-detail-item p{color:var(--text);font-size:15.5px;line-height:1.7}.mbti-runners{margin-top:40px}.mbti-runners h3{font-size:17px;font-weight:700;margin-bottom:18px}.mbti-runner{display:flex;align-items:center;gap:14px;margin-bottom:14px}.mbti-runner-name{width:118px;font-size:15px;flex-shrink:0}.mbti-runner-bar{flex:1 1;height:10px;background:var(--bg-card);border-radius:999px;overflow:hidden}.mbti-runner-bar div{height:100%;background:var(--brand);border-radius:999px}.mbti-runner-sync{width:48px;text-align:right;font-size:15px;font-weight:700;color:var(--brand)}.mbti-actions{margin-top:44px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.mbti-actions .btn{padding:12px 20px;font-size:14.5px;cursor:pointer;font-family:inherit}.mbti-cta{display:block;text-align:center;margin-top:16px}.mbti-disclaimer{margin-top:36px;text-align:center;color:#5c6784;font-size:13px}.mbti-toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:var(--bg-card-hover);border:1px solid var(--brand);color:var(--text);padding:12px 24px;border-radius:12px;font-size:14.5px;z-index:100}.market-wrap{padding:32px 0 100px}.market-title{font-size:clamp(28px,5vw,38px);font-weight:800;letter-spacing:-.02em}.market-sub{color:var(--text-sub);margin-top:8px}.market-ticker{margin:28px 0 8px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.market-section{margin-top:48px}.market-section h2{font-size:22px;font-weight:800;letter-spacing:-.01em;margin-bottom:16px}.market-note{color:var(--text-sub);font-size:14.5px;margin:-6px 0 16px}.market-box{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:12px;overflow:hidden}.kofia-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:760px){.kofia-grid{grid-template-columns:1fr}}.kofia-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:24px}.kofia-card h3{font-size:17px;font-weight:700;color:var(--text-sub)}.kofia-value{margin-top:10px;font-size:28px;font-weight:800}.kofia-unit{font-size:15px;font-weight:500;color:var(--text-sub)}.kofia-diff{margin-top:4px;font-size:14px;font-weight:600}.kofia-diff.up{color:var(--up)}.kofia-diff.down{color:var(--down)}.kofia-chart{width:100%;height:180px;margin-top:16px}.kofia-status{margin-top:12px;color:var(--text-sub);font-size:14.5px}.kofia-src{margin-top:12px;color:#5c6784;font-size:12.5px}.market-disclaimer{margin-top:56px;color:#5c6784;font-size:13px;max-width:720px}.kr-table-wrap{overflow-x:auto}.kr-table{width:100%;border-collapse:collapse;font-size:15px}.kr-table th{text-align:right;color:var(--text-sub);font-size:13px;font-weight:600;padding:12px 8px;border-bottom:1px solid var(--border)}.kr-table th:first-child{text-align:left}.kr-table td{padding:13px 8px;text-align:right;border-bottom:1px solid rgba(35,46,71,.5)}.kr-table tr:last-child td{border-bottom:none}.kr-name{text-align:left!important;font-weight:600}.kr-price{font-weight:700}.kr-num.up{color:var(--up)}.kr-num.down{color:var(--down)}.global-ticker{height:62px;overflow:hidden;border-bottom:1px solid var(--border);background:rgba(13,19,33,.6)}@media (max-width:720px){.global-ticker{height:62px;padding:0 0 10px}.global-ticker .tradingview-widget-container{transform:scale(.8);transform-origin:top left;width:125%!important}}.req-head{text-align:center;padding-top:20px}.req-head h1{font-size:clamp(26px,5vw,38px);font-weight:800;letter-spacing:-.03em;line-height:1.3;margin-top:8px}.req-head p{margin:18px auto 0;max-width:480px;color:var(--text-sub);font-size:16px}.req-form{margin-top:44px;gap:22px}.form-label,.req-form{display:flex;flex-direction:column}.form-label{gap:8px;font-size:15px;font-weight:700}.form-label .req{color:var(--up)}.form-label .opt,.form-label .req{display:inline;font-size:12px;margin-left:4px}.form-label .opt{color:#5c6784;font-weight:500}.form-hint{font-size:13px;font-weight:400;color:var(--text-sub);line-height:1.6}.req-form input[type=email],.req-form input[type=text],.req-form select,.req-form textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;color:var(--text);font-size:15px;font-family:inherit}.req-form input:focus,.req-form select:focus,.req-form textarea:focus{outline:none;border-color:var(--brand)}.req-form input[type=file]{color:var(--text-sub);font-size:14px}.form-mbti-badge{background:var(--brand-dim);color:var(--brand);border:1px solid rgba(51,130,246,.35);border-radius:12px;padding:12px 16px;font-size:14px;font-weight:600}.form-mbti-badge.warn{background:rgba(242,67,82,.08);color:var(--text-sub);border-color:var(--border);font-weight:400}.form-mbti-badge.warn a{color:var(--brand)}.form-error{color:var(--up);font-size:14px}.form-submit{border:none;cursor:pointer;font-family:inherit;font-size:17px;padding:16px}.form-submit:disabled{opacity:.6;cursor:wait}.form-note{color:#5c6784;font-size:12.5px;text-align:center;line-height:1.6}.status-box{padding-top:60px}.status-box h1{font-size:clamp(24px,5vw,34px);font-weight:800;letter-spacing:-.02em}.status-sub{margin:16px auto 40px;max-width:440px;color:var(--text-sub);font-size:15.5px}.status-steps{display:flex;flex-direction:column;gap:14px;max-width:320px;margin:0 auto 40px;text-align:left}.status-step{display:flex;align-items:center;gap:12px;color:#5c6784;font-size:15.5px;font-weight:600}.status-dot{width:12px;height:12px;border-radius:50%;background:var(--border);flex-shrink:0}.status-step.active{color:var(--text)}.status-step.active .status-dot{background:var(--brand);animation:pulse 1.2s ease-in-out infinite}.status-step.done{color:var(--text-sub)}.status-step.done .status-dot{background:var(--brand)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}.mbti-cta-group{display:flex;flex-direction:column;gap:10px;margin-top:16px}