:root{--navy:#123a63;--navy2:#1f5b8f;--ink:#102a43;--muted:#60758d;--line:#d8e7f2;--paper:#f5f9fc;--white:#fff;--orange:#f59e0b;--green:#18764c;--red:#b42318;--shadow:0 14px 38px rgba(16,42,67,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:linear-gradient(180deg,#eef6fb,#fbfdff);line-height:1.55}
a{color:#0f5d9a;text-decoration:none}button,input,select,textarea{font:inherit}.hidden,[hidden]{display:none!important}
.top,.topbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.topin,.top-inner{max-width:1120px;margin:auto;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{font-weight:900;color:var(--navy);letter-spacing:.02em}.brand small,.brand-tag{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-top:2px}
.nav{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.nav a{font-size:13px;font-weight:800;color:var(--navy)}
.wrap,.page{max-width:1120px;margin:auto;padding:30px 18px 64px}.hero,.card,.section,.panel,.viewer,.form,.report-output{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.hero,.section,.panel,.form{padding:26px}.hero h1,.section h1,.section h2,h1,h2,h3{color:var(--navy)}h1,h2,h3{line-height:1.18}.hero h1{font-size:clamp(30px,5vw,48px);margin:.5em 0 .3em}
.eyebrow,.pill,.badge{display:inline-block;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;letter-spacing:.05em;background:#fff2d5;color:#8a5200}
.lead,.muted,.note,.tiny{color:var(--muted)}.tiny{font-size:11px}.note{font-size:12px}.grid,.grid2,.grid3{display:grid;gap:16px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.btn,.cta,.primary,.secondary,.ghost,button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:46px;border-radius:13px;padding:10px 16px;font-weight:900;cursor:pointer;border:0}
.btn.primary,.cta,.primary{background:linear-gradient(135deg,#f59e0b,#ffbd4a);color:#18344f}.btn.secondary,.cta.secondary,.secondary{background:#fff;border:1px solid #bad2e6;color:var(--navy)}.ghost{background:#edf7ff;border:1px solid #d0e4f3;color:var(--navy)}
input,select,textarea{width:100%;min-height:46px;border:1px solid #bfd3e4;border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink)}textarea{min-height:94px}.form label{font-weight:800;color:var(--navy)}
table{width:100%;border-collapse:collapse;font-size:13px}th{background:var(--navy);color:#fff;text-align:left}th,td{padding:9px 10px;border:1px solid #d5e2ec;vertical-align:top}
.web-version-badge{position:fixed;right:10px;bottom:10px;z-index:50;background:#102a43;color:white;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;opacity:.88}
.viewer{overflow:hidden;margin-top:18px}.viewer object,.viewer iframe{width:100%;height:78vh;min-height:660px;border:0}
.report-section{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.report-section h2{margin-top:0;font-size:20px;background:#eef6fb;padding:10px 12px;border-left:5px solid var(--navy)}
.report-rank-card,.school-card,.reference-score,.school-tier{border:1px solid var(--line);border-radius:15px;padding:14px;margin-top:10px;background:#fbfdff}
.report-rank-card{display:grid;grid-template-columns:42px 1fr;gap:12px}.report-rank-no{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900}
.rank-head,.school-tier-empty-line{display:flex;justify-content:space-between;gap:10px;align-items:center}.rank-head h3{margin:0}.priority-chip{font-size:10px;font-weight:900;background:#fff2d5;color:#8a5200;border-radius:999px;padding:5px 8px}
.evidence-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.evidence-chips span{font-size:11px;background:#eaf5ff;color:#155a8a;border-radius:999px;padding:5px 8px}
.rank-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:12px}.rank-analysis p{margin:.55em 0}
.school-tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.school-list{display:grid;gap:9px}.school-score{display:flex;gap:10px;justify-content:space-between}.reference-score{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#eef7ff}.reference-score b{font-size:24px;color:var(--navy)}
.score-band-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.score-band-map div{padding:10px;border-radius:12px;background:#f3f7fa;font-size:11px}.score-band-map b{display:block;color:var(--navy)}
.test-warning{background:#fff6df;border:1px solid #efd698;border-radius:13px;padding:12px;color:#755100}.report-slogan{margin:15px 0;padding:12px;border-radius:12px;background:var(--navy);color:#fff;text-align:center;font-weight:900}.report-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0}
.action-plan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.action-plan>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.action-plan b{display:block;color:var(--navy);margin-bottom:5px}
@media(max-width:820px){.topin,.top-inner{align-items:flex-start}.nav{display:none}.grid2,.grid3,.school-tier-grid,.score-band-map,.action-plan{grid-template-columns:1fr}.rank-facts{grid-template-columns:1fr}.wrap,.page{padding:18px 12px 48px}.hero,.section,.panel,.form{padding:18px}.viewer object,.viewer iframe{height:72vh;min-height:520px}.report-section{padding:13px}.web-version-badge{right:6px;bottom:6px}}
@media print{.top,.topbar,.no-print,.web-version-badge{display:none!important}body{background:#fff}.wrap,.page{max-width:none;padding:0}.report-section{break-inside:avoid;box-shadow:none}.card,.section,.panel,.hero{box-shadow:none}}

/* V6.6.1 mandatory deep-report layout */
.report-page-v66{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin:18px 0;box-shadow:0 8px 22px rgba(16,42,67,.05)}
.report-page-v66>h2{background:var(--navy);color:#fff;padding:10px 13px;margin:18px 0 12px;border-radius:4px;font-size:20px}
.report-page-v66>h2:first-of-type{margin-top:8px}
.five-step-v66{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:12px 0 20px}
.five-step-v66>div{background:#eef6fb;padding:14px 8px;text-align:center;min-height:110px;display:flex;flex-direction:column;gap:5px;justify-content:center}
.five-step-v66 b{font-size:24px;color:#1474aa}.five-step-v66 strong{font-size:12px;color:var(--navy)}.five-step-v66 span{font-size:10px;color:var(--muted)}
.ikigai-v66{background:#f0f8fd;border-left:5px solid var(--navy);padding:14px;margin:16px 0}
.career-groups-v66,.major-group-v66{display:grid;gap:10px}.career-group-v66,.major-group-v66{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfdff}
@media(max-width:820px){.five-step-v66{grid-template-columns:1fr}.five-step-v66>div{min-height:auto}.report-page-v66{padding:13px;margin:12px 0}.report-page-v66>h2{font-size:17px}}
@media print{
  .report-page-v66{border:0!important;box-shadow:none!important;border-radius:0!important;margin:0!important;padding:10mm 8mm!important;min-height:277mm;page-break-after:always;break-after:page}
  .report-page-v66:last-of-type{page-break-after:auto;break-after:auto}
  .report-page-v66>h2{background:#123a63!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .five-step-v66>div{background:#eef6fb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
