.boot-popup[hidden]{display:none!important}.boot-popup{position:fixed;left:24px;bottom:24px;z-index:25;width:min(355px,calc(100% - 32px));box-sizing:border-box;padding:24px;background:#fffaf1;border:1px solid #e6d6c5;border-top:4px solid #ff671f;border-radius:16px;box-shadow:0 12px 40px #252e2726;color:#25332d}.boot-label{margin:0 30px 10px 0;color:#a73c08;font-size:11px;font-weight:700;letter-spacing:.05em}.boot-popup h2{font:600 23px/1.5 var(--serif);letter-spacing:-.7px;margin:0 0 10px;word-break:keep-all}.boot-popup h2 em{font-style:normal;color:#c7450a}.boot-copy{font-size:13px;line-height:1.8;margin:0 0 16px;color:#53594f;word-break:keep-all}.boot-link{display:flex;justify-content:space-between;gap:8px;padding:13px 14px;border-radius:8px;background:#25332d;color:white;text-decoration:none;font-size:13px;font-weight:700}.boot-link:hover{background:#405148}.boot-close{position:absolute;top:9px;right:9px;width:44px;height:44px;border:0;background:transparent;color:#53594f;font-size:25px;cursor:pointer}.boot-today{display:block;margin:8px auto -8px;padding:12px;border:0;background:transparent;color:#64685f;font-size:11px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.boot-popup :is(a,button):focus-visible{outline:3px solid #ff671f;outline-offset:3px}@media(max-width:760px){.boot-popup{left:16px;bottom:calc(140px + env(safe-area-inset-bottom));width:calc(100% - 32px);padding:18px 20px;max-height:48dvh;overflow:auto}.boot-popup h2{font-size:20px}.boot-copy{font-size:12px;margin-bottom:12px}}
/* 부트캠프 안내에만 적용하는 은은한 빛 효과 */
.boot-popup{animation:boot-glow 3.6s ease-in-out infinite}
.boot-label::after{content:'✦';display:inline-block;margin-left:9px;color:#ff8b3d;font-size:15px;vertical-align:-1px;animation:boot-twinkle 2.8s ease-in-out infinite}
.boot-popup h2 em::after{content:' ✧';display:inline-block;color:#ff8b3d;font-size:17px;animation:boot-twinkle 3.2s ease-in-out 1s infinite}
.boot-link{position:relative;overflow:hidden;isolation:isolate}
.boot-link::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.26) 48%,transparent 66%);transform:translateX(-150%);animation:boot-shine 5s ease-in-out 1s infinite;pointer-events:none}
@keyframes boot-glow{0%,100%{box-shadow:0 12px 40px #252e2726,0 0 0 1px #ff671f12}50%{box-shadow:0 12px 40px #252e2726,0 0 22px 3px #ff9a493b}}
@keyframes boot-twinkle{0%,100%{opacity:.45;transform:scale(.8) rotate(-8deg)}50%{opacity:1;transform:scale(1.18) rotate(10deg)}}
@keyframes boot-shine{0%,65%{transform:translateX(-150%)}90%,100%{transform:translateX(150%)}}
@media(prefers-reduced-motion:reduce){.boot-popup,.boot-label::after,.boot-popup h2 em::after,.boot-link::before{animation:none}}

/* 팝업을 여는 순간부터 움직임이 선명하게 보이도록 강조 */
.boot-popup{border:2px solid #ff671f;border-top:6px solid #ff671f;animation:boot-bright-glow 2s ease-in-out infinite}
.boot-label::after{content:'✦  ✧  ✦';font-size:19px;color:#f05a00;text-shadow:0 0 9px #ffb34d;animation:boot-bright-star 1.6s ease-in-out infinite}
.boot-popup h2 em::after{content:' ✨';font-size:21px;animation:boot-bright-star 1.9s ease-in-out .4s infinite}
.boot-link{background:#d64b08;box-shadow:0 4px 14px #ff671f66;animation:boot-button-glow 2s ease-in-out infinite}
.boot-link:hover{background:#aa3905}
.boot-link::before{z-index:0;background:linear-gradient(110deg,transparent 24%,rgba(255,255,255,.65) 50%,transparent 76%);animation:boot-shine 2.8s ease-in-out infinite}
@keyframes boot-bright-glow{0%,100%{box-shadow:0 12px 35px #252e2730,0 0 5px 2px #ff671f80}50%{box-shadow:0 12px 40px #252e2730,0 0 24px 8px #ff8a36aa,0 0 42px 12px #ffc06b55}}
@keyframes boot-bright-star{0%,100%{opacity:.55;transform:scale(.88) rotate(-7deg)}50%{opacity:1;transform:scale(1.2) rotate(8deg)}}
@keyframes boot-button-glow{0%,100%{box-shadow:0 4px 12px #ff671f66}50%{box-shadow:0 4px 20px 4px #ff8a36aa}}
@media(prefers-reduced-motion:reduce){.boot-popup,.boot-label::after,.boot-popup h2 em::after,.boot-link,.boot-link::before{animation:none}}
