/* V80 · Public character biographies — immersive, readable, responsive. */
.bio-dialog:has(.gb80-profile){width:min(1210px,calc(100vw - 24px));max-height:min(94dvh,960px);border-radius:clamp(18px,2.7vw,32px);background:#fffbf3}
.bio-dialog:has(.gb80-profile) .bio-stage{grid-template-columns:minmax(0,38%) minmax(0,62%);align-items:start;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-behavior:smooth;background:#fffbf3}
.bio-dialog:has(.gb80-profile) .bio-media{position:sticky;top:0;height:100%;min-height:0;align-self:start;overflow:hidden;background:linear-gradient(145deg,#efca8b,#bf8b8d)}
.bio-dialog:has(.gb80-profile) .bio-media img{position:sticky;top:0;height:min(79dvh,815px);max-height:none;object-fit:cover;object-position:50% 23%;filter:saturate(1.05)}
.bio-dialog:has(.gb80-profile) .bio-content{padding:clamp(22px,4.1vw,58px);justify-content:start;gap:9px;min-width:0}
.bio-dialog:has(.gb80-profile) .bio-content h2{font-size:clamp(33px,4.2vw,57px);letter-spacing:-.035em;line-height:1.08}
.bio-dialog:has(.gb80-profile) .bio-role{font-size:clamp(16px,1.9vw,23px);line-height:1.35;font-style:italic;color:#a4604c;font-weight:600}
.bio-dialog:has(.gb80-profile) .bio-kicker{font-size:11px;letter-spacing:.15em}
.gb80-profile{display:block;width:100%;margin-top:14px;min-width:0}
.gb80-profile p{margin:0 0 15px!important;font-size:clamp(14px,1.3vw,16px)!important;line-height:1.83!important;color:#34465a!important}
.gb80-intro{border-left:4px solid #d69c58;padding:0 0 0 16px;font-weight:700!important;color:#203b51!important;font-size:clamp(15px,1.55vw,17px)!important}
.gb80-story{margin-top:30px}
.gb80-profile h3{font-family:Fredoka,sans-serif;font-size:clamp(22px,2.45vw,30px);font-weight:600;letter-spacing:-.02em;color:#253d51;line-height:1.25;margin:24px 0 12px}
.gb80-profile h4{font-family:Fredoka,sans-serif;font-size:18px;color:#97572e;margin:0 0 8px}
.gb80-profile .gb80-story>h3:first-child{margin-top:0}
.gb80-song{display:flex;align-items:center;gap:13px;border:1px solid #eac6ac;background:linear-gradient(125deg,#fff2db,#ffe7de);border-radius:20px;padding:15px 16px;box-shadow:0 7px 22px #5b31250e}
.gb80-song svg{flex-shrink:0}
.gb80-song-text{min-width:0;flex:1;display:grid;gap:2px}
.gb80-song-text small{color:#a3673a;font-size:10px;font-weight:800;letter-spacing:.12em}
.gb80-song-text strong{font-family:Fredoka,sans-serif;color:#284057;font-size:18px;line-height:1.15;overflow-wrap:anywhere}
.gb80-song-text span{font-size:12px;color:#765f58;line-height:1.4}
.gb80-song-action,.gb80-song-mute,.gb80-standalone-play{border:none;border-radius:999px;background:#243e56;color:white;min-width:46px;height:46px;cursor:pointer;display:grid;place-items:center;font-size:19px;box-shadow:0 6px 14px #243e5622}
.gb80-song-mute{width:38px;min-width:38px;height:38px;background:#fff7ef;color:#544362;border:1px solid #dbbd9f;font-size:17px}
.gb80-song-action:focus-visible,.gb80-song-mute:focus-visible,.gb80-profile a:focus-visible{outline:3px solid #3f83bc;outline-offset:3px}
.gb80-audio-notice{font-size:12px!important;line-height:1.5!important;color:#8b593f!important;margin:5px 0 0!important}
.gb80-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.gb80-info-grid section{background:#fff1df;border:1px solid #f2dbba;border-radius:18px;padding:18px;min-width:0}
.gb80-info-grid section:nth-child(2){background:#f3ecf7;border-color:#e6d9ec}
.gb80-info-grid section:nth-child(3){background:#eaf4f2;border-color:#d4e6e1}
.gb80-info-grid section:nth-child(4){background:#fff0e9;border-color:#efd7d0}
.gb80-info-grid section p{margin:0!important;font-size:14px!important;line-height:1.65!important}
.gb80-friends{margin:5px 0 25px;padding:0;list-style:none;display:grid;gap:10px}
.gb80-friends li{padding:12px 16px;border-radius:14px;background:#f5f2ea;line-height:1.66;color:#34465a;font-size:14px}
.gb80-friends strong{display:block;font-family:Fredoka,sans-serif;font-size:16px;color:#955b43;margin-bottom:2px}
.gb80-sayings{display:grid;gap:10px;margin:12px 0 25px;padding:0;list-style:none}
.gb80-sayings li{border-left:3px solid #dab579;padding:6px 12px;background:#fff8ee;font-family:Fredoka,sans-serif;color:#36465d;font-size:17px}
.gb80-game{display:grid;grid-template-columns:minmax(110px,42%) minmax(0,1fr);gap:15px;align-items:center;padding:13px;border:1px solid #e1d6e7;background:linear-gradient(135deg,#f1eafb,#fbf5e8);border-radius:21px;margin:25px 0 4px;box-shadow:0 6px 20px #352a4b0b}
.gb80-game img{display:block;width:100%;height:100%;max-height:170px;aspect-ratio:1.45;object-fit:cover;border-radius:12px}
.gb80-game-copy{min-width:0}
.gb80-game-copy small{display:block;color:#8662a6;font-size:11px;letter-spacing:.1em;font-weight:800}
.gb80-game-copy h3{font-size:clamp(18px,2vw,24px);margin:7px 0 6px}
.gb80-game-copy p{font-size:12px!important;line-height:1.5!important;margin-bottom:12px!important}
.gb80-game-copy a{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:7px;background:#2c435e;color:white;border-radius:999px;padding:11px 16px;font-size:13px;font-weight:800;text-decoration:none;transition:transform .2s ease,background .2s}
.gb80-game-copy a:hover{background:#714e86;transform:translateY(-2px)}
.gb80-bottom{border-top:1px solid #eddccc;margin-top:28px;padding-top:20px}
.gb80-bottom>h3{margin-top:0}
.gb80-profile .gb80-closer{font-weight:600;color:#85543e!important}
.bio-dialog:has(.gb80-profile) .bio-controls{flex-shrink:0;min-height:72px;gap:28px;position:relative;z-index:3}
.bio-dialog:has(.gb80-profile) .bio-close{background:#fffaf1;color:#253e54}
.crew-full-v80{max-width:1120px;margin:40px auto 85px;padding:0 clamp(18px,3vw,42px);display:grid;grid-template-columns:minmax(0,1fr) 265px;align-items:start;gap:clamp(22px,4vw,64px)}
.crew-full-v80 .gb80-profile{margin:0}.crew-full-v80 .gb80-profile p{font-size:16px!important}
.crew-full-v80 .gb80-story>h3:first-child{font-size:clamp(29px,3.4vw,42px)}
.crew-full-v80>aside{position:sticky;top:95px;background:#fff8eb;border:1px solid #efdfc7;border-radius:22px;padding:20px;display:grid;gap:15px;box-shadow:0 9px 30px #2521250d}
.crew-full-v80>aside .gb80-song{flex-wrap:wrap;padding:12px}.crew-full-v80>aside .gb80-song-text{flex-basis:calc(100% - 58px)}
.crew-full-v80>aside .gb80-song-mute{margin-left:auto}
.crew-full-v80 .gb80-game{grid-template-columns:1fr}
.crew-full-v80 .gb80-game img{max-height:185px}
.crew-page .crew-full-v80 .gb80-profile h3{font-size:27px}
.crew-full-v80>aside>span{font-size:11px;letter-spacing:.1em;color:#a36b4d;font-weight:800}
.crew-full-v80 .gb80-intro{font-weight:700!important}
.experience-card.gb80-spotlight:target, .experience-card:target{scroll-margin-top:110px;outline:4px solid #e4b46a;outline-offset:8px;box-shadow:0 12px 45px #a06d2a33}
@media(max-width:850px){.crew-full-v80{grid-template-columns:1fr}.crew-full-v80>aside{grid-row:1;position:static;display:grid;grid-template-columns:1fr minmax(180px,1fr);align-items:center}.crew-full-v80>aside .gb80-game{margin:0}.crew-full-v80>aside>span{grid-column:1/-1}}
@media(max-width:730px){.bio-dialog:has(.gb80-profile) .bio-stage{grid-template-columns:1fr;overflow:auto}.bio-dialog:has(.gb80-profile) .bio-media{position:relative;height:200px;min-height:0}.bio-dialog:has(.gb80-profile) .bio-media img{position:static;width:100%;height:220px;object-position:center 22%}.bio-dialog:has(.gb80-profile) .bio-content{padding:21px 22px 30px}.bio-dialog:has(.gb80-profile) .bio-content h2{font-size:36px}.gb80-info-grid{grid-template-columns:1fr 1fr}.gb80-game{grid-template-columns:1fr}.gb80-game img{max-height:185px}.bio-dialog:has(.gb80-profile) .bio-controls{min-height:61px}}
@media(max-width:540px){.gb80-info-grid{grid-template-columns:1fr}.gb80-song{flex-wrap:wrap}.gb80-song-text{flex-basis:calc(100% - 65px)}.gb80-song-mute{margin-left:auto}.crew-full-v80>aside{grid-template-columns:1fr}.gb80-game{grid-template-columns:1fr}.bio-dialog:has(.gb80-profile) .bio-media{height:175px}.bio-dialog:has(.gb80-profile) .bio-media img{height:190px}}
@media(prefers-reduced-motion:reduce){.gb80-game-copy a{transition:none}.bio-dialog:has(.gb80-profile) .bio-stage{scroll-behavior:auto}}
/* Family biographies stay visually consistent with the original modal. */
.bio-dialog:not(:has(.gb80-profile)) #bio-description{font-family:Andika,sans-serif;color:#30445b;line-height:1.85;font-size:clamp(14px,1.5vw,17px);margin:6px 0}
