@charset "UTF-8";
:root{color-scheme:only light}
.anime-backdrop{position:absolute;inset:7px -12px;z-index:-1;overflow:hidden;border-radius:5px 75px 5px 5px;pointer-events:none}.anime-backdrop img{width:100%;height:100%;object-fit:cover;opacity:.3;filter:saturate(.85)}.anime-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,var(--tone) 0%,color-mix(in srgb,var(--tone) 75%,transparent) 48%,color-mix(in srgb,var(--tone) 40%,transparent) 100%),linear-gradient(0deg,var(--tone),transparent 60%)}.profile.reverse .anime-backdrop{border-radius:5px 5px 5px 75px}.profile.formal .anime-backdrop{inset:0;border-radius:0}.profile.cinema .anime-backdrop img{opacity:.25;filter:saturate(.75) brightness(.65)}.profile.cinema .anime-backdrop::after{background:linear-gradient(105deg,#2d3547d9,#343b49a6),linear-gradient(0deg,#343b49,transparent)}.anime-profile .profile-art{opacity:.07}.anime-profile .photo-art{opacity:.55}.anime-profile .profile-grid{position:relative;z-index:2}
.hometown-stage{position:relative;height:250px;margin:40px -27px -20px;isolation:isolate;overflow:hidden;border-radius:22px 7px 22px 7px;box-shadow:0 10px 30px #183c3215;border:6px solid #fffcf0d9;outline:1px solid #6c927125;cursor:crosshair;--parallax-x:0px;--parallax-y:0px}.hometown-stage:focus-visible{outline:3px solid #cf955e;outline-offset:5px}.scene-parallax{position:absolute;inset:-14px;transform:translate3d(var(--parallax-x),var(--parallax-y),0);transition:transform 1.8s cubic-bezier(.2,.8,.3,1);z-index:-3}.scene-scenery{width:100%;height:100%;object-fit:cover;object-position:50% 57%;transform-origin:50% 60%;animation:scenery-breathe 26s ease-in-out infinite alternate;animation-play-state:paused}.scene-light{position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(115deg,#fff9d245 0%,transparent 42%,#fff4d01c 70%,transparent);opacity:.65;animation:scene-sunlight 12s ease-in-out infinite;animation-play-state:paused;mix-blend-mode:soft-light}.scene-weather{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.scene-title{position:absolute;left:18px;top:15px;z-index:3;font-family:var(--serif);font-size:24px;letter-spacing:4px;line-height:1.5;color:#214d40;background:#fffcefdf;backdrop-filter:blur(8px);border:1px solid #fff9d8d9;border-radius:4px 13px 4px 13px;padding:6px 13px;box-shadow:0 3px 15px #14372c0d}.scene-cloud{position:absolute;z-index:0;pointer-events:none;width:220px;height:55px;opacity:.38;filter:blur(4px);background:radial-gradient(ellipse at 26% 67%,#fffcf0 0 25%,transparent 27%),radial-gradient(ellipse at 49% 50%,#fffcf0 0 38%,transparent 40%),radial-gradient(ellipse at 76% 67%,#fffcf0 0 27%,transparent 29%);animation:cloud-sail 42s linear infinite;animation-play-state:paused}.cloud-one{left:3%;top:7%;--cloud-travel:210px}.cloud-two{left:58%;top:14%;width:160px;height:40px;opacity:.24;--cloud-travel:-150px;animation-duration:51s;animation-delay:-13s}.scene-rim{position:absolute;inset:0;pointer-events:none;z-index:5;box-shadow:inset 0 0 38px #fff8d020;border:1px solid #fff8d050;border-radius:inherit}.hometown-stage[data-theme=mist] .scene-light{background:linear-gradient(0deg,#e8f8e366,transparent 65%);animation:mist-breathe 10s ease-in-out infinite;animation-play-state:paused}.hometown-stage[data-theme=autumn] .scene-light{background:linear-gradient(115deg,#ffbe5c55,transparent 65%)}.hometown-stage[data-theme=sea] .scene-light{background:linear-gradient(100deg,#fffbe422,transparent 55%,#e0f6ff30)}
.hobby-piece{position:absolute;bottom:13px;left:calc(57% + var(--slot) * (36% / max(var(--total) - 1,1)));translate:-50% 0;z-index:6;width:112px;height:112px;padding:0;border:0;background:none;cursor:pointer;isolation:isolate;filter:drop-shadow(0 5px 4px #173f3420)}.hobby-piece:focus-visible{outline:2px solid #fffae7;outline-offset:4px;border-radius:20px}.hobby-piece::before{content:"";position:absolute;inset:7px;border-radius:50%;background:radial-gradient(#fff8ce7a,transparent 70%);opacity:0;transition:opacity .4s}.hobby-piece:hover::before{opacity:1}.hobby-float{display:block;width:100%;height:100%;animation:prop-sway 5s ease-in-out infinite;animation-delay:var(--phase);animation-play-state:paused;transform-origin:50% 80%}.hobby-art{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;transition:filter .3s}.hobby-piece:hover .hobby-art{filter:brightness(1.08)}.hobby-shadow{position:absolute;left:18%;right:18%;height:9px;bottom:-3px;border-radius:50%;background:#23493c1f;filter:blur(4px);z-index:-1;animation:shadow-breathe 5s ease-in-out infinite;animation-delay:var(--phase);animation-play-state:paused}.hobby-piece[data-motion=bounce] .hobby-float{animation-name:prop-bounce;animation-duration:2.9s}.hobby-piece[data-motion=roll] .hobby-float{animation-name:prop-roll;animation-duration:6.5s}.hobby-piece[data-motion=shuttle] .hobby-float{animation-name:prop-shuttle;animation-duration:4.8s}.hobby-piece[data-motion=steps] .hobby-float{animation-name:prop-steps;animation-duration:3.2s}.hobby-piece[data-motion=music] .hobby-float{animation-name:prop-music;animation-duration:4.6s}.hobby-piece[data-motion=pages] .hobby-float{animation-name:prop-pages;animation-duration:7s}.hobby-piece[data-motion=ride] .hobby-float{animation-name:prop-ride;animation-duration:7s}.hobby-piece[data-motion=sleep] .hobby-float{animation-name:prop-sleep;animation-duration:7s}.hobby-piece[data-motion=twinkle] .hobby-float{animation-name:prop-twinkle;animation-duration:5.2s}.hobby-piece[data-motion=wobble] .hobby-float{animation-name:prop-wobble;animation-duration:5.4s}.hobby-piece[data-motion=steam]::after{content:"";position:absolute;left:44%;top:0;width:19px;height:31px;border-radius:50%;background:linear-gradient(transparent,#fffce799,transparent);filter:blur(5px);animation:steam-rise 3.8s ease-out infinite;animation-play-state:paused;pointer-events:none}.hobby-piece[data-motion=flash]::after{content:"✦";position:absolute;right:18%;top:19%;font-size:24px;color:#fff8bf;text-shadow:0 0 10px #ffe6a9;opacity:0;animation:camera-glint 8s ease-in-out infinite;animation-play-state:paused;pointer-events:none}.hobby-piece[data-motion=music]::after{content:"♪";position:absolute;right:14%;top:1%;font-size:22px;font-family:Georgia,serif;color:#fff7d3;text-shadow:0 2px 3px #3b73614d;opacity:0;animation:note-rise 5s ease-out infinite;animation-delay:var(--phase);animation-play-state:paused;pointer-events:none}
.scene-active .scene-scenery,.scene-active .scene-light,.scene-active .scene-cloud,.scene-active .hobby-float,.scene-active .hobby-shadow,.scene-active .hobby-piece::after{animation-play-state:running!important}.scenes-paused .scene-scenery,.scenes-paused .scene-light,.scenes-paused .scene-cloud,.scenes-paused .hobby-float,.scenes-paused .hobby-shadow,.scenes-paused .hobby-piece::after{animation-play-state:paused!important}.scene-actions{display:flex;flex-direction:column;align-items:flex-end;gap:13px}.scene-toggle{border:1px solid #a0b49e;border-radius:24px;padding:6px 14px;background:#f5f6eccc;color:#44654f;font-size:13px;line-height:1.6;white-space:nowrap}.scene-toggle:hover{background:#e5ecdc}.scene-toggle span{font-size:14px;margin-right:4px}.teacher-copy .hometown-stage{margin:30px 0 0;height:180px;border-width:4px}.teacher-copy .hobby-piece{width:92px;height:92px;left:84%}.teacher-copy .scene-title{font-size:20px;left:12px;top:12px}
@keyframes scenery-breathe{0%{transform:scale(1.025) translateX(-.5%)}100%{transform:scale(1.075) translateX(.7%)}}@keyframes scene-sunlight{0%,100%{opacity:.45}50%{opacity:.85}}@keyframes mist-breathe{0%,100%{opacity:.35;translate:0 7px}50%{opacity:.65;translate:0 -6px}}@keyframes cloud-sail{from{translate:0 0}to{translate:var(--cloud-travel) 0}}@keyframes prop-sway{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(4deg)}}@keyframes prop-bounce{0%,100%{transform:translateY(0) rotate(-4deg)}42%{transform:translateY(-17px) rotate(6deg)}62%{transform:translateY(0) scaleY(.96)}78%{transform:translateY(-5px)}}@keyframes prop-roll{0%,100%{transform:translateX(-5px) rotate(-12deg)}50%{transform:translateX(7px) translateY(-5px) rotate(15deg)}}@keyframes prop-shuttle{0%,100%{transform:translate(-4px,0) rotate(-8deg)}45%{transform:translate(6px,-15px) rotate(10deg)}70%{transform:translate(2px,-8px) rotate(-3deg)}}@keyframes prop-steps{0%,100%{transform:translateY(0) rotate(-5deg)}25%{transform:translateY(-9px) rotate(6deg)}50%{transform:translateY(0) rotate(-4deg)}75%{transform:translateY(-5px) rotate(3deg)}}@keyframes prop-music{0%,100%{transform:translateY(0) rotate(-3deg)}30%{transform:translateY(-5px) rotate(3deg)}65%{transform:translateY(-8px) rotate(-2deg)}}@keyframes prop-pages{0%,100%{transform:translateY(0) rotate(-3deg) rotateY(-5deg)}50%{transform:translateY(-8px) rotate(3deg) rotateY(7deg)}}@keyframes prop-ride{0%,100%{transform:translateX(-6px) rotate(-2deg)}50%{transform:translateX(9px) translateY(-4px) rotate(2deg)}}@keyframes prop-sleep{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.035)}}@keyframes prop-twinkle{0%,100%{transform:rotate(-8deg) scale(.96);filter:brightness(.98)}50%{transform:rotate(8deg) translateY(-8px) scale(1.04);filter:brightness(1.09)}}@keyframes prop-wobble{0%,100%{transform:translateY(0) rotate(-5deg)}35%{transform:translateY(-7px) rotate(5deg)}70%{transform:translateY(-4px) rotate(-2deg)}}@keyframes shadow-breathe{0%,100%{opacity:.65;scale:1}50%{opacity:.35;scale:.8}}@keyframes steam-rise{0%{opacity:0;translate:0 10px;scale:.7}30%{opacity:.65}100%{opacity:0;translate:8px -20px;scale:1.3}}@keyframes camera-glint{0%,72%,100%{opacity:0;scale:.6;rotate:0deg}80%{opacity:.85;scale:1;rotate:25deg}90%{opacity:0;scale:1.3;rotate:45deg}}@keyframes note-rise{0%,18%{opacity:0;translate:0 8px}35%{opacity:.9}80%,100%{opacity:0;translate:7px -24px}}
.portrait-hobby{position:absolute;left:-38px;top:-24px;width:96px;height:96px;object-fit:contain;z-index:3;pointer-events:none;filter:drop-shadow(0 4px 3px #345c3520);transform:rotate(-12deg);animation:portrait-prop 6s ease-in-out infinite;animation-play-state:paused}.reverse .portrait-hobby{left:auto;right:-30px;transform:rotate(10deg)}.formal .portrait-hobby{width:75px;height:75px;left:-8px;top:auto;bottom:-16px}.ambient-active .portrait-hobby{animation-play-state:running}.anime-backdrop img{animation:scenery-breathe 28s ease-in-out infinite alternate;animation-play-state:paused}.ambient-active .anime-backdrop img{animation-play-state:running}.scenes-paused .portrait-hobby,.scenes-paused .anime-backdrop img{animation-play-state:paused!important}.hometown-stage[data-mood=night] .scene-scenery{filter:brightness(.43) saturate(.75) hue-rotate(13deg)}.hometown-stage[data-mood=night] .scene-light{background:linear-gradient(120deg,#21325955,#7583b130);mix-blend-mode:soft-light}.hometown-stage[data-mood=night] .scene-cloud{opacity:.12}.hometown-stage[data-mood=dusk] .scene-scenery{filter:brightness(.78) sepia(.15) saturate(.8)}.hometown-stage[data-mood=dusk] .scene-light{background:linear-gradient(0deg,#d8a27828,#ffbf6d55);mix-blend-mode:soft-light}
@keyframes portrait-prop{0%,100%{translate:0 0;rotate:-3deg}50%{translate:0 -7px;rotate:4deg}}
@media(max-width:1050px){.hometown-stage{margin-left:-16px;margin-right:-16px;height:235px}.hobby-piece{width:95px;height:95px}}
@media(max-width:760px){.portrait-hobby{width:74px;height:74px;left:-16px;top:-15px}.reverse .portrait-hobby{right:-17px}.formal .portrait-hobby{width:62px;height:62px;left:0;bottom:-8px}}
@media(max-width:760px){.anime-backdrop{inset:12px -12px 0;border-radius:5px 55px 5px 5px}.anime-backdrop img{opacity:.24}.anime-backdrop::after{background:linear-gradient(180deg,color-mix(in srgb,var(--tone) 60%,transparent),var(--tone) 85%)}.hometown-stage{height:190px;margin:28px -6px -16px;border-width:4px;border-radius:16px 5px 16px 5px}.scene-title{font-size:19px;letter-spacing:2px;left:11px;top:11px;padding:5px 10px}.hobby-piece{width:73px;height:73px;bottom:9px;left:calc(23% + var(--slot) * (66% / max(var(--total) - 1,1)))}.hobby-piece[data-motion=music]::after{font-size:18px}.scene-cloud{width:140px;height:38px;opacity:.3;--cloud-travel:90px}.cloud-two{width:115px;height:30px;--cloud-travel:-75px}.scene-actions{align-items:flex-start;gap:12px;margin-top:18px}.scene-actions p{margin:0!important}.scene-toggle{padding:5px 12px;font-size:12px}.teacher-copy .hometown-stage{height:160px;margin-top:26px}.teacher-copy .hobby-piece{width:75px;height:75px;left:81%}.teacher-copy .scene-title{font-size:18px}}
@media(max-width:760px){.hobby-piece{width:65px;height:65px}}
@media(prefers-reduced-motion:reduce){.scene-scenery,.scene-light,.scene-cloud,.hobby-float,.hobby-shadow,.hobby-piece::after,.portrait-hobby,.anime-backdrop img{animation:none!important}.scene-parallax{transform:none!important;transition:none}.scene-toggle{display:none}}
@media print{.hometown-stage{height:160px;break-inside:avoid}.scene-toggle{display:none}.anime-backdrop{display:none}.scene-scenery{animation:none;transform:none}}
