:root{color-scheme:light;--ivory:#fbf8f1;--paper:#f5eedd;--ink:#1a1712;--ink-soft:#524a3d;--muted:#7a7161;--line:#eae0c9;--gold:#8a6a12;--yellow:#ffd83d}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Pretendard Variable",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;line-height:1.75;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}p,h1,h2,ol{margin:0}.student-header,.student-footer{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:25px 32px}.student-header{border-bottom:1px solid var(--line)}.student-brand{display:flex;gap:10px;align-items:center;font-size:17px;font-weight:750;line-height:1.2}.student-brand .brand-logo{width:44px;height:44px;object-fit:contain;flex:none}.student-brand small{display:block;font-size:8px;letter-spacing:.12em;font-weight:600;color:var(--muted);margin-top:6px}.student-back{font-size:13px;color:var(--ink-soft)}.student-shell{max-width:1120px;margin:auto;padding:80px 32px 96px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.student-intro{padding-top:24px}.student-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--gold);margin-bottom:24px}.student-intro h1{font-size:clamp(32px,3.6vw,46px);font-weight:650;line-height:1.45;letter-spacing:-.05em}.student-intro h1 span{box-shadow:inset 0 -.24em 0 var(--yellow)}.student-intro>p:not(.student-eyebrow){font-size:15px;color:var(--ink-soft);margin-top:28px;line-height:1.9}.student-intro>p.student-fine{font-size:12px;color:var(--muted);margin-top:36px}.student-steps{list-style:none;display:flex;flex-wrap:wrap;gap:12px 20px;padding:0;margin:36px 0 0;font-size:13px;color:var(--ink-soft)}.student-steps li{display:flex;align-items:center;gap:7px}.student-steps b{display:grid;place-items:center;width:24px;height:24px;background:var(--paper);border:1px solid var(--line);border-radius:50%;font-size:11px;color:var(--gold)}.student-panel{border:1px solid var(--line);border-radius:24px;background:#fffdf8;padding:32px;box-shadow:0 12px 40px #5b421a05}.student-message{font-size:14px;line-height:1.7;margin-bottom:18px;white-space:pre-wrap}.student-message:empty{display:none}.student-message.is-error{padding:12px 14px;border-radius:12px;background:#fff0eb;color:#8d3222}.student-tabs{display:flex;background:var(--paper);padding:5px;border-radius:100px;gap:4px;margin-bottom:28px}.student-tabs button{width:50%;background:transparent;border:0;border-radius:100px;min-height:43px;font-size:14px;color:var(--ink-soft);font-weight:650}.student-tabs button[aria-pressed=true]{background:var(--ink);color:white}.student-panel h2{font-size:25px;line-height:1.4;letter-spacing:-.04em}.student-form-help{font-size:13px;color:var(--muted);margin:10px 0 24px}.student-panel label:not(.student-consent){display:block;font-size:14px;font-weight:650;margin:20px 0 8px}.student-panel input:not([type=checkbox]){width:100%;min-width:0;border:1px solid #d2c6ad;background:white;border-radius:12px;padding:12px 14px;font-size:16px;color:var(--ink);min-height:49px}.student-panel input::placeholder{color:#928b7c;font-size:13px}.student-input-help{font-size:11.5px;line-height:1.7;color:var(--muted);margin-top:7px}.student-password-wrap{display:flex;align-items:stretch;border:1px solid #d2c6ad;border-radius:12px;background:white}.student-password-wrap input:not([type=checkbox]){border:0;background:transparent;border-radius:12px;flex:1;width:0}.student-password-wrap button{border:0;background:transparent;padding:0 15px;color:var(--ink-soft);font-size:12px;flex:none;min-width:54px;border-radius:12px}.student-consent{display:flex;align-items:flex-start;gap:9px;margin-top:24px;font-size:12px;color:var(--ink-soft);line-height:1.7;cursor:pointer}.student-consent input{width:18px;height:18px;accent-color:var(--gold);flex:none;margin:2px 0 0}.student-privacy{display:inline-block;font-size:12px;color:var(--gold);text-decoration:underline;margin:7px 0 0 27px}.student-primary,.student-secondary{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--yellow);border-radius:100px;padding:13px 18px;background:var(--yellow);color:var(--ink);font-weight:750;font-size:14px;text-align:center}.student-primary{margin-top:26px}.student-primary:hover{background:#ffdf61}.student-secondary{background:transparent;border-color:#cbbd9b;margin-top:12px}.student-support{font-size:11.5px;color:var(--muted);text-align:center;margin-top:22px}.student-support a{display:inline-block;color:var(--ink-soft);text-decoration:underline}.student-footer{border-top:1px solid var(--line);color:var(--muted);font-size:12px;padding-bottom:36px}.student-status-badge{display:inline-block;color:var(--gold);font-size:12px;font-weight:700;background:var(--paper);padding:5px 11px;border-radius:100px;margin-bottom:18px}.student-account-copy{font-size:14px;color:var(--ink-soft);white-space:pre-line;margin-top:16px}.student-account-info{margin:26px 0 0;padding:18px 0;border-block:1px solid var(--line)}.student-account-info div{display:flex;gap:20px;font-size:13px;line-height:1.8}.student-account-info dt{color:var(--muted);min-width:46px}.student-account-info dd{margin:0;overflow-wrap:anywhere}.student-logout{display:block;margin:24px auto 0;border:0;background:transparent;text-decoration:underline;font-size:12px;color:var(--muted);padding:6px 16px;min-height:36px}@media(max-width:800px){.student-shell{grid-template-columns:1fr;gap:36px;max-width:570px;padding:40px 22px 64px}.student-intro{padding:0}.student-intro h1{font-size:34px}.student-intro>p:not(.student-eyebrow){margin-top:20px}.student-intro>p.student-fine{margin-top:20px}.student-steps{margin-top:24px}.student-panel{padding:26px 22px}.student-eyebrow{margin-bottom:18px}.student-header,.student-footer{padding-inline:22px}.student-back{font-size:11px}.student-footer{flex-wrap:wrap;gap:10px}.student-intro .student-fine br{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.student-withdraw-open{display:block;margin:2px auto 0;border:0;background:transparent;font-size:12px;color:#9a917f;padding:6px 16px;min-height:36px;text-decoration:underline;text-underline-offset:3px}
.student-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}
.student-account-management{position:relative;margin:0;padding:0;border:0;flex:none}
.student-account-management>summary{padding:8px 10px;min-height:44px;font-size:12px;color:var(--muted);cursor:pointer}
.student-account-management summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.student-account-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:70;width:min(360px,calc(100vw - 44px));max-height:calc(100dvh - 110px);overflow:auto;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fffdf8;box-shadow:0 16px 44px #1a17121a}
.student-account-popover h2{font-size:20px;line-height:1.4;letter-spacing:-.04em}
.student-account-settings-copy{margin:8px 0 18px;color:var(--muted);font-size:12px;line-height:1.7}
.student-withdraw-disclosure{padding-top:14px;border-top:1px solid var(--line)}
.student-withdraw-disclosure>summary{min-height:44px;padding:8px 0;font-size:13px;color:var(--ink-soft);cursor:pointer}
.student-withdraw label:not(.student-consent){display:block;margin:18px 0 8px;font-size:13px;font-weight:650}
.student-withdraw input:not([type=checkbox]){box-sizing:border-box;width:100%;min-width:0;min-height:49px;padding:12px;border:1px solid #d2c6ad;border-radius:12px;background:#fff;color:var(--ink);font-size:16px}
.student-withdraw{margin-top:18px;padding:20px 18px;border:1px solid #e8c9bd;border-radius:16px;background:#fffaf7}
.student-withdraw h3{margin:0 0 8px;font-size:16px}
.student-withdraw p{margin:0;font-size:13px;line-height:1.75;color:var(--ink-soft)}
.student-withdraw .student-consent{margin-top:18px;font-size:13px}
.student-withdraw .student-message{margin:16px 0 0}
.student-danger{width:100%;min-height:50px;margin-top:20px;border:1px solid #8d3222;border-radius:100px;padding:13px 18px;background:#8d3222;color:#fff;font-weight:750;font-size:14px}
.student-danger:hover{background:#74281b}
.student-danger:disabled,.student-withdraw .student-secondary:disabled{opacity:.6;cursor:wait}
