/* Personal introduction and a separate game library; shared gallery primitives. */
.apple-edition #chapter-about { --career-icon-size:clamp(80px,11svh,132px); display:flex; flex-direction:column; justify-content:center; gap:38px; padding:90px clamp(28px,5vw,96px) 50px; min-height:100svh; background:radial-gradient(ellipse at 15% 10%,#e3f0ff,transparent 58%),#fbfdff; color:#1d1d1f; }
.apple-edition #chapter-about > * { width:100%; max-width:1600px; margin-inline:auto; }
.apple-edition .intro-summary { display:flex; flex-direction:column; gap:clamp(28px,4svh,52px); align-items:stretch; }
.apple-edition #chapter-about .intro-title { color:#1689fa; font-size:clamp(52px,6.5vw,96px); line-height:1.1; margin:0 0 18px; letter-spacing:-.045em; }
.apple-edition .intro-heading { display:flex; align-items:center; gap:clamp(20px,3vw,48px); margin-bottom:clamp(24px,3svh,36px); }
.apple-edition #chapter-about .intro-heading .intro-title { margin:0; white-space:nowrap; }
.apple-edition .intro-heading .intro-profiles { display:flex; flex-wrap:nowrap; flex:none; gap:clamp(8px,1.8vw,28px); margin:0; }
.apple-edition .intro-profiles a { position:relative; display:inline-flex; align-items:center; gap:0; color:#506c89; text-decoration:none; font-size:clamp(16px,1.5vw,22px); }
.apple-edition .intro-profiles img { width:26px; height:26px; object-fit:contain; }
.apple-edition .intro-profiles .intro-link-arrow { position:absolute; top:-3px; right:-5px; width:12px; height:12px; color:#8b9db1; pointer-events:none; }
.apple-edition .intro-profiles a:hover { color:#1689fa; }
.apple-edition .intro-profile-portrait { position:relative; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:white; box-shadow:0 3px 12px #315a8514; transition:transform .2s ease; }
.apple-edition .intro-profiles .intro-profile-avatar { width:100%; height:100%; border-radius:50%; object-fit:cover; }
.apple-edition .intro-profiles .intro-profile-badge { position:absolute; right:-4px; bottom:-3px; width:22px; height:22px; padding:3px; border-radius:50%; background:white; }
.apple-edition .intro-profiles .intro-profile-mail img { width:34px; height:34px; }
.apple-edition .intro-profiles a:is(:hover,:focus-visible) .intro-profile-portrait { transform:translateY(-3px); }
.apple-edition .intro-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0; padding:0; list-style:none; }
.apple-edition .intro-timeline li { position:relative; display:flex; flex-direction:column; gap:12px; align-items:center; text-align:center; min-width:0; }
.apple-edition .intro-timeline li+li::before { content:'→'; position:absolute; left:-16px; top:calc(var(--career-icon-size)*.4); color:#b1c4d8; font-size:22px; }
.apple-edition .intro-career-pair { position:relative; width:var(--career-icon-size); height:var(--career-icon-size); }
.apple-edition .intro-career-icon { width:var(--career-icon-size); height:var(--career-icon-size); border-radius:22%; background:white; display:grid; place-items:center; overflow:hidden; box-shadow:0 5px 20px #244c7810; }
.apple-edition .intro-career-pair .intro-career-icon { position:absolute; inset:0; animation:intro-icon-crossfade 6s linear infinite paused; }
.apple-edition .intro-career-pair .intro-career-icon:nth-child(2) { animation-delay:-3s; }
.apple-edition .intro-career-pair[data-cycle-active="true"] .intro-career-icon { animation-play-state:running; }
.apple-edition.motion-off .intro-career-pair .intro-career-icon { animation-play-state:paused; }
@keyframes intro-icon-crossfade { 0%,42%,100% { opacity:1; } 50%,92% { opacity:0; } }
.apple-edition .intro-career-icon img { width:85%; height:85%; object-fit:contain; }
/* Normalize the centered seal rings to 85% of the tile; source padding differs. */
.apple-edition .intro-career-icon img.intro-seal-thu { width:92.10%; height:auto; }
.apple-edition .intro-career-icon img.intro-seal-cs { width:85.93%; height:auto; }
.apple-edition .intro-game-career img { width:100%; height:100%; object-fit:cover; }
.apple-edition .intro-career-label { font-size:clamp(16px,1.3vw,22px); line-height:1.45; font-weight:650; }
.apple-edition .intro-career-label small { display:block; margin-top:3px; color:#8290a1; font-size:12px; font-weight:450; }
.apple-edition .intro-label { margin:0 0 12px; color:#69829c; font-size:16px; line-height:1.3; font-weight:550; }
.apple-edition .intro-project-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.apple-edition .intro-project { display:flex; flex-direction:column; aspect-ratio:1.08; padding:0; border-radius:24px; overflow:hidden; min-width:0; background:#fff; box-shadow:0 6px 28px #315a8510; }
.apple-edition .intro-hoshino-visual,.apple-edition .intro-vr-previews { width:100%; flex:1; min-height:0; min-width:0; }
.apple-edition .intro-hoshino-visual { display:flex; align-items:center; justify-content:center; gap:clamp(16px,2.4vw,38px); background:linear-gradient(120deg,#edf5ff,#f7faff 75%,#fff7df); }
.apple-edition .intro-hoshino-visual .hoshino-avatar { width:clamp(90px,11svh,138px); height:clamp(90px,11svh,138px); border-radius:50%; object-fit:cover; object-position:center 22%; border:4px solid white; box-shadow:0 5px 20px #45628b18; }
.apple-edition .intro-hoshino-heart { color:#ee8ca1; font-size:clamp(24px,3vw,44px); }
.apple-edition .intro-hoshino-games { display:flex; align-items:center; }
.apple-edition .intro-hoshino-games img { width:clamp(70px,9svh,108px); height:clamp(70px,9svh,108px); object-fit:cover; border:3px solid #fff; border-radius:23%; box-shadow:0 5px 20px #45628b15; background:#fff; }
.apple-edition .intro-hoshino-games img { position:relative; z-index:2; }
.apple-edition .intro-hoshino-games img+img { z-index:1; margin-left:-14px; object-fit:contain; padding:6px; transform:translateY(9px) scale(1.12); }
.apple-edition .intro-vr-previews { display:grid; grid-template-columns:1fr; grid-template-rows:repeat(2,minmax(0,1fr)); gap:4px; background:#e9f1f9; }
.apple-edition .intro-vr-preview { position:relative; display:grid; place-items:center; min-width:0; min-height:0; overflow:hidden; background:#07121d; }
.apple-edition .intro-vr-previews img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.apple-edition .intro-project-body { width:100%; min-width:0; flex-shrink:0; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 24px; }
.apple-edition .intro-project-body h3 { font-size:clamp(20px,1.9vw,30px); line-height:1.25; margin:0; }
.apple-edition .intro-project-body p { margin:6px 0 0; color:#7d8c9f; font-size:12px; }
.apple-edition .intro-stars { display:inline-flex; align-items:center; gap:5px; color:#9a7925; font-size:12px; margin-top:7px; }
.apple-edition .intro-stars svg { width:13px; height:13px; fill:currentColor; }
.apple-edition .intro-stars-date { display:none; }
.apple-edition .intro-project-links { display:flex; gap:8px; flex:none; }
.apple-edition .intro-external { display:flex; align-items:center; gap:4px; color:#67819c; padding:5px; text-decoration:none; }
.apple-edition .intro-external img,.apple-edition .intro-external .intro-link-brand { width:21px; height:21px; object-fit:contain; }
.apple-edition .intro-external .intro-link-arrow { width:10px; height:10px; }
/* Four compact rails share one desktop screen; labels live over the art. */
.apple-edition #played-games { min-width:0; padding:64px clamp(24px,4vw,76px) 20px; background:linear-gradient(160deg,#fff,#f2f8ff); }
.apple-edition #played-games > * { width:100%; max-width:1600px; margin-inline:auto; }
.apple-edition #played-games>.section-title { margin:0 auto 10px; font-size:clamp(36px,4.4svh,62px); line-height:1.14; }
.apple-edition .intro-library-row { display:grid; grid-template-columns:112px minmax(0,1fr); align-items:center; gap:18px; }
.apple-edition .intro-library-row h4 { font-size:13px; font-weight:500; color:#8a9aab; line-height:1.65; margin:0; }
.apple-edition .intro-library-row+.intro-library-row { margin-top:10px; }
.apple-edition .intro-library-icons { --game-icon-size:clamp(56px,6.8svh,82px); }
.apple-edition .intro-library-two-row .game-marquee-set { display:grid; grid-template-rows:repeat(2,auto); grid-auto-flow:column; grid-auto-columns:var(--game-icon-size); row-gap:8px; }
.apple-edition .intro-library-pc { --game-icon-size:clamp(64px,8svh,98px); }
.apple-edition .intro-library-covers { --game-cover-height:clamp(112px,15.5svh,200px); }
.apple-edition #played-games .game-marquee { padding:5px 0; }
.apple-edition #played-games .game-marquee-set { column-gap:12px; padding-right:12px; }
.apple-edition #played-games .intro-game figcaption { font-size:11px; }
@media(orientation:portrait) {
  .apple-edition #played-games { padding-block:80px 45px; }
  .apple-edition #played-games>.section-title { margin-bottom:24px; font-size:clamp(34px,6vw,60px); }
  .apple-edition .intro-library-row { display:block; }
  .apple-edition .intro-library-row h4 { margin-bottom:6px; }
  .apple-edition .intro-library-row+.intro-library-row { margin-top:20px; }
  .apple-edition .intro-library-icons { --game-icon-size:clamp(64px,10vw,92px); }
  .apple-edition .intro-library-pc { --game-icon-size:clamp(70px,11vw,100px); }
  .apple-edition .intro-library-covers { --game-cover-height:clamp(150px,22vw,230px); }
}
@media(max-width:1100px) { .apple-edition .intro-project-links { gap:1px; }.apple-edition .intro-external { padding:3px; }.apple-edition .intro-hoshino-visual { gap:16px; } }
@media(max-width:800px) { .apple-edition #chapter-about { --career-icon-size:clamp(52px,15vw,92px); padding:80px 22px 45px; gap:25px; }.apple-edition .intro-summary { gap:30px; }.apple-edition .intro-title { text-align:center; }.apple-edition .intro-profiles { justify-content:center; gap:24px; margin-bottom:30px; }.apple-edition .intro-profiles a { font-size:15px; gap:7px; }.apple-edition .intro-profiles img { width:22px; height:22px; }.apple-edition .intro-timeline { gap:12px; }.apple-edition .intro-timeline li { gap:10px; }.apple-edition .intro-timeline li+li::before { left:-13px; font-size:15px; }.apple-edition .intro-career-label { font-size:13px; }.apple-edition .intro-career-label small { font-size:10px; }.apple-edition .intro-project-grid { gap:14px; }.apple-edition .intro-project-body { flex-wrap:wrap; gap:6px; padding:14px; }.apple-edition .intro-project-body h3 { font-size:21px; }.apple-edition .intro-project-body p { font-size:11px; }.apple-edition .intro-external img,.apple-edition .intro-external .intro-link-brand { width:20px; height:20px; }.apple-edition .intro-label { font-size:14px; }.apple-edition .intro-hoshino-visual { gap:10px; }.apple-edition .intro-hoshino-visual .hoshino-avatar { width:64px; height:64px; }.apple-edition .intro-hoshino-games img { width:50px; height:50px; }.apple-edition .intro-hoshino-heart { font-size:22px; } }
@media(max-width:560px) { .apple-edition .intro-project-grid { grid-template-columns:1fr; }.apple-edition .intro-hoshino-visual .hoshino-avatar { width:94px; height:94px; }.apple-edition .intro-hoshino-games img { width:76px; height:76px; }.apple-edition .intro-hoshino-visual { gap:23px; } }
@media(max-width:800px) {
  .apple-edition .intro-heading { gap:clamp(10px,2.4vw,24px); justify-content:space-between; }
  .apple-edition #chapter-about .intro-heading .intro-title { font-size:clamp(26px,6vw,48px); text-align:left; }
  .apple-edition .intro-heading .intro-profiles a { gap:4px; }
  .apple-edition .intro-heading .intro-profile-portrait { width:clamp(32px,7vw,44px); height:clamp(32px,7vw,44px); }
  .apple-edition .intro-heading .intro-profiles .intro-profile-badge { width:18px; height:18px; padding:2px; }
  .apple-edition .intro-heading .intro-profiles .intro-link-arrow { width:10px; height:10px; }
  .apple-edition .intro-heading .intro-profile-mail img { width:26px; height:26px; }
}
@media(prefers-reduced-motion:reduce) { .apple-edition .intro-career-pair .intro-career-icon { animation:none; }.apple-edition .intro-career-pair .intro-career-icon:nth-child(2) { opacity:0; } }
