/* Personal background — original Oceanbase typography and monochrome rhythm. */
.portfolio-about{padding-top:140px;padding-bottom:140px}
.profile-heading{text-align:center;margin-bottom:88px}

.profile-layout{display:grid;grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr);gap:64px}
.profile-identity{border-right:1px dashed #e2e2e2;padding-right:40px}

.profile-identity h3{font-size:40px;line-height:1.25;font-weight:600;letter-spacing:-.04em;margin:0 0 24px}
.profile-contact{display:grid;gap:12px;font-size:14px;line-height:1.5}
.profile-contact a{color:#111;text-decoration:none;overflow-wrap:anywhere}
.profile-contact a:hover{text-decoration:underline;text-underline-offset:4px}
.profile-contact span{display:inline-block;min-width:54px;color:#737373}
.profile-skills{margin-top:48px}
.profile-skills p{font-size:15px;line-height:1.9;color:#737373;margin:20px 0 0}
.profile-history{min-width:0}
.history-group+.history-group{margin-top:44px}
.history-heading{display:flex;align-items:baseline;gap:26px;margin-bottom:22px}
.history-heading .tag{font-size:13px;color:#737373;flex-shrink:0}
.history-heading h3{font-size:28px;line-height:1.15;font-weight:600;letter-spacing:-.035em;margin:0}
.history-row{display:grid;grid-template-columns:142px minmax(0,1fr) 80px;gap:20px;align-items:baseline;padding:21px 0;border-top:1px dashed #e2e2e2}
.history-row time{font-family:'Space Mono',monospace;font-size:11px;line-height:1.65;color:#737373;white-space:nowrap}
.history-detail h4{font-size:15px;font-weight:500;line-height:1.65;letter-spacing:0;margin:0}
.history-detail p{font-size:12px;line-height:1.8;color:#737373;margin:6px 0 0}
.history-role{font-size:12px;line-height:1.7;color:#737373;text-align:right;white-space:nowrap}
.intern-label{display:inline-block;border:1px solid #dedede;padding:0 5px;font-size:10px;color:#737373;font-weight:400;margin-left:6px;vertical-align:middle;border-radius:2px}
@media(min-width:1600px){.profile-layout{gap:88px}.history-row{grid-template-columns:160px minmax(0,1fr) 100px}.history-detail h4{font-size:17px}.history-role{font-size:14px}.history-row time{font-size:12px}}
@media(max-width:991px){.portfolio-about{padding:96px 0}.profile-layout{gap:32px;grid-template-columns:minmax(190px,.32fr) minmax(0,.68fr)}.profile-identity{padding-right:24px}.history-row{grid-template-columns:1fr 80px;gap:8px 14px}.history-row time{grid-column:1/-1}.profile-heading{margin-bottom:64px}.history-heading{gap:16px}.history-heading h3{font-size:25px}}
@media(max-width:600px){.portfolio-about{padding:80px 0}.profile-heading{margin-bottom:48px}.profile-layout{grid-template-columns:1fr;gap:48px}.profile-identity{border-right:0;border-bottom:1px dashed #e2e2e2;padding:0 0 36px;display:block}.profile-identity h3{font-size:30px;margin:0 0 20px}.profile-contact{font-size:12px;gap:6px}.profile-contact span{min-width:44px}.profile-skills{grid-column:1/-1;margin-top:20px}.profile-skills p{font-size:14px;margin-top:14px}.history-group+.history-group{margin-top:36px}.history-heading h3{font-size:25px}.history-row{padding:18px 0}.history-detail h4{font-size:14px}.history-role{font-size:11px}.history-detail p{font-size:12px}.profile-contact a{line-height:1.7}}
