/* The crew: room for the scene, square cards and independent characters. */
.crew-backdrop{background:radial-gradient(ellipse at 75% 65%,#361326,#080910 70%)}
.crew-backdrop .shade{background:linear-gradient(180deg,#05050914,#05050925 50%,#05050965)}
.universe.crew{padding:100px clamp(28px,7vw,150px) 62px;justify-content:center;gap:0}
.crew-heading{margin:0 0 24px;text-align:center;position:relative;z-index:6}
.crew-kicker{text-transform:uppercase;font-size:10px;letter-spacing:5px;color:#d9bcd0;opacity:.8}
.crew-wordmark{font-family:'Space Grotesk',sans-serif;font-size:clamp(35px,4.8vw,68px);font-weight:600;line-height:1.15;letter-spacing:-3px;margin:12px 0 8px;text-shadow:0 0 50px #ff85c22a}
.crew-wordmark>span{font-size:.67em;margin-left:12px;color:#f3add9}
.crew-heading>p{font-size:10px;letter-spacing:4px;margin:10px 0 0;color:#d5b8ce}
.crew-count{display:inline-flex;align-items:center;gap:7px;font-size:11px;border:1px solid #e7bfdc25;border-radius:30px;padding:7px 12px;background:#120d1780;margin-top:19px;color:#c5bdcc}
.crew-count i{width:5px;height:5px;border-radius:50%;background:#cdd9ad;box-shadow:0 0 8px #d4e99b60}
.crew-grid{width:min(100%,calc(var(--crew-columns,4)*260px + (var(--crew-columns,4) - 1)*34px));display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));justify-content:center;align-items:start;column-gap:34px;row-gap:164px;padding-top:148px;perspective:1400px}
.crew-slot{position:relative;display:block;min-width:0;isolation:isolate;transform-style:preserve-3d;transition:transform .18s ease-out;outline-offset:8px;border-radius:25px}
.tile-panel{position:relative;aspect-ratio:1;background:linear-gradient(145deg,#141219dd,#101018d9);border:1px solid #edcde92d;border-radius:25px;box-shadow:0 24px 80px #0006,inset 0 1px 0 #ffffff08;backdrop-filter:blur(16px);overflow:visible;padding:20px;transition:border-color .2s,box-shadow .2s}
.crew-slot:hover .tile-panel{border-color:#e8aad976;box-shadow:0 24px 80px #0007,0 0 40px #bd62921b,inset 0 1px 0 #ffffff12}
.tile-copy{position:absolute;inset:119px 22px auto;z-index:5}
.tile-name{font-size:27px;font-weight:700;line-height:1.15;letter-spacing:-1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.glowing .tile-name{text-shadow:0 0 10px var(--accent),0 0 24px #ffffff22}
.tile-bio{color:#b4abbc;font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:9px}
.tile-footer{position:absolute;left:22px;right:22px;bottom:19px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#a99dad;gap:10px;z-index:5}
.tile-footer>span{display:flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile-footer svg{width:13px;height:13px}
.tile-photo{position:absolute;right:19px;top:20px;z-index:4}
.tile-photo .avatar{width:37px;height:37px;border:1px solid #ffffff24;box-shadow:none}
.tile-badges{position:absolute;left:18px;top:23px;max-width:145px;z-index:5;gap:5px}
.tile-badges .badge{font-size:19px;min-width:23px;height:23px}
.tile-badges .badge>img{width:20px;height:20px}
.tile-badges .badge.with-name{height:auto;font-size:15px;max-width:105px}
.tile-badges .badge-name{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile-arrow{position:absolute;right:20px;top:82px;z-index:5;opacity:.4;transition:transform .2s,opacity .2s}
.tile-arrow svg{width:16px;height:16px}
.crew-slot:hover .tile-arrow{opacity:1;transform:translateX(3px)}
.crew-player{width:min(100%,470px);margin-top:38px}
.crew-player .music-player{padding:13px 17px;background:#0b0912b5;border-color:#dfb4d724;border-radius:18px;box-shadow:0 15px 45px #0005}
.crew-player .track strong{font-size:13px;color:#d8cddc}
.crew-player .timeline{font-size:10px}
.crew-player input#volume{width:46px}
.universe.crew>.scene-footer{font-size:9px;letter-spacing:3px;margin-top:24px;color:#d0aec8}
.character-display{pointer-events:none;transform-origin:50% 88%;filter:drop-shadow(0 10px 12px #0006)}
.character-art,.character-vector{display:block;width:100%;height:100%;object-fit:contain}
.crew-slot>.character-display{position:absolute;left:50%;top:-129px;width:210px;height:236px;margin-left:-105px;z-index:3}
.crew-slot>.character-display.pose-lying{top:-100px;width:calc(100% + 14px);height:170px;margin-left:0;left:-7px}
.crew-slot.no-character .tile-copy{top:102px}
.motion-idle{animation:character-idle 4.2s ease-in-out infinite}
.motion-bounce{animation:character-bounce 1.6s ease-in-out infinite}
.motion-float{animation:character-float 3.5s ease-in-out infinite}
.is-dancing{animation:character-dance 1.1s ease-in-out infinite}
.character-smoke{animation:character-smoke 3s ease-in-out infinite;transform-origin:center}
.character-laser{filter:drop-shadow(0 0 4px #f04)}
@keyframes character-idle{50%{transform:translateY(-2px) rotate(.6deg)}}
@keyframes character-bounce{50%{transform:translateY(-10px) rotate(-2deg)}}
@keyframes character-float{50%{transform:translateY(-14px)}}
@keyframes character-dance{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg) translateY(-5px)}}
@keyframes character-smoke{50%{opacity:.15;transform:translateY(-5px)}}
.profile-character{position:relative;height:190px;width:100%;z-index:4;pointer-events:none}
.profile-character>.character-display{position:absolute;width:240px;height:265px;bottom:-73px;left:calc(50% - 120px)}
.profile-character>.pose-lying{width:340px;height:185px;left:calc(50% - 170px);bottom:-42px}
.single-stack.has-character>.profile-card{padding-top:83px}
.character-card-preview>.profile-card{padding-top:77px}
.character-card-preview:has(>.profile-character)>.profile-card{padding-top:83px}
.character-card-preview:not(:has(>.profile-character))>.profile-card{padding-top:35px}
.character-card-preview .profile-character{height:160px}
.character-card-preview .profile-character>.character-display{height:240px;bottom:-68px}
.character-card-preview .profile-character>.pose-lying{height:170px;bottom:-39px;width:min(340px,100%);left:0;right:0;margin:auto}
.character-presets{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.character-presets button{background:linear-gradient(145deg,#1c1523,#101019);border:1px solid #e8b7d624;border-radius:16px;padding:12px;display:flex;align-items:center;gap:12px;text-align:left;font-size:12px;color:#d9cbd8}
.character-presets button:hover{border-color:#e8b7d670;background:#24192b}
.character-presets img{width:64px;height:80px;object-fit:contain;flex-shrink:0}
.character-presets button:last-child img{width:83px}
#character-editor .form-grid{margin-top:18px}
#character-editor [data-character-parts]{padding-top:18px;border-top:1px solid #ffffff12}
.name-rgb .tile-name{background:linear-gradient(90deg,#ff505f,#ffbe45,#58ef8b,#56d9ff,#ad76ff,#ff65c8,#ff505f);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;animation:name-rgb 5s linear infinite}
.name-none .tile-name{text-shadow:none}
.video-loader{position:fixed;right:24px;top:84px;z-index:45;width:160px;border:1px solid #ffffff1c;border-radius:13px;padding:11px 13px;background:#111016cc;backdrop-filter:blur(16px);color:#ddd;font-size:10px;box-shadow:0 10px 30px #0003}
.video-loader[hidden]{display:none}
.video-loader>span{display:block;margin-bottom:7px;letter-spacing:.2px}
.video-loader progress{display:block;width:100%;height:3px;border:0;appearance:none;border-radius:5px;overflow:hidden;background:#ffffff14}
.video-loader progress::-webkit-progress-bar{background:#ffffff14;border-radius:5px}
.video-loader progress::-webkit-progress-value{background:linear-gradient(90deg,#d492c8,#f8d4ef);border-radius:5px;transition:width .2s}
.video-loader progress:indeterminate{background:linear-gradient(90deg,#ffffff0a,#e0a0cf,#ffffff0a);background-size:200% 100%;animation:video-loading 1.3s linear infinite}
.video-loader button{font-size:10px;background:#ffffff15;border-radius:7px;padding:6px 9px}
.video-loader button[hidden],.video-loader progress[hidden]{display:none}
.video-loader.failed{border-color:#fa72734d}
@keyframes video-loading{to{background-position:200% 0}}
@media(max-width:750px){.universe.crew{padding-top:88px;padding-bottom:50px}.crew-wordmark{font-size:clamp(30px,7vw,49px);letter-spacing:-2px}.crew-grid{column-gap:24px;row-gap:152px}.crew-count{font-size:10px}.profile-character{height:175px}.single-stack.has-character>.profile-card{padding-top:76px}.character-presets button{flex-direction:column;text-align:center;gap:5px}.video-loader{right:17px;top:72px;width:143px}.crew-player{width:min(100%,420px)}}
@media(max-width:560px){.universe.crew{padding-left:26px;padding-right:26px}.crew-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:138px 17px;padding-top:135px}.crew-slot>.character-display{width:174px;height:205px;margin-left:-87px;top:-114px}.crew-slot>.character-display.pose-lying{width:calc(100% + 10px);left:-5px;height:140px;top:-86px;margin-left:0}.tile-panel{border-radius:21px;padding:15px;min-height:0}.tile-copy{inset:96px 15px auto}.tile-name{font-size:21px}.tile-bio{font-size:10px;-webkit-line-clamp:1;margin-top:6px}.tile-footer{left:15px;right:15px;bottom:14px;font-size:8px}.tile-footer svg{width:11px;height:11px}.tile-badges{top:17px;left:14px;max-width:95px}.tile-badges .badge{font-size:15px;min-width:19px;height:19px}.tile-photo{right:13px;top:15px}.tile-photo .avatar{width:27px;height:27px}.tile-arrow{right:14px;top:68px}.tile-arrow svg{width:12px}.profile-character>.pose-lying{width:min(315px,100%);left:0;right:0;margin:auto}.crew-player{margin-top:32px}.crew-kicker{font-size:8px;letter-spacing:3px}}
@media(max-width:380px){.universe.crew{padding-left:22px;padding-right:22px}.crew-grid{grid-template-columns:minmax(0,225px);gap:145px}.tile-copy{top:114px}.tile-name{font-size:26px}.tile-bio{font-size:11px;-webkit-line-clamp:2}.crew-slot>.character-display{width:200px;height:230px;top:-127px;margin-left:-100px}.tile-photo .avatar{width:32px;height:32px}.tile-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){.character-display,.character-smoke,.name-rgb .tile-name,.video-loader progress{animation:none!important}}
