:root{
  --a-ink:#071a2f;
  --a-navy:#071d36;
  --a-navy-2:#0b3154;
  --a-blue:#147ccd;
  --a-cyan:#45d7f7;
  --a-ice:#eef9ff;
  --a-paper:#f7fafc;
  --a-white:#fff;
  --a-muted:#597083;
  --a-line:#d9e6ee;
  --a-danger:#b6403e;
  --a-max:1180px;
  --a-font:"Noto Sans KR","Noto Sans SC","Manrope",Arial,sans-serif;
  --a-mono:"Space Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --a-shadow:0 28px 80px rgba(5,24,46,.16);
}
*{box-sizing:border-box}
html{background:var(--a-paper);scroll-behavior:smooth}
body{margin:0;background:var(--a-paper);color:var(--a-ink);font-family:var(--a-font);font-size:16px;line-height:1.72;letter-spacing:-.018em}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}
.a-container{width:min(calc(100% - 56px),var(--a-max));margin:0 auto}
.a-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.a-skip{position:fixed;z-index:9999;top:-48px;left:20px;padding:9px 14px;border-radius:4px;background:#fff;color:var(--a-ink);font-weight:800;transition:top .18s}.a-skip:focus{top:15px}
.a-header{position:sticky;top:0;z-index:900;background:rgba(5,21,39,.92);border-bottom:1px solid rgba(173,231,252,.18);backdrop-filter:blur(14px)}
.a-header-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.a-brand{display:flex;align-items:center;gap:11px;color:#fff}.a-brand-mark{display:grid;place-items:center;width:44px;height:32px;border:1px solid rgba(91,220,247,.75);border-radius:2px;color:#9ceeff;font-family:var(--a-mono);font-size:12px;font-weight:700;letter-spacing:.04em}.a-brand-copy{display:flex;flex-direction:column;line-height:1.1}.a-brand-copy strong{font-family:var(--a-mono);font-size:11px;letter-spacing:.1em}.a-brand-copy small{margin-top:5px;color:#94bed0;font-size:8px;letter-spacing:.08em}
.a-nav{display:flex;align-items:center;gap:19px;color:#d4e6ef;font-size:12px;font-weight:700}.a-nav>a{transition:color .2s}.a-nav>a:hover{color:#8ceeff}.a-nav .a-nav-cta{padding:8px 12px;border:1px solid rgba(89,218,248,.62);color:#a4f2ff}.a-lang{display:flex;gap:3px;border-left:1px solid rgba(255,255,255,.16);padding-left:12px}.a-lang button{padding:4px 5px;border:0;background:transparent;color:#91afbf;font-family:var(--a-mono);font-size:10px}.a-lang button:hover,.a-lang button.is-active{background:rgba(255,255,255,.14);color:#fff}.a-auth{padding:7px 10px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;font-size:11px;font-weight:800}.a-auth:hover{border-color:#8befff;color:#8befff}
.a-hero{position:relative;overflow:hidden;padding:105px 0 92px;background:radial-gradient(circle at 78% 28%,rgba(29,166,227,.43),transparent 31%),linear-gradient(128deg,#031126 0%,#09243f 55%,#071a2f 100%);color:#fff}.a-hero:before{content:"";position:absolute;inset:0;opacity:.26;background-image:linear-gradient(rgba(97,200,240,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(97,200,240,.25) 1px,transparent 1px);background-size:65px 65px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}.a-hero:after{content:"";position:absolute;width:610px;height:610px;right:-210px;bottom:-390px;border:1px solid rgba(89,227,255,.42);border-radius:50%;box-shadow:0 0 0 54px rgba(88,222,255,.08),0 0 0 108px rgba(88,222,255,.04)}
.a-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.06fr .94fr;gap:65px;align-items:center}.a-kicker{display:flex;align-items:center;gap:10px;color:#bdeffd;font-family:var(--a-mono);font-size:10px;font-weight:700;letter-spacing:.15em}.a-kicker:before{content:"";width:28px;height:1px;background:var(--a-cyan)}.a-hero h1{max-width:690px;margin:22px 0 0;font-size:clamp(40px,5vw,70px);line-height:1.18;letter-spacing:-.07em}.a-hero h1 em{font-style:normal;color:var(--a-cyan)}.a-hero p{max-width:640px;margin:26px 0 31px;color:#bfd5e2;font-size:15px;line-height:1.88;word-break:keep-all}.a-actions{display:flex;gap:10px;flex-wrap:wrap}.a-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:51px;padding:0 20px;border:1px solid transparent;border-radius:2px;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s}.a-button:hover{transform:translateY(-2px)}.a-primary{background:var(--a-cyan);color:#05203b;box-shadow:0 12px 28px rgba(48,216,248,.22)}.a-primary:hover{background:#abf2ff}.a-ghost{border-color:rgba(255,255,255,.42);color:#fff;background:rgba(255,255,255,.03)}.a-ghost:hover{background:rgba(255,255,255,.1)}.a-dark{background:#092543;color:#fff}.a-dark:hover{background:#0d385f}.a-danger{background:#aa413f;color:#fff}
.a-hero-circuit{position:relative;min-height:406px;border:1px solid rgba(176,235,255,.3);background:linear-gradient(136deg,rgba(9,39,70,.84),rgba(5,26,48,.48));box-shadow:var(--a-shadow);overflow:hidden}.a-hero-circuit:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(126,229,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(126,229,255,.15) 1px,transparent 1px);background-size:34px 34px}.a-secure-ring{position:absolute;width:250px;height:250px;right:42px;top:60px;border:1px solid rgba(70,218,247,.75);border-radius:50%;box-shadow:0 0 0 32px rgba(62,203,238,.08),0 0 0 64px rgba(62,203,238,.045)}.a-lock{position:absolute;display:grid;place-items:center;right:132px;top:148px;width:72px;height:72px;border:1px solid #94eeff;border-radius:50%;background:#0b3358;color:#d8fbff;font-size:27px;box-shadow:0 0 30px rgba(65,217,250,.28)}.a-flow{position:absolute;left:33px;right:33px;bottom:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.a-flow-item{min-height:98px;padding:15px;border:1px solid rgba(181,235,252,.23);background:rgba(4,23,45,.52)}.a-flow-item span{display:grid;place-items:center;width:25px;height:25px;margin-bottom:11px;border:1px solid #76dff7;border-radius:50%;color:#8fecff;font-family:var(--a-mono);font-size:9px}.a-flow-item p{margin:0;color:#eaf8fe;font-size:10px;line-height:1.55}.a-spark{position:absolute;width:7px;height:7px;border-radius:50%;background:#5ee7ff;box-shadow:0 0 16px #5ee7ff}.a-spark.a{left:36px;top:83px}.a-spark.b{left:157px;top:167px}.a-spark.c{right:56px;bottom:160px}
.a-meta-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);margin-top:51px;border-top:1px solid rgba(255,255,255,.17)}.a-meta-grid>div{padding:16px 18px 0 0}.a-meta-grid>div+div{border-left:1px solid rgba(255,255,255,.17);padding-left:18px}.a-meta-grid span{display:block;color:#80b5c9;font-family:var(--a-mono);font-size:8px;letter-spacing:.1em}.a-meta-grid b{display:block;margin-top:4px;color:#edf9fd;font-size:11px;line-height:1.45}
.a-section{padding:105px 0}.a-section.alt{background:#fff}.a-section.soft{background:var(--a-ice)}.a-section.dark{background:#06192e;color:#fff}.a-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:43px}.a-label{margin:0 0 12px;color:#2478a6;font-family:var(--a-mono);font-size:10px;font-weight:700;letter-spacing:.14em}.a-section.dark .a-label{color:#88dff4}.a-head h2{margin:0;font-size:clamp(31px,3.6vw,50px);line-height:1.22;letter-spacing:-.067em}.a-head p{max-width:430px;margin:0;color:var(--a-muted);font-size:14px;line-height:1.78}.a-section.dark .a-head p{color:#bad1de}
.a-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--a-line);background:var(--a-line)}.a-value{min-height:242px;padding:29px;background:#fff}.a-value span{display:grid;place-items:center;width:33px;height:33px;margin-bottom:20px;border:1px solid #86dff6;border-radius:50%;color:#1574aa;font-family:var(--a-mono);font-size:10px}.a-value h3{margin:0 0 9px;font-size:18px;letter-spacing:-.04em}.a-value p{margin:0;color:var(--a-muted);font-size:13px;line-height:1.75}
.a-filter{display:flex;gap:8px;flex-wrap:wrap}.a-filter button{padding:9px 13px;border:1px solid var(--a-line);background:#fff;color:var(--a-muted);font-size:12px;font-weight:800}.a-filter button:hover,.a-filter button.is-active{border-color:#1180c4;background:#0a3155;color:#fff}.a-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.a-card{position:relative;display:flex;flex-direction:column;min-height:408px;padding:24px;border:1px solid var(--a-line);background:#fff;box-shadow:0 12px 28px rgba(5,29,50,.04)}.a-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#107fc6,#57dafa)}.a-card-kind{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#2477a9;font-family:var(--a-mono);font-size:9px;font-weight:700;letter-spacing:.1em}.a-card-kind b{padding:3px 7px;border:1px solid #b9eaf7;color:#1575aa;font-size:8px;letter-spacing:.05em}.a-card h3{margin:21px 0 12px;font-size:24px;line-height:1.31;letter-spacing:-.057em}.a-card .a-card-desc{margin:0;color:var(--a-muted);font-size:12px;line-height:1.76;word-break:keep-all}.a-card-meta{display:grid;gap:7px;margin:20px 0 22px;padding:14px 0;border-top:1px solid var(--a-line);border-bottom:1px solid var(--a-line)}.a-card-meta span{display:flex;justify-content:space-between;gap:15px;color:#678092;font-family:var(--a-mono);font-size:9px;letter-spacing:.03em}.a-card-meta b{color:var(--a-ink);font-family:var(--a-font);font-size:11px;text-align:right}.a-card-footer{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:auto}.a-price{font-size:18px;font-weight:800;letter-spacing:-.04em}.a-price small{display:block;margin-top:2px;color:#7790a0;font-size:9px;font-weight:600}.a-card .a-button{min-height:42px;padding:0 13px;font-size:11px}.a-preview-link{margin-top:14px;color:#1675ae;font-size:11px;font-weight:800}.a-preview-link:hover{text-decoration:underline}.a-empty{grid-column:1/-1;padding:48px 24px;border:1px dashed #9fc7d8;background:#fff;color:#577285;text-align:center}
.a-login-modal{position:fixed;z-index:1200;inset:0;display:none;place-items:center;padding:24px;background:rgba(1,14,27,.67);backdrop-filter:blur(6px)}.a-login-modal.is-open{display:grid}.a-modal-card{width:min(100%,480px);padding:30px;border:1px solid rgba(138,226,250,.38);background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.35)}.a-modal-card .a-label{margin-bottom:9px}.a-modal-card h2{margin:0;font-size:30px;line-height:1.27;letter-spacing:-.055em}.a-modal-card p{margin:14px 0 22px;color:var(--a-muted);font-size:13px;line-height:1.75}.a-field{display:flex;flex-direction:column;gap:7px}.a-field label{font-size:11px;font-weight:800}.a-field input,.a-field textarea,.a-field select{width:100%;min-height:44px;padding:0 12px;border:1px solid #c7d9e4;background:#fff;color:var(--a-ink);outline:0;font-size:13px}.a-field textarea{min-height:110px;padding-top:10px;resize:vertical}.a-field input:focus,.a-field textarea:focus,.a-field select:focus{border-color:#1889ca;box-shadow:0 0 0 3px rgba(57,195,234,.13)}.a-modal-actions{display:flex;gap:9px;margin-top:17px}.a-modal-actions .a-button{flex:1}.a-note{min-height:19px;margin:13px 0 0;color:#587083;font-size:11px;line-height:1.55}.a-note.error{color:var(--a-danger)}.a-note.success{color:#087566}
.a-status-shell{min-height:calc(100vh - 74px);display:grid;place-items:center;padding:70px 0;background:radial-gradient(circle at 80% 15%,rgba(64,203,241,.17),transparent 26%),#f5fafc}.a-status{width:min(100%,720px);padding:45px;border:1px solid var(--a-line);background:#fff;box-shadow:var(--a-shadow);text-align:center}.a-status-icon{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 20px;border-radius:50%;background:#e5f8fd;color:#0a789f;font-size:28px}.a-status h1{margin:0;font-size:38px;line-height:1.25;letter-spacing:-.06em}.a-status p{max-width:520px;margin:16px auto 25px;color:var(--a-muted);font-size:14px;line-height:1.8}.a-status .a-note{margin:0 auto 20px}
.a-library-hero{padding:67px 0 52px;background:linear-gradient(130deg,#06182d,#0a3155);color:#fff}.a-library-hero h1{margin:13px 0 0;font-size:50px;letter-spacing:-.07em}.a-library-hero p{max-width:680px;margin:18px 0 0;color:#bfd4df;font-size:14px;line-height:1.82}.a-library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.a-library-card{display:flex;flex-direction:column;min-height:300px;padding:23px;border:1px solid var(--a-line);background:#fff}.a-library-card .state{display:inline-flex;align-items:center;gap:7px;color:#09756d;font-family:var(--a-mono);font-size:9px;font-weight:700;letter-spacing:.1em}.a-library-card .state:before{content:"";width:7px;height:7px;border-radius:50%;background:#20b9a9}.a-library-card h3{margin:17px 0 10px;font-size:22px;line-height:1.34;letter-spacing:-.05em}.a-library-card p{margin:0;color:var(--a-muted);font-size:12px;line-height:1.7}.a-library-card .expires{margin-top:auto;padding-top:18px;color:#5d778a;font-family:var(--a-mono);font-size:9px}.a-library-card .actions{display:flex;gap:8px;margin-top:14px}.a-library-card .a-button{min-height:42px;padding:0 13px;font-size:11px}
.a-player{min-height:calc(100vh - 74px);padding:62px 0 90px;background:#06182d;color:#fff}.a-player-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.a-video-wrap{position:relative;aspect-ratio:16/9;background:#000;box-shadow:0 28px 80px rgba(0,0,0,.4)}.a-video-wrap video{width:100%;height:100%;background:#000}.a-player-info{padding:24px;border:1px solid rgba(182,231,250,.22);background:rgba(255,255,255,.04)}.a-player-info .a-label{color:#7fe0f7}.a-player-info h1{margin:0 0 16px;font-size:29px;line-height:1.28;letter-spacing:-.055em}.a-player-info p{margin:0 0 20px;color:#bcd4de;font-size:12px;line-height:1.76}.a-player-info .a-button{width:100%;margin-top:8px}
.a-admin{padding:65px 0 100px;background:#f7fafc}.a-admin-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start}.a-admin-card{padding:25px;border:1px solid var(--a-line);background:#fff;box-shadow:0 14px 32px rgba(5,25,45,.06)}.a-admin-card h2{margin:0 0 18px;font-size:23px;letter-spacing:-.05em}.a-admin-card .a-field{margin-bottom:13px}.a-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.a-admin-grid .full{grid-column:1/-1}.a-upload-list{display:grid;gap:8px;max-height:430px;overflow:auto}.a-upload-list button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px;border:1px solid #d4e3eb;background:#fff;text-align:left}.a-upload-list button:hover,.a-upload-list button.is-selected{border-color:#1b92ca;background:#eefaff}.a-upload-list small{color:#738b9a;font-family:var(--a-mono);font-size:8px}.a-login-inline{display:flex;gap:8px;align-items:center}.a-login-inline .a-button{min-height:42px}
.a-footer{padding:38px 0;background:#04101e;color:#bed0da}.a-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.a-footer strong{display:block;color:#fff;font-family:var(--a-mono);font-size:11px;letter-spacing:.08em}.a-footer p{margin:6px 0 0;color:#7e9cac;font-size:9px;letter-spacing:.05em}.a-footer nav{display:flex;gap:16px;flex-wrap:wrap;font-size:11px}.a-footer a:hover{color:#7fe9ff}
.a-setup-banner{display:none;position:sticky;top:74px;z-index:800;padding:12px 0;background:#fff6d7;border-bottom:1px solid #efd897;color:#664d03}.a-setup-banner.is-visible{display:block}.a-setup-banner .a-container{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.a-setup-banner b{font-weight:800}.a-setup-banner a{font-weight:800;text-decoration:underline}
@media(max-width:1050px){.a-hero-inner{grid-template-columns:1fr;gap:43px}.a-hero-circuit{max-width:680px}.a-catalog,.a-library-grid{grid-template-columns:repeat(2,1fr)}.a-player-shell{grid-template-columns:1fr}.a-admin-layout{grid-template-columns:1fr}.a-nav{gap:12px}.a-brand-copy small{display:none}}
@media(max-width:760px){.a-container{width:calc(100% - 30px)}.a-header-inner{height:64px;align-items:center}.a-header{top:0}.a-brand-mark{width:39px;height:29px;font-size:10px}.a-brand-copy strong{font-size:10px}.a-nav{gap:8px;font-size:10px}.a-nav>a:not(.a-nav-cta){display:none}.a-nav .a-nav-cta{display:none}.a-lang{padding-left:7px}.a-auth{padding:6px 8px;font-size:10px}.a-setup-banner{top:64px}.a-setup-banner .a-container{align-items:flex-start;flex-direction:column;gap:6px}.a-hero{padding:69px 0 61px}.a-hero h1{font-size:42px}.a-hero p{font-size:13px}.a-actions{display:grid;grid-template-columns:1fr}.a-meta-grid{grid-template-columns:1fr;gap:11px}.a-meta-grid>div,.a-meta-grid>div+div{border:0;padding:0}.a-hero-circuit{min-height:330px}.a-secure-ring{width:195px;height:195px;right:18px;top:31px}.a-lock{right:79px;top:94px}.a-flow{left:15px;right:15px;bottom:15px}.a-flow-item{min-height:92px;padding:10px}.a-flow-item p{font-size:8px}.a-section{padding:70px 0}.a-head{display:block;margin-bottom:31px}.a-head p{margin-top:15px;font-size:13px}.a-value-grid,.a-catalog,.a-library-grid{grid-template-columns:1fr}.a-value{min-height:0}.a-filter{margin-top:20px}.a-card{min-height:0}.a-library-hero{padding:45px 0 37px}.a-library-hero h1{font-size:38px}.a-library-hero p{font-size:12px}.a-player{padding:38px 0 60px}.a-player-info h1{font-size:25px}.a-admin-grid{grid-template-columns:1fr}.a-admin-grid .full{grid-column:auto}.a-footer-inner{align-items:flex-start;flex-direction:column}.a-status{padding:32px 20px}.a-status h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.a-button{transition:none}}

/* Administrator authentication — password/Magic Link + role gate */
.a-admin-auth-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.78fr);gap:0;margin:0 0 28px;border:1px solid #cfe5ef;background:linear-gradient(135deg,#06203a 0%,#0a385d 58%,#0c5f8a 100%);box-shadow:0 22px 64px rgba(5,32,56,.14);overflow:hidden}.a-admin-auth-intro{position:relative;padding:44px 48px;color:#fff;overflow:hidden}.a-admin-auth-intro:before{content:"";position:absolute;inset:0;opacity:.23;background-image:linear-gradient(rgba(121,224,248,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(121,224,248,.4) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(120deg,#000,transparent 88%)}.a-admin-auth-intro>*{position:relative;z-index:1}.a-admin-auth-intro .a-label{color:#9ceefd}.a-admin-auth-intro h2{max-width:540px;margin:0;font-size:37px;line-height:1.22;letter-spacing:-.06em}.a-admin-auth-intro>p:not(.a-label){max-width:500px;margin:17px 0 0;color:#c2dfec;font-size:14px;line-height:1.84}.a-admin-auth-points{display:grid;gap:9px;margin:29px 0 0;padding:0;list-style:none}.a-admin-auth-points li{display:flex;align-items:center;gap:9px;color:#e7faff;font-size:12px;font-weight:700}.a-admin-auth-points li:before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border:1px solid rgba(143,235,255,.85);border-radius:50%;color:#a8f3ff;font-size:11px}.a-admin-auth-card{align-self:stretch;padding:34px;background:#fff}.a-admin-auth-card .a-field{margin-bottom:14px}.a-admin-auth-card .a-button{margin-top:3px}.a-wide{width:100%}.a-check{display:flex;align-items:center;gap:8px;margin:-2px 0 16px;color:#5b7485;font-size:11px;font-weight:700}.a-check input{width:15px;height:15px;accent-color:#147ccd}.a-auth-divider{position:relative;display:grid;place-items:center;margin:21px 0;color:#768f9e;font-size:10px;font-weight:800}.a-auth-divider:before{content:"";position:absolute;left:0;right:0;height:1px;background:#dce8ef}.a-auth-divider span{position:relative;z-index:1;padding:0 10px;background:#fff}.a-auth-help{margin:16px 0 0;color:#688293;font-size:10px;line-height:1.65}.a-auth-state{margin:0;color:#2e7a9e;font-family:var(--a-mono);font-size:10px;font-weight:700;letter-spacing:.09em}.a-session-email{display:block;margin:9px 0 3px;font-size:16px;line-height:1.35;word-break:break-all}.a-admin-session-bar{display:flex;align-items:center;gap:9px;margin:0 0 18px;padding:12px 16px;border:1px solid #bde9dc;background:#effcf7;color:#087565;font-family:var(--a-mono);font-size:11px;font-weight:700}.a-admin-session-bar strong{margin-left:auto;color:#376272;font-family:var(--a-font);font-size:11px;font-weight:600;word-break:break-all}.a-admin-status-dot{width:8px;height:8px;border-radius:50%;background:#14b391;box-shadow:0 0 0 4px rgba(20,179,145,.12)}
@media(max-width:860px){.a-admin-auth-shell{grid-template-columns:1fr}.a-admin-auth-intro{padding:34px 27px}.a-admin-auth-intro h2{font-size:31px}.a-admin-auth-card{padding:27px}.a-admin-session-bar{align-items:flex-start;flex-wrap:wrap}.a-admin-session-bar strong{width:100%;margin-left:17px}}
#academy-catalog-section {
  scroll-margin-top: 96px;
}
