body:has(#member-main){margin:0;background:#f4eee2;color:#302a22;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.8}.member-header,.member-footer{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem max(20px,calc((100vw - 1120px)/2));border-bottom:1px solid #cbbfac}.member-header a,.member-footer a,.member-related a,#member-main>a,.member-card a,.member-directory-entry a,.member-detail-link{display:inline-flex;align-items:center;min-height:44px;color:#302a22;padding:.6rem .8rem;text-decoration:underline;text-underline-offset:.25rem}.member-header a:first-child{letter-spacing:.12em;font-weight:600}.member-skip{position:absolute;left:1rem;top:-4rem;background:#fffaf2;color:#302a22;padding:1rem;z-index:5}.member-skip:focus{top:1rem}#member-main{max-width:1120px;margin:0 auto;padding:2rem 24px}#member-main h1,#member-main h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600}.member-profile-heading{display:grid;grid-template-columns:minmax(180px,35%) 1fr;gap:3rem;align-items:center}.member-portrait{box-sizing:border-box;display:block;width:100%;height:auto;aspect-ratio:5/6;object-fit:contain;background:white;border-radius:8px}.member-type{font-size:.85rem;letter-spacing:.08em;color:#655d50}.member-role{font-size:1.2rem}.member-lead,.member-body{max-width:720px;line-height:2}.member-note{font-size:.85rem;color:#655d50}.member-related{display:grid;gap:.5rem;border-top:1px solid #cbbfac;padding:1rem 0;margin:2rem 0}.member-controls{display:flex;flex-wrap:wrap;gap:1rem}.member-controls label{display:grid;gap:.4rem}.member-controls input,.member-controls select{box-sizing:border-box;min-height:44px;padding:.7rem;border:1px solid #756b5c;border-radius:6px;background:white;color:#302a22;font:inherit}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.member-card{background:#fffaf2;border:1px solid #cbbfac;border-radius:10px;padding:1rem}.member-card h2{margin:.4rem 0}.member-card p{margin:.5rem 0}.member-detail-link{margin-top:.4rem}.member-directory-entry{margin:1rem 0}#member-main :focus-visible,.member-header :focus-visible,.member-footer :focus-visible{outline:3px solid #896d28;outline-offset:3px}@media(max-width:700px){.member-profile-heading{grid-template-columns:1fr;gap:1.5rem}.member-profile-heading>.member-portrait{max-width:340px;margin:auto}.member-grid{grid-template-columns:1fr}.member-controls label{width:100%}.member-controls input,.member-controls select{width:100%}.member-header,.member-footer{padding:1rem 20px}#member-main{padding:1.5rem 20px}}

/* Compact AI cards in the directory; individual profile portraits stay unchanged. */
.member-grid .member-card[data-member-type="ai_character"] .member-portrait{max-width:140px;margin-inline:auto}.member-grid .member-card[data-member-type="ai_character"] h2{font-size:1.15rem}.member-grid .member-card[data-member-type="ai_character"] p{font-size:.85rem}

/* Portrait, story and town links follow the same quiet editorial rhythm. */
#member-main{color:#20372b;padding-top:64px;padding-bottom:72px}
#member-main .member-profile-heading{gap:64px;grid-template-columns:minmax(240px,38%) minmax(0,1fr);padding-bottom:48px;border-bottom:1px solid #c1a876}
#member-main .member-profile-heading .member-portrait{background:#e5decb;border-radius:0}
#member-main h1{font-size:clamp(30px,4vw,46px);line-height:1.5;margin:12px 0 18px}
#member-main .member-profile-heading h2{font-size:24px;line-height:1.8;margin:24px 0 16px}
#member-main .member-role{font-size:14px;line-height:1.9;color:#5e685b}
#member-main .member-lead{font-size:16px;line-height:2.1}
#member-main .member-profile-content{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:72px;margin-top:48px}
#member-main .member-body{font-size:16px;line-height:2.15;margin:0 0 28px}
#member-main .member-question{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:22px;line-height:1.9;margin-top:40px;padding-top:24px;border-top:1px solid #c1a876}
#member-main .member-aside .member-related{margin:0 0 32px;padding-top:20px;border-color:#c1a876}
#member-main .member-related h2{font-size:17px;line-height:1.8;margin:0 0 12px}
#member-main .member-related a,#member-main .member-back a,#member-main .member-card a{border:0;border-bottom:1px solid #c1a87666;border-radius:0;box-shadow:none;background:transparent;color:#20372b;padding:10px 0;min-height:44px;font-size:13px;text-decoration:none;line-height:1.9}
#member-main .member-related a:hover,#member-main .member-back a:hover,#member-main .member-card a:hover{background:#e5decb}
#member-main .member-back{display:flex;gap:32px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid #c1a876}
#member-main .portrait-review-note{font-size:11px;line-height:1.9;color:#725d35;margin-top:20px}
#member-main .member-card{border:0;border-top:1px solid #c1a876;border-radius:0;box-shadow:none;background:transparent;padding:20px 0}
#member-main .member-card .member-portrait{border-radius:0;background:#e5decb}
#member-main .member-grid{gap:40px 28px;margin-top:36px}#member-main .member-card h2{font-size:24px;margin:20px 0 12px}#member-main .member-card p{font-size:14px;line-height:2}
@media(max-width:700px){#member-main{padding:32px 24px 48px}#member-main .member-profile-heading{grid-template-columns:1fr;gap:28px;padding-bottom:32px}#member-main .member-profile-heading .member-portrait{width:100%;max-width:320px}#member-main .member-profile-heading h2{font-size:22px}#member-main .member-profile-content{grid-template-columns:1fr;gap:36px;margin-top:32px}#member-main .member-body{font-size:15px}#member-main .member-back{gap:16px;margin-top:24px}#member-main .member-question{font-size:20px}}

/* Existing Maho portrait only: align face/shoulder scale; source unchanged. */
#member-main[data-member-id="maho"] .member-profile-heading .member-portrait{padding:clamp(18px,3vw,28px)}
#member-main .member-card[data-member-id="maho"] .member-portrait{padding:12px}
