@font-face{font-family:BMHANNAAir;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_four@1.0/BMHANNAAir.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:BMDOHYEON;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/BMDOHYEON.woff) format("woff");font-weight:400;font-style:normal}*{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Noto Sans KR,Noto Sans JP,Noto Sans SC,PingFang SC,Hiragino Sans,Meiryo,Microsoft YaHei,BMHANNAAir,sans-serif;box-sizing:border-box}body{margin:0;padding:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Noto Sans KR,Noto Sans JP,Noto Sans SC,PingFang SC,Hiragino Sans,Meiryo,Microsoft YaHei,BMHANNAAir,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;text-rendering:optimizeLegibility}#root{min-height:100vh;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.swal2-container{z-index:1400!important}.swal2-popup{z-index:1401!important}.swal2-container-high-z{z-index:1400!important}.group-selection-screen{min-height:100vh;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:2rem 1rem 1rem;padding-bottom:80px;box-sizing:border-box;overflow-y:auto}.group-selection-container{width:100%;max-width:1200px;margin:0 auto}.group-selection-card{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 20px #0000001a;box-sizing:border-box}.logo-image{width:70%;max-width:200px;height:auto;margin-bottom:-20px;border-radius:50%;object-fit:cover;aspect-ratio:1 / 1}@media(max-width:600px){.group-selection-screen{padding:1rem .75rem .75rem;padding-bottom:80px}.group-selection-card{padding:1.25rem}.logo-image{width:60%;max-width:150px}.title{font-size:1.5rem!important;margin-bottom:1rem}}@media(min-width:600px){.group-selection-card>div:last-child>div{max-width:872px}}.main-screen{min-height:100vh;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:2rem 1rem 1rem;padding-bottom:80px;box-sizing:border-box;overflow-y:auto}.main-container{width:100%;max-width:500px;margin:0 auto}.main-card{background-color:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 20px #0000001a;box-sizing:border-box}.logo-container{text-align:center;margin-bottom:1.5rem}.logo-image{width:70%;max-width:200px;height:auto;margin-bottom:-20px}.title{text-align:center;margin-bottom:1.5rem}.content-box{margin-top:1.5rem}.time-lock-box{margin-bottom:0;padding:1rem;background-color:#f5f5f5;border-radius:8px}.time-lock-title{text-align:center;margin-bottom:.5rem}.time-lock-content{text-align:center;white-space:pre-line;margin-bottom:1rem}.time-lock-dates{text-align:center}.current-time{text-align:center;margin:1rem 0;font-size:1rem}.input-field{margin-bottom:1rem}.input-field:first-of-type{margin-bottom:1.5rem}.input-field:last-of-type{margin-bottom:2.5rem}.submit-button{margin-bottom:1rem;width:100%;height:48px;font-size:1rem}.admin-button{width:100%;height:48px;font-size:1rem}@media(max-width:600px){.main-screen{padding:1rem .75rem .75rem;padding-bottom:80px;align-items:center;min-height:100vh}.main-card{padding:1.25rem;margin-top:.5rem}.logo-image{width:60%;max-width:150px}.title{font-size:1.5rem!important;margin-bottom:1rem}.time-lock-box{padding:.75rem}.time-lock-title{font-size:1rem!important}.time-lock-content{font-size:.875rem!important}.current-time{font-size:.875rem!important;margin:.75rem 0}.submit-button,.admin-button{height:44px;font-size:.9rem}}@media(max-height:600px){.main-screen{padding-top:.5rem;padding-bottom:.5rem}.main-card{padding:1rem}.logo-container{margin-bottom:.75rem}.logo-image{max-width:120px;margin-bottom:-15px}.title{margin-bottom:.75rem;font-size:1.25rem!important}.content-box{margin-top:.75rem}}@media(max-width:900px)and (orientation:landscape){.main-screen{padding:.5rem;padding-bottom:60px}.main-card{padding:1rem}.logo-image{max-width:100px;margin-bottom:-10px}.title{font-size:1.25rem!important;margin-bottom:.5rem}.content-box{margin-top:.5rem}.input-field{margin-bottom:.75rem}.submit-button,.admin-button{height:40px;font-size:.875rem;margin-bottom:.5rem}}.assignment-screen{position:absolute;inset:0;background-color:#f5f5f5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;padding-bottom:80px}.assignment-card{background-color:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 4px 20px #00000026;width:100%;max-width:450px;position:relative}.watermark-text{position:absolute;top:10px;left:50%;transform:translate(-50%);font-size:.75rem;opacity:.3;z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.1);text-stroke:1px rgba(0,0,0,.1)}.assignment-title{margin-bottom:1.5rem;text-align:center}.assignment-info{margin-bottom:1rem}.assignment-highlight{color:#1976d2;display:inline;font-size:1.25rem}.warning-box{margin-bottom:2rem;border:2px solid;border-radius:8px;padding:1rem}.button-container{display:flex;gap:1rem;width:100%;margin-top:1rem}.button-container .save-image-button,.button-container .home-button{flex:1;height:48px}.admin-login-screen{position:absolute;inset:0;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:2rem;padding-bottom:80px}.admin-login-container{width:100%;max-width:500px}.admin-login-card{background-color:#fff;padding:4rem 2.5rem 2.5rem;border-radius:16px;box-shadow:0 8px 32px #0000001f}.admin-login-title{text-align:center;margin-bottom:.5rem;margin-top:0;font-weight:600;color:#1976d2}.admin-login-subtitle{text-align:center;margin-bottom:4rem;color:#666;font-size:.875rem}.admin-login-form{display:flex;flex-direction:column;gap:1.5rem}.admin-input-field{margin-bottom:0}.password-field-wrapper{position:relative;width:100%}.password-field-wrapper .password-field input[type=password]{font-family:monospace!important;font-size:16px!important;letter-spacing:.2em!important;color:inherit!important;-webkit-text-fill-color:currentColor!important;-webkit-text-security:disc!important}.password-field-wrapper .password-field input[type=text]{font-family:inherit!important;font-size:16px!important;letter-spacing:normal!important;color:inherit!important;-webkit-text-fill-color:currentColor!important}.admin-login-button{width:100%;height:52px;font-size:1rem;font-weight:600;margin-top:.5rem;text-transform:none;box-shadow:0 4px 12px #1976d24d;transition:all .3s ease}.admin-login-button:hover{box-shadow:0 6px 16px #1976d266;transform:translateY(-1px)}.admin-login-help-text{text-align:center;margin-top:1.5rem;margin-bottom:0;color:#999;font-size:.875rem}@media print{body *{visibility:hidden!important}.print-sheet,.print-sheet *{visibility:visible!important}.print-sheet{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;padding:20mm!important;box-shadow:none!important;border:none!important}.no-print{display:none!important}}.system-admin-screen{display:flex;min-height:100vh;width:100%;background-color:#f5f5f5;position:relative}.sidebar-header{padding:1.5rem 1rem;background-color:#1976d2;color:#fff}.sidebar-title{font-weight:700;color:#fff}.sidebar-user-info{padding:1rem;background-color:#e3f2fd;border-bottom:1px solid #bbdefb}.sidebar-user-name{font-weight:600;color:#1976d2;margin-bottom:.25rem}.sidebar-user-email{color:#666;font-size:.75rem;word-break:break-all}.sidebar-menu-item{padding:1rem 1.5rem;margin:.25rem .5rem;border-radius:8px}.sidebar-menu-item.Mui-selected{background-color:#e3f2fd;color:#1976d2}.sidebar-menu-item.Mui-selected:hover{background-color:#bbdefb}.sidebar-footer{padding:1rem;border-top:1px solid #e0e0e0;background-color:#fff;flex-shrink:0;margin-top:auto}.sidebar-scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;-webkit-overflow-scrolling:touch}.system-admin-main-content{flex:1;display:flex;flex-direction:column;padding:2rem;padding-bottom:0;width:100%;min-height:100vh}@media(max-width:899px){.content-header{display:none}.system-admin-main-content{padding:0}.mobile-header{padding:.5rem .75rem;margin:0;position:sticky;top:0;z-index:100;background-color:#fff}.mobile-header .MuiIconButton-root{padding:8px;margin-left:0;margin-right:.5rem}.mobile-title{font-size:1rem;margin-left:0;padding-left:.5rem}.content-body{padding:.5rem 1rem 1rem;padding-bottom:80px}}@media(min-width:900px){.mobile-header{display:none}}.content-header{margin-bottom:0;padding:1.5rem 2rem 1rem;border-bottom:2px solid #e0e0e0;background-color:#f5f5f5;position:sticky;top:0;z-index:10;flex-shrink:0}.content-title{font-weight:700;color:#1976d2}.content-body{flex:1;width:100%;padding:2rem;padding-bottom:100px}.logout-button{font-size:.9rem}.account-creating-screen{position:absolute;inset:0;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;z-index:9999}.account-creating-container{width:100%;max-width:400px}.account-creating-card{background-color:#fff;padding:3rem 2.5rem;border-radius:16px;box-shadow:0 8px 32px #0000001f;text-align:center}.account-creating-title{font-weight:600;color:#1976d2;margin-bottom:.5rem}.account-creating-subtitle{color:#666;font-size:.875rem}.error-page-screen{position:absolute;inset:0;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:2rem}.error-page-container{width:100%;max-width:500px}.error-page-card{background-color:#fff;padding:3rem 2.5rem;border-radius:16px;box-shadow:0 8px 32px #0000001f;text-align:center}.error-page-title{font-weight:600;margin-bottom:1rem}.error-page-reason{color:#666;margin-bottom:2rem}.dev-preview-wrapper{position:sticky;top:0;left:0;width:100%;z-index:999999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.dev-preview-bar{background:#16161af2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #3d3d4d;padding:6px 16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #0006}.dev-preview-collapsed{position:fixed;top:10px;right:16px;background:#16161aeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #444;border-radius:20px;padding:4px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 2px 10px #0000004d;transition:all .2s ease;z-index:999999}.dev-preview-collapsed:hover{transform:translateY(-1px);background:#2a2a35}.dev-preview-trigger{position:fixed;top:12px;right:16px;z-index:999999}.dev-preview-min-floating{position:fixed;bottom:20px;right:20px;z-index:999999;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.viewport-frame-wrapper{width:100%;min-height:calc(100vh - 46px);background-color:#121216;display:flex;justify-content:center;align-items:flex-start;padding:24px 12px;overflow-y:auto;transition:all .3s ease}.viewport-frame-device{background-color:#fff;border-radius:24px;box-shadow:0 10px 40px #0009,0 0 0 12px #222;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.viewport-frame-device.device-mobile{width:375px;min-height:750px;border-radius:36px}.viewport-frame-device.device-tablet{width:768px;min-height:900px;border-radius:28px}.viewport-frame-device.device-desktop{width:1200px;min-height:800px;border-radius:16px}.viewport-frame-device.device-responsive{width:100%;min-height:100%;border-radius:0;box-shadow:none;border:none}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative;background-color:#f5f5f5}.app-content{position:relative;flex:1;min-height:0}input[type=password],.MuiInputBase-input[type=password],.MuiOutlinedInput-input[type=password]{font-family:caption,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;letter-spacing:.2em!important}
