@font-face{font-family:Pretendard Variable;src:url(/assets/pretendard.woff2) format("woff2");font-weight:45 920;font-style:normal;font-display:swap}:root{font-family:Pretendard Variable,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff;background:#0a0a0a;color-scheme:dark;font-synthesis:none;--yellow:#f0f07e;--purple:#dcc2fa;--orange:#ec6142}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,[role=button]{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #dcc2fa;outline-offset:4px}html{scroll-behavior:smooth;scroll-padding-top:100px}main{min-height:100dvh}.skip-link{position:fixed;left:16px;top:-80px;z-index:20000;padding:12px 20px;background:#f0f07e;color:#191919;border-radius:12px;font-weight:700}.skip-link:focus{top:12px}#toast-region{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);z-index:20000;pointer-events:none}.app-toast{padding:14px 20px;border-radius:16px;color:#f0f07e;background:#242424;border:1px solid #454532;box-shadow:0 10px 40px #0007;font-size:14px;line-height:1.6;text-align:center;animation:toast-in .18s ease-out}body[data-page=student] #toast-region{bottom:max(96px,calc(80px + env(safe-area-inset-bottom)))}.app-error{max-width:500px;margin:15vh auto;padding:30px;border:1px solid #333;border-radius:28px}.app-error a{display:inline-block;padding:14px 24px;background:#f0f07e;color:#191919;border-radius:25px;text-decoration:none}.legal-dialog{color:#fff;background:#141414;border:1px solid #333;border-radius:28px;padding:28px;width:min(540px,calc(100% - 32px));max-height:80dvh;overflow:auto;overscroll-behavior:contain}.legal-dialog::backdrop{background:#000b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.legal-dialog h2{font-size:24px;margin-top:4px}.legal-dialog p{color:#aaa;font-size:14px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}.legal-dialog button{float:right;border:none;border-radius:20px;padding:10px 22px;background:#f0f07e;color:#191919;font-weight:800}.legal-dialog-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#141414}.legal-dialog-header h2{margin:4px 0}.legal-dialog-header button{float:none;flex-shrink:0}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}html.portrait-required{overflow:hidden}.portrait-notice{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:#0a0a0a;color:#fff;z-index:30000;overscroll-behavior:contain}.portrait-notice[open]{display:grid;place-items:center}.portrait-notice::backdrop{background:#0a0a0a}.portrait-notice-content{text-align:center}.portrait-notice-icon{width:72px;height:72px;margin-bottom:16px;color:var(--orange)}.portrait-notice h2{margin:0 0 12px;font-size:clamp(20px,3.5vw,26px);font-weight:800;letter-spacing:-.04em;outline:none}.portrait-notice p{margin:0;color:#a3a3a3;font-size:15px;line-height:1.7}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
