/* Free-member gate shared by the 무료자료 pages (see member-gate.js). */
html.mg-checking [data-member-only],html.mg-guest [data-member-only]{display:none!important}
html:not(.mg-student):not(.mg-open) [data-member-only="student"]{display:none!important}
html.mg-checking [data-member-cta],html.mg-open [data-member-cta]{display:none!important}
html.mg-member [data-member-cta=""],html.mg-student [data-member-cta="student"]{display:none!important}
html.mg-member [data-mg-when="guest"],html.mg-guest [data-mg-when="member"]{display:none!important}
a.mg-btn{text-decoration:none}
.mg-cta{max-width:720px;margin:32px 0 8px;padding:28px 26px;border:1px solid #eae0c9;border-radius:16px;background:#fbf8f1;color:#1a1712}
.mg-cta h2{font-size:clamp(20px,3vw,26px);line-height:1.4;letter-spacing:-.03em;margin:6px 0 10px}
.mg-cta p{margin:0;font-size:14.5px;line-height:1.8;color:#524a3d}
.mg-cta .mg-btn{width:auto;margin:18px 0 12px;padding:14px 26px}
.mg-cta .mg-alt{text-align:left}
.mg-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:0;border:0;border-radius:18px;background:#fff;color:#1a1712;box-shadow:0 24px 70px #1a17123d}
.mg-dialog::backdrop{background:#1a171266}
.mg-box{position:relative;padding:30px 26px 24px;font-family:inherit}
.mg-dialog h2{font-size:21px;line-height:1.4;letter-spacing:-.03em;margin:6px 0 10px}
.mg-eyebrow{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.08em;color:#8a6a12}
.mg-copy{margin:0 0 18px;font-size:14px;line-height:1.75;color:#524a3d}
.mg-field{display:block;margin:0 0 16px;font-size:14px;font-weight:650;line-height:1.6;color:#1a1712}
.mg-field>span{font-size:12px;font-weight:400;color:#7a7161}
.mg-field>input{display:block;box-sizing:border-box;width:100%;min-height:48px;margin-top:7px;padding:11px 12px;border:1px solid #d9cdb0;border-radius:10px;background:#fff;color:#1a1712;font:inherit;font-size:16px;font-weight:400;line-height:1.5}
.mg-field>input::placeholder{color:#8a8172}
.mg-google{display:flex;justify-content:center;min-height:44px;margin:4px 0 14px}
.mg-alt{margin:0;font-size:12.5px;line-height:1.7;color:#7a7161;text-align:center}
.mg-alt a,.mg-check a{color:#1a1712;text-decoration:underline;text-underline-offset:3px}
.mg-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;padding:12px 14px;border:1px solid #d9cdb0;border-radius:10px;background:#fbf8f1;font-size:14px;line-height:1.55;cursor:pointer}
.mg-check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:#1a1712}
.mg-check small{display:block;margin-top:3px;font-size:12px;color:#7a7161}
.mg-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:6px;padding:14px 18px;border:0;border-radius:100px;background:#ffd83d;color:#1a1712;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.mg-btn:hover{background:#1a1712;color:#fbf8f1}
.mg-btn:disabled{opacity:.6;cursor:wait}
.mg-close{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:none;font-size:24px;line-height:1;color:#7a7161;cursor:pointer}
.mg-close:hover{background:#f5eedd;color:#1a1712}
.mg-msg{margin:12px 0 0;font-size:13px;line-height:1.6;color:#9c2a1d;text-align:center}
.mg-msg:empty{display:none}
.mg-dialog [hidden]{display:none!important}
.mg-dialog :is(button,input,a,summary):focus-visible,.mg-cta :is(button,a):focus-visible{outline:3px solid #8a6a12;outline-offset:3px}
.mg-kakao{display:flex;align-items:center;justify-content:center;gap:8px;width:280px;max-width:100%;height:44px;margin:-4px auto 14px;border-radius:100px;background:#fee500;color:#191600;font-size:15px;font-weight:600;text-decoration:none}
.mg-kakao svg{width:18px;height:18px;fill:#191600}
.mg-kakao:hover{background:#f5dc00}
.mg-link{display:block;margin:12px auto 0;padding:6px 14px;min-height:36px;border:0;background:none;font:inherit;font-size:12.5px;color:#7a7161;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.mg-link:hover{color:#1a1712}
.mg-update{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 14px;border:1px solid #eedc9a;border-radius:12px;background:#fffbe6;font-size:13.5px;line-height:1.7;color:#524a3d}
.mg-update b{color:#1a1712}
.mg-update-badge{flex:none;margin-top:2px;padding:3px 8px;border-radius:100px;background:#ffd83d;color:#1a1712;font-size:10.5px;font-weight:800;letter-spacing:.06em}
.mg-copy:empty{display:none}
.mg-links{display:flex;justify-content:center;gap:4px}
.mg-links .mg-link{display:inline-block;margin:12px 0 0}
.mg-btn-danger{background:#8d3222;color:#fff}
.mg-btn-danger:hover{background:#74281b;color:#fff}
.mg-check small:empty{display:none}
.mg-account-entry{position:absolute;top:12px;right:54px;min-height:34px;padding:5px 8px;border:0;border-radius:8px;background:transparent;color:#7a7161;font:inherit;font-size:12px;cursor:pointer}
.mg-account-entry:hover{background:#fbf8f1;color:#1a1712}
.mg-withdraw-disclosure{margin-top:22px;padding-top:14px;border-top:1px solid #eae0c9}
.mg-withdraw-disclosure>summary{min-height:44px;padding:8px 0;font-size:13px;color:#7a7161;cursor:pointer}
.mg-withdraw-disclosure .mg-link{margin:4px 0 0;text-align:left}
