.anime-world-backdrop{pointer-events:none;background:#101b37;position:absolute;inset:0;overflow:hidden}.hero>.anime-world-backdrop{z-index:-3}.anime-sky-image{background:#101b37 var(--sky-desktop) center 65% / cover no-repeat;will-change:transform;position:absolute;inset:-80px 0}.anime-sky-grade{background:linear-gradient(#0b143b22,#0000 55%,#54305430);position:absolute;inset:0}.sakura-depth{position:absolute;inset:0}.sakura-canopy{opacity:.9;width:100%;height:100%;position:absolute;inset:0}.sakura-bough{transform-box:fill-box;transform-origin:100% 90%;animation:9s ease-in-out infinite alternate sakura-cinematic-sway}.sakura-bough-left{transform-origin:0 90%;opacity:.75;animation-duration:12s;animation-delay:-5s}.anime-sky-stars{position:absolute;inset:0}.anime-sky-stars i{background:#fff3ef;border-radius:50%;width:3px;height:3px;animation:5s ease-in-out infinite alternate anime-star-breathe;position:absolute;top:16%;left:58%;box-shadow:0 0 16px 3px #dce8f7a6}.anime-sky-stars i:nth-child(2){animation-delay:-2s;top:24%;left:81%}.anime-sky-stars i:nth-child(3){width:2px;height:2px;animation-delay:-4s;top:8%;left:37%}.anime-sky-stars i:nth-child(4){animation-delay:-1s;top:34%;left:69%}.anime-sky-stars i:nth-child(5){width:2px;height:2px;animation-delay:-3s;top:39%;left:28%}.hero{color:#fff4e8;background:#101b37;min-height:max(1080px,100svh)}.hero-haze{background:linear-gradient(90deg,#08132ce8,#14203bc9 25%,#17234452 56%,#16203b12 78%),linear-gradient(#fffaf300 82%,#fffaf3 100%)}.hero h1{color:#fff6e9;text-shadow:0 4px 35px #0b133b40}.hero h1 em{color:#f1c0d0}.hero .eyebrow,.hero .micro-label,.hero .student-id{color:#e3dce6}.hero .hero-intro{color:#e5dfeb}.hero-graduate strong{color:#fff1db}.hero .graduate-rule{background:#d3b3bd}.hero .hero-japanese-title{color:#f3d9e7}.hero .anime-scene-tag{color:#eee2e8;background:#1c24467a;border-color:#e2d4d852}.hero .button-dark{color:#25364a;background:#efe4d2;border-color:#f5d6b1;box-shadow:inset 0 0 0 4px #efe4d2,inset 0 0 0 5px #b4a184}.hero .button-dark:before{color:#935e82}.hero .button-dark:hover{background:#fff5e3}.hero .replay-opening{color:#f0d7df;min-height:44px;font:14px var(--sans);text-underline-offset:5px;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:8px 0;text-decoration:underline;display:block}.hero .replay-opening>span{margin-left:8px}.motion-preference-note{color:#eee0e5;border-left:2px solid #e6b7cd;max-width:420px;padding-left:12px;font-size:13px}.motion-preference-control{color:#eee0e5;border-left:2px solid #e6b7cd;max-width:420px;margin-block:12px;padding-left:12px;font-size:13px;line-height:1.7}.motion-preference-control p{margin:0 0 8px}.motion-preference-control button{color:#fff1df;min-height:44px;font:inherit;cursor:pointer;background:#273952;border:1px solid #e5c4d2;border-radius:4px;padding:8px 14px}.opening .motion-preference-control{border:0;max-width:360px;margin-top:12px;padding:0;font-size:12px}.opening .opening-copy{max-height:100svh;overflow-y:auto}.hero .hero-vertical-jp{color:#fff1e0;text-shadow:0 2px 14px #10172d;font-size:19px;top:29%;right:7%}.hero .hero-meta{color:#344d68;bottom:86px}.hero .hero-index,.hero .scroll-cue{color:#344d68}.hero .sky-cloud,.closing-section .sky-cloud{opacity:.08}.hero .sunlight-beam{opacity:.45;right:12%}.scene-atmosphere .ambient-petals{display:none}.site-frame[data-entered=true] .hero .anime-sky-grade{animation:2.2s ease-out both world-settle}.sakura-world{z-index:20;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sakura-webgl{width:100%;height:100%;display:block}.sakura-fallback{display:block}.sakura-world[data-renderer=webgl] .sakura-fallback,.sakura-world[data-renderer=reduced],.sakura-world[data-renderer=fallback] .sakura-webgl{display:none}.sakura-fallback>span{opacity:.5}.sakura-world[data-paused=true] .sakura-fallback>span{animation-play-state:paused}.sakura-fallback-label{color:#485e72;font:11px var(--sans);background:#fffaf3d9;border-radius:3px;padding:3px 7px;display:none;position:absolute;bottom:84px;right:15px}.sakura-world[data-renderer=fallback] .sakura-fallback-label{display:block}.jp-cinematic .jp-glyphs{font:inherit;letter-spacing:inherit}.jp-cinematic .jp-glyph{font:inherit;letter-spacing:inherit;white-space:pre;transition:opacity 1s,transform 1.1s cubic-bezier(.16,1,.3,1),filter 1s;display:inline-block}.jp-cinematic[data-ready=true]:not([data-visible=true]) .jp-glyph{opacity:0;filter:blur(5px);transform:translateY(15px)}.jp-cinematic[data-visible=true] .jp-glyph{transition-delay:calc(var(--glyph-index) * 75ms);opacity:1;filter:none;transform:none}.hero-vertical-jp .jp-glyphs{writing-mode:horizontal-tb;flex-direction:column;display:flex}.hero-vertical-jp .jp-glyph{line-height:1.7}[data-reveal].reveal-ready{transition:opacity 1.15s,transform 1.35s cubic-bezier(.16,1,.3,1);transform:translateY(42px)}[data-reveal].reveal-ready.is-revealed{transform:none}.reveal-sequence.reveal-ready>*{opacity:0;transition:opacity 1s,transform 1.15s cubic-bezier(.16,1,.3,1);transform:translateY(22px)}.reveal-sequence.reveal-ready.is-revealed>*{opacity:1;transition-delay:80ms;transform:none}.reveal-sequence.reveal-ready.is-revealed>:nth-child(2){transition-delay:.16s}.reveal-sequence.reveal-ready.is-revealed>:nth-child(3){transition-delay:.24s}.reveal-sequence.reveal-ready.is-revealed>:nth-child(4){transition-delay:.32s}.reveal-sequence.reveal-ready.is-revealed>:nth-child(5){transition-delay:.4s}.reveal-sequence.reveal-ready.is-revealed>:nth-child(6){transition-delay:.48s}.story-section{position:relative}.story-section:after{z-index:-1;content:"";pointer-events:none;background:radial-gradient(at 10% 40%,#ecc7d134,#0000 60%);position:absolute;inset:0}.closing-section{color:#fff3e5;background:#19213b;min-height:720px;padding-block:100px}.closing-art .anime-world-backdrop{inset:-40px 0}.closing-art:after{content:"";background:#111a3d8f;position:absolute;inset:0}.closing-art .closing-sun,.closing-art .closing-hill,.closing-art .closing-branch{display:none}.closing-content h2{color:#fff4e9}.closing-content h2 em,.closing-content .closing-japanese{color:#f2c7d9}.closing-content .eyebrow,.closing-content .closing-class{color:#f1dfd9}.opening{isolation:isolate;background:#0e1932;animation:none}.opening>.anime-world-backdrop{z-index:-3}.opening-wash{z-index:-1;background:radial-gradient(at 50% 40%,#10182fc9 5%,#14182f78 50%,#10152a22 90%)}.opening .opening-copy{max-width:100%}.opening .opening-copy h1{color:#fff1e4;text-shadow:0 4px 32px #080f2b66}.opening .opening-copy>p{color:#ece0e1}.opening .opening-copy .eyebrow,.opening .opening-footnote{color:#e0c7d2}.opening .opening-japanese{color:#f0cee2}.opening .open-prompt,.opening .skip-link{color:#ffeddd}.opening .skip-link{opacity:.85}.opening .envelope{filter:drop-shadow(0 10px 24px #f3b4cf38);width:172px;height:118px}.opening .envelope-paper{width:145px;height:99px}.opening .envelope-face{background:linear-gradient(145deg,#fff6e3 0 49.5%,#ebd5c9 50% 100%);border-color:#f0d7b6}.opening .envelope-flap{background:#ecd6c7}.opening .opening-audio-note{color:#e6d3de;margin-top:15px;font-size:11px}.opening-audio-note a{text-underline-offset:3px;text-decoration:underline}.letter-portal{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(at 50% 58%,#ffe1c447,#f8b5d117 36%,#0000 65%);position:absolute;inset:0}.letter-portal>span{border:1px solid #ffe6cb;border-radius:50%;width:90px;height:90px;margin:-45px;position:absolute;top:58%;left:50%;box-shadow:0 0 26px #ffe0c075,inset 0 0 20px #ffe0c047}.letter-portal>span:nth-child(2){opacity:.7;border-style:dashed;width:120px;height:120px;margin:-60px}.letter-portal>span:nth-child(3){opacity:.4;width:160px;height:160px;margin:-80px}.portal-invitation{color:#fff3e3;opacity:0;pointer-events:none;text-shadow:0 3px 24px #171533;gap:20px;display:grid;position:absolute;top:46%;left:20px;right:20px}.portal-invitation .jp-cinematic{letter-spacing:.15em;font-size:clamp(24px,4vw,40px)}.portal-invitation>span:last-child{font:italic 17px var(--serif)}.opening--leaving{animation:2.8s ease-in-out forwards anime-world-enter}.opening--leaving .opening-copy{transition:none;animation:2.8s cubic-bezier(.2,.7,.2,1) forwards letter-copy-exit}.opening--leaving .anime-sky-image{animation:2.8s cubic-bezier(.22,1,.36,1) forwards anime-camera-dive}.opening--leaving .letter-portal{animation:2.8s forwards portal-light}.opening--leaving .letter-portal>span{animation:2.3s cubic-bezier(.3,.1,.2,1) .45s both portal-expand}.opening--leaving .letter-portal>span:nth-child(2){animation-delay:.6s}.opening--leaving .letter-portal>span:nth-child(3){animation-delay:.75s}.opening--leaving .portal-invitation{animation:2.8s both portal-title}.opening--leaving .envelope-paper{transform:translateY(-62px)}.music-credits{color:#526170;font:14px/1.8 var(--sans);text-align:center;background:#f9f4ec;padding:32px 7.1% 100px}.music-credits h2{color:#354e70;font:20px var(--serif);margin-bottom:12px}.music-credits p{max-width:720px;margin:8px auto}.music-credits a{color:#354e70;text-underline-offset:4px;padding:10px 0;text-decoration:underline;display:inline-block}.soundtrack-inline{color:#eee1e4;background:#101b32b8;border:1px solid #f1dac54d;border-radius:5px;width:min(100%,360px);padding:16px}.soundtrack-error{z-index:120;top:max(154px, calc(env(safe-area-inset-top) + 54px));color:#fff0df;width:min(280px,100vw - 32px);font:13px var(--sans);background:#17233df5;border:1px solid #c8b49a;border-radius:12px;padding:12px;position:fixed;right:16px}.soundtrack-inline .soundtrack-title{color:#fff0dc;margin:0;font-size:14px}.soundtrack-inline .soundtrack-subtitle{color:#dfcadb;font-size:11px}.soundtrack-inline-host{margin-top:12px}.soundtrack-inline-host iframe{background:#14213b;border:0;width:100%;height:200px;display:block}.soundtrack-inline .soundtrack-playback-status{font-size:12px;line-height:1.7}.soundtrack-inline .soundtrack-notice{color:#d5c6d6;margin-bottom:8px;font-size:11px;line-height:1.7}.soundtrack-inline>a{color:#f0d7bb;text-underline-offset:4px;margin-right:14px;padding-block:8px;font-size:12px;text-decoration:underline;display:inline-block}.soundtrack-play{color:#f9ead7;min-height:44px;font:inherit;cursor:pointer;background:#354363;border:1px solid #d6bea6;border-radius:4px;margin-bottom:8px;padding:7px 16px;font-size:14px}.soundtrack-mute{z-index:120;top:max(100px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));color:#fff0df;min-height:44px;font:13px var(--sans);cursor:pointer;background:#17233dec;border:1px solid #c8b49a;border-radius:24px;align-items:center;gap:8px;padding:8px 14px;display:flex;position:fixed;box-shadow:0 3px 20px #14203c24}.soundtrack-mute>span{font-size:20px}.soundtrack-mute:disabled{opacity:.6;cursor:wait}.sound-effect-notice{color:#edd7df;max-width:360px;font-size:12px}@keyframes sakura-cinematic-sway{0%{transform:rotate(-.8deg)}to{transform:rotate(1deg)}}@keyframes anime-star-breathe{0%{opacity:.2;transform:scale(.8)}to{opacity:.85;transform:scale(1.3)}}@keyframes world-settle{0%{background-color:#edccbb55}to{background-color:#0000}}@keyframes letter-copy-exit{0%,24%{opacity:1;transform:none}55%,to{opacity:0;transform:translateY(-35px)scale(1.06)}}@keyframes anime-camera-dive{0%{transform:scale(1)}to{transform:scale(1.22)translate(-2%,1%)}}@keyframes anime-world-enter{0%,72%{opacity:1}to{opacity:0}}@keyframes portal-light{0%,15%{opacity:0}50%,80%{opacity:1}to{opacity:0}}@keyframes portal-expand{0%{opacity:0;transform:scale(.3)rotate(-30deg)}25%{opacity:.8}to{opacity:0;transform:scale(18)rotate(60deg)}}@keyframes portal-title{0%,30%{opacity:0;transform:translateY(15px)}50%,78%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}@media (min-width:1000px){.hero-content .soundtrack-inline{width:300px;margin:0;position:absolute;bottom:5px;left:calc(100% + 50px)}}@media (max-width:620px){.anime-sky-image{background-image:var(--sky-mobile)}.hero{min-height:max(1320px,100svh);padding-bottom:190px}.hero-haze{background:linear-gradient(90deg,#0e1939b8,#0e193978),linear-gradient(#fffaf300 87%,#fffaf3 100%)}.hero .anime-sky-image{background-position:64%}.sakura-canopy{opacity:.72;width:1250px;max-width:none;height:780px;inset:-70px -300px auto auto}.hero .hero-vertical-jp{display:none}.hero .hero-meta{bottom:104px}.hero .hero-japanese-title{font-size:20px}.hero-content .soundtrack-inline{margin-top:26px}.opening .opening-copy{padding-top:32px;padding-bottom:70px}.opening .opening-copy h1{font-size:clamp(37px,11vw,48px)}.opening .opening-japanese{margin-bottom:20px;font-size:22px}.opening .envelope-button{margin-top:25px}.opening .skip-link{margin-top:17px}.portal-invitation>span:last-child{font-size:14px}.soundtrack-mute{font-size:12px;top:90px;right:12px}.closing-section{min-height:650px}}@media (max-height:650px){.opening .opening-copy{max-height:100svh;padding-block:24px;overflow-y:auto}.opening .opening-japanese{margin-bottom:10px;font-size:20px}.opening .opening-copy h1{margin-top:10px;font-size:34px}.opening .opening-copy>p{margin-top:8px;font-size:14px}.opening .envelope-button{margin-top:18px}.opening .envelope{width:130px;height:90px}.opening .envelope-paper{width:103px;height:75px}.opening .skip-link{margin-top:8px}.opening-footnote{display:none}}[data-motion=paused] .jp-cinematic .jp-glyph,[data-motion=paused] .reveal-sequence.reveal-ready>*{opacity:1;filter:none;transition:none;transform:none}[data-motion=paused] .anime-sky-image,[data-motion=paused] .sakura-depth{transform:none!important}@media (prefers-reduced-motion:reduce){:root:not([data-full-motion=true]) .sakura-world{display:none}:root:not([data-full-motion=true]) .jp-cinematic .jp-glyph,:root:not([data-full-motion=true]) .jp-cinematic[data-ready=true] .jp-glyph,:root:not([data-full-motion=true]) [data-reveal].reveal-ready,:root:not([data-full-motion=true]) .reveal-sequence.reveal-ready>*{opacity:1;filter:none;transition:none;transform:none}:root:not([data-full-motion=true]) .anime-sky-image,:root:not([data-full-motion=true]) .sakura-depth{will-change:auto;transform:none!important}:root:not([data-full-motion=true]) .sakura-bough,:root:not([data-full-motion=true]) .anime-sky-stars i{animation:none}}
