.signup-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.signup-modal-content{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;border:1px solid #e0e0e0}.signup-wrapper{padding:32px;position:relative}.signup-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;z-index:1}.signup-close-btn:hover{background:#f0f0f0;color:#333}.signup-title{font-size:32px;font-weight:700;color:#1a1a1a;margin:0 0 4px;text-align:center}.signup-subtitle{font-size:14px;color:#666;text-align:center;margin:0 0 24px}.signup-modal-overlay .signup-modal-content .signup-wrapper .signup-form{display:flex!important;flex-direction:column!important;gap:12px!important;row-gap:12px!important;column-gap:0!important;margin:0!important;padding:0!important}.signup-modal-overlay .signup-modal-content .signup-wrapper .signup-form>.form-group{display:flex!important;flex-direction:column!important;gap:6px!important;margin:0!important;padding:0!important}.input-wrapper select{width:100%;padding:12px 36px 12px 48px!important;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:all .3s ease;box-sizing:border-box;background-color:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;color:#333}.input-wrapper select:invalid{color:#999}.input-wrapper select option{color:#333;font-size:14px}.input-wrapper select option[value=""]{color:#999}.input-wrapper select:focus{outline:none;border-color:#333;box-shadow:0 0 0 2px #0000001a}.input-wrapper select.error{border-color:#999}.input-wrapper select.error:focus{box-shadow:0 0 0 2px #0000001a}.password-hint{font-size:12px;color:#999;margin:2px 0 0}.consent-section{margin-top:4px;padding:18px;background:#fafafa;border-radius:8px;border:1px solid #e0e0e0;display:flex;flex-direction:column;gap:10px}.consent-item{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#333}.consent-item.agree-all{font-weight:600;padding-bottom:4px}.consent-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#333}.consent-item span{flex:1}.required{color:#666;font-size:12px}.view-terms-btn{background:none;border:1px solid #ddd;border-radius:4px;padding:4px 12px;font-size:12px;color:#666;cursor:pointer;transition:all .2s ease}.view-terms-btn:hover{background:#f0f0f0;border-color:#333;color:#333}.consent-divider{height:1px;background:#ddd;margin:2px 0}.login-link-section{margin-top:16px;text-align:center;padding-top:16px;border-top:1px solid #e0e0e0}.login-link-text{margin:0 0 8px;font-size:13px;color:#666}.login-link-btn{background:none;border:none;color:#1a1a1a;font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;transition:color .2s ease}.login-link-btn:hover{color:#333}@media (max-width: 600px){.signup-wrapper{padding:24px}.signup-title{font-size:24px}.consent-item{font-size:12px}.required{font-size:11px}.view-terms-btn{font-size:11px;padding:3px 10px}}.terms-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.terms-modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.terms-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #eee}.terms-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.terms-modal-close{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.terms-modal-close:hover{background:#f0f0f0;color:#333}.terms-modal-body{flex:1;overflow-y:auto;padding:24px}.terms-modal-body pre{margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px;line-height:1.6;color:#333;white-space:pre-wrap;word-wrap:break-word}.terms-modal-footer{padding:16px 24px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.terms-modal-confirm-btn{padding:10px 24px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.terms-modal-confirm-btn:hover{background:#333}.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.login-modal-content{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;border:1px solid #e0e0e0}.login-wrapper{padding:32px;position:relative}.login-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;z-index:1}.login-close-btn:hover{background:#f0f0f0;color:#333}.login-title{font-size:32px;font-weight:700;color:#1a1a1a;margin:0 0 12px;text-align:center}.login-subtitle{font-size:14px;color:#666;text-align:center;margin:0 0 16px}.login-modal-overlay .login-modal-content .login-wrapper .login-notice{background:#f8f9fa!important;border:1px solid #e0e0e0!important;border-radius:6px!important;padding:12px 16px!important;margin:0 0 24px!important;text-align:center!important}.login-notice p{margin:0;font-size:12px;color:#666;line-height:1.5}.login-modal-overlay .login-modal-content .login-wrapper .login-form{display:flex!important;flex-direction:column!important;gap:12px!important;row-gap:12px!important;column-gap:0!important;margin:0!important;padding:0!important}.login-modal-overlay .login-modal-content .login-wrapper .login-form>.form-group{display:flex!important;flex-direction:column!important;gap:6px!important;margin:0!important;padding:0!important}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px!important;font-size:18px;z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:center}.input-wrapper input{width:100%;padding:12px 12px 12px 48px!important;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:all .3s ease;box-sizing:border-box}.input-wrapper input:focus{outline:none;border-color:#333;box-shadow:0 0 0 2px #0000001a}.input-wrapper input.error{border-color:#999}.input-wrapper input.error:focus{box-shadow:0 0 0 2px #0000001a}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:18px;padding:0;display:flex;align-items:center;z-index:1}.error-message{font-size:12px;color:#666;margin-top:2px}.remember-me-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#666;-webkit-user-select:none;user-select:none}.remember-me-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#333;flex-shrink:0}.remember-me-label span{flex:1}.login-modal-overlay .login-modal-content .login-wrapper .login-form>.login-options{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0!important;padding:0!important}.find-userid-btn,.back-btn{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:4px 0;text-decoration:underline;transition:color .2s ease}.find-userid-btn:hover,.back-btn:hover{color:#333}.found-userid{padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;text-align:center;margin-top:4px}.found-userid p{margin:0;font-size:14px;color:#333}.found-userid strong{color:#1a1a1a;font-weight:600}.submit-btn{width:100%;padding:14px;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:4px}.submit-btn:hover:not(:disabled){background:#333;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.signup-link-section{margin-top:16px;text-align:center;padding-top:16px;border-top:1px solid #e0e0e0}.signup-link-text{margin:0 0 8px;font-size:13px;color:#666}.signup-link-btn{background:none;border:none;color:#1a1a1a;font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;transition:color .2s ease}.signup-link-btn:hover{color:#333}@media (max-width: 600px){.login-wrapper{padding:24px}.login-title{font-size:24px}}.App{width:100%;min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#fafafa,#fff,#f8f8f8);position:relative;overflow-x:hidden}.initial-loader{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0a0a0a,#1a1a1a,#0f0f0f);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeOut .5s ease-out 1.2s forwards;overflow:hidden}.loader-background{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.loader-circle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);animation:pulse 4s ease-in-out infinite}.loader-circle.circle-1{width:300px;height:300px;top:-100px;left:-100px;animation-delay:0s}.loader-circle.circle-2{width:400px;height:400px;bottom:-150px;right:-150px;animation-delay:1s}.loader-circle.circle-3{width:250px;height:250px;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:2s}.loader-content{text-align:center;animation:scaleIn .8s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.loader-icon-wrapper{margin-bottom:12px;animation:fadeInScale .8s ease-out .2s both}.loader-icon{width:100px;height:100px;opacity:.9;filter:drop-shadow(0 4px 20px rgba(255,255,255,.3));animation:floatIcon 3s ease-in-out infinite}.loader-logo{margin-bottom:40px}.loader-text{font-family:GongGothic,sans-serif;font-size:48px;font-weight:700;background:linear-gradient(135deg,#fff,#e0e0e0,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 100%;letter-spacing:4px;text-transform:uppercase;margin-bottom:4px;text-shadow:0 4px 30px rgba(255,255,255,.3);animation:slideDown .8s cubic-bezier(.4,0,.2,1),shimmer 3s ease-in-out infinite}.loader-logo-img{height:22px;width:auto;object-fit:contain;filter:brightness(0) invert(1);margin-top:8px;animation:fadeIn .8s ease-out .3s both}.loader-progress-wrapper{margin-top:20px}.loader-progress{width:240px;height:3px;background:#ffffff26;border-radius:10px;overflow:hidden;margin:0 auto 16px;box-shadow:inset 0 2px 4px #0000004d}.progress-bar{height:100%;background:linear-gradient(90deg,#ffffffe6,#fff,#ffffffe6);border-radius:10px;animation:progressLoad 1.2s ease-out;box-shadow:0 0 15px #fff9,0 0 30px #ffffff4d;position:relative}.progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:shimmerBar 1.5s ease-in-out infinite}.loader-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}.dot{width:6px;height:6px;border-radius:50%;background:#fff9;animation:dotPulse 1.4s ease-in-out infinite}.dot-1{animation-delay:0s}.dot-2{animation-delay:.2s}.dot-3{animation-delay:.4s}.main-wrapper{opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;min-height:100vh;width:100%;position:relative}.main-wrapper.show{opacity:1;transform:translateY(0)}@keyframes fadeOut{to{opacity:0;visibility:hidden}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes progressLoad{0%{width:0%}to{width:100%}}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}@keyframes floatIcon{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shimmerBar{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes dotPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@media (max-width: 768px){.loader-icon{width:80px;height:80px}.loader-icon-wrapper{margin-bottom:10px}.loader-text{font-size:36px;letter-spacing:3px}.loader-logo-img{height:19px;margin-top:6px}.loader-progress{width:200px}.loader-circle.circle-1{width:200px;height:200px}.loader-circle.circle-2{width:300px;height:300px}.loader-circle.circle-3{width:180px;height:180px}}@media (max-width: 480px){.loader-icon{width:70px;height:70px}.loader-icon-wrapper{margin-bottom:8px}.loader-text{font-size:28px;letter-spacing:2px}.loader-logo-img{height:17px;margin-top:4px}.loader-progress{width:180px}.loader-circle.circle-1{width:150px;height:150px}.loader-circle.circle-2{width:250px;height:250px}.loader-circle.circle-3{width:140px;height:140px}}.top-banner{background:linear-gradient(180deg,#1a1a1a,#0f0f0f);padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1);position:relative;z-index:1;box-shadow:0 2px 20px #0000001a;flex-shrink:0}.banner-content{max-width:1200px;margin:0 auto;padding:0 40px;display:flex;flex-direction:column;align-items:center;gap:2px}.banner-text{color:#fff;font-size:18px;font-weight:600;letter-spacing:2px;text-transform:uppercase;font-family:GongGothic,sans-serif;text-shadow:0 2px 10px rgba(0,0,0,.3);animation:fadeInDown .8s ease-out}.banner-home-link{font-size:12px;color:#ffffffb3;text-decoration:none;letter-spacing:.5px;font-weight:400;font-family:Pretendard,sans-serif;transition:all .3s ease;display:inline-block;padding:2px 0;border-bottom:1px solid transparent}.banner-home-link:hover{color:#ffffffe6;border-bottom-color:#ffffff80}@media (min-width: 769px){.top-banner{padding:28px 0}.banner-content{gap:6px}.banner-text{font-size:22px;letter-spacing:3px}.banner-home-link{font-size:13px}}.banner-subtitle{color:#fff;font-size:12px;padding:4px 12px;border:1px solid #ffffff;letter-spacing:1px}.main-container{flex:1;display:flex;align-items:center;justify-content:center;background:transparent;padding:60px 20px;position:relative;z-index:1;min-height:0}.main-content{text-align:center;max-width:800px;width:100%;position:relative;z-index:1}.main-title{font-size:72px;font-weight:700;background:linear-gradient(135deg,#1a1a1a,#2d2d2d,#1a1a1a);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 16px;letter-spacing:-2px;line-height:1.1;font-family:GongGothic,sans-serif;animation:fadeInUp .8s ease-out .2s both,titleShimmer 4s ease-in-out infinite;text-shadow:0 4px 20px rgba(0,0,0,.1);position:relative;display:inline-block}.main-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:2px;background:linear-gradient(90deg,transparent,#1a1a1a,transparent);animation:titleUnderline 1.5s ease-out 1s forwards}@keyframes titleShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes titleUnderline{to{width:80%}}.main-subtitle{font-size:20px;color:#555;margin:0 0 48px;line-height:1.6;font-weight:300;animation:fadeInUp .8s ease-out .4s both;letter-spacing:.3px;position:relative;padding:0 20px}.main-subtitle:before,.main-subtitle:after{content:"";position:absolute;top:50%;width:30px;height:1px;background:linear-gradient(90deg,transparent,#ddd,transparent);opacity:0;animation:subtitleLine 1s ease-out 1.2s both}.main-subtitle:before{left:0;transform:translate(-100%)}.main-subtitle:after{right:0;transform:translate(100%)}@keyframes subtitleLine{to{opacity:1;transform:translate(0)}}.math-icon-container{display:flex;justify-content:center;align-items:center;margin:32px 0 48px}.math-icon{width:120px;height:120px;opacity:.35;transition:all .4s cubic-bezier(.4,0,.2,1);animation:fadeInScale 1s ease-out .6s both,iconFloat 4s ease-in-out infinite 1.6s;filter:drop-shadow(0 4px 12px rgba(0,0,0,.08));position:relative}.math-icon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px;border:1px solid rgba(26,26,26,.1);border-radius:50%;opacity:0;animation:iconRing 2s ease-out 1.8s both}.math-icon:hover{opacity:.5;transform:scale(1.05);filter:drop-shadow(0 6px 20px rgba(0,0,0,.15))}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes iconRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}50%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.2)}}.math-icon svg{width:100%;height:100%}@media (max-width: 768px){.math-icon-container{margin:24px 0 40px}.math-icon{width:100px;height:100px}}@media (max-width: 480px){.math-icon-container{margin:20px 0 40px}.math-icon{width:100px;height:100px}}.button-group{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.start-button{padding:16px 48px;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);letter-spacing:.5px;min-width:200px;box-shadow:0 4px 20px #00000026,0 2px 8px #0000001a;position:relative;overflow:hidden;animation:fadeInUp .8s ease-out .8s both,buttonPulse 3s ease-in-out infinite 2s}@keyframes buttonPulse{0%,to{box-shadow:0 4px 20px #00000026,0 2px 8px #0000001a}50%{box-shadow:0 4px 25px #1a1a1a40,0 2px 12px #00000026}}.start-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.start-button:hover:before{left:100%}.start-button:hover{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);transform:translateY(-3px);box-shadow:0 8px 30px #00000040,0 4px 12px #00000026}.start-button:active{transform:translateY(-1px);box-shadow:0 4px 20px #0003}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:.35;transform:scale(1)}}.footer{background:linear-gradient(180deg,#f8f8f8,#f5f5f5);border-top:1px solid rgba(0,0,0,.08);padding:32px 0;margin-top:auto;box-shadow:0 -2px 20px #0000000d;flex-shrink:0}.footer-content{max-width:1200px;margin:0 auto;padding:0 40px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px}.footer-copyright{color:#666;font-size:14px;font-weight:400}.footer-copyright p{margin:0}.footer-contact{color:#666;font-size:14px;font-weight:400}.footer-contact span{display:inline-block}@media (max-width: 768px){.main-title{font-size:56px}.main-subtitle{font-size:18px}.banner-content{padding:0 20px}.footer{padding:24px 0}.footer-content{padding:0 20px;flex-direction:column;text-align:center;gap:4px}.footer-copyright,.footer-contact{font-size:13px}.button-group{flex-direction:column;align-items:center}.start-button{width:auto!important;min-width:140px!important;padding:14px 28px!important}}@media (max-width: 480px){.main-title{font-size:50px}.main-subtitle{font-size:16px}.start-button{width:auto!important;min-width:160px!important;padding:12px 32px!important;font-size:15px}}.myinfo-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.myinfo-modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}.myinfo-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e0e0e0}.myinfo-modal-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0;font-family:Pretendard,sans-serif}.myinfo-modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.myinfo-modal-close:hover{color:#1a1a1a}.myinfo-modal-body{padding:32px}.info-section{margin-bottom:32px}.info-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.info-section-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0;font-family:Pretendard,sans-serif}.btn-edit{padding:8px 16px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.btn-edit:hover{background:#333}.info-view{display:flex;flex-direction:column;gap:16px}.info-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-item:last-child{border-bottom:none}.info-label{min-width:120px;font-size:14px;font-weight:600;color:#666;font-family:Pretendard,sans-serif}.info-value{flex:1;font-size:14px;color:#1a1a1a;font-family:Pretendard,sans-serif}.myinfo-form{margin-top:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#333;font-family:Pretendard,sans-serif}.form-group input{width:100%;padding:12px 16px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:Pretendard,sans-serif;transition:all .2s ease;box-sizing:border-box}.error-message{display:block;margin-top:6px;font-size:12px;color:#dc2626;font-family:Pretendard,sans-serif}.myinfo-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.password-section{border-top:2px solid #e0e0e0;padding-top:24px;margin-top:24px}.password-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.password-section-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0;font-family:Pretendard,sans-serif}.btn-toggle-password{padding:8px 16px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;color:#333;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.btn-toggle-password:hover{background:#e8e8e8}.password-form{margin-top:20px}.password-form-actions{display:flex;justify-content:flex-end;margin-top:20px}.delete-section{border-top:2px solid #fee2e2;padding-top:24px;margin-top:32px}.delete-section-header{margin-bottom:16px}.delete-section-title{font-size:18px;font-weight:600;color:#dc2626;margin:0;font-family:Pretendard,sans-serif}.delete-section-content{display:flex;flex-direction:column;gap:12px}.delete-warning{font-size:14px;color:#dc2626;margin:0;font-family:Pretendard,sans-serif;line-height:1.5}.btn-delete{padding:12px 24px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif;align-self:flex-start}.btn-delete:hover:not(:disabled){background:#fecaca;border-color:#fca5a5}.btn-delete:disabled{background:#f9fafb;color:#d1d5db;border-color:#e5e7eb;cursor:not-allowed}@media (max-width: 768px){.myinfo-modal-content{width:95%;max-height:95vh}.myinfo-modal-header{padding:20px 24px}.myinfo-modal-body{padding:24px}.password-section-header{flex-direction:column;align-items:flex-start;gap:12px}}.assignment-detail{width:100%;min-height:100vh;display:flex;flex-direction:column;background:#fff}.assignment-detail-header{background:#fff;padding:12px 20px;border-bottom:1px solid #e5e5e5;flex-shrink:0;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000000d}.assignment-detail-header-content{max-width:100%;margin:0 auto;padding:0;display:flex;align-items:center;gap:16px;justify-content:space-between}.btn-back-header{padding:8px 12px;background:transparent;color:#1a1a1a;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.btn-back-header:hover{background:#f5f5f5}.assignment-detail-title{color:#1a1a1a;font-size:18px;font-weight:600;margin:0;font-family:Pretendard,sans-serif;flex:1}.btn-answer{padding:8px 20px;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Pretendard,sans-serif;white-space:nowrap}.btn-answer:hover{background:#333}.assignment-detail-main{flex:1;display:flex;flex-direction:column;padding:0;gap:0;max-width:100%;margin:0;width:100%;overflow:hidden;position:relative;min-height:0}.image-viewer-container{flex:1;display:flex;flex-direction:column;background:#fff;padding:0;min-height:0;overflow:hidden;position:relative}.image-viewer{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#f5f5f5;border-radius:0;min-height:0;width:100%;height:100%;padding:0;margin-bottom:120px;box-sizing:border-box;touch-action:none;-webkit-overflow-scrolling:touch}.image-viewer-content{position:relative;display:block;margin:0 auto;padding:0;max-width:100%;max-height:100%;background:#fff;box-shadow:0 2px 8px #0000001a;touch-action:none;will-change:transform}.assignment-image{max-width:100%;max-height:100%;object-fit:contain}.assignment-canvas{touch-action:none;border-radius:0;display:block;position:absolute;top:0;left:0;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.assignment-drawing-canvas{z-index:2;pointer-events:auto}.image-navigation{display:flex;justify-content:center;align-items:center;gap:16px;padding:12px;background:#fff;border-top:1px solid #e5e5e5;position:fixed;bottom:60px;left:0;right:0;z-index:99;box-shadow:0 -1px 3px #0000000d}.nav-btn{padding:8px 16px;background:#f8f8f8;color:#1a1a1a;border:1px solid #e0e0e0;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Pretendard,sans-serif}.nav-btn:hover:not(:disabled){background:#f0f0f0;border-color:#d0d0d0}.nav-btn:disabled{background:#f5f5f5;color:#ccc;cursor:not-allowed;opacity:.5}.image-counter{font-size:13px;font-weight:500;color:#666;font-family:Pretendard,sans-serif;min-width:70px;text-align:center}.tool-panel{background:#fff;border-top:1px solid #e5e5e5;padding:12px 20px;display:flex;gap:24px;align-items:center;flex-wrap:nowrap;overflow-x:auto;position:fixed;bottom:0;left:0;right:0;z-index:100;box-shadow:0 -1px 3px #0000000d;flex-shrink:0}.tool-panel-second{position:sticky;top:57px;bottom:auto;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;z-index:99;box-shadow:0 1px 3px #0000000d}.tool-section{display:flex;flex-direction:row;gap:12px;align-items:center;flex-shrink:0}.tool-section-title{display:none}.pen-colors{display:flex;gap:8px;align-items:center}.pen-color-btn{width:28px;height:28px;min-width:28px;min-height:28px;max-width:28px;max-height:28px;border-radius:50%;border:2px solid #e0e0e0;cursor:pointer;transition:all .15s ease;position:relative;box-shadow:0 1px 2px #0000001a;flex-shrink:0;box-sizing:border-box;aspect-ratio:1 / 1;padding:0}.pen-color-btn:hover{transform:scale(1.1);border-color:#999;box-shadow:0 2px 4px #00000026}.pen-color-btn.active{border-color:#1a1a1a;border-width:3px;transform:scale(1.15);box-shadow:0 2px 6px #0003}.pen-color-btn.active:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5);filter:drop-shadow(0 0 1px rgba(0,0,0,.3))}.pen-size-control{display:flex;align-items:center;gap:10px}.pen-size-slider{width:120px;height:4px;border-radius:2px;background:#e0e0e0;outline:none;-webkit-appearance:none}.pen-size-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#1a1a1a;cursor:pointer;box-shadow:0 1px 3px #0003}.pen-size-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#1a1a1a;cursor:pointer;border:none;box-shadow:0 1px 3px #0003}.pen-size-value{font-size:13px;font-weight:500;color:#666;font-family:Pretendard,sans-serif;min-width:35px;text-align:center}.tool-buttons{display:flex;gap:6px;flex-wrap:nowrap}.tool-btn{padding:8px 16px;background:#f8f8f8;color:#333;border:1px solid #e0e0e0;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Pretendard,sans-serif;white-space:nowrap}.tool-btn:hover:not(:disabled){background:#f0f0f0;border-color:#d0d0d0}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.tool-btn.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a;box-shadow:0 1px 3px #00000026}.zoom-controls{display:flex;align-items:center;gap:6px}.zoom-btn{width:28px;height:28px;background:#f8f8f8;color:#1a1a1a;border:1px solid #e0e0e0;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Pretendard,sans-serif;display:flex;align-items:center;justify-content:center}.zoom-btn:hover:not(:disabled){background:#f0f0f0;border-color:#d0d0d0}.zoom-btn:disabled{background:#f5f5f5;color:#ccc;cursor:not-allowed}.zoom-value{font-size:13px;font-weight:500;color:#666;font-family:Pretendard,sans-serif;min-width:45px;text-align:center}.zoom-reset-btn{height:28px;padding:0 12px;background:#f8f8f8;color:#333;border:1px solid #e0e0e0;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Pretendard,sans-serif;display:flex;align-items:center;justify-content:center;margin-right:4px}.zoom-reset-btn:hover:not(:disabled){background:#f0f0f0;border-color:#d0d0d0}.zoom-reset-btn:disabled{background:#f5f5f5;color:#ccc;cursor:not-allowed;opacity:.5}.btn-clear{height:28px;padding:0 16px;background:#f8f8f8;color:#dc2626;border:1px solid #e0e0e0;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:Pretendard,sans-serif;display:flex;align-items:center;justify-content:center}.btn-clear:hover{background:#fee2e2;border-color:#fecaca}.assignment-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px}.assignment-detail-empty p{font-size:16px;color:#666;font-family:Pretendard,sans-serif}.btn-back{padding:12px 24px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.btn-back:hover{background:#333}@media (max-width: 768px){.assignment-detail-header{padding:10px 16px}.assignment-detail-header-content{gap:12px;flex-wrap:wrap}.assignment-detail-title{font-size:16px;width:100%;margin-top:8px}.assignment-detail-info{font-size:12px;gap:6px}.image-viewer{min-height:300px}.tool-panel{padding:10px 16px;gap:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tool-panel-second{position:sticky;top:50px;bottom:auto}.image-viewer{margin-bottom:120px}.image-navigation{bottom:60px}.tool-section{gap:8px}.pen-colors{gap:4px}.pen-color-btn{width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;max-width:26px!important;max-height:26px!important;border-radius:50%!important;border-width:2px!important;padding:0!important;aspect-ratio:1 / 1!important}.pen-color-btn.active{border-width:2px!important;transform:scale(1.1)!important}.pen-color-btn.active:after{font-size:14px!important}.tool-btn{padding:6px 12px;font-size:12px}.pen-size-slider{width:100px}.zoom-btn{width:26px;height:26px;font-size:14px}.nav-btn{padding:6px 12px;font-size:12px}.btn-answer{padding:6px 16px;font-size:13px}}.answer-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:999;animation:fadeIn .2s ease}.answer-panel{position:fixed;top:0;right:-350px;width:350px;max-width:40%;height:100vh;background:#fff;box-shadow:-2px 0 10px #0000001a;z-index:1000;display:flex;flex-direction:column;transition:right .3s ease}.answer-panel.open{right:0}.answer-panel-header{padding:12px 16px;border-bottom:1px solid #e5e5e5;display:flex;align-items:center;justify-content:space-between;background:#f8f8f8}.answer-panel-title{font-size:16px;font-weight:600;color:#1a1a1a;margin:0;font-family:Pretendard,sans-serif}.answer-panel-close{width:32px;height:32px;background:transparent;border:none;font-size:24px;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease;font-family:Pretendard,sans-serif}.answer-panel-close:hover{background:#e8e8e8;color:#1a1a1a}.answer-panel-content{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column}.answer-list{flex:1;display:flex;flex-direction:column;gap:8px}.answer-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.answer-label{font-size:12px;font-weight:600;color:#1a1a1a;font-family:Pretendard,sans-serif;width:100%}.answer-input{width:100%;padding:6px 10px;border:1px solid #e0e0e0;border-radius:4px;font-size:13px;font-family:Pretendard,sans-serif;transition:all .15s ease;box-sizing:border-box}.answer-input:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 2px #1a1a1a1a}.answer-input:disabled,.answer-input[readonly]{background-color:#f5f5f5;color:#666;cursor:not-allowed}.answer-empty{text-align:center;padding:20px;color:#666;font-size:14px;font-family:Pretendard,sans-serif}.submission-result-info{padding:16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:16px}.result-summary{margin-bottom:8px}.result-text{font-size:14px;font-weight:600;color:#059669;font-family:Pretendard,sans-serif}.result-details{display:flex;gap:16px;flex-wrap:wrap}.result-item{font-size:13px;color:#666;font-family:Pretendard,sans-serif}.answer-panel-footer{padding:12px 0;border-top:1px solid #e5e5e5;margin-top:auto}.btn-submit-answer{width:100%;padding:10px 20px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:Pretendard,sans-serif}.btn-submit-answer:hover:not(:disabled){background:#333}.btn-submit-answer:disabled{background:#ccc;cursor:not-allowed}@media (max-width: 768px){.answer-panel{width:100%;right:-100%}.answer-panel.open{right:0}}.dashboard{width:100%;min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#fafafa,#fff,#f8f8f8)}.dashboard-header{background:linear-gradient(180deg,#1a1a1a,#0f0f0f);padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 2px 20px #0000001a;flex-shrink:0}.dashboard-header-content{max-width:1200px;margin:0 auto;padding:0 40px;display:flex;justify-content:space-between;align-items:center}.dashboard-logo{display:flex;align-items:center;gap:8px}.dashboard-logo-text{color:#fff;font-size:18px;font-weight:600;letter-spacing:2px;text-transform:uppercase;font-family:GongGothic,sans-serif}.dashboard-main{flex:1;padding:40px 20px;position:relative;z-index:1}.dashboard-container{max-width:1200px;margin:0 auto}.dashboard-title-section{margin-bottom:28px;text-align:center}.dashboard-title{font-size:32px;font-weight:800;color:#000;margin:0 0 4px;font-family:GongGothic,sans-serif;letter-spacing:-.5px;text-shadow:0 1px 2px rgba(0,0,0,.05);line-height:1.3}.dashboard-date-range{font-size:14px;color:#666;margin:0;font-family:Pretendard,sans-serif;font-weight:500}.dashboard-logout-btn{padding:8px 16px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:Pretendard,sans-serif}.dashboard-logout-btn:hover{background:#fff3;border-color:#ffffff4d}.dashboard-tabs{display:flex;gap:0;margin-bottom:20px;background:#e8e8e8;border-radius:8px;padding:4px}.dashboard-tab{flex:1;padding:16px 24px;background:transparent;border:none;color:#666;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif;outline:none!important;box-shadow:none!important;text-align:center;border-radius:6px;position:relative;letter-spacing:-.2px}.dashboard-tab:hover{color:#1a1a1a;background:#0000000a}.dashboard-tab:focus{outline:none!important;box-shadow:none!important}.dashboard-tab:active{transform:none;outline:none!important;box-shadow:none!important}.dashboard-tab.active{color:#000;background:#fff;box-shadow:0 2px 6px #0000001f;font-weight:700;outline:none!important}.dashboard-tab.active:focus{outline:none!important;box-shadow:0 2px 6px #0000001f}.dashboard-tab.active:active{outline:none!important;box-shadow:0 2px 6px #0000001f}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.stat-card-progress{padding:20px 24px}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.stat-card-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px}.stat-card-progress .stat-card-header{margin-bottom:12px}.stat-card-icon{font-size:20px}.stat-card-label{font-size:14px;color:#666;font-weight:500}.stat-card-content{display:flex;align-items:baseline;justify-content:center;gap:4px}.stat-card-number{font-size:36px;font-weight:700;color:#1a1a1a;font-family:GongGothic,sans-serif}.stat-card-total{font-size:20px;color:#999;font-weight:400}.stat-card-progress .stat-card-number{color:#2563eb}.stat-card-completed .stat-card-number{color:#16a34a}.dashboard-filters-wrapper{background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d;padding:20px 0;flex-shrink:0;width:100%;position:relative;z-index:1;margin:0}.dashboard-filters-wrapper .dashboard-container{max-width:1200px;margin:0 auto;padding:0 40px}.dashboard-filters{display:flex;gap:20px;padding:0;background:transparent;border:none;box-shadow:none}.filter-group{display:flex;flex-direction:column;gap:8px;flex:1}.filter-label{font-size:14px;font-weight:600;color:#333;font-family:Pretendard,sans-serif}.filter-select{padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:Pretendard,sans-serif;background:#fff;color:#1a1a1a;cursor:pointer;transition:all .2s ease}.filter-select:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.dashboard-content{background:#fff;border-radius:12px;padding:32px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d;min-height:300px}.dashboard-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid #e0e0e0}.pagination-btn{padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.pagination-page-btn{min-width:36px;height:36px;padding:0 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif;display:flex;align-items:center;justify-content:center}.dashboard-loading,.dashboard-empty{display:flex;align-items:center;justify-content:center;height:200px;color:#999;font-size:14px;font-family:Pretendard,sans-serif}.dashboard-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:14px}.assignments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.assignment-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s ease;box-shadow:0 2px 8px #0000000d;cursor:pointer}.assignment-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a;border-color:#1a1a1a}.assignment-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}.assignment-type-badge{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;font-family:Pretendard,sans-serif;background:#1a1a1a;color:#fff}.assignment-course-name{font-size:12px;color:#666;font-family:Pretendard,sans-serif;margin-left:auto}.assignment-status-badge{display:flex;align-items:center}.status-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;font-family:Pretendard,sans-serif;white-space:nowrap}.status-badge.status-pending{background:#fef3c7;color:#d97706}.status-badge.status-submitted{background:#d1fae5;color:#059669}.status-badge.status-expired{background:#fee2e2;color:#dc2626}.status-badge.status-late-submitted{background:#fef3c7;color:#b45309}.assignment-card-body{display:flex;flex-direction:column;gap:12px}.assignment-name{font-size:18px;font-weight:700;color:#1a1a1a;margin:0;font-family:GongGothic,sans-serif;line-height:1.4}.assignment-details{display:flex;flex-direction:column;gap:8px}.assignment-detail-item{display:flex;align-items:center;gap:8px;font-size:14px;font-family:Pretendard,sans-serif}.detail-label{font-weight:600;color:#666;min-width:70px}.detail-value{color:#1a1a1a;flex:1}.assignment-detail-item.submission-result{padding-top:8px;border-top:1px solid #f0f0f0;margin-top:4px}.assignment-detail-item.submission-result .detail-value{color:#059669;font-weight:600}.assignment-card-footer{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.assignment-submit-btn{width:100%;padding:10px 20px;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif;height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.assignment-submit-btn:hover{background:#333}.assignment-submitted-info{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#059669;font-size:14px;font-weight:600;font-family:Pretendard,sans-serif;width:100%;box-sizing:border-box;height:40px}.submitted-icon{font-size:16px;font-weight:700}.submitted-text{color:#059669}.dashboard-footer{background:linear-gradient(180deg,#f8f8f8,#f5f5f5);border-top:1px solid rgba(0,0,0,.08);padding:32px 0;margin-top:auto;box-shadow:0 -2px 20px #0000000d;flex-shrink:0}@media (max-width: 768px){.dashboard-header-content{padding:0 20px}.dashboard-logo-text{font-size:16px;letter-spacing:1.5px}.dashboard-title{font-size:30px!important;letter-spacing:-.3px}.dashboard-tabs{gap:4px}.dashboard-tab{padding:10px 16px;font-size:14px}.dashboard-stats{grid-template-columns:1fr;gap:16px}.stat-card{padding:20px}.stat-card-number{font-size:28px}.dashboard-content{padding:24px}.dashboard-filters-wrapper{padding:16px 0}.dashboard-filters-wrapper .dashboard-container{padding:0 20px}.dashboard-filters{flex-direction:column;gap:16px;padding:0}.assignments-grid{grid-template-columns:1fr;gap:16px}.assignment-card{padding:16px}}@media (max-width: 480px){.dashboard-title{font-size:28px}.dashboard-tab{padding:8px 12px;font-size:13px}.stat-card{padding:16px}.stat-card-number{font-size:24px}}.student-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.student-modal-content{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}.student-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e0e0e0}.student-modal-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0;font-family:GongGothic,sans-serif}.student-modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.student-modal-close:hover{color:#1a1a1a}.student-modal-form{padding:32px}.consent-group{margin-bottom:16px}.consent-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:400}.consent-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.student-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e0e0e0}@media (max-width: 768px){.student-modal-content{width:95%;max-height:95vh}.student-modal-header{padding:20px 24px}.student-modal-form{padding:24px}.form-row{grid-template-columns:1fr;gap:16px}.student-modal-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.teacher-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.teacher-modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}.teacher-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e0e0e0}.teacher-modal-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0;font-family:GongGothic,sans-serif}.teacher-modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.teacher-modal-close:hover{color:#1a1a1a}.teacher-modal-form{padding:32px}.form-group input{padding:12px 16px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:Pretendard,sans-serif;transition:all .2s ease}.form-group input:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.form-group input.error{border-color:#dc2626}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.teacher-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e0e0e0}@media (max-width: 768px){.teacher-modal-content{width:95%;max-height:95vh}.teacher-modal-header{padding:20px 24px}.teacher-modal-form{padding:24px}.teacher-modal-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.course-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.course-modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}.course-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e0e0e0}.course-modal-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0;font-family:GongGothic,sans-serif}.course-modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.course-modal-close:hover{color:#1a1a1a}.course-modal-form{padding:32px}.form-group{display:flex;flex-direction:column;margin-bottom:20px}.course-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e0e0e0}.multi-select-container{margin-top:8px}.selected-students-section{margin-bottom:16px;padding:16px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px}.selected-students-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.selected-section-title{font-size:14px;font-weight:600;color:#1a1a1a;margin:0;font-family:Pretendard,sans-serif}.add-student-btn{padding:6px 12px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.add-student-btn:hover{background:#333}.no-selected-message{color:#999;font-size:13px;font-family:Pretendard,sans-serif;text-align:center;padding:12px;margin:0}.selected-search-container{margin-bottom:12px}.selected-search-input{width:100%;padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-family:Pretendard,sans-serif;transition:all .2s ease}.selected-search-input:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.selected-search-input::placeholder{color:#999}.selected-students-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;margin-bottom:12px}.selected-student-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;transition:all .2s ease}.selected-student-item:hover{border-color:#1a1a1a;background:#fafafa}.selected-student-info{display:flex;flex-direction:column;gap:6px;flex:1}.selected-student-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.selected-student-name{font-weight:600;color:#1a1a1a;font-size:14px;font-family:Pretendard,sans-serif}.selected-student-id{color:#666;font-size:13px;font-family:Pretendard,sans-serif}.selected-student-details{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#666;font-family:Pretendard,sans-serif}.selected-student-school,.selected-student-phone{display:block}.remove-student-btn{width:24px;height:24px;padding:0;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:50%;font-size:18px;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;font-family:Pretendard,sans-serif}.remove-student-btn:hover{background:#dc2626;border-color:#dc2626;color:#fff}.student-select-section{margin-top:16px;padding:16px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.selected-assignments-section{margin-bottom:16px;padding:16px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px}.selected-assignments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.add-assignment-btn{padding:6px 12px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.add-assignment-btn:hover{background:#333}.selected-assignments-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;margin-bottom:12px}.selected-assignment-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;transition:all .2s ease}.selected-assignment-item:hover{border-color:#1a1a1a;background:#fafafa}.selected-assignment-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.selected-assignment-name{font-weight:600;color:#1a1a1a;font-size:14px;font-family:Pretendard,sans-serif}.selected-assignment-subject{color:#666;font-size:13px;font-family:Pretendard,sans-serif}.selected-assignment-type{padding:2px 6px;background:#e8e8e8;border-radius:3px;font-size:11px;font-weight:500;color:#333;font-family:Pretendard,sans-serif}.remove-assignment-btn{width:24px;height:24px;padding:0;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:50%;font-size:18px;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;font-family:Pretendard,sans-serif}.remove-assignment-btn:hover{background:#dc2626;border-color:#dc2626;color:#fff}.assignment-select-section{margin-top:16px;padding:16px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;animation:slideDown .3s ease}.search-container{margin-bottom:12px}.search-input{width:100%;padding:10px 14px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-family:Pretendard,sans-serif;transition:all .2s ease}.search-input:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.search-input::placeholder{color:#999}.checkbox-list{display:flex;flex-direction:column;gap:10px;max-height:350px;overflow-y:auto;padding:12px;border:1px solid #e0e0e0;border-radius:6px;background:#f8f8f8;margin-bottom:12px}.checkbox-item{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:12px;font-size:14px;font-family:Pretendard,sans-serif;background:#fff;border:1px solid #e0e0e0;border-radius:6px;transition:all .2s ease}.checkbox-item:hover{border-color:#1a1a1a;background:#fafafa}.checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin-top:2px;flex-shrink:0}.checkbox-item input[type=checkbox]:checked+*{color:#1a1a1a}.student-item .student-info,.assignment-item .assignment-info{flex:1;display:flex;flex-direction:column;gap:6px}.student-main-info,.assignment-main-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-name,.assignment-name{font-weight:600;color:#1a1a1a;font-size:14px}.student-id{color:#666;font-size:13px}.student-details{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#666}.student-school,.student-phone{display:block}.assignment-subject{color:#666;font-size:13px}.assignment-type-badge{padding:2px 6px;background:#e8e8e8;border-radius:3px;font-size:11px;font-weight:500;color:#333}.assignment-details{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#666}.assignment-detail-item{display:block}.assignment-dates{display:flex;flex-direction:column;gap:3px;margin-top:4px}.assignment-date-item{display:block;font-size:11px;color:#555}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0}.pagination-btn{padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#1a1a1a}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-pages{display:flex;gap:4px;align-items:center}.pagination-page-btn{min-width:32px;height:32px;padding:0 10px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif;display:flex;align-items:center;justify-content:center}.pagination-page-btn:hover{background:#f5f5f5;border-color:#1a1a1a}.pagination-page-btn.active{background:#1a1a1a;border-color:#1a1a1a;color:#fff;font-weight:600}.empty-message{color:#999;font-size:14px;font-family:Pretendard,sans-serif;padding:12px;text-align:center}@media (max-width: 768px){.course-modal-content{width:95%;max-height:95vh}.course-modal-header{padding:20px 24px}.course-modal-form{padding:24px}.course-modal-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.assignment-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.assignment-modal-content{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}.assignment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e0e0e0}.assignment-modal-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0;font-family:GongGothic,sans-serif}.assignment-modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.assignment-modal-close:hover{color:#1a1a1a}.assignment-modal-form{padding:32px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:14px;font-weight:600;color:#333;margin-bottom:8px;font-family:Pretendard,sans-serif}.form-group input,.form-group select{padding:12px 16px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:Pretendard,sans-serif;transition:all .2s ease}.form-group input.error,.form-group select.error{border-color:#dc2626}.error-message{font-size:12px;color:#dc2626;margin-top:4px}.file-upload-group{margin-top:20px}.file-upload-section{display:flex;gap:12px;margin-bottom:16px}.upload-btn,.remove-file-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.upload-btn{background:#1a1a1a;color:#fff}.upload-btn:hover{background:#333}.remove-file-btn{background:#fee2e2;color:#dc2626}.remove-file-btn:hover{background:#fecaca}.files-preview-container{margin-top:16px;display:flex;flex-direction:column;gap:16px}.file-preview-item{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background:#f8f8f8}.file-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e0e0e0}.file-header-left{display:flex;align-items:center;gap:8px;flex:1}.file-order-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#1a1a1a;color:#fff;border-radius:50%;font-size:12px;font-weight:600;font-family:Pretendard,sans-serif}.file-name{font-size:14px;font-weight:600;color:#333;font-family:Pretendard,sans-serif}.file-header-actions{display:flex;align-items:center;gap:4px}.move-file-btn{background:#f3f4f6;color:#333;border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;transition:all .2s ease;font-family:Pretendard,sans-serif;font-weight:600}.move-file-btn:hover:not(:disabled){background:#e5e7eb;color:#1a1a1a}.move-file-btn:disabled{background:#f9fafb;color:#d1d5db;cursor:not-allowed}.remove-single-file-btn{background:#fee2e2;color:#dc2626;border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1;transition:all .2s ease;font-family:Pretendard,sans-serif}.remove-single-file-btn:hover{background:#fecaca}.file-preview{margin-top:0}.preview-image{max-width:100%;max-height:400px;border-radius:6px;object-fit:contain}.preview-pdf{display:flex;flex-direction:column;gap:12px}.preview-iframe,.preview-pdf object{width:100%;height:500px;border:1px solid #e0e0e0;border-radius:6px;background:#fff}.pdf-link{display:inline-block;padding:8px 16px;background:#1a1a1a;color:#fff;text-decoration:none;border-radius:6px;font-size:14px;font-weight:500;text-align:center;transition:all .2s ease;font-family:Pretendard,sans-serif}.pdf-link:hover{background:#333}.preview-unknown{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px}.preview-unknown p{font-size:14px;color:#666;margin:0;font-family:Pretendard,sans-serif}.assignment-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e0e0e0}.btn-cancel,.btn-submit{padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover{background:#e8e8e8}.btn-submit{background:#1a1a1a;color:#fff}.btn-submit:hover:not(:disabled){background:#333}.btn-submit:disabled{background:#ccc;cursor:not-allowed}.answers-section{margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.answers-section-label{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:16px;font-family:Pretendard,sans-serif}.answers-list{display:flex;flex-direction:column;gap:16px}.answer-item{padding:16px;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.question-number{font-size:14px;font-weight:600;color:#1a1a1a;font-family:Pretendard,sans-serif}.answer-inputs{display:grid;grid-template-columns:1fr 120px;gap:12px}.answer-input-group label,.points-input-group label{font-size:12px;font-weight:600;color:#666;margin-bottom:6px;font-family:Pretendard,sans-serif}.answer-input-group input,.points-input-group input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:Pretendard,sans-serif;transition:all .2s ease}@media (max-width: 768px){.assignment-modal-content{width:95%;max-height:95vh}.assignment-modal-header{padding:20px 24px}.assignment-modal-form{padding:24px}.form-row{grid-template-columns:1fr;gap:16px}.answer-inputs{grid-template-columns:1fr}.assignment-modal-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.course-assignment-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease}.course-assignment-modal-content{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}.course-assignment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e0e0e0}.course-assignment-modal-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0;font-family:GongGothic,sans-serif}.course-assignment-modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.course-assignment-modal-close:hover{color:#1a1a1a}.course-assignment-modal-body{padding:32px}.assignment-section{margin-bottom:32px}.assignment-section:last-child{margin-bottom:0}.section-title{font-size:18px;font-weight:600;color:#333;margin-bottom:16px;font-family:Pretendard,sans-serif}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.create-assignment-btn{padding:8px 16px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.create-assignment-btn:hover{background:#333}.create-assignment-form{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:#333;font-family:Pretendard,sans-serif}.form-group input,.form-group select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-family:Pretendard,sans-serif;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.create-submit-btn{width:100%;padding:10px 16px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif;margin-top:8px}.create-submit-btn:hover:not(:disabled){background:#333}.create-submit-btn:disabled{background:#ccc;cursor:not-allowed}.answers-section{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.answers-section-label{font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:12px;font-family:Pretendard,sans-serif}.required-mark{color:#dc2626;margin-left:4px}.answers-list{display:flex;flex-direction:column;gap:12px}.answer-item{padding:12px;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.question-number{font-size:12px;font-weight:600;color:#1a1a1a;font-family:Pretendard,sans-serif}.answer-inputs{display:grid;grid-template-columns:1fr 100px;gap:10px}.answer-input-group,.points-input-group{display:flex;flex-direction:column}.answer-input-group label,.points-input-group label{font-size:11px;font-weight:600;color:#666;margin-bottom:4px;font-family:Pretendard,sans-serif}.answer-input-group input,.points-input-group input{padding:8px 10px;border:1px solid #e0e0e0;border-radius:4px;font-size:12px;font-family:Pretendard,sans-serif;transition:all .2s ease}.answer-input-group input:focus,.points-input-group input:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.answer-input-group input.error,.points-input-group input.error{border-color:#dc2626}.error-message{font-size:11px;color:#dc2626;margin-top:4px;font-family:Pretendard,sans-serif}.assignment-list{display:flex;flex-direction:column;gap:12px}.assignment-item{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 14px;background:#f8f8f8;border-radius:6px;border:1px solid #e0e0e0;gap:12px}.assignment-info{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.assignment-main-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.assignment-name{font-weight:600;color:#1a1a1a;font-family:Pretendard,sans-serif;font-size:14px}.assignment-subject{color:#666;font-size:12px;font-family:Pretendard,sans-serif}.assignment-type{padding:2px 6px;background:#e8e8e8;border-radius:4px;font-size:11px;font-weight:500;color:#333;font-family:Pretendard,sans-serif}.assignment-dates{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#666}.assignment-date-item{display:flex;align-items:center;gap:4px}.date-label{font-weight:500;color:#888;font-size:11px}.date-value{color:#555;font-size:11px}.remove-btn{padding:6px 12px;background:#fee2e2;color:#dc2626;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.remove-btn:hover{background:#fecaca}.add-assignment-section{display:flex;flex-direction:column;gap:16px}.add-assignment-label{font-size:14px;font-weight:600;color:#333;margin:0;font-family:Pretendard,sans-serif}.available-assignment-list{display:flex;flex-direction:column;gap:8px;max-height:350px;overflow-y:auto;padding:4px}.available-assignment-card{padding:10px 12px;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.available-assignment-card:hover{background:#f0f0f0;border-color:#1a1a1a}.available-assignment-card.selected{background:#e8f4f8;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.assignment-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.assignment-card-name{font-size:13px;font-weight:600;color:#1a1a1a}.assignment-card-type{padding:2px 6px;background:#e8e8e8;border-radius:3px;font-size:10px;font-weight:500;color:#333}.assignment-card-details{display:flex;flex-direction:column;gap:4px}.assignment-card-subject{font-size:11px;color:#666}.assignment-card-dates{display:flex;flex-direction:column;gap:2px;font-size:10px;color:#666}.assignment-card-date{display:block;font-size:10px;color:#555}.assignment-search-container{margin-bottom:12px}.assignment-search-input{width:100%;padding:10px 14px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-family:Pretendard,sans-serif;transition:all .2s ease}.assignment-search-input:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.assignment-search-input::placeholder{color:#999}.add-assignment-actions{display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid #e0e0e0}.add-assignment-form{display:flex;gap:12px}.assignment-select{flex:1;padding:12px 16px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:Pretendard,sans-serif;transition:all .2s ease}.assignment-select:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.add-btn{padding:12px 24px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.add-btn:hover:not(:disabled){background:#333}.add-btn:disabled{background:#ccc;cursor:not-allowed}.empty-message{color:#999;font-size:14px;font-family:Pretendard,sans-serif;padding:20px;text-align:center}.course-assignment-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.course-assignment-pagination .pagination-btn{padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.course-assignment-pagination .pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#1a1a1a}.course-assignment-pagination .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.course-assignment-pagination .pagination-pages{display:flex;gap:4px;align-items:center}.course-assignment-pagination .pagination-page-btn{min-width:36px;height:36px;padding:0 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif;display:flex;align-items:center;justify-content:center}.course-assignment-pagination .pagination-page-btn:hover{background:#f5f5f5;border-color:#1a1a1a}.course-assignment-pagination .pagination-page-btn.active{background:#1a1a1a;border-color:#1a1a1a;color:#fff;font-weight:600}.course-assignment-modal-actions{display:flex;justify-content:flex-end;padding:24px 32px;border-top:1px solid #e0e0e0}.btn-close{padding:12px 24px;background:#f5f5f5;color:#666;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.btn-close:hover{background:#e8e8e8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.course-assignment-modal-content{width:95%;max-height:95vh}.course-assignment-modal-header{padding:20px 24px}.course-assignment-modal-body{padding:24px}.add-assignment-form{flex-direction:column}.add-assignment-actions{padding-top:12px}.add-btn{width:100%}.available-assignment-list{max-height:300px}.assignment-card-dates{font-size:11px}.form-row{grid-template-columns:1fr}.assignment-dates{flex-direction:column;gap:6px}.assignment-item{flex-direction:column;align-items:flex-start}.remove-btn{width:100%;margin-top:8px}}.test-result-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.test-result-modal-content{background:#fff;border-radius:12px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column}.test-result-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #e0e0e0}.test-result-modal-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0;font-family:GongGothic,sans-serif}.test-result-modal-close{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease;border-radius:4px}.test-result-modal-close:hover{background:#f0f0f0;color:#333}.test-result-modal-body{padding:32px;flex:1}.test-result-course-info{margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.test-result-course-info h3{font-size:20px;font-weight:700;color:#1a1a1a;margin:0 0 8px;font-family:GongGothic,sans-serif}.test-result-course-info p{font-size:14px;color:#666;margin:0;font-family:Pretendard,sans-serif}.test-result-assignment-select{margin-bottom:24px}.test-result-label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:12px;font-family:Pretendard,sans-serif}.test-result-no-assignments{padding:24px;text-align:center;color:#999;font-size:14px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.test-result-search-container{margin-bottom:12px}.test-result-search-input{width:100%;padding:10px 14px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-family:Pretendard,sans-serif;transition:all .2s ease}.test-result-search-input:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.test-result-search-input::placeholder{color:#999}.test-result-assignment-list{display:flex;flex-direction:column;gap:12px;max-height:350px;overflow-y:auto;padding:4px;margin-bottom:12px}.test-result-assignment-item{padding:14px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease}.test-result-assignment-item:hover{border-color:#1a1a1a;background:#fafafa;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.test-result-assignment-item.selected{border-color:#1a1a1a;background:#f0f0f0;box-shadow:0 2px 12px #1a1a1a26}.assignment-item-header{margin-bottom:10px}.assignment-item-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.assignment-name{font-size:15px;font-weight:600;color:#1a1a1a;font-family:Pretendard,sans-serif}.assignment-subject{font-size:13px;color:#666;font-family:Pretendard,sans-serif}.assignment-type-badge{padding:3px 8px;background:#e8e8e8;border-radius:4px;font-size:11px;font-weight:500;color:#333;font-family:Pretendard,sans-serif}.assignment-item-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #f0f0f0}.assignment-date-row{display:flex;flex-direction:column;gap:4px}.date-label{font-size:11px;font-weight:500;color:#888;font-family:Pretendard,sans-serif}.date-value{font-size:12px;font-weight:600;color:#333;font-family:Pretendard,sans-serif}.test-result-table-container{margin-top:24px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.test-result-table{width:100%;border-collapse:collapse}.test-result-table thead{background:#f8f9fa;border-bottom:2px solid #e0e0e0}.test-result-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;font-family:Pretendard,sans-serif}.test-result-table td{padding:16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333;font-family:Pretendard,sans-serif}.test-result-table tbody tr:hover{background:#fafafa}.test-result-table tbody tr:last-child td{border-bottom:none}.test-result-status{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;font-family:Pretendard,sans-serif;white-space:nowrap}.test-result-status.submitted{background:#d1fae5;color:#059669}.test-result-status.not-submitted{background:#fef3c7;color:#d97706}.test-result-submitted-date{font-size:13px;font-weight:500;color:#059669;font-family:Pretendard,sans-serif}.test-result-score{font-size:14px;font-weight:600;color:#059669;font-family:Pretendard,sans-serif}.test-result-no-score{color:#999}.test-result-empty{text-align:center;color:#999;padding:40px 20px!important;font-size:14px}.test-result-loading{text-align:center;padding:40px 20px;color:#666;font-size:14px}.view-solution-btn{padding:6px 12px;background:#1a1a1a;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.view-solution-btn:hover:not(:disabled){background:#333}.view-solution-btn:disabled{background:#ccc;color:#999;cursor:not-allowed}.student-solution-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px}.student-solution-modal-content{background:#fff;border-radius:12px;width:90%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.student-solution-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.student-solution-modal-title{font-size:20px;font-weight:700;color:#1a1a1a;margin:0;font-family:GongGothic,sans-serif}.student-solution-modal-close{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:4px}.student-solution-modal-close:hover{background:#f0f0f0;color:#1a1a1a}.student-solution-zoom-controls{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:center;width:100%;box-sizing:border-box}.student-solution-modal-body{padding:24px;flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center}.zoom-btn{width:32px;height:32px;border:1px solid #dee2e6;background:#fff;border-radius:4px;cursor:pointer;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s}.zoom-btn:hover{background:#e9ecef;border-color:#adb5bd}.zoom-btn:active{background:#dee2e6}.zoom-level{min-width:60px;text-align:center;font-size:14px;font-weight:500;color:#495057}.zoom-reset-btn{width:32px;height:32px;border:1px solid #dee2e6;background:#fff;border-radius:4px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-left:8px}.zoom-reset-btn:hover{background:#e9ecef;border-color:#adb5bd}.zoom-reset-btn:active{background:#dee2e6}.student-solution-viewer{width:100%;height:600px;overflow:hidden;border:1px solid #e0e0e0;border-radius:8px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;position:relative;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;touch-action:none;-webkit-touch-callout:none}.student-solution-content{position:relative;display:inline-block;transition:transform .1s ease-out;will-change:transform}.student-solution-canvas{position:absolute;top:0;left:0;display:block;width:100%;height:100%;object-fit:contain;background:#fff;border:1px solid #e0e0e0}.student-solution-drawing-canvas{position:absolute;top:0;left:0;z-index:2;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.student-solution-image-container{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:20px;background:#f8f9fa;border-radius:8px;padding:20px;min-height:400px}.student-solution-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:4px;box-shadow:0 2px 8px #0000001a}.student-solution-navigation{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;background:#f8f9fa;border-radius:8px;width:100%}.solution-nav-btn{padding:10px 20px;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.solution-nav-btn:hover:not(:disabled){background:#333}.solution-nav-btn:disabled{background:#ccc;color:#999;cursor:not-allowed}.solution-image-counter{font-size:14px;font-weight:600;color:#333;font-family:Pretendard,sans-serif;min-width:80px;text-align:center}@media (max-width: 768px){.test-result-modal-content{width:95%;max-height:95vh}.test-result-modal-header,.test-result-modal-body{padding:20px}.test-result-table{font-size:12px}.test-result-table th,.test-result-table td{padding:10px 8px}.assignment-item-dates{grid-template-columns:1fr;gap:8px}.assignment-date-row{flex-direction:row;justify-content:space-between;align-items:center}.test-result-assignment-list{max-height:300px}}.test-result-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.test-result-pagination .pagination-btn{padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.test-result-pagination .pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#1a1a1a}.test-result-pagination .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.test-result-pagination .pagination-pages{display:flex;gap:4px;align-items:center}.test-result-pagination .pagination-page-btn{min-width:36px;height:36px;padding:0 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif;display:flex;align-items:center;justify-content:center}.test-result-pagination .pagination-page-btn:hover{background:#f5f5f5;border-color:#1a1a1a}.test-result-pagination .pagination-page-btn.active{background:#1a1a1a;border-color:#1a1a1a;color:#fff;font-weight:600}.admin-dashboard{width:100%;min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#fafafa,#fff,#f8f8f8)}.admin-header{background:linear-gradient(180deg,#1a1a1a,#0f0f0f);padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 2px 20px #0000001a;flex-shrink:0}.admin-header-content{max-width:1400px;margin:0 auto;padding:0 40px;display:flex;justify-content:space-between;align-items:center}.admin-logo{display:flex;align-items:center;gap:8px}.admin-logo-text{color:#fff;font-size:18px;font-weight:600;letter-spacing:2px;text-transform:uppercase;font-family:GongGothic,sans-serif}.admin-logo-img{height:16px;width:auto;object-fit:contain;filter:brightness(0) invert(1)}.admin-user-info{display:flex;align-items:center;gap:16px}.admin-user-name{color:#fff;font-size:14px;font-weight:500}.admin-logout-btn{padding:8px 16px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease}.admin-logout-btn:hover{background:#fff3;border-color:#ffffff4d}.admin-main{flex:1;padding:40px 20px;position:relative;z-index:1}.admin-container{max-width:1400px;margin:0 auto}.admin-title-section{margin-bottom:32px}.admin-title{font-size:32px;font-weight:700;color:#1a1a1a;margin:0 0 8px;font-family:GongGothic,sans-serif;letter-spacing:-1px}.admin-subtitle{font-size:16px;color:#666;margin:0;font-weight:400}.admin-layout{display:flex;gap:24px;align-items:flex-start}.admin-sidebar{width:240px;flex-shrink:0;background:#fff;border-radius:12px;padding:16px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d}.admin-nav{display:flex;flex-direction:column;gap:4px}.admin-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;border-radius:8px;text-align:left;cursor:pointer;transition:all .3s ease;font-size:15px;font-weight:500;color:#666;font-family:Pretendard,sans-serif}.admin-nav-item:hover{background:#f5f5f5;color:#1a1a1a}.admin-nav-item.active{background:#1a1a1a;color:#fff}.nav-icon{font-size:18px;flex-shrink:0}.nav-text{flex:1}.admin-content{flex:1;background:#fff;border-radius:12px;padding:32px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d;min-height:600px}.admin-section{width:100%}.section-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0 0 24px;font-family:GongGothic,sans-serif}.section-actions{display:flex;gap:12px;margin-bottom:24px;align-items:center}.admin-search-input{flex:1;max-width:400px;padding:10px 16px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:Pretendard,sans-serif;transition:all .2s ease}.admin-search-input:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a1a}.admin-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Pretendard,sans-serif}.admin-btn-primary{background:#1a1a1a;color:#fff}.admin-btn-primary:hover{background:#333;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.admin-btn-secondary{background:#f5f5f5;color:#1a1a1a;border:1px solid #e0e0e0}.admin-btn-secondary:hover{background:#e8e8e8}.admin-table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table thead{background:#f8f8f8;border-bottom:2px solid #e0e0e0}.admin-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;font-family:Pretendard,sans-serif}.admin-table td{padding:16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333}.admin-table tbody tr:hover{background:#fafafa}.table-empty{text-align:center;color:#999;padding:60px 20px!important;font-size:14px}.table-loading{text-align:center;color:#666;padding:60px 20px;font-size:14px}.table-actions{display:flex;gap:8px}.action-btn{padding:6px 12px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.edit-btn{background:#f5f5f5;color:#1a1a1a}.edit-btn:hover{background:#e8e8e8}.delete-btn{background:#fee2e2;color:#dc2626}.delete-btn:hover{background:#fecaca}.assignment-btn{background:#e0f2fe;color:#0369a1}.assignment-btn:hover{background:#bae6fd}.test-result-btn{background:#f0fdf4;color:#059669}.test-result-btn:hover{background:#d1fae5}.answer-btn{background:#dcfce7;color:#166534}.answer-btn:hover{background:#bbf7d0}.admin-footer{background:linear-gradient(180deg,#f8f8f8,#f5f5f5);border-top:1px solid rgba(0,0,0,.08);padding:32px 0;margin-top:auto;box-shadow:0 -2px 20px #0000000d;flex-shrink:0}@media (max-width: 1024px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%}.admin-nav{flex-direction:row;overflow-x:auto}.admin-nav-item{white-space:nowrap}}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.admin-pagination .pagination-btn{padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif}.admin-pagination .pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#1a1a1a}.admin-pagination .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.admin-pagination .pagination-pages{display:flex;gap:4px;align-items:center}.admin-pagination .pagination-page-btn{min-width:36px;height:36px;padding:0 12px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s ease;font-family:Pretendard,sans-serif;display:flex;align-items:center;justify-content:center}.admin-pagination .pagination-page-btn:hover{background:#f5f5f5;border-color:#1a1a1a}.admin-pagination .pagination-page-btn.active{background:#1a1a1a;border-color:#1a1a1a;color:#fff;font-weight:600}@media (max-width: 768px){.admin-header-content{padding:0 20px;flex-direction:column;gap:12px}.admin-title{font-size:24px}.admin-content{padding:24px}.section-actions{flex-direction:column}.admin-btn{width:100%}.admin-pagination{flex-wrap:wrap;gap:4px}.admin-pagination .pagination-page-btn{min-width:32px;height:32px;padding:0 8px;font-size:12px}}.course-selection-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.course-selection-modal-content{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;border:1px solid #e0e0e0}.course-selection-wrapper{padding:32px;position:relative}.course-selection-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;z-index:1}.course-selection-close-btn:hover{background:#f0f0f0;color:#333}.course-selection-title{font-size:32px;font-weight:700;color:#1a1a1a;margin:0 0 12px;text-align:center}.course-selection-subtitle{font-size:14px;color:#666;text-align:center;margin:0 0 24px}.course-selection-form{display:flex;flex-direction:column;gap:20px}.course-selection-form .form-group{display:flex;flex-direction:column;gap:8px}.course-selection-form .form-label{font-size:14px;font-weight:600;color:#333}.course-select{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:Pretendard,sans-serif;cursor:pointer;transition:all .3s ease;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-color:#fff}.course-select:focus{outline:none;border-color:#333;box-shadow:0 0 0 2px #0000001a}.course-selection-submit-btn{width:100%;padding:14px;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:4px}.course-selection-submit-btn:hover:not(:disabled){background:#333;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.course-selection-submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}@media (max-width: 600px){.course-selection-wrapper{padding:24px}.course-selection-title{font-size:24px}}:root{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1a1a1a;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
