:root{--fg: #1a1a1a;--muted: #6b6b6b;--line: #e4e4e4;--bg: #ffffff;--navy: #1f3a5f;--accent: #b83a2e;--soft: #f7f7f5;--sans: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Apple SD Gothic Neo", "PingFang SC", "Segoe UI", Roboto, sans-serif;--serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif KR", "Noto Serif SC", "Songti SC", "Apple Myungjo", Georgia, serif}*{box-sizing:border-box}html{color:var(--fg);background:var(--bg);font-family:var(--sans);line-height:1.9;font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--navy)}img{max-width:100%;height:auto}.wrap{max-width:52rem;margin:0 auto;padding:0 1.5rem}.eyebrow{display:block;font-family:var(--sans);font-size:.7rem;letter-spacing:.3em;color:var(--navy);font-weight:500;text-transform:uppercase}.serif{font-family:var(--serif)}.hl{color:var(--accent);font-weight:600}.rule{border:0;border-top:1px solid var(--fg);margin:1.25rem 0}header.site{padding:2.25rem 0 1.1rem;border-bottom:1px solid var(--fg);display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand langs" "nav nav";row-gap:1.1rem;align-items:end}header.site .brand{grid-area:brand;font-family:var(--serif);font-size:1.55rem;letter-spacing:.18em;font-weight:500;line-height:1.2}header.site .tagline{display:block;color:var(--muted);font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;margin-top:.45rem}nav.main{grid-area:nav;display:flex;flex-wrap:wrap;gap:0 1.6rem;font-size:.84rem;letter-spacing:.04em}nav.main a{padding:.15rem 0;border-bottom:1px solid transparent}nav.main a:hover,nav.main a.on{border-bottom-color:var(--fg);color:var(--fg)}nav.langs{grid-area:langs;display:flex;gap:.9rem;font-size:.72rem;letter-spacing:.06em;color:var(--muted)}nav.langs a.on{color:var(--fg);font-weight:600}main{padding:2.5rem 0 4.5rem}.hero{display:grid;grid-template-columns:1fr 8rem;gap:3rem;align-items:start;padding-bottom:2.5rem;border-bottom:1px solid var(--line)}.hero h1{font-family:var(--serif);font-size:1.9rem;line-height:1.5;font-weight:500;margin:.7rem 0 1rem;letter-spacing:.03em}.hero p{margin:0 0 1rem;color:#333;font-size:.95rem;max-width:34rem}.hero .chips{list-style:none;padding:0;margin:0 0 1.75rem;display:flex;flex-wrap:wrap;gap:.4rem 0;font-size:.78rem;color:var(--muted);letter-spacing:.06em}.hero .chips li{padding-right:.9rem;margin-right:.9rem;border-right:1px solid var(--line);line-height:1.4}.hero .chips li:last-child{border-right:0;margin-right:0;padding-right:0}.hero .links{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;font-size:.84rem}.hero .btn{display:inline-block;background:var(--fg);color:#fff;padding:.7rem 1.4rem;letter-spacing:.08em}.hero .btn:hover{background:var(--navy);color:#fff}.hero .txt{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:.1rem}.hero .txt:hover{color:var(--fg);border-bottom-color:var(--fg)}.hero .photo{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:3px;margin-top:.5rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:2.75rem 0 .5rem}.section-head h2{font-family:var(--serif);font-size:1.1rem;font-weight:500;margin:.35rem 0 0;letter-spacing:.06em}.section-head .more{font-size:.8rem;color:var(--muted)}.list{list-style:none;padding:0;margin:0}.list li{border-top:1px solid var(--line)}.list li:last-child{border-bottom:1px solid var(--line)}.list li a{display:grid;grid-template-columns:10rem 1fr;gap:1rem;padding:1.15rem 0;align-items:baseline}.list .date{color:var(--muted);font-size:.76rem;letter-spacing:.1em;font-variant-numeric:tabular-nums}.list .title{font-family:var(--serif);font-size:1.05rem;line-height:1.6}.list img{display:none}article .meta{color:var(--muted);font-size:.76rem;letter-spacing:.1em;margin-top:.6rem}article h1{font-family:var(--serif);font-size:1.75rem;line-height:1.5;font-weight:500;margin:.5rem 0 0;letter-spacing:.02em}article .head{padding-bottom:1.1rem;border-bottom:1px solid var(--fg)}article .note{color:var(--muted);font-size:.78rem;margin:1rem 0 0;letter-spacing:.03em}article .body{margin-top:2rem;font-size:.97rem}article .body>p:first-child{margin-top:0}article .body h2{font-family:var(--serif);font-size:1.25rem;font-weight:500;margin:2.75rem 0 .75rem;letter-spacing:.04em}article .body h3{font-family:var(--serif);font-size:1.05rem;font-weight:500;margin:1.75rem 0 .5rem}article .body a{border-bottom:1px solid var(--line)}article .body a:hover{border-bottom-color:var(--navy)}article .body blockquote{margin:1.25rem 0;padding:0 0 0 1rem;border-left:2px solid var(--line);color:var(--muted)}article .body table{border-collapse:collapse;width:100%;font-size:.9rem;margin:1rem 0}article .body th,article .body td{border-top:1px solid var(--line);padding:.7rem .5rem;text-align:left;vertical-align:top}article .body th{color:var(--navy);font-weight:500;font-size:.74rem;letter-spacing:.12em}article .body tr:last-child td{border-bottom:1px solid var(--line)}article .body details{border-top:1px solid var(--line);padding:.9rem 0}article .body details:last-of-type{border-bottom:1px solid var(--line)}article .body summary{cursor:pointer;font-family:var(--serif);font-size:1rem;line-height:1.7;list-style:none;position:relative;padding-right:1.5rem}article .body summary::-webkit-details-marker{display:none}article .body summary:after{content:"+";position:absolute;right:0;top:0;color:var(--muted);font-family:var(--sans)}article .body details[open] summary:after{content:"−"}article .body details>div{margin-top:.5rem;font-size:.93rem;color:#333}article .body .ref,article .body .refs{color:var(--muted);font-size:.82rem}article .body .refs{padding-left:1.2rem}.cta{display:inline-block;border:1px solid var(--fg);padding:.55rem 1.25rem;font-size:.84rem;letter-spacing:.08em;margin-top:1.25rem}.cta:hover{background:var(--fg);color:#fff}.profile .top{display:grid;grid-template-columns:1fr 10rem;gap:2.5rem;align-items:end}.profile .name{font-family:var(--serif);font-size:2.5rem;font-weight:500;letter-spacing:.1em;line-height:1.3;margin:1.25rem 0 .25rem}.profile .romaji{color:var(--muted);font-size:.78rem;letter-spacing:.16em}.profile .photo{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:3px}.profile .title{font-size:.92rem;font-weight:600;letter-spacing:.04em}.profile .title span{color:var(--muted);font-weight:400;margin:0 .6rem}.profile .intro{font-size:.97rem;margin:1.25rem 0 0}.profile .eyebrow{margin:3rem 0 .75rem}.strengths{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem;margin:0;padding:0;list-style:none}.strengths li{border-top:1px solid var(--line);padding:1.25rem 0}.strengths h3{font-family:var(--serif);font-size:1.05rem;font-weight:500;margin:0 0 .5rem;letter-spacing:.03em}.strengths p{margin:0;font-size:.9rem;color:#444}.box{border:1px solid var(--line);padding:1.25rem 1.5rem;font-size:.93rem}.box p{margin:0 0 1rem}.box dl{margin:0;padding-top:.9rem;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:.5rem 2rem}.box dl div{display:flex;gap:.6rem}.box dt{color:var(--navy);font-weight:600;font-size:.85rem}.box dd{margin:0;font-size:.9rem}.office{list-style:none;padding:0;margin:0}.office li{display:grid;grid-template-columns:12rem 1fr;gap:1rem;border-top:1px solid var(--line);padding:.9rem 0;font-size:.92rem}.office li:last-child{border-bottom:1px solid var(--line)}.office b{font-weight:600}footer.site{border-top:1px solid var(--fg);padding:2rem 0 3rem;font-size:.78rem;color:var(--muted);display:grid;grid-template-columns:1fr auto;gap:1rem 2rem}footer.site .fbrand{font-family:var(--serif);color:var(--fg);font-size:1rem;letter-spacing:.18em;margin-bottom:.5rem}footer.site p{margin:.25rem 0}footer.site nav{display:flex;flex-direction:column;gap:.35rem;text-align:right}footer.site nav a:hover{color:var(--fg)}@media(max-width:640px){html{font-size:15.5px}.wrap{padding:0 1.15rem}header.site{padding-top:1.6rem;grid-template-columns:1fr;grid-template-areas:"langs" "brand" "nav";row-gap:.9rem}nav.langs{justify-content:flex-end}nav.main{gap:.35rem 1.15rem}.hero{grid-template-columns:1fr;gap:1.5rem}.hero .photo{width:6rem;order:-1;margin-top:0}.hero h1{font-size:1.55rem}.list li a{grid-template-columns:1fr;gap:.15rem}.profile .top{grid-template-columns:1fr;gap:1.25rem}.profile .photo{width:8.5rem}.profile .name{font-size:2rem}.strengths{grid-template-columns:1fr}.office li{grid-template-columns:1fr;gap:.1rem}footer.site{grid-template-columns:1fr}footer.site nav{text-align:left}}.more-q{margin-top:2rem;font-size:.9rem}.more-q a{border-bottom:1px solid var(--fg);padding-bottom:.1rem}.rform{margin-top:1.75rem}section.rform{border-top:1px solid var(--fg);padding-top:1.25rem}article .body .rform h2,.rform h2{font-family:var(--serif);font-size:1.2rem;font-weight:500;margin:.35rem 0 1rem;letter-spacing:.04em}.rform form{max-width:34rem}.rform .fld{display:block;margin:0 0 1.1rem}.rform .lbl{display:block;font-size:.8rem;letter-spacing:.06em;margin-bottom:.35rem}.rform .lbl b,.rform .lbl i{font-style:normal;font-weight:500;font-size:.66rem;letter-spacing:.08em;margin-left:.5rem;padding:.05rem .4rem;vertical-align:1px}.rform .lbl b{color:#fff;background:var(--navy)}.rform .lbl i{color:var(--muted);border:1px solid var(--line)}.rform input[type=email],.rform input[type=text],.rform select,.rform textarea{width:100%;font:inherit;font-size:16px;color:var(--fg);background:#fff;border:1px solid #bdbdbd;border-radius:0;padding:.6rem .7rem;line-height:1.6;-webkit-appearance:none;appearance:none}.rform select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b6b6b'/%3E%3C/svg%3E") no-repeat right .8rem center;padding-right:2rem}.rform input:focus,.rform select:focus,.rform textarea:focus{outline:2px solid var(--navy);outline-offset:-1px;border-color:var(--navy)}.rform textarea{resize:vertical;min-height:7rem}.rform .row2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.rform .terms{list-style:none;padding:.8rem 1rem;margin:0 0 1rem;background:var(--soft);font-size:.84rem;color:#444}.rform .terms li{padding-left:1em;text-indent:-1em}.rform .terms li:before{content:"・"}.rform .chk{display:flex;gap:.55rem;align-items:flex-start;font-size:.9rem;line-height:1.6;margin:0 0 1.2rem;cursor:pointer}.rform .chk input{width:1.15rem;height:1.15rem;margin:.2rem 0 0;flex:none;accent-color:var(--navy)}.rform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.rform .btn,.rpage .btn{display:inline-block;font:inherit;font-size:.9rem;letter-spacing:.1em;background:var(--fg);color:#fff;border:0;padding:.8rem 2rem;cursor:pointer}.rform .btn:hover{background:var(--navy)}.rform .btn:disabled{opacity:.5;cursor:wait}.rform .msg{color:var(--accent);font-size:.86rem;min-height:1.2em;margin:.6rem 0 0}.rform .msg a{border-bottom:1px solid currentColor}.rform .small,.rpage .small{color:var(--muted);font-size:.78rem;line-height:1.7}.rform .done,.rpage .done{border:1px solid var(--fg);padding:1.1rem 1.25rem;max-width:34rem}.big{font-family:var(--serif);font-size:1.15rem;margin:0 0 .4rem}.rpage .examples{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;margin:1.5rem 0}.rpage .examples ul{margin:.5rem 0 .4rem;padding-left:1.2rem}.rpage .examples li{font-family:var(--serif);margin:.25rem 0}.rpage .links .cta{margin-right:.75rem}.match .filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin:1.75rem 0 1rem}.match .chips{display:flex;flex-wrap:wrap;gap:.4rem}.match .chips button{font:inherit;font-size:.8rem;letter-spacing:.04em;background:#fff;color:var(--fg);border:1px solid var(--line);padding:.3rem .8rem;cursor:pointer}.match .chips button.on{background:var(--navy);border-color:var(--navy);color:#fff}.match .area{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.5rem}.match .area select{font:inherit;font-size:16px;border:1px solid var(--line);background:#fff;padding:.25rem .5rem}.match .cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}.match .card{border-top:1px solid var(--fg);padding:1rem 0 1.5rem;display:flex;flex-direction:column}.match .card[hidden]{display:none}.match .card .top{display:flex;gap:.5rem;align-items:center}.match .card .ma{font-size:.7rem;letter-spacing:.08em;color:var(--navy);border:1px solid var(--navy);padding:.05rem .5rem}.match .card .kind{font-size:.7rem;letter-spacing:.12em;color:#fff;background:var(--navy);padding:.1rem .55rem}.match .card .st,.match .card .stale{font-size:.7rem;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);padding:.05rem .5rem}.match .card .stale{color:var(--accent);border-color:var(--accent)}.match .card h2{font-family:var(--serif);font-size:1.08rem;font-weight:500;line-height:1.6;margin:.6rem 0 .5rem}.match .card dl{display:flex;flex-wrap:wrap;gap:.1rem 1.1rem;margin:0 0 .5rem;font-size:.78rem}.match .card dl div{display:flex;gap:.4rem}.match .card dt{color:var(--navy)}.match .card dd{margin:0}.match .card .desc{font-size:.9rem;color:#333}.match .card .desc p{margin:0 0 .5rem}.match .card .memo{font-size:.76rem;color:var(--muted);margin:0 0 .75rem}.match .card .interest{margin-top:auto;align-self:flex-start;font:inherit;font-size:.82rem;letter-spacing:.08em;background:#fff;color:var(--fg);border:1px solid var(--fg);padding:.45rem 1.2rem;cursor:pointer}.match .card .interest:hover{background:var(--fg);color:#fff}.match .card.closed{opacity:.55}.match .empty{color:var(--muted);font-size:.9rem}.match .notes{margin-top:2.5rem;border-top:1px solid var(--fg);padding-top:1rem;font-size:.86rem;color:#444}.match .notes ul{padding-left:1.2rem;margin:.5rem 0 0}.match .notes li{margin:.3rem 0}.rdialog{border:1px solid var(--fg);padding:1.25rem 1.5rem;width:min(32rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto}.rdialog::backdrop{background:#00000059}.rdialog .rform,.rdialog form.rform{margin:0}.rdialog h2{font-family:var(--serif);font-size:1.15rem;font-weight:500;margin:.3rem 0 .2rem}.rdialog .case{font-size:.88rem;color:var(--muted);margin:0 0 1rem}.rdialog .acts{display:flex;align-items:center;gap:1.25rem}.txtbtn{font:inherit;font-size:.85rem;background:none;border:0;border-bottom:1px solid var(--line);color:var(--muted);padding:0;cursor:pointer}@media(max-width:640px){.rform .row2,.match .cards{grid-template-columns:1fr}.match .filters{flex-direction:column;align-items:flex-start}}
