/* KOKOROZASHI PROFILE preview + print refinements */
.profilePreviewPage{padding-top:14px;overflow-x:hidden}
.previewToolbar{width:min(1120px,100%);margin:0 auto 14px;padding:14px 18px;border:1px solid #c9e3f2;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(7,84,163,.08);display:flex;align-items:center;justify-content:space-between;gap:16px}
.previewToolbar>div:first-child{display:flex;flex-direction:column;gap:3px}.previewToolbar b{font-size:20px;color:#082b59}.previewToolbar span{font-size:13px;color:#5e7590;line-height:1.45}.previewToolbarBtns{display:flex;gap:10px;flex-wrap:wrap}.previewToolbar button,.profileActions button{border:1px solid #9bcbed;border-radius:12px;background:#fff;color:#0754a3;padding:11px 17px;font-weight:900;cursor:pointer;min-height:44px}.previewToolbar .primary,.profileActions .primary{border-color:#087bd8;background:linear-gradient(180deg,#1687eb,#0868c8);color:#fff}
.previewNote{width:min(1120px,100%);margin:12px auto 0;text-align:center;color:#356b93;font-size:13px;font-weight:800}
/* Title and aspiration are visually separate; aspiration never clips. */
.kpHero{min-height:505px!important;padding:30px 42px 28px!important}.kpTitle{z-index:5!important;max-width:52%!important}.kpTitle span{line-height:1.05}.kpTitle strong{line-height:.88}.kpTitle p{margin-top:12px}.kpMission{top:218px!important;bottom:auto!important;left:4%!important;width:55%!important;min-height:178px;max-height:none!important;overflow:visible!important;transform:none!important;z-index:4!important}.kpMission h1{font-weight:900;font-size:clamp(21px,2.4vw,29px)!important;line-height:1.42!important;margin:0}.kpAgen{z-index:2!important}.kpHero:after{z-index:1!important}
.kpWhy p,.kpAbout p,.kpStrength p,.kpFuture p,.kpChallenge p,.kpWords p{word-break:normal;overflow-wrap:anywhere}.kokoroSheet{transform-origin:top center}.kokoroSheet.kpDense .kpCard p{font-size:15px;line-height:1.52}.kokoroSheet.kpDense .kpMission h1{font-size:clamp(19px,2.2vw,25px)!important}.kokoroSheet.kpDense .kpCard{padding:15px 17px}.kokoroSheet.kpDense .kpStrength li,.kokoroSheet.kpDense .futureRow,.kokoroSheet.kpDense .challenge{padding-top:7px;padding-bottom:7px}
@media(max-width:760px){.profilePreviewPage{padding:8px 8px calc(20px + env(safe-area-inset-bottom))}.previewToolbar{position:sticky;top:0;z-index:30;align-items:stretch;flex-direction:column;margin-bottom:10px;border-radius:14px}.previewToolbarBtns{display:grid;grid-template-columns:1fr 1fr}.previewToolbarBtns button{width:100%;padding:12px 10px}.kokoroSheet{width:100%!important;margin:0 auto}.profileActions{padding-bottom:env(safe-area-inset-bottom)}.previewNote{padding:0 8px;font-size:12px}.kpHero{min-height:600px!important;padding:22px 18px!important}.kpTitle{max-width:100%!important}.kpAgen{height:58%!important;bottom:0!important}.kpMission{top:205px!important;left:4%!important;width:72%!important;min-height:190px!important;max-height:none!important;overflow:visible!important}.kpMission h1{font-size:20px!important;line-height:1.42!important}}
@media(max-width:430px){.previewToolbar{padding:12px}.previewToolbar b{font-size:18px}.previewToolbar span{font-size:12px}.previewToolbarBtns{grid-template-columns:1fr}.kpTitle strong{letter-spacing:-.02em}.kpHero{min-height:620px!important}.kpMission{top:198px!important;width:79%!important;min-height:210px!important;padding:15px!important;box-shadow:0 8px 22px rgba(7,84,163,.12)}.kpMission h1{font-size:18px!important;line-height:1.46!important}.kpCard h2{max-width:100%;line-height:1.25}.kpCard h2 small{line-height:1.35}.profileActions{gap:8px}}
@media print{
  .noPrint,.simpleHeader{display:none!important}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  html,body{width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important}
  .profilePreviewPage{width:210mm!important;height:297mm!important;padding:0!important;margin:0!important;min-height:0!important;background:#fff!important;overflow:hidden!important}
  .kokoroSheet{box-sizing:border-box!important;width:198mm!important;height:285mm!important;min-height:285mm!important;max-height:285mm!important;margin:6mm auto!important;border:0!important;box-shadow:none!important;overflow:hidden!important;display:grid!important;grid-template-rows:72mm 1fr 12mm!important;break-inside:avoid!important;page-break-inside:avoid!important;page-break-after:avoid!important}
  .kpHero{box-sizing:border-box!important;min-height:0!important;height:72mm!important;padding:5mm 7mm!important}
  .kpTitle{max-width:50%!important}.kpTitle span{font-size:6.6mm!important}.kpTitle strong{font-size:14mm!important;line-height:.88!important}.kpTitle p{font-size:3.4mm!important;margin-top:1.2mm!important}
  .kpAgen{height:93%!important;width:39%!important}.kpMission{top:34mm!important;bottom:auto!important;left:4%!important;width:55%!important;min-height:27mm!important;max-height:31mm!important;overflow:hidden!important;padding:2.6mm 3.4mm!important;border-left-width:1.4mm!important;transform:none!important}.kpMission small{font-size:3mm!important;margin-bottom:.8mm!important;padding:.7mm 2.2mm!important}.kpMission h1{font-size:4.15mm!important;line-height:1.28!important}
  .kpGrid{box-sizing:border-box!important;min-height:0!important;height:auto!important;grid-template-columns:1fr 1fr!important;grid-template-rows:repeat(3,minmax(0,1fr))!important;gap:2.2mm!important;padding:2.2mm!important;overflow:hidden!important}
  .kpCard{box-sizing:border-box!important;min-height:0!important;padding:2.4mm 2.8mm!important;border-width:.45mm!important;border-radius:2.8mm!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;overflow:hidden!important}
  .kpCard h2{font-size:3.5mm!important;line-height:1.15!important;padding:1mm 2.3mm!important;margin:0 0 1.4mm!important;white-space:nowrap!important}.kpCard h2 small{font-size:2.35mm!important}
  .kpCard p{font-size:2.55mm!important;line-height:1.36!important;margin:0!important}.kpStrength li{gap:1.6mm!important;padding:1.1mm 0!important}.kpStrength li>span{flex-basis:8mm!important;height:7mm!important;border-radius:1.8mm!important;font-size:2.7mm!important}.kpStrength li b{font-size:2.8mm!important;line-height:1.2!important}.kpStrength li p{font-size:2.35mm!important;line-height:1.28!important}
  .aboutGrid{gap:1.5mm!important}.aboutGrid>div{padding:1.7mm!important;border-radius:2mm!important}.aboutGrid b{font-size:2.55mm!important}.aboutGrid p{font-size:2.35mm!important;line-height:1.25!important}.futureRow{padding:1.25mm 0!important;display:grid!important;grid-template-columns:16mm 1fr!important;gap:1mm!important}.futureRow b{min-width:0!important;font-size:2.6mm!important}.challenge{padding:1.25mm 0!important;grid-template-columns:13mm 1fr!important;gap:1.5mm!important}.challenge>b{font-size:2.45mm!important;padding:.8mm 1mm!important}.wordCloud{gap:1.4mm!important;margin:.8mm 0 1.5mm!important}.wordCloud span{font-size:2.8mm!important;padding:1.4mm 2.3mm!important;border-width:.4mm!important}.kpWords .msgTitle{margin-top:1mm!important}
  .kpFooter{box-sizing:border-box!important;height:12mm!important;padding:2.2mm 4mm!important}.kpFooter b{font-size:4.2mm!important}.kpFooter span{font-size:2.25mm!important}
  .kokoroSheet.kpDense .kpCard p{font-size:2.35mm!important;line-height:1.28!important}.kokoroSheet.kpDense .kpMission h1{font-size:3.9mm!important}.kokoroSheet.kpDense .kpCard{padding:2.1mm 2.5mm!important}
  @page{size:A4 portrait;margin:0}
}
