@font-face{font-family:TsukiBoot;src:url('/assets/fonts/manrope/Manrope-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:TsukiBoot;src:url('/assets/fonts/manrope/Manrope-ExtraBold.ttf') format('truetype');font-style:normal;font-weight:800;font-display:swap}
html,body{margin:0;background:#07080D}
#app[aria-busy="true"]{visibility:hidden}
#boot-screen{position:fixed;inset:0;z-index:9999;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;background:#07080D;color:#F7F3FF;font-family:TsukiBoot,Manrope,system-ui,sans-serif;opacity:1;transition:opacity .18s ease-out}
#boot-screen.boot-leaving{opacity:0;pointer-events:none}
/* Soft illumination behind the orbital gift composition; no finite light beams. */
.boot-ambience{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:#09080F}
.boot-glow{position:absolute;left:50%;top:50%;width:900px;height:900px;filter:blur(48px);pointer-events:none}
.boot-glow--violet{margin:-820px 0 0 -450px;background:radial-gradient(ellipse closest-side,#AC79FA80 0%,#AC79FA73 12%,#AC79FA52 28%,#AC79FA32 44%,#AC79FA19 60%,#AC79FA09 76%,#AC79FA02 90%,#AB78ED00 100%);transform:translate3d(0,0,0);animation:boot-bloom-violet 10s ease-in-out -2s infinite alternate}
.boot-glow--pink{margin:40px 0 0 -450px;background:radial-gradient(ellipse closest-side,#BC83DB38 0%,#BC83DB33 12%,#BC83DB28 28%,#BC83DB19 44%,#BC83DB0C 60%,#BC83DB04 76%,#BC83DB01 90%,#BC83DB00 100%);transform:translate3d(0,0,0);animation:boot-bloom-pink 12s ease-in-out -5s infinite alternate}
.boot-ambience::after{content:"";position:absolute;inset:0;background:url('/assets/boot-grain.svg') repeat;opacity:.012;pointer-events:none}
.boot-dust{position:absolute;left:50%;top:50%;width:min(100%,480px);height:850px;transform:translate(-50%,-50%);opacity:.55;background:radial-gradient(circle at 24% 10%,#BFA8DF80 0 1px,transparent 1.5px),radial-gradient(circle at 83% 19%,#E7D8FF66 0 1px,transparent 1.5px),radial-gradient(circle at 12% 56%,#C7AAE34D 0 1px,transparent 1.5px),radial-gradient(circle at 34% 81%,#C7AAE380 0 1px,transparent 1.5px),radial-gradient(circle at 85% 90%,#C7AAE366 0 1px,transparent 1.5px)}
.boot-gift-scene{position:absolute;left:50%;top:50%;width:min(100%,480px);height:min(100%,760px);transform:translate(-50%,-50%);z-index:-1;pointer-events:none}
.boot-orbits{position:absolute;inset:0;width:100%;height:100%;overflow:visible;stroke:#AB7AF0;stroke-width:.85;stroke-dasharray:3 18;opacity:.25;animation:boot-orbit-drift 50s ease-in-out infinite alternate;transform-origin:center}
.boot-gift,.boot-depth{position:absolute;width:var(--gift-size);height:var(--gift-size);margin:calc(var(--gift-size) / -2) 0 0 calc(var(--gift-size) / -2);box-sizing:border-box;isolation:isolate;border:1px solid #C5A0FBA3;border-radius:50%;background:radial-gradient(ellipse at 35% 23%,#6D39A74D,#261237B8 63%,#100C16D9);box-shadow:0 0 0 3px #9A62EB0D,inset 0 0 17px #A871E812,0 0 22px #AF79FF1A;animation:boot-gift-float 7s ease-in-out infinite alternate;--gift-tilt:0deg}
.boot-gift::before,.boot-depth::before{content:"";position:absolute;inset:4px;z-index:-1;border:1px solid #B589F329;border-radius:50%;pointer-events:none}
.boot-gift--rose{--gift-size:88px;left:14%;top:24%;animation-delay:-1.5s}
.boot-gift--star{--gift-size:66px;left:50%;top:13%;animation-duration:8s;animation-delay:-4s}
.boot-gift--ring{--gift-size:110px;left:88%;top:72%;animation-duration:9s;animation-delay:-3s;box-shadow:0 0 0 4px #A562E811,inset 0 0 22px #AD78F21C,0 0 24px #B787FF26}
.boot-gift-poster,[data-boot-gift-player],.boot-depth>span{position:absolute;inset:12%;display:block;width:76%;height:76%}
.boot-gift-poster,.boot-depth>span{background:center/contain no-repeat}
.boot-gift--rose .boot-gift-poster{background-image:url('/assets/boot-gifts/gift-1.webp')}
.boot-gift--star .boot-gift-poster{background-image:url('/assets/boot-gifts/gift-2.webp')}
.boot-gift--ring .boot-gift-poster{background-image:url('/assets/boot-gifts/gift-3.webp')}
.boot-gift[data-media-state="ready"] .boot-gift-poster{visibility:hidden}
[data-boot-gift-player]:not([data-media-state="ready"]){visibility:hidden}
[data-boot-gift-player] svg{display:block;width:100%;height:100%;overflow:visible}
.boot-depth--heart{--gift-size:82px;left:50%;top:82%;animation-duration:8.5s;animation-delay:-3s}
.boot-depth--heart>span{background-image:url('/assets/boot-gifts/depth/heart.webp')}
.boot-depth--gem{--gift-size:50px;left:86%;top:48%;animation-delay:-2.7s}
.boot-depth--gem>span{background-image:url('/assets/boot-gifts/depth/gem.webp')}
.boot-depth--clover{--gift-size:104px;left:10%;top:72%;filter:blur(.45px);animation-duration:9s;animation-delay:-4.5s}
.boot-depth--clover>span{background-image:url('/assets/boot-gifts/depth/clover.webp')}
.boot-depth--signet{--gift-size:86px;left:87%;top:24%;filter:blur(.35px);animation-delay:-4s}
.boot-depth--signet>span{background-image:url('/assets/boot-gifts/depth/signet.webp')}
.boot-depth--medal{--gift-size:48px;left:14%;top:48%;animation-duration:8.5s;animation-delay:-1s}
.boot-depth--medal>span{background-image:url('/assets/boot-gifts/depth/medal.webp')}
.boot-depth--far-left{--gift-size:42px;left:35%;top:30%;opacity:.56;filter:blur(1.4px);animation-duration:10s;animation-delay:-1.8s}
.boot-depth--far-left>span{background-image:url('/assets/boot-gifts/gift-3.webp')}
.boot-depth--far-right{--gift-size:44px;left:65%;top:30%;opacity:.55;filter:blur(1.2px);animation-duration:10s;animation-delay:-5s}
.boot-depth--far-right>span{background-image:url('/assets/boot-gifts/gift-1.webp')}
.boot-content{position:relative;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;width:min(100%,480px);padding:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));text-align:center}
/* Bare brand mark, deliberately no tile/border/rounded plate or pseudo-elements. */
.boot-logo{display:grid;place-items:center;position:relative;width:84px;height:84px;margin-bottom:18px;background:transparent;border:0;border-radius:0;box-shadow:none}
.boot-logo img{display:block;width:82px;height:82px;filter:drop-shadow(0 0 26px #A55BFF45)}
.boot-title{margin:0;font-size:30px;font-weight:800;line-height:1.2;letter-spacing:-1.05px;color:#F7F3FF;text-shadow:0 0 32px #AC77E626}
#boot-detail{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
.boot-progress{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;box-sizing:border-box;width:236px;max-width:100%;min-height:42px;padding-top:23px;margin-top:21px}
.boot-progress::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:5px;background:#9A64C824;box-shadow:inset 0 0 0 1px #C399ED10}
.boot-progress::before{content:"";position:absolute;left:0;top:0;width:42%;height:4px;border-radius:5px;background:linear-gradient(90deg,#9259E2,#D8BFFF,#B187EE);box-shadow:0 0 10px #B281F799;z-index:1;animation:boot-bar-travel 2.8s ease-in-out infinite alternate}
.boot-spinner{display:none}
#boot-label{color:#B597D8;font-size:12px;font-weight:600;line-height:1.6;letter-spacing:normal;text-transform:none}
#boot-retry{margin-top:32px;min-height:44px;border:1px solid #CFBBFF24;border-radius:14px;padding:11px 25px;background:linear-gradient(180deg,#C4ADFF,#A786FF);box-shadow:inset 0 1px 3px #FFFFFF33,0 5px 24px #A786FF18;color:#FFFFFF;font:800 13px TsukiBoot,Manrope,system-ui,sans-serif;cursor:pointer}
#boot-retry[hidden]{display:none}
#boot-retry:focus-visible{outline:2px solid #F0E6FF;outline-offset:4px}
@keyframes boot-bloom-violet{from{transform:translate3d(-25px,-20px,0) scale(.92);opacity:.8}to{transform:translate3d(70px,45px,0) scale(1.12);opacity:1}}
@keyframes boot-bloom-pink{from{transform:translate3d(30px,25px,0) scale(1.06);opacity:.75}to{transform:translate3d(-45px,-50px,0) scale(.94);opacity:1}}
@keyframes boot-gift-float{from{transform:translate3d(0,3px,0)}to{transform:translate3d(0,-4px,0)}}
@keyframes boot-orbit-drift{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@keyframes boot-bar-travel{from{transform:translateX(0)}to{transform:translateX(138%)}}
@keyframes boot-loading-light{to{transform:scaleX(1);opacity:.8}}
@keyframes boot-spin{to{transform:rotate(360deg)}}
#boot-screen[data-gifts-paused="true"] *,#boot-screen[data-gifts-paused="true"] *::after,#boot-screen[data-gifts-paused="true"] *::before{animation-play-state:paused}
@media(max-width:350px){.boot-gift--rose,.boot-depth--signet{--gift-size:74px}.boot-gift--star{--gift-size:58px}.boot-gift--ring,.boot-depth--clover{--gift-size:90px}.boot-depth--heart{--gift-size:70px}.boot-depth--far-left,.boot-depth--far-right{--gift-size:36px}.boot-depth--gem,.boot-depth--medal{--gift-size:42px}.boot-progress{width:216px}.boot-title{font-size:28px}}
@media(max-height:600px){.boot-logo{width:66px;height:66px;margin-bottom:14px}.boot-logo img{width:64px;height:64px}.boot-title{font-size:26px}.boot-progress{margin-top:17px;padding-top:18px;min-height:37px;width:208px}.boot-gift--rose,.boot-depth--signet{--gift-size:64px}.boot-gift--star{--gift-size:50px;top:10%}.boot-gift--ring,.boot-depth--clover{--gift-size:74px;top:77%}.boot-depth--heart{--gift-size:60px;top:91%}.boot-depth--far-left,.boot-depth--far-right{--gift-size:30px;top:23%}.boot-depth--gem,.boot-depth--medal{--gift-size:38px}}
@media(prefers-reduced-motion:reduce){#boot-screen{transition:none}#boot-screen *,#boot-screen *::before,#boot-screen *::after{animation:none!important}.boot-progress::before{transform:translateX(65%)}}
