@property --magic-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.header .logo-glow-line{position:relative;display:block;width:max-content;color:#fff6e8;-webkit-text-stroke:.35px #f49a45;paint-order:stroke fill;text-shadow:0 0 7px #ff811e55;font-weight:inherit}.header small.logo-glow-line{font-weight:600;-webkit-text-stroke:.2px #ec974c;text-shadow:0 0 4px #ff92284d}.header .logo-glow-line:after{content:attr(data-lettering);position:absolute;inset:0;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:.9px #ffd399;text-shadow:none;pointer-events:none;mask-image:linear-gradient(110deg,transparent 36%,#000 48%,#000 52%,transparent 64%);mask-size:300% 100%;mask-position:150% 0;animation:logo-outline-light 5s ease-in-out infinite;filter:drop-shadow(0 0 2px #ff841a)}.header small.logo-glow-line:after{-webkit-text-stroke:.45px #ffd39a;animation-delay:.15s;filter:drop-shadow(0 0 1px #ff841a)}@keyframes logo-outline-light{0%{mask-position:150% 0}75%,100%{mask-position:-50% 0}}@media(prefers-reduced-motion:reduce){.header .logo-glow-line:after{animation:none;display:none}}.reduce-motion .header .logo-glow-line:after{display:none}
.contact-dock{--magic-angle:0deg;gap:4px;padding:5px;border:2px solid transparent;border-radius:21px;overflow:visible;background:linear-gradient(#090e28,#090e28) padding-box,conic-gradient(from var(--magic-angle),#ff4747,#ff922f,#ffe955,#40ee83,#24d9ff,#376bff,#bf56ff,#ff4747) border-box;box-shadow:-7px 0 24px #31e4a52b,7px 0 24px #5f68ff44,0 6px 26px #0008;animation:magic-border-flow 12s linear infinite;isolation:isolate}
.contact-dock:before{content:'';position:absolute;inset:-2px;border:1px solid transparent;border-radius:inherit;background:conic-gradient(from var(--magic-angle),#ff474760,#ff922f60,#ffe95560,#40ee8360,#24d9ff60,#376bff60,#bf56ff60,#ff474760) border-box;filter:blur(7px);z-index:-1;opacity:.4;pointer-events:none}
.contact-dock:after{content:'';position:absolute;left:0;top:0;width:5px;height:5px;border-radius:50%;background:#fff7ce;box-shadow:0 0 5px 2px #fff6c9,0 0 14px 5px #ffad7066;offset-path:inset(0 round 21px);offset-distance:0%;animation:magic-comet 12s linear infinite;pointer-events:none}
.contact-dock>a{position:relative;border-radius:14px;min-height:48px;gap:6px;padding:8px 10px;border:1px solid #ffffff24;transition:filter .2s,box-shadow .2s,transform .2s;color:#f9f4ff;font-size:11px;background:linear-gradient(135deg,#103d3d,#191b44 58%,#39205c);box-shadow:inset 0 1px 0 #ffffff25,inset 0 -8px 16px #0002}
.contact-dock>a:hover,.contact-dock>a:focus-visible{filter:brightness(1.17);transform:translateY(-2px);background:linear-gradient(135deg,#174e48,#282050);box-shadow:0 0 16px #40edb24a,inset 0 1px 0 #ffffff55}
.contact-dock .dock-kakao,.contact-dock .dock-kakao:hover{color:#271c08;background:linear-gradient(135deg,#fff360,#ffe500 50%,#ffbc35);border-color:#fff494;box-shadow:inset 0 1px 3px #fff9,0 0 12px #ffe04426}
.contact-dock .dock-phone,.contact-dock .dock-phone:hover{display:grid;grid-template-columns:19px auto;column-gap:7px;row-gap:1px;background:linear-gradient(135deg,#103f68,#111d45 55%,#231540);border-color:#4c9ef77a;padding:6px 10px;text-align:left}
.dock-phone .dock-icon{grid-row:1/3;color:#ffbd68;width:19px;height:22px}.dock-phone span{font-size:10px;line-height:1.3;color:#e1eaff}.dock-phone strong{font-size:14px;line-height:1.4;color:#ffe9a6}.dock-icon{width:17px;height:17px;flex-shrink:0}.dock-label .dock-icon{color:#7bffc6;filter:drop-shadow(0 0 4px #39e99f)}
:is(.header .header-actions .button.ink,.library-youtube-cta){position:relative;--magic-angle:0deg;border:2px solid transparent;border-radius:10px;background:linear-gradient(125deg,#ec2844,#bd1335) padding-box,conic-gradient(from var(--magic-angle),#ff4b4b,#ff424266 25%,#ff9292 48%,#fff0df 52%,#ff4545 62%,#ff33335e 85%,#ff4b4b) border-box;box-shadow:0 0 12px #ff364a4d,0 0 25px #ff253526;animation:magic-border-flow 7s linear infinite;color:#fff}
:is(.header .header-actions .button.ink,.library-youtube-cta):after{content:'';position:absolute;width:3px;height:3px;left:0;top:0;border-radius:50%;background:#fff0e3;box-shadow:0 0 5px 2px #ffb9a6,0 0 10px 3px #ff39394d;offset-path:inset(0 round 10px);animation:magic-comet 7s linear infinite;pointer-events:none}:is(.header .header-actions .button.ink,.library-youtube-cta):hover{box-shadow:0 0 17px #ff394f80,0 0 35px #ff364540}
@keyframes magic-border-flow{to{--magic-angle:360deg}}@keyframes magic-comet{to{offset-distance:100%}}
@media(max-width:760px){.contact-dock{left:7px;right:7px;bottom:calc(5px + env(safe-area-inset-bottom));padding:4px;gap:4px;border-radius:17px}.contact-dock>a{font-size:10px;padding:8px 6px;gap:5px;min-height:52px;border-radius:11px}.contact-dock .dock-phone{padding:7px 6px;grid-template-columns:13px auto;column-gap:4px;flex:1.25}.dock-phone .dock-icon{width:13px;height:18px}.dock-phone strong{font-size:12px;letter-spacing:0}.dock-phone span{font-size:9px}.dock-icon{width:14px;height:14px}.contact-dock .dock-label{flex:.8}.contact-dock:after{offset-path:inset(0 round 17px)}}
@media(max-width:359px){.contact-dock .dock-icon{display:none}.contact-dock .dock-phone{display:flex;gap:1px}.contact-dock>a{padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.contact-dock,:is(.header .header-actions .button.ink,.library-youtube-cta),.contact-dock:after,:is(.header .header-actions .button.ink,.library-youtube-cta):after{animation:none}.contact-dock:after,:is(.header .header-actions .button.ink,.library-youtube-cta):after{display:none}}.reduce-motion .contact-dock:after,.reduce-motion :is(.header .header-actions .button.ink,.library-youtube-cta):after{display:none}

/* Match the header's YouTube glow, with room for the longer library label. */
#library .library-youtube-cta{flex-shrink:0;min-height:56px;padding:15px 25px;font-size:16px;font-weight:800;line-height:1.5;white-space:nowrap;text-align:center}
#library .library-youtube-cta:focus-visible{outline:3px solid #7753ad;outline-offset:5px}
@media(max-width:760px){#library .section-heading{flex-wrap:wrap;align-items:flex-start;gap:24px}#library .library-youtube-cta{width:auto;max-width:100%;padding:14px 20px;min-height:52px;font-size:15px}}
.reduce-motion .library-youtube-cta{animation:none}