/* Personal introduction and a separate game library; shared gallery primitives. */
.apple-edition #chapter-about { --career-icon-size:clamp(64px,9svh,112px); display:flex; flex-direction:column; justify-content:center; 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(24px,3svh,38px); align-items:stretch; }
.apple-edition #intro-statement { align-items:center; background:radial-gradient(ellipse at center,#e7f2ff,#fbfdff 72%); }
.apple-edition #intro-statement .intro-statement-copy { margin:0; text-align:center; font-size:clamp(22px,4.6vw,78px); line-height:1.65; font-weight:400; color:var(--ink); text-shadow:0 2px 3px #173a5a36,0 7px 18px #173a5a1a; }
.apple-edition #intro-statement .intro-statement-copy strong { font-weight:750; color:var(--blue); }
.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-profiles { display:flex; justify-content:center; flex-wrap:nowrap; flex:none; gap:28px; margin:36px 0 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-badge[src$="/x-on-black.svg"] { background:#000; }
.apple-edition .intro-profiles a:is(:hover,:focus-visible) .intro-profile-portrait { transform:translateY(-3px); }
.apple-edition :is(#intro-statement,#closing) .intro-profiles { align-items:center; flex-wrap:wrap; max-width:100%; }
.apple-edition :is(#intro-statement,#closing) .intro-profile-portrait { width:200px; height:200px; }
.apple-edition :is(#intro-statement,#closing) .intro-profile-badge { width:40px; height:40px; right:2%; bottom:2%; }
.apple-edition #closing { height:100svh; min-height:100svh; align-items:center; gap:24px; padding:80px 24px 28px; background:#fbfdff; }
.apple-edition #closing .closing-gamer { display:block; height:min(48svh,520px); width:min(80vw,520px); object-fit:contain; }
.apple-edition #closing .intro-profiles { margin:0; }
.apple-edition #closing .closing-back-to-title { position:absolute; left:50%; bottom:max(28px,env(safe-area-inset-bottom)); transform:translateX(-50%); display:inline-flex; align-items:center; justify-content:center; gap:9px; width:max-content; max-width:calc(100% - 48px); min-height:44px; margin:0; padding:11px 20px; border:1px solid #d7e6f5; border-radius:999px; background:#f1f7fd; color:#3976af; font:550 14px/1.5 var(--font); text-decoration:none; box-shadow:0 3px 12px #315a8508; transition:background .18s,color .18s,border-color .18s; }
.apple-edition #closing .closing-back-to-title svg { width:18px; height:18px; flex:none; }
.apple-edition #closing .closing-back-to-title:hover { background:#e5f1ff; color:#0875cf; border-color:#b8d8f5; }
.apple-edition #closing .closing-back-to-title:focus-visible { outline:3px solid #1689fa; outline-offset:5px; }
.apple-edition .intro-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,180px)); gap:clamp(18px,3vw,48px); width:min(100%,864px); margin:0 auto; 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:calc(clamp(18px,3vw,48px) / -2 - 8px); 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-career-year { display:block; margin-top:6px; color:#657d96; font-size:13px; font-weight:500; font-variant-numeric:tabular-nums; }
.apple-edition .intro-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:1280px; margin-inline:auto; }
.apple-edition .intro-project-hoshino { grid-column:1 / -1; }
.apple-edition .intro-project { display:flex; flex-direction:column; padding:0; border-radius:24px; overflow:hidden; min-height:0; min-width:0; background:#fff; box-shadow:0 6px 28px #315a8510; }
.apple-edition .intro-hoshino-visual,.apple-edition .intro-vr-previews,.apple-edition .intro-render-visual { width:100%; aspect-ratio:569 / 276; flex:none; min-height:0; min-width:0; }
.apple-edition .intro-hoshino-visual { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:linear-gradient(120deg,#edf5ff,#f7faff 60%,#fff1c9); }
.apple-edition .intro-hoshino-identity { display:flex; align-items:center; justify-content:center; gap:clamp(12px,1.4vw,23px); }
.apple-edition .intro-hoshino-visual .hoshino-avatar { width:clamp(64px,6vw,100px); height:clamp(64px,6vw,100px); 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(52px,4.6vw,76px); height:clamp(52px,4.6vw,76px); 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 { position:relative; background:#07121d; }
.apple-edition .intro-vr-preview { position:absolute; inset:0; overflow:hidden; background:#07121d; animation:intro-icon-crossfade 6s linear infinite paused; }
.apple-edition .intro-vr-preview:nth-child(2) { animation-delay:-3s; }
.apple-edition .intro-vr-previews[data-cycle-active="true"] .intro-vr-preview { animation-play-state:running; }
.apple-edition.motion-off .intro-vr-preview { animation-play-state:paused; }
.apple-edition .intro-vr-previews img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.apple-edition .intro-render-visual { display:block; object-fit:cover; }
.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-hoshino .intro-project-body > div:first-child { min-width:0; }
.apple-edition .intro-project-body h3 { font-size:clamp(20px,1.6vw,27px); line-height:1.25; margin:0; }
.apple-edition .intro-project-body p { margin:6px 0 0; color:#7d8c9f; font-size:12px; }
.apple-edition .intro-project-hoshino .intro-project-body p { font-size:clamp(14px,1.1vw,18px); line-height:1.5; }
.apple-edition .intro-stars { display:inline-flex; align-items:center; gap:9px; color:#9a6b0d; text-decoration:none; font-size:clamp(30px,2.8vw,46px); line-height:1; }
.apple-edition .intro-stars strong { font-size:1em; font-weight:750; font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
.apple-edition .intro-stars span { font-size:13px; }
.apple-edition .intro-stars svg { width:1em; height:1em; flex:none; fill:currentColor; }
.apple-edition .intro-project-year { display:inline-block; margin-top:7px; color:#657d96; font-size:12px; }
.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; }
@media(min-width:801px) {
  .apple-edition .intro-project-hoshino { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .apple-edition .intro-project-hoshino .intro-hoshino-visual { aspect-ratio:auto; min-height:clamp(180px,18svh,240px); flex-direction:row; flex-wrap:wrap; gap:clamp(24px,3vw,48px); padding:24px; }
  .apple-edition .intro-project-hoshino .intro-project-body { padding:32px; flex-wrap:wrap; }
  .apple-edition .intro-project-hoshino .intro-project-body h3 { font-size:clamp(30px,3vw,44px); }
  .apple-edition .intro-project-hoshino .intro-stars { flex-wrap:wrap; justify-content:center; max-width:270px; font-size:clamp(40px,4vw,64px); }
  .apple-edition .intro-project-hoshino .intro-stars span { width:100%; text-align:center; }
}
/* 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); }.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:800px) { .apple-edition .intro-project-grid { grid-template-columns:1fr; }.apple-edition .intro-hoshino-visual .hoshino-avatar { width:clamp(64px,18vw,100px); height:clamp(64px,18vw,100px); }.apple-edition .intro-hoshino-games img { width:clamp(52px,14vw,76px); height:clamp(52px,14vw,76px); }.apple-edition .intro-hoshino-visual { gap:12px; }.apple-edition .intro-career-year { font-size:11px; } }
@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; }
}
@media(max-width:800px) {
  .apple-edition #chapter-about { padding:80px 22px 45px; }
}
@media(max-width:600px) {
  .apple-edition .intro-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .apple-edition .intro-timeline li+li::before { display:none; }
  .apple-edition #chapter-about .intro-heading .intro-title { font-size:clamp(36px,9vw,52px); }
  .apple-edition :is(#intro-statement,#closing) .intro-profile-portrait { width:104px; height:104px; }
  .apple-edition :is(#intro-statement,#closing) .intro-profile-badge { width:26px; height:26px; }
  .apple-edition #intro-statement .intro-statement-copy { font-size:clamp(26px,7.2vw,32px); }
  .apple-edition #intro-statement .intro-profile-portrait { width:80px; height:80px; }
  .apple-edition #intro-statement .intro-profile-badge { width:22px; height:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .apple-edition .intro-career-pair .intro-career-icon,.apple-edition .intro-vr-preview { animation:none; }
  .apple-edition .intro-career-pair .intro-career-icon:nth-child(2),.apple-edition .intro-vr-preview:nth-child(2) { opacity:0; }
}
