
:root{
  --bg:#F5F9FD;
  --d1:#001018;
  --d2:#152936;
  --d3:#294456;
  --d4:#3c5f77;
  --m1:#4f7a98;
  --m2:#6893b1;
  --l1:#88abc3;
  --l2:#a9c3d5;
  --l3:#c8dce9;
  --l4:#e4f5fe;
  --white:#ffffff;
  --rose:#ed6687;
  --shadow:0 20px 60px rgba(21,41,54,.08);
  --shadow-soft:0 12px 34px rgba(21,41,54,.07);
  --radius:24px;
  --W:#6f63d8;
  --Q:#3dbde8;
  --A:#3dc47a;
  --G:#f3b844;
  --T:#ed6687;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);scroll-behavior:smooth}
body{font-family:'Montserrat',Arial,sans-serif;background:var(--bg);color:var(--d2);min-height:100vh}
button,input{font-family:inherit}
button{-webkit-tap-highlight-color:transparent}
.app{min-height:100vh;background:radial-gradient(circle at top left, rgba(228,245,254,.8), transparent 38%), radial-gradient(circle at bottom right, rgba(200,220,233,.48), transparent 32%), var(--bg);}
.container{width:min(960px,100%);margin:0 auto;padding:38px 22px 68px}
.narrow{width:min(590px,100%);margin:0 auto;padding:46px 22px 68px;text-align:center}
.logo{display:block;width:220px;max-width:70%;height:auto;margin:0 auto}.logo-small{width:132px;height:auto}.logo-report{width:145px;height:auto}
.eyebrow{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;background:var(--l4);color:var(--m1);border-radius:999px;padding:8px 18px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:22px auto 16px}
h1{font-size:clamp(25px,4.4vw,40px);line-height:1.15;font-weight:800;color:var(--d2);letter-spacing:-.03em;margin:0 auto 16px;max-width:760px}
h2{font-size:clamp(22px,4vw,32px);line-height:1.22;font-weight:800;color:var(--d2);letter-spacing:-.02em;margin-bottom:12px}
h3{font-size:18px;line-height:1.35;font-weight:800;color:var(--d2);margin-bottom:8px}
p{font-size:15px;line-height:1.78;color:var(--d4)}
.intro-text{max-width:710px;margin:0 auto 24px}.muted{color:var(--d4)}
.soft-card{background:rgba(255,255,255,.78);border:1px solid rgba(200,220,233,.95);box-shadow:var(--shadow);border-radius:var(--radius)}
.info-list{padding:21px 24px;margin:26px auto 26px;text-align:left;max-width:540px}.info-item{display:flex;gap:12px;align-items:flex-start;padding:7px 0;font-size:14px;line-height:1.55;color:var(--d3)}.info-dot{width:9px;height:9px;margin-top:7px;border-radius:50%;background:linear-gradient(135deg,var(--m1),var(--l1));flex:0 0 auto}.field{text-align:left;margin:24px auto 24px;max-width:540px}.field label{display:block;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--d4);margin-bottom:9px}.field input{width:100%;padding:15px 17px;border-radius:14px;border:1.5px solid var(--l3);background:var(--white);font-size:15px;color:var(--d2);outline:none;transition:.18s}.field input:focus{border-color:var(--m1);box-shadow:0 0 0 4px rgba(79,122,152,.12)}
.btn{border:0;border-radius:999px;padding:16px 24px;background:linear-gradient(135deg,var(--m1),var(--d4));color:var(--white);font-size:14px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 30px rgba(79,122,152,.22);transition:transform .18s, box-shadow .18s, opacity .18s;width:100%}.btn:hover{transform:translateY(-1px);box-shadow:0 15px 34px rgba(79,122,152,.27)}.btn:disabled{background:var(--l3);cursor:not-allowed;box-shadow:none;transform:none;opacity:.9}.btn-secondary{width:auto;background:transparent;color:var(--d4);border:1.5px solid var(--l3);box-shadow:none;padding:13px 20px}.btn-secondary:hover{box-shadow:none;background:rgba(255,255,255,.65)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.count{font-size:12px;font-weight:800;color:var(--l1);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.progress{height:7px;background:var(--l4);border-radius:999px;overflow:hidden;margin-bottom:30px}.progress div{height:100%;width:0;background:linear-gradient(90deg,var(--d4),var(--m1));border-radius:inherit;transition:width .35s ease}.question-card{padding:30px;border-radius:28px;background:rgba(255,255,255,.84);border:1px solid rgba(200,220,233,.95);box-shadow:var(--shadow)}.phase-pill{display:inline-flex;background:rgba(79,122,152,.12);color:var(--m1);border-left:4px solid var(--m1);border-radius:10px;padding:8px 13px;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:16px}.question-text{font-size:clamp(19px,3.4vw,25px);line-height:1.45;font-weight:800;color:var(--d2);margin-bottom:22px;text-align:left}.instruction{font-size:13px;line-height:1.65;color:var(--d4);margin-bottom:18px;text-align:left}.options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:25px}.options.five{grid-template-columns:1fr}.option{padding:18px;border-radius:17px;border:2px solid var(--l3);background:var(--white);cursor:pointer;transition:.16s;text-align:left;position:relative;overflow:hidden;min-height:104px;display:flex;gap:12px;align-items:center}.option:hover{border-color:var(--l1);transform:translateY(-1px)}.option.selected{border-color:var(--m1);background:rgba(79,122,152,.08)}.option.selected:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--d3),var(--m1))}.option-letter{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:11px;background:var(--l4);color:var(--m1);font-size:12px;font-weight:800;flex:0 0 auto}.option p{font-size:13.5px;line-height:1.58;color:var(--d4);font-weight:500}.option.selected p{color:var(--d2);font-weight:650}.nav-row{display:flex;gap:12px;align-items:center;justify-content:space-between}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 26px}.route-card{padding:24px 20px;border-radius:20px;border:1.5px solid var(--l3);background:rgba(255,255,255,.86);box-shadow:var(--shadow-soft);cursor:pointer;text-align:left;transition:.18s}.route-card:hover{transform:translateY(-2px);border-color:var(--l1)}.route-card h3{margin-bottom:6px}.route-card p{font-size:13px;line-height:1.6}
.loading-dot{width:58px;height:58px;border-radius:50%;border:5px solid var(--l3);border-top-color:var(--m1);margin:34px auto 22px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.report-wrap{width:min(980px,100%);margin:0 auto;padding:28px 18px 68px}.download-bar{display:flex;justify-content:center;margin:0 auto 18px;padding-top:10px}.download-btn{width:min(430px,100%);font-size:14px;padding:17px 28px}.download-status{text-align:center;font-size:12px;color:var(--d4);min-height:22px;margin-bottom:12px}#report{background:var(--bg);border-radius:30px;padding:28px}.report-card{background:rgba(255,255,255,.9);border:1px solid rgba(200,220,233,.95);border-radius:28px;box-shadow:var(--shadow);padding:28px;margin-bottom:20px}.report-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.report-meta{text-align:right;font-size:12px;color:var(--d4);line-height:1.6}.report-meta strong{display:block;color:var(--d2);font-size:18px;margin-top:2px}.section-label{font-size:11px;font-weight:800;color:var(--l1);letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}.profile-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:stretch}.profile-title{font-size:clamp(27px,4.4vw,43px);line-height:1.1;font-weight:800;color:var(--d2);letter-spacing:-.035em;margin-bottom:10px}.profile-subtitle{display:inline-flex;align-items:center;background:var(--l4);border-radius:999px;color:var(--m1);font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:8px 14px;margin-bottom:15px}.profile-summary{font-size:14px;line-height:1.75;color:var(--d4)}.hero-side{display:grid;gap:12px}.mini-result{border-radius:22px;padding:18px;background:linear-gradient(135deg,rgba(228,245,254,.72),rgba(255,255,255,.9));border:1px solid var(--l3)}.mini-result strong{display:block;font-size:14px;color:var(--d2);margin-bottom:6px}.mini-result span{font-size:12.5px;line-height:1.55;color:var(--d4)}.score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.score-card{border-radius:19px;padding:15px;background:var(--white);border:1.5px solid var(--l3);position:relative;overflow:hidden}.score-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:var(--accent)}.score-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.cat-badge{display:inline-flex;width:38px;height:38px;border-radius:14px;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:800;font-size:14px;flex:0 0 auto}.pref{font-size:10px;font-weight:800;color:var(--m1);background:var(--l4);padding:5px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;text-align:center}.score-name{font-size:12.5px;font-weight:800;color:var(--d2);margin-bottom:4px}.score-sub{font-size:11.2px;color:var(--d4);line-height:1.45;min-height:48px}.score-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.score-mini{background:rgba(245,249,253,.95);border-radius:13px;padding:8px;text-align:center}.score-mini span{display:block;font-size:9px;color:var(--l1);font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}.score-mini strong{font-size:18px;color:var(--d2)}.score-bar-track{height:8px;background:rgba(21,41,54,.10);border-radius:999px;overflow:hidden;margin-top:11px}.score-bar-fill{height:100%;border-radius:999px;background:var(--accent);width:0}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.insight-card{border-radius:21px;border:1.5px solid rgba(200,220,233,.9);background:rgba(255,255,255,.82);overflow:hidden}.insight-head{display:flex;align-items:center;gap:10px;padding:13px 16px;background:var(--accent);color:#fff}.insight-head strong{font-size:14px}.insight-body{padding:15px 17px}.bullet{display:flex;align-items:flex-start;gap:9px;margin-bottom:9px;font-size:13px;line-height:1.55;color:var(--d4)}.bullet:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);margin-top:7px;flex:0 0 auto}.text-block h3{font-size:23px;margin-bottom:4px}.text-block .mini-sub{font-size:12px;font-weight:800;color:var(--m1);letter-spacing:.08em;text-transform:uppercase;margin-bottom:17px}.text-block p{font-size:14.5px;margin-bottom:14px;color:var(--d3)}.text-block p:last-child{margin-bottom:0}.note-card{background:linear-gradient(135deg,var(--l4),rgba(255,255,255,.88));border:1.5px solid var(--l2);border-radius:22px;padding:18px;font-size:12.5px;line-height:1.65;color:var(--d4);margin-top:14px}.all-grid{display:grid;grid-template-columns:1fr;gap:12px}.all-item{display:grid;grid-template-columns:155px 1fr;gap:14px;align-items:start;border:1px solid var(--l3);border-radius:18px;background:rgba(255,255,255,.72);padding:14px}.all-item strong{display:block;font-size:13px;color:var(--d2);margin-bottom:4px}.all-item p{font-size:12.2px;line-height:1.55}.rank-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--l4);padding:6px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--m1);margin-top:8px}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--l3);padding-top:18px;margin-top:8px;color:var(--l1);font-size:10px;line-height:1.55}.small-note{font-size:11px;color:var(--l1);margin-top:16px;line-height:1.55}.hidden{display:none!important}
.pdf-mode{width:980px!important;max-width:980px!important}.pdf-mode #report{border-radius:0}.pdf-mode .report-card{box-shadow:none}
@media (max-width:900px){.score-grid{grid-template-columns:1fr 1fr}.score-card:last-child{grid-column:1 / -1}.profile-hero{grid-template-columns:1fr}.report-header{flex-direction:column;align-items:center;text-align:center}.report-meta{text-align:center}.all-item{grid-template-columns:1fr}}
@media (max-width:620px){.container,.narrow{padding-left:16px;padding-right:16px}.options,.route-grid{grid-template-columns:1fr}.question-card{padding:22px 18px;border-radius:24px}.nav-row{flex-direction:column-reverse}.nav-row .btn{width:100%}#report{padding:16px;border-radius:22px}.report-card{padding:20px;border-radius:22px}.score-grid{grid-template-columns:1fr}.score-card:last-child{grid-column:auto}.split-grid{grid-template-columns:1fr}.logo{width:190px;margin:0 auto}.logo-small{width:112px}.footer{flex-direction:column;text-align:center}.profile-title{font-size:30px}.report-wrap{padding-left:10px;padding-right:10px}}
@media print{.no-print{display:none!important}body,#report{background:#fff!important}.report-wrap{padding:0}#report{padding:0}.report-card{box-shadow:none;break-inside:avoid}@page{size:A4;margin:12mm}}

/* Refined result score snapshot layout */
.score-snapshot-card .result-intro{margin:0 0 24px 0;text-align:left;max-width:780px}
.top-results-grid{display:grid;grid-template-columns:1.18fr .92fr;gap:18px;margin:24px 0 22px}
.top-result-card{position:relative;overflow:hidden;border-radius:26px;border:1.5px solid rgba(200,220,233,.95);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(228,245,254,.55));padding:24px;box-shadow:0 18px 45px rgba(21,41,54,.07)}
.top-result-card:before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--accent)}
.top-result-card.primary-feature{padding:28px}.top-result-card.secondary-feature{background:rgba(255,255,255,.84)}
.top-result-kicker{display:inline-flex;align-items:center;border-radius:999px;background:rgba(228,245,254,.9);color:var(--m1);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:8px 12px;margin-bottom:18px}
.top-result-main{display:flex;gap:16px;align-items:flex-start}.top-result-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:18px;background:var(--accent);color:#fff;font-size:20px;font-weight:900;flex:0 0 auto;box-shadow:0 12px 25px rgba(21,41,54,.12)}
.top-result-main h3{font-size:clamp(24px,3.2vw,34px);line-height:1.12;margin-bottom:8px;color:var(--d2);letter-spacing:-.03em}.secondary-feature .top-result-main h3{font-size:clamp(21px,2.7vw,28px)}
.top-result-main p{font-size:14px;line-height:1.65;color:var(--d4);max-width:520px}.top-result-stats{display:flex;gap:10px;margin:22px 0 4px}.top-result-stats span{min-width:96px;border-radius:17px;background:rgba(245,249,253,.95);padding:12px 14px}.top-result-stats strong{display:block;font-size:28px;line-height:1;color:var(--d2);letter-spacing:-.03em}.top-result-stats small{display:block;margin-top:5px;color:var(--l1);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.ranking-panel{border-radius:26px;border:1.5px solid rgba(200,220,233,.95);background:rgba(255,255,255,.72);padding:22px;margin-top:18px}.ranking-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.ranking-panel-head h3{font-size:22px;margin:0;color:var(--d2)}.ranking-panel-head .section-label{margin-bottom:7px}.ranking-panel-head>span{display:inline-flex;border-radius:999px;background:var(--l4);color:var(--m1);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:8px 12px;white-space:nowrap}
.ranking-list{display:grid;gap:12px}.ranking-row{display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;border:1px solid rgba(200,220,233,.95);border-radius:20px;background:rgba(255,255,255,.9);padding:15px 16px}.ranking-number{width:42px;height:42px;border-radius:15px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:17px}.ranking-copy{min-width:0}.ranking-name-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:5px}.ranking-name-line strong{font-size:16px;color:var(--d2)}.ranking-name-line span{border-radius:999px;background:var(--l4);color:var(--m1);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 9px}.ranking-copy p{font-size:12.8px;line-height:1.55;color:var(--d4);margin-bottom:10px}.ranking-stats{display:flex;gap:8px}.ranking-stats span{min-width:74px;text-align:center;border-radius:15px;background:rgba(245,249,253,.96);padding:10px 12px}.ranking-stats small{display:block;color:var(--l1);font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;margin-bottom:3px}.ranking-stats strong{font-size:22px;color:var(--d2);line-height:1}.score-snapshot-card .score-bar-track{height:8px;background:rgba(21,41,54,.10);border-radius:999px;overflow:hidden}.score-snapshot-card .score-bar-fill{height:100%;border-radius:999px;background:var(--accent)}
@media (max-width:820px){.top-results-grid{grid-template-columns:1fr}.ranking-row{grid-template-columns:42px 1fr}.ranking-stats{grid-column:2;justify-content:flex-start}.ranking-panel-head{flex-direction:column;gap:8px}}
@media (max-width:560px){.top-result-card,.top-result-card.primary-feature{padding:22px 18px}.top-result-main{flex-direction:column}.top-result-stats{width:100%;display:grid;grid-template-columns:1fr 1fr}.top-result-stats span{min-width:0}.ranking-panel{padding:16px}.ranking-row{grid-template-columns:1fr;gap:10px}.ranking-number{width:38px;height:38px}.ranking-stats{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.ranking-panel-head>span{white-space:normal}}
