/* ooLEO shared styles */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:#FFFFFF;font-family:'Geist',ui-sans-serif,system-ui,-apple-system,sans-serif;color:#0D1626;-webkit-font-smoothing:antialiased}
[hidden]{display:none !important}
a{color:#4338CA;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(67,56,202,.35);text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease,background .15s ease}
a:hover{color:#312E81;text-decoration-color:currentColor}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #4F46E5;outline-offset:2px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:12px;background:#1E1B4B;color:#fff;text-decoration:none}
.skip:focus{top:12px}
.hs{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:1.12em;letter-spacing:-.02em;padding:0 .1em 0 .02em;white-space:nowrap}
.hg{background:linear-gradient(100deg,#4F46E5 0%,#8B5CF6 35%,#D946EF 55%,#8B5CF6 75%,#4F46E5 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hgs 9s ease-in-out infinite alternate}
@keyframes hgs{from{background-position:0% 50%}to{background-position:100% 50%}}
.hu{background-image:linear-gradient(90deg,rgba(165,180,252,.75),rgba(240,171,252,.7));background-repeat:no-repeat;background-size:100% .2em;background-position:0 88%}
@media (prefers-reduced-motion: reduce){.hg{animation:none}}

/* footer */
.fl{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:18px;color:#3A4557;font-size:13.5px;font-weight:500;text-decoration:none}
.fl:hover{background:rgba(79,70,229,.08);color:#312E81}
.fl.on{color:#312E81;background:rgba(79,70,229,.1)}
.fmail{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:20px;background:#FFFFFF;border:1px solid rgba(16,36,68,.1);color:#0D1626;font-size:13.5px;font-weight:500;text-decoration:none;box-shadow:0 4px 12px -8px rgba(30,27,75,.3)}
.fmail:hover{border-color:rgba(79,70,229,.4);color:#312E81}
.fnav{display:flex;flex-wrap:wrap;gap:4px;margin:0 -12px}
@media (max-width: 700px){.fnav{display:grid;grid-template-columns:1fr 1fr;gap:2px}.fl{min-height:44px}.ftop{flex-direction:column}}

/* cookie notice */
.ck{position:fixed;left:16px;bottom:16px;z-index:60;width:min(392px,calc(100vw - 32px));color:#0D1626}
.ckc{position:relative;overflow:hidden;border-radius:24px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 0 0 1px rgba(16,36,68,.07),0 30px 60px -24px rgba(30,27,75,.45),0 0 0 6px rgba(255,255,255,.35)}
.ckc::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(79,70,229,.5),rgba(217,70,239,.35),rgba(79,70,229,0) 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.scan{position:absolute;left:0;right:0;top:0;height:60px;pointer-events:none;background:linear-gradient(180deg,rgba(139,92,246,0),rgba(139,92,246,.16),rgba(139,92,246,0));animation:scan 1.6s 1.1s ease-in-out both}
@keyframes scan{0%{transform:translateY(-70px);opacity:0}15%{opacity:1}100%{transform:translateY(260px);opacity:0}}
.ckc.in{animation:ckin .7s cubic-bezier(.2,.9,.25,1.15) 1s both}
@keyframes ckin{from{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:none}}
.ckc.out{animation:ckout .45s cubic-bezier(.5,0,.75,0) both}
@keyframes ckout{to{opacity:0;transform:translateY(36px) scale(.96)}}
.ckb{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px}
.ckh{display:flex;align-items:center;gap:10px}
.cka{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#1E1B4B,#4F46E5);box-shadow:0 6px 14px -6px rgba(79,70,229,.8)}
.cka svg{width:21px;height:11px;display:block}
.ckt{flex:1;min-width:0;display:flex;flex-direction:column}
.ckt b{font-size:14px;font-weight:600;line-height:1.2}
.ckt span{font-family:'Geist Mono',monospace;font-size:11px;color:#687387}
.ckt b{overflow-wrap:anywhere}
html[lang=ko] .ck p{word-break:keep-all}
.ckp{flex:none;display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 10px;border-radius:13px;background:rgba(34,197,94,.1);color:#15803D;font-size:11.5px;font-weight:600}
.dot{width:8px;height:8px;border-radius:50%;background:#22C55E;animation:pulse 2s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}100%{box-shadow:0 0 0 8px rgba(34,197,94,0)}}
.ckm{margin:0;font-size:14px;line-height:1.55;color:#3A4557}
.ckm b{color:#0D1626;font-weight:600}
.ckd{display:flex;flex-direction:column;gap:8px}
.perm{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#F5F6FB;animation:rise .35s ease both}
.perm:nth-child(2){animation-delay:.06s}.perm:nth-child(3){animation-delay:.12s}
.perm>span:first-child{flex:1;min-width:0}
.perm b{display:block;font-size:13px;font-weight:600}
.perm>span:first-child>span{font-size:12px;line-height:1.4;color:#687387}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sw{flex:none;position:relative;width:40px;height:24px;border-radius:12px;background:#DDE0EA}
.sw>span{position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#FFFFFF;box-shadow:0 1px 2px rgba(16,36,68,.2);display:grid;place-items:center}
.sw.on{background:linear-gradient(125deg,#1E1B4B,#4F46E5)}
.sw.on>span{left:auto;right:3px}
.sw svg{fill:none;stroke:#4F46E5;stroke-width:2.6;stroke-linecap:round}
.cka2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cka2 a{margin-left:auto;font-size:12.5px}
.ck .btn{height:40px;padding:0 16px;border:0;border-radius:20px;font:inherit;font-size:13.5px;cursor:pointer;transition:transform .15s ease}
.ck .btn:hover{transform:translateY(-1px)}
.ck .ok{padding:0 18px;background:linear-gradient(125deg,#1E1B4B,#4F46E5);color:#FFFFFF;font-weight:600;box-shadow:0 8px 18px -8px rgba(79,70,229,.8)}
.ck .more{background:rgba(79,70,229,.08);color:#312E81;font-weight:500}
@media (max-width: 480px){.ck{left:12px;right:12px;bottom:12px;width:auto}}
@media (prefers-reduced-motion: reduce){.ckc.in,.ckc.out,.scan,.dot,.perm{animation:none !important}.scan{display:none}}

/* legal pages: small-screen polish */
.back{white-space:nowrap}
@media (max-width: 360px){.back{padding:0 14px;font-size:13.5px}}
