/* The collection lives independently from the approved cover. */
#universe.collection{min-height:620px;height:100svh;color:#243e4c}
.collection .back{top:28px;left:3.3vw;font-size:14px;letter-spacing:.08em;padding:8px 0;z-index:220}
.collection .sphere{inset:65px 6vw 78px;touch-action:none;user-select:none;perspective:1000px}
.collection .orbitem{width:clamp(90px,12vw,192px);padding:0;border:0;background:transparent;will-change:transform,opacity;outline-offset:4px}
.collection .orbitem:focus-visible{outline:2px dashed #426e84;border-radius:16px}
.orb-object{display:block;transition:transform .25s cubic-bezier(.2,.7,.2,1),filter .25s;filter:drop-shadow(0 5px 6px #294b5715)}
.collection .orbitem img{width:100%;max-height:210px;object-fit:contain;margin:auto;pointer-events:none}
.collection .orbitem[data-kind="skate"]{width:clamp(58px,7vw,112px)}
.collection .orbitem[data-kind="skate"] img{max-height:240px}
.collection .orbitem[data-kind="self"]{width:clamp(98px,11.5vw,177px)}
.collection .orbitem[data-kind="kobe"]{width:clamp(82px,10.5vw,160px)}
.collection .orbitem[data-kind="lab"]{width:clamp(115px,14vw,212px)}
.collection .orbitem:hover .orb-object,.collection .orbitem:focus-visible .orb-object{transform:translateY(-7px) rotate(-3deg) scale(1.08);filter:drop-shadow(0 12px 10px #294b5730)}
.orb-caption{position:absolute;left:50%;top:100%;transform:translate(-50%,2px);padding:5px 10px;background:#edf4f3eb;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;transition:opacity .15s;pointer-events:none;box-shadow:0 1px 8px #274a5310}
.orbitem:hover .orb-caption,.orbitem:focus-visible .orb-caption{opacity:1}
.collection .hint{bottom:22px;left:0;font-size:12px;color:#4f6c7a;margin:0;letter-spacing:.1em;pointer-events:none}
.orbit-controls{position:absolute;bottom:47px;left:50%;transform:translateX(-50%);z-index:220;display:flex;gap:8px}
.orbit-controls button{border:1px solid #7994a455;border-radius:24px;padding:5px 12px;font-size:11px;background:#dce8ed99}
.orbit-controls button:hover{background:#eef5f7;color:#244253}
.collection.is-list .sphere{display:grid;grid-template-columns:repeat(5,1fr);align-content:safe center;gap:32px 20px;overflow:auto;touch-action:pan-y;overscroll-behavior:contain;padding:35px 10px}
.collection.is-list .orbitem{position:relative;top:auto;left:auto;width:min(100%,170px);margin:auto;transform:none!important;opacity:1!important}
.collection.is-list .orbitem img{height:160px}
.collection.is-list .orb-caption{opacity:1;position:static;transform:none;display:block;background:transparent}
.collection-dialog{padding:0;width:min(940px,92vw);max-height:88svh;border:1px solid #426170;background:#edf2ed;box-shadow:9px 9px 0 #31515d27;border-radius:2px;color:#253f4d}
.collection-dialog::backdrop{background:#b9ced98c;backdrop-filter:blur(7px)}
.collection-bar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:16px;min-height:52px;padding:10px 18px;border-bottom:1px solid #65808c66;background:#edf2ed;font-size:12px;letter-spacing:.07em}
.collection-bar span{flex:1;text-align:center}.collection-bar small{font-size:10px;letter-spacing:.12em}
.collection-close{border:1px solid #51707b;border-radius:50%;width:30px;height:30px;font-size:23px;line-height:24px;padding:0}
.collection-body{padding:32px 38px 38px}
.collection-body h2{font-size:clamp(26px,3.5vw,40px);margin:0 0 14px;letter-spacing:.02em;line-height:1.25}
.collection-body p{font-size:16px;line-height:1.9;max-width:680px;margin:12px 0}
.collection-kicker{font-size:11px;letter-spacing:.17em;color:#6b858d;margin-bottom:12px;display:block}
.collection-video{background:#101715;border-radius:4px;overflow:hidden;margin-bottom:24px}
.collection-dialog .collection-video video{width:100%;height:clamp(240px,53svh,590px);max-height:60svh;object-fit:contain;margin:0;display:block}
.collection-media-error{padding:14px;color:#ffd7c6;background:#18242a;font-size:14px}
.collection-media-error[hidden]{display:none}
.fitness-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 0 24px;align-items:start}
.fitness-pair figure{margin:0}.collection-dialog .fitness-pair img{width:100%;height:350px;max-height:49svh;object-fit:contain;background:#dfe6df;margin:0;border-radius:2px}.fitness-pair figcaption{font-size:13px;color:#647b83;margin:12px 0}
.self-story{display:grid;grid-template-columns:.8fr 1fr;gap:32px;align-items:center}.collection-dialog .self-story img{max-height:420px;object-fit:cover;margin:0;width:100%}.self-story .photo-note{font-size:12px;margin:8px 0;color:#67818c}
.luffy-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px}.collection-dialog .luffy-story img{width:100%;max-height:58svh;object-fit:contain;margin:0}
.music-story{display:grid;grid-template-columns:240px 1fr;gap:35px;align-items:center}.collection-dialog .music-object{width:240px;height:310px;max-height:50svh;object-fit:contain;margin:0;filter:drop-shadow(0 10px 8px #38556826)}
.music-controls audio{width:100%;margin-top:20px}.music-controls .track-tag{display:inline-block;font-size:11px;border:1px solid #74909a66;padding:5px 10px;border-radius:20px}.music-controls h2{margin:13px 0 4px}.music-controls .artist{font-size:17px;color:#607985;margin:0 0 15px}.music-controls .audio-local{display:block;margin:20px 0;font-size:13px}.music-controls input{display:block;max-width:100%;margin:10px 0}.music-signal{height:24px;display:flex;gap:4px;align-items:center;margin-top:16px}.music-signal i{width:3px;height:4px;background:#426c7b;animation:music-bar 1s ease-in-out infinite alternate;animation-play-state:paused}.music-signal i:nth-child(2n){animation-delay:-.6s}.music-signal i:nth-child(3n){animation-delay:-.2s}.music-playing .music-signal i{animation-play-state:running}@keyframes music-bar{to{height:22px}}
.work-pages{display:grid;grid-template-columns:1fr 1fr;gap:20px}.work-page{padding:22px;background:#f7f5e9;box-shadow:2px 3px 0 #c5d1d1;min-height:170px}.work-page small{font-size:11px;color:#6e878d}.work-page h3{font-size:21px;margin:16px 0 8px}.work-page p{font-size:14px}.work-page button{border-bottom:1px solid #557887;padding:5px 0;font-size:14px}
#pocketPet.from-sphere{z-index:250}
@media(max-width:650px){#universe.collection{min-height:600px}.collection .sphere{inset:70px 12px 95px}.collection .orbitem{width:100px}.collection .orbitem[data-kind="skate"]{width:64px}.collection .orbitem[data-kind="self"]{width:100px}.collection .orbitem[data-kind="lab"]{width:120px}.collection .orbitem img{max-height:145px}.collection .orbitem[data-kind="skate"] img{max-height:180px}.collection .orbitem[data-kind="kobe"]{width:87px}.collection-body{padding:23px 20px}.self-story,.luffy-story,.music-story{grid-template-columns:1fr;gap:20px}.collection-dialog .self-story img{max-height:280px;object-fit:contain}.collection-dialog .luffy-story img{max-height:37svh}.collection-dialog .music-object{height:210px;margin:auto}.fitness-pair{gap:12px}.collection-dialog .fitness-pair img{height:235px}.fitness-pair figcaption{font-size:12px}.work-pages{grid-template-columns:1fr}.collection-dialog .collection-video video{height:48svh}.collection-bar{padding:9px 12px}.collection-bar small{display:none}.collection.is-list .sphere{grid-template-columns:repeat(2,1fr);align-content:start;gap:32px 10px}.collection.is-list .orbitem img{height:125px}.collection .hint{font-size:11px}.collection-dialog{max-height:90svh}}
@media(prefers-reduced-motion:reduce){.orb-object,.orb-caption{transition:none}.music-signal i{animation:none}}
/* The same saved toy becomes a centered object when opened from the sphere. */
#pocketPet.from-sphere{right:50%;bottom:50%;transform:translate(50%,50%);width:min(390px,calc(100vw - 28px));max-height:88svh;box-shadow:8px 8px 0 #36596825}
body:has(#pocketPet.from-sphere:not([hidden])) #universe{filter:blur(5px);opacity:.35;pointer-events:none}

/* A clear blue field gives the real portrait its own silhouette. */
.collection .orbitem[data-kind="self"] .orb-object{background:#B9EB64;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:12%;filter:none}
.collection .orbitem[data-kind="self"] .orb-object img{display:block;width:100%;height:100%;max-height:none;object-fit:contain}
.collection.is-list .orb-repeat{display:none}

/* Rounder, denser collection; foreground objects remain individually selectable. */
.collection .orbitem{width:clamp(80px,10vw,145px)}
.collection .orbitem img{max-height:175px}
.collection .orbitem[data-kind="self"]{width:clamp(92px,10.5vw,152px)}
.collection .orbitem[data-kind="lab"]{width:clamp(100px,11.5vw,165px)}
.collection .orbitem[data-kind="skate"]{width:clamp(48px,5.8vw,82px)}
.collection .orbitem[data-kind="skate"] img{max-height:195px}
.collection .orbitem[data-kind="bruce"]{width:clamp(100px,12vw,168px)}
.collection .orbitem[data-kind="childhood"]{width:clamp(85px,10vw,138px)}
.collection .orbitem:hover,.collection .orbitem:focus-visible{z-index:215!important;opacity:1!important}
.useless-paper{display:block;padding:16px 10px;background:#f7eccb;color:#45536a;box-shadow:2px 4px 5px #2c495325;transform:rotate(-8deg);font-size:clamp(16px,1.8vw,23px);line-height:1.45;border-radius:1px 5px 2px 1px}
.collection .orbitem[data-kind="note"]{width:clamp(85px,9vw,125px)}
.note-body{padding:clamp(28px,5vw,56px)!important;text-align:left;background:#f7eccb;color:#45536a}.self-note-lines p{font-size:clamp(17px,2.2vw,22px);line-height:1.9;margin:0 0 20px;max-width:none}.self-note-lines p:last-child{margin-bottom:0}
.collection-dialog .self-story img{object-fit:contain;max-height:62svh}
.childhood-photo{position:relative;width:min(100%,720px);margin:24px auto 0}
.collection-dialog .childhood-photo img{display:block;width:100%;max-height:none;height:auto;margin:0}
.childhood-answer{position:absolute;left:67%;top:20%;width:15%;height:32%;border:3px solid #e87440;border-radius:48% 52% 46% 54%;transform:rotate(-7deg);box-shadow:0 0 0 2px #fff7;pointer-events:none}
.childhood-answer[hidden]{display:none}
.childhood-footer{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:20px}.childhood-result{font-size:14px!important}
.reveal-child,.poster-zoom{padding:9px 17px;border:1px solid #587481;border-radius:24px;background:transparent;font-size:14px}
.poster-credit{font-size:13px!important;color:#637b85}.poster-zoom{margin:0 0 18px}
.water-poster{overflow:auto;max-height:65svh;background:#f7f5ed}
.collection-dialog .water-poster img{display:block;margin:0 auto;width:100%;height:auto;max-height:none;object-fit:contain}
.collection-dialog .water-poster.is-expanded img{width:1000px;max-width:none}
@media(max-width:650px){.collection .orbitem{width:74px}.collection .orbitem[data-kind="self"]{width:80px}.collection .orbitem[data-kind="lab"]{width:90px}.collection .orbitem[data-kind="skate"]{width:44px}.collection .orbitem[data-kind="kobe"]{width:77px}.collection .orbitem[data-kind="bruce"]{width:86px}.collection .orbitem[data-kind="childhood"]{width:76px}.collection .orbitem[data-kind="note"]{width:76px}.collection .orbitem img{max-height:115px}.collection .orbitem[data-kind="skate"] img{max-height:130px}.useless-paper{padding:9px 6px;font-size:15px}.collection.is-list .orbitem{width:110px}.childhood-answer{border-width:2px}.water-poster{max-height:60svh}}

/* Give the orbit the full stage; keep utilities out of its lower center. */
.collection .sphere{inset:24px 3vw 28px}
.orbit-controls{left:auto;right:3.3vw;bottom:24px;transform:none}
.collection .hint{left:3.3vw;bottom:26px;width:auto;text-align:left}
.collection.is-list .sphere{inset:70px 6vw 80px}
@media(max-width:650px){.collection .sphere{inset:64px 8px 75px}.orbit-controls{right:16px;bottom:22px}.collection .hint{left:16px;bottom:60px;font-size:10px}.collection.is-list .sphere{inset:70px 12px 100px}}

.music-memory{grid-template-columns:minmax(210px,.85fr) minmax(0,1.15fr);gap:42px;padding:12px 0}
.music-black-cover{width:100%;aspect-ratio:1;background:#000}
.music-memory .artist{margin:8px 0 28px;font-size:14px;color:#637b85}
.music-memory-text p{font-size:16px;line-height:1.9;margin:0 0 17px}
.music-memory-text .music-memory-ending{font-size:clamp(22px,2.4vw,30px);line-height:1.4;margin:28px 0 30px}
.music-listen-link{font-size:13px;text-decoration:none;border-bottom:1px solid #70848b;padding-bottom:4px}
@media(max-width:650px){.music-memory{grid-template-columns:1fr;gap:26px;padding:0}.music-black-cover{max-width:240px;margin:auto}.music-memory-text p{font-size:15px}.music-memory-text .music-memory-ending{font-size:24px}}

.douyin-video{width:min(100%,calc(56svh * var(--video-ratio)));aspect-ratio:var(--video-ratio);margin:20px auto;background:#111}
.douyin-video iframe{display:block;width:100%;height:100%;border:0}
.douyin-source{display:flex;gap:12px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:18px 0}
.douyin-source a{font-size:15px;text-decoration:none;border-bottom:1px solid #70848b;padding-bottom:4px}
.douyin-source span{font-size:12px;color:#637b85}

.douyin-video{position:relative;box-sizing:content-box;padding-bottom:32px}
.douyin-video iframe{position:absolute;inset:0;height:100%}

.fitness-album-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0 16px}
.fitness-album-controls button{font-size:14px;padding:9px 16px;border:1px solid #78909a;border-radius:24px}
.fitness-album-controls button:disabled{opacity:.35;cursor:default;color:inherit}
.fitness-count{font-size:13px;letter-spacing:.12em;color:#637b85}
.fitness-slide{margin:0}
.collection-dialog .fitness-slide img{width:100%;height:43svh;max-height:470px;object-fit:contain;margin:0 auto;background:transparent}
.fitness-slide figcaption{margin:20px 0 0}
.fitness-slide h3{font-size:22px;font-weight:700;margin:0 0 10px}
.fitness-slide p{font-size:16px;line-height:1.8;margin:0}
@media(max-width:650px){.fitness-album-controls{gap:8px}.fitness-album-controls button{font-size:12px;padding:8px 12px}.collection-dialog .fitness-slide img{height:38svh}.fitness-slide h3{font-size:19px}.fitness-slide p{font-size:14px}}

.collection .orbitem[data-kind="contact"]{width:clamp(75px,9vw,130px)}
.collection .orbitem[data-kind="contact"] img{clip-path:polygon(48% 4.7%,65% 5.3%,74% 8%,78% 15%,80% 28%,81% 52%,80% 78%,77% 92%,69% 95.8%,50% 97%,31% 95.8%,23% 93%,20% 80%,19% 53%,20% 28%,22% 15%,26% 8%,35% 5.3%)}
