/* Kurumi palette: ink, oxblood, antique gold. */
:root { --ink:#242027; --muted:#756e74; --wine:#842b41; --gold:#ae8950; --line:#e8dfe1; --paper:#fff; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { margin:0; color:var(--ink); font:15px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; background:#f4f1f2; background-image:radial-gradient(ellipse at 5% 10%,#eee4e6,transparent 48%); min-height:100vh; }
body:before { display:none; }
* { box-sizing:border-box; }
a { color:var(--wine); }
a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.site-header { position:sticky; top:0; z-index:30; background:rgba(33,28,32,.98); border-bottom:2px solid #9a7742; box-shadow:0 3px 20px #211c2010; }
.site-navigation { max-width:1160px; margin:auto; padding:0 24px; display:flex; align-items:center; gap:40px; min-height:66px; }
.site-brand { color:#fff8ee; font-weight:750; font-size:20px; white-space:nowrap; text-decoration:none; letter-spacing:-.5px; }
.site-brand span { color:#caa465; }
.site-links { display:flex; gap:25px; overflow-x:auto; scrollbar-width:thin; }
.site-links a { color:#d8d0d5; font-size:12px; font-weight:600; white-space:nowrap; text-decoration:none; padding:21px 0 18px; border-bottom:2px solid transparent; }
.site-links a:hover,.site-links a:focus-visible { color:#ecd5aa; border-bottom-color:var(--gold); }
#main { display:grid; grid-template-columns:264px minmax(0,1fr); gap:28px; max-width:1160px; margin:28px auto 48px; padding:0 24px; animation:none; }
#main:after,#main:before { display:none; }
#main .sidebar { width:auto; float:none; padding:0; margin:0; position:sticky; top:96px; align-self:start; transform:none; }
#main .page { width:auto; float:none; padding:0; min-width:0; }
#main .page .page__inner-wrap,#main .page .page__content { float:none; width:100%; padding:0; background:none; border:0; box-shadow:none; }
.profile-card { padding:27px 23px 20px; border:1px solid #45343b; border-radius:16px; background:linear-gradient(155deg,#2c242a,#1d1a1f 65%); color:#e9e0e3; box-shadow:0 8px 24px #271b2410; text-align:center; }
.portrait-ring { width:156px; height:156px; margin:0 auto 18px; padding:6px; border:1px solid #a5824d; border-radius:50%; position:relative; }
.portrait-ring:after { content:""; position:absolute; inset:-5px; border:1px dashed #b2905d60; border-radius:50%; pointer-events:none; }
.portrait-ring img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.sidebar .profile-name { color:#fff7ee; font-size:25px; line-height:1.25; letter-spacing:-.7px; margin:0 0 8px; }
.sidebar .profile-role { font-size:13px; margin:0 0 9px; color:#d4c9ce; }
.profile-role span { color:#dbb982; }
.sidebar .profile-location { color:#bfb3bc; font-size:12px; margin:0 0 21px; }
.profile-location i { color:#c49b5a; margin-right:6px; }
.profile-links { display:grid; gap:7px; text-align:left; }
.profile-links a { display:flex; align-items:center; gap:10px; padding:6px 11px; color:#e6dfe2; text-decoration:none; border:1px solid #4c3b44; background:#ffffff04; border-radius:7px; font-size:12px; }
.profile-links a:hover { background:#71304355; border-color:#ac8251; color:#fff; }
.profile-links i { color:#c4a06c; width:16px; text-align:center; }
.profile-links a span { margin-left:auto; color:#927d87; }
.profile-research { text-align:left; margin-top:23px; padding-top:18px; border-top:1px solid #4a3941; }
.sidebar .profile-research h2 { font-size:10px; text-transform:uppercase; letter-spacing:1.4px; font-weight:600; color:#bca88e; margin:0 0 12px; }
.research-tags { display:flex; flex-wrap:wrap; gap:7px; }
.research-tags span { padding:3px 7px; background:#91415a20; border:1px solid #67404f; border-radius:5px; color:#e5c4ce; font-size:10px; line-height:1.5; }
.sidebar .profile-motto { text-align:left; font-size:11px; color:#bcb0b7; margin:21px 0 16px; line-height:1.7; }
.profile-signature { display:flex; gap:8px; align-items:center; color:#bc9a65; font-size:10px; border-top:1px solid #4a3941; padding-top:14px; text-align:left; }
.content-card { background:var(--paper); border:1px solid var(--line); border-radius:13px; margin:0 0 18px; box-shadow:0 3px 12px #40203004; overflow:hidden; scroll-margin-top:88px; }
.about-card { padding:28px 30px 25px; border-top:3px solid var(--wine); }
.section-eyebrow { display:flex; align-items:center; gap:9px; color:#9a7a4b; font-size:9px; font-weight:650; letter-spacing:2px; margin:0 0 9px; }
.eyebrow-line { display:inline-block; width:24px; height:1px; background:var(--gold); }
.page__content .about-title { font-size:29px; font-weight:750; line-height:1.25; margin:0 0 21px; color:var(--ink); letter-spacing:-.8px; }
.title-period { color:var(--wine); }
.page__content p { font-size:14px; margin:0 0 13px; line-height:1.8; }
.page__content strong { font-weight:650; }
.accent { color:var(--wine); }
.personal-interests { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-top:20px; padding-top:16px; border-top:1px solid #f0e9ea; font-size:11px; }
.personal-interests__label { color:var(--muted); margin-right:4px; }
.interest { display:inline-flex; align-items:center; gap:6px; padding:3px 9px; border-radius:5px; background:#f6f2ed; border:1px solid #eaddc8; color:#755d3f; }
.interest--kurumi { color:#87354a; border-color:#e7c9d1; background:#fbf0f3; }
.interest__series { color:#886d75; }
.page__content .card-title { font-size:12px; text-transform:uppercase; letter-spacing:1.1px; margin:0; padding:13px 21px; border-bottom:1px solid var(--line); color:#3a2a33; line-height:1.5; }
.card-title i { color:var(--wine); margin-right:8px; width:15px; text-align:center; }
.timeline-row { display:grid; grid-template-columns:86px minmax(0,1fr); gap:16px; padding:18px 21px; }
.timeline-row time { color:#95784e; font-size:11px; font-weight:600; padding-top:3px; }
.page__content .timeline-row p { margin:0; font-size:13px; }
.entry-label { color:var(--wine); font-size:10px; padding:2px 6px; border:1px solid #edd9df; border-radius:4px; margin-right:6px; }
.entry-detail { display:block; font-size:12px; color:var(--muted); }
.page__content .empty-note { color:var(--muted); font-size:12px; margin:0; padding:17px 21px; }
.education-entry { display:flex; gap:17px; padding:22px; align-items:start; }
.education-entry + .education-entry { border-top:1px solid #f0e9ea; }
.school-emblem { display:block; flex:0 0 56px; width:56px; height:56px; object-fit:contain; background:#fff; border-radius:50%; }
.education-copy { min-width:0; }
.page__content .education-copy h3 { margin:0 0 5px; font-size:15px; color:#342631; line-height:1.4; }
.page__content .education-copy p { font-size:12px; margin:0; line-height:1.7; color:#756e74; }
.education-date { font-size:11px; color:#9a7947; display:block; margin-top:6px; }
.page-note { color:#8b7e87; font-size:10px; text-align:center; padding:6px 12px 0; }
.page-note span { color:#b28b51; padding:0 7px; }
h1:before,.anchor:before { display:none; }
.page__content #about-me { margin-top:0; }
.page__content #about-me:before { display:none; }
@media(min-width:1400px) { #main,.site-navigation { max-width:1220px; } }
@media(max-width:960px) { .site-navigation { gap:28px; } .site-links { gap:18px; } #main { grid-template-columns:235px minmax(0,1fr); gap:20px; } .profile-card { padding:24px 17px 18px; } .about-card { padding:24px; } }
@media(max-width:760px) { .site-navigation { padding:12px 18px 0; display:block; } .site-brand { font-size:19px; } .site-links { gap:23px; } .site-links a { padding:10px 0; } #main { display:block; padding:0 16px; margin-top:20px; } #main .sidebar { position:static; margin-bottom:20px; } .profile-card { display:grid; grid-template-columns:98px minmax(0,1fr); column-gap:20px; text-align:left; padding:23px; } .portrait-ring { grid-column:1; grid-row:1/5; width:92px; height:92px; padding:4px; margin:0; } .sidebar .profile-name { font-size:24px; margin:0 0 5px; } .sidebar .profile-role,.sidebar .profile-location { margin:0 0 5px; } .profile-links { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; margin-top:17px; } .profile-links a { font-size:11px; padding:5px 9px; } .profile-links a span { display:none; } .profile-research { grid-column:1/-1; margin-top:18px; padding-top:15px; } .sidebar .profile-research h2 { font-size:9px; margin-bottom:9px; } .profile-motto,.profile-signature { display:none; } .about-card { padding:23px; } .page__content .about-title { font-size:27px; } .personal-interests__label { flex-basis:100%; } .content-card { scroll-margin-top:112px; } .timeline-row { grid-template-columns:70px minmax(0,1fr); gap:10px; padding:17px; } .education-entry { padding:18px; gap:13px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .site-header,.profile-signature { display:none; } body { background:#fff; } #main { display:block; padding:0; } #main .sidebar { position:static; } .profile-card { background:#fff; color:#222; } .content-card { break-inside:avoid; box-shadow:none; } }
