
:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#35263b;background:#fcf7fb;--pink:#b63380;--border:#efdae8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.65}a{color:inherit}button,select{font:inherit}button{cursor:pointer}.site-header{background:#fff;border-bottom:1px solid #efdde8}.header-inner{max-width:1160px;margin:auto;min-height:70px;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{text-decoration:none;font-size:17px;font-weight:950;color:#8d2465}.site-header nav{display:flex;gap:16px;align-items:center}.site-header nav a{font-size:13px;font-weight:800;text-decoration:none;color:#83546f}.site-header nav .nav-cta{background:#b63380;color:#fff;padding:10px 15px;border-radius:12px}main{max-width:1160px;margin:auto;padding:24px 18px 65px}.hero{border:1px solid #efd2e3;border-radius:25px;background:radial-gradient(circle at 95% 0%,#f2d8ef 0,transparent 38%),linear-gradient(120deg,#fff 5%,#fff3fa 70%,#f4f0ff 100%);padding:clamp(23px,5vw,52px);box-shadow:0 10px 32px #9e648216}.hero-kicker,.section-kicker{font-size:12px;font-weight:950;letter-spacing:.16em;color:#b64c8d}.hero h1{font-size:clamp(30px,5.3vw,53px);line-height:1.2;letter-spacing:-.05em;margin:8px 0 12px}.hero h1 span{color:#b63380}.hero p{font-size:clamp(14px,2vw,18px);margin:0 0 14px}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.hero-chips span{padding:7px 13px;border-radius:100px;font-size:13px;font-weight:850;background:#fff;border:1px solid #eed6e6}.hero-chips .chip-S{color:#bb3776}.hero-chips .chip-I{color:#b34c88}.hero-chips .chip-H{color:#237950}.hero-chips .chip-E{color:#316fb9}.disclaimer{font-size:12px!important;color:#786d79;line-height:1.75;margin:13px 0 0!important}.surface{background:#fff;border:1px solid var(--border);border-radius:23px;padding:clamp(18px,3.3vw,32px);margin-top:24px;box-shadow:0 7px 24px #a16a8910}h2{font-size:clamp(21px,3.5vw,28px);line-height:1.4;margin:5px 0 12px;letter-spacing:-.035em}.section-desc{color:#786c78;font-size:14px;margin:0 0 17px}.chooser label{display:block;font-weight:850;margin:10px 0 7px;font-size:14px}.chooser select{width:100%;max-width:550px;border:2px solid #e4b5d0;border-radius:13px;background:#fff;padding:14px 16px;font-size:16px;color:#39253d}.chooser select:focus-visible{outline:3px solid #d184b1;outline-offset:3px}.chosen{display:grid;grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:23px;align-items:center;margin-top:20px;padding:15px;border-radius:19px;background:#fff7fb;border:1px solid #f0d9e8}.chosen:empty{display:none}.chosen img{display:block;width:100%;height:auto;aspect-ratio:960/681;object-fit:contain;border-radius:14px;background:#f9e7f3}.chosen-copy .type-code{display:inline-block;border-radius:100px;padding:4px 13px;background:#b63380;color:#fff;font-size:13px;font-weight:900}.chosen-copy h3{font-size:clamp(22px,3vw,32px);margin:7px 0 3px;line-height:1.35}.chosen-copy p{margin:7px 0;color:#756878}.chosen-copy .axes{font-size:14px;font-weight:850;color:#a5377b}.detail-link{display:inline-block;text-decoration:none;color:#a22f75;font-weight:850;margin-top:10px;border-bottom:1px solid #d89bbc}.pick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pick-card{border:1px solid #f0dbe9;border-radius:17px;overflow:hidden;display:grid;grid-template-columns:minmax(0,41%) minmax(0,1fr);background:#fff;min-height:175px}.pick-card img{width:100%;height:100%;object-fit:contain;background:#f9ecf4}.pick-copy{padding:17px 14px;min-width:0}.pick-copy small{font-weight:950;color:#b63380}.pick-copy h3{margin:3px 0 8px;font-size:19px;line-height:1.4}.pick-copy p{font-size:13px;line-height:1.6;margin:0;color:#695e6c}.pick-copy a{display:inline-block;margin-top:10px;color:#a22f75;font-size:13px;font-weight:850;text-decoration:none}.type-group{margin-top:25px}.type-group:first-child{margin-top:15px}.type-group h3{font-size:19px;margin:0 0 12px;padding-left:13px;border-left:5px solid #b63380}.type-group.group-I h3{border-color:#d17cad}.type-group.group-H h3{border-color:#2f986a}.type-group.group-E h3{border-color:#467ec4}.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.type-tile{border:1px solid #ead9e5;background:#fff;border-radius:14px;overflow:hidden;text-align:left;min-width:0;display:flex;flex-direction:column;padding:0;transition:transform .15s,box-shadow .15s}.type-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px #90597c22}.type-tile img{display:block;width:100%;height:auto;aspect-ratio:960/681;object-fit:contain;background:#fff0f7}.type-tile .tile-body{padding:11px 11px 13px;display:flex;flex-direction:column;gap:4px;flex:1}.type-tile .tile-code{font-size:11px;font-weight:950;color:#ab3b7d}.type-tile strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.type-tile .relation{font-size:12px;font-weight:850;margin-top:auto;padding-top:7px}.relation.pick{color:#b3347d}.relation.sync{color:#396fbb}.relation.blend{color:#26815c}.relation.discovery{color:#865bb0}.relation.self{color:#766978}.legend{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.legend span{font-size:12px;font-weight:850;padding:7px 11px;border-radius:100px;background:#f9f0f6}.legend-pick{color:#ad2c73}.legend-sync{color:#346eb3}.legend-blend{color:#227b55}.legend-discovery{color:#7954a5}.legend-self{color:#746878}.matrix-scroll{overflow:auto;max-width:100%;border:1px solid #eadbe6;border-radius:14px;scrollbar-color:#d7a0c2 #fff;overscroll-behavior-x:contain}.matrix{border-collapse:separate;border-spacing:0;min-width:1080px;width:100%;font-size:12px}.matrix th,.matrix td{padding:0;text-align:center;border-right:1px solid #f2e6ee;border-bottom:1px solid #f2e6ee;white-space:nowrap}.matrix thead th{position:sticky;top:0;z-index:2;background:#fbf0f7;min-width:59px;height:50px;font-weight:950}.matrix thead th:first-child{position:sticky;left:0;z-index:4;min-width:78px}.matrix tbody th{position:sticky;left:0;z-index:3;background:#fff6fb;min-width:78px;font-weight:950}.matrix tbody th a{text-decoration:none;display:block;padding:11px 8px}.matrix button{display:block;width:100%;min-height:46px;background:#fff;border:0;font-size:20px;font-weight:900}.matrix button:hover,.matrix button:focus-visible{outline:2px solid #9f3578;outline-offset:-2px;position:relative;z-index:1}.matrix button.pick{background:#fce5f1;color:#a82673}.matrix button.sync{background:#edf3ff;color:#3972b8}.matrix button.blend{background:#eaf8f0;color:#277c55}.matrix button.discovery{background:#f5edff;color:#8458ac}.matrix button.self{background:#f4eff4;color:#8c7889}.pair-detail{margin-top:16px;padding:17px;border-radius:15px;background:#fff4fa;border:1px solid #efcfe2}.pair-detail[hidden]{display:none}.pair-detail h3{margin:0 0 7px;font-size:18px}.pair-detail p{margin:4px 0;font-size:14px}.pair-detail a{font-weight:850;color:#a22f75}.bottom-cta{text-align:center;background:linear-gradient(110deg,#fceaf4,#f5edff);border:1px solid #efd1e3;border-radius:23px;padding:30px 18px;margin-top:24px}.bottom-cta h2{margin:0}.bottom-cta p{color:#756977}.bottom-cta a{display:inline-block;background:#b63380;color:#fff;text-decoration:none;font-weight:900;border-radius:14px;padding:15px 30px}footer{text-align:center;color:#887889;font-size:12px;padding:20px 12px 35px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}a:focus-visible,button:focus-visible{outline:3px solid #a7347e;outline-offset:3px}
@media(max-width:780px){.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pick-grid{grid-template-columns:1fr}.chosen{grid-template-columns:minmax(0,1fr)}.chosen img{max-width:560px}.pick-card{min-height:150px}.site-header nav{gap:8px}}
@media(max-width:480px){main{padding:13px 10px 35px}.header-inner{padding:10px 12px;min-height:60px}.brand{font-size:14px}.site-header nav a{font-size:11px}.site-header nav .nav-cta{padding:8px 9px}.hero{padding:23px 16px}.hero h1{font-size:31px}.hero p{font-size:14px}.surface{padding:17px 13px;margin-top:14px}.type-grid{gap:9px}.type-tile .tile-body{padding:9px}.type-tile strong{font-size:13px}.type-tile .relation{font-size:11px}.pick-card{grid-template-columns:38% 62%}.pick-copy{padding:10px}.pick-copy h3{font-size:16px}.pick-copy p{font-size:12px}.chosen{gap:12px}.chosen-copy h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.type-tile{transition:none}}

/* Ver.4.15.6: show the canonical Japanese name alongside each 3-letter type code. */
.matrix{width:max-content;min-width:100%;table-layout:auto}
.matrix thead th{height:78px;min-width:112px;max-width:126px;vertical-align:middle;padding:5px 4px;white-space:normal}
.matrix thead th:first-child{min-width:154px;width:154px;max-width:154px}
.matrix tbody th{min-width:154px;width:154px;max-width:154px;white-space:normal}
.matrix-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.35;min-height:68px}
.matrix tbody th a.matrix-label{padding:9px 7px;text-decoration:none}
.matrix-code{display:inline-block;color:#a52f76;font-weight:950;font-size:12px;letter-spacing:.025em}
.matrix-name{display:block;color:#35263b;font-size:11px;font-weight:850;line-height:1.4;overflow-wrap:anywhere;white-space:normal;text-align:center}
.matrix-corner{display:block;font-size:12px;line-height:1.6;color:#8c4775}
.matrix tbody th a:hover .matrix-name,.matrix tbody th a:focus-visible .matrix-name{color:#a52f76;text-decoration:underline}
.matrix td{min-width:55px;width:55px}
@media(max-width:480px){
 .matrix thead th{min-width:105px;max-width:115px;height:74px;padding:4px 3px}
 .matrix thead th:first-child,.matrix tbody th{min-width:132px;width:132px;max-width:132px}
 .matrix tbody th a.matrix-label{padding:8px 4px}
 .matrix-name{font-size:10.5px}
 .matrix td{min-width:50px;width:50px}
}

/* 4.15.9 guide call-to-action */
.guide-promo{background:linear-gradient(115deg,#fff6fb,#f4efff);border-color:#e7c8e0}.guide-promo p{color:#6c5c6e;font-size:14px;line-height:1.8}.guide-promo a{display:inline-block;margin-top:10px;background:#b33479;color:#fff;text-decoration:none;font-weight:900;border-radius:12px;padding:13px 20px;font-size:14px}.guide-promo a:focus-visible{outline:3px solid #a3347b;outline-offset:3px}
