body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f0f2f5;color:#333;font-family:Segoe UI,맑은 고딕,sans-serif}.login-container{align-items:center;background:linear-gradient(135deg,#1b3a5c,#2e5e8e);display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;padding:40px;text-align:center;width:400px}.login-box h1{color:#1b3a5c;font-size:24px;margin-bottom:8px}.login-subtitle{color:#888;margin-bottom:30px}.input-group{margin-bottom:20px;text-align:left}.input-group label{color:#555;display:block;font-weight:700;margin-bottom:6px}.input-group input{border:2px solid #ddd;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s;width:100%}.input-group input:focus{border-color:#2e5e8e;outline:none}.login-btn{background:#1b3a5c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;padding:14px;transition:background .3s;width:100%}.login-btn:hover{background:#2e5e8e}.login-btn:disabled{background:#aaa}.error-message{color:#c62828;font-size:14px;margin-bottom:15px}.page-container{margin:0 auto;max-width:1000px;padding:20px}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:30px}.page-header h1{color:#1b3a5c}.user-info{align-items:center;color:#555;display:flex;gap:15px}.logout-btn{background:#eee;border:none;border-radius:6px;cursor:pointer;padding:8px 16px}.logout-btn:hover{background:#ddd}.course-grid{grid-gap:20px;display:grid;gap:20px}.course-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:24px}.course-card h2{color:#1b3a5c;margin-bottom:8px}.course-card p{color:#666;margin-bottom:16px}.course-info{color:#555;display:flex;flex-wrap:wrap;font-size:14px;gap:16px;margin-bottom:20px}.start-btn{background:#2e7d32;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px;transition:background .3s}.start-btn:hover{background:#1b5e20}.exam-container{margin:0 auto;max-width:800px;padding:20px}.exam-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.exam-header h2{color:#1b3a5c}.timer{background:#1b3a5c;border-radius:8px;color:#fff;font-size:20px;font-weight:700;padding:10px 20px}.timer-warning{animation:pulse 1s infinite;background:#c62828}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.question-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.nav-dot{background:#fff;border:2px solid #ddd;border-radius:50%;cursor:pointer;font-size:14px;font-weight:700;height:36px;width:36px}.nav-dot.active{background:#e3f2fd;border-color:#1b3a5c}.nav-dot.answered{background:#c8e6c9;border-color:#2e7d32}.question-box{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:20px;padding:30px}.question-box h3{color:#333;font-size:18px;line-height:1.5;margin-bottom:20px}.question-image{border-radius:8px;margin-bottom:20px;max-height:300px;max-width:100%}.choices{flex-direction:column}.choice-btn,.choices{display:flex;gap:12px}.choice-btn{align-items:center;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;font-size:16px;padding:14px 18px;text-align:left;transition:all .2s}.choice-btn:hover{background:#e3f2fd;border-color:#2e5e8e}.choice-btn.selected{background:#bbdefb;border-color:#1b3a5c;font-weight:700}.choice-number{align-items:center;background:#ddd;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:30px;justify-content:center;width:30px}.choice-btn.selected .choice-number{background:#1b3a5c;color:#fff}.exam-footer{align-items:center;display:flex;justify-content:space-between}.nav-btn{background:#e0e0e0;border:none;border-radius:8px;cursor:pointer;font-size:16px;padding:12px 24px}.nav-btn:hover{background:#ccc}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.progress-text{color:#888}.submit-btn{background:#2e7d32;font-size:16px;padding:12px 24px}.submit-btn:hover{background:#1b5e20}.submit-btn:disabled{background:#aaa}.result-container{align-items:center;background:#f0f2f5;display:flex;justify-content:center;min-height:100vh;padding:20px}.result-box{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;max-width:500px;padding:40px;text-align:center;width:100%}.result-box h1{font-size:28px;margin-bottom:24px}.score-display{border:3px solid;border-radius:16px;margin-bottom:24px;padding:24px}.score-number{color:#333;font-size:48px;font-weight:700}.grade-badge{border-radius:20px;color:#fff;display:inline-block;font-size:16px;margin-top:8px;padding:6px 20px}.result-details{background:#f8f9fa;border-radius:8px;margin-bottom:24px;padding:16px;text-align:left}.result-details p{font-size:15px;margin-bottom:8px}.cert-section{background:#e8f5e9;border-radius:12px;margin-bottom:20px;padding:20px}.cert-section h2{color:#2e7d32;margin-bottom:12px}.cert-code{background:#fff;border-radius:8px;color:#1b3a5c;font-family:Courier New,monospace;font-size:32px;font-weight:700;letter-spacing:4px;margin-bottom:12px;padding:12px}.cert-info{color:#666;font-size:13px}.cert-expiry{color:#333;font-weight:700;margin-top:8px}.fail-section{background:#ffebee;border-radius:8px;color:#c62828;margin-bottom:20px;padding:16px}.back-btn{background:#1b3a5c;color:#fff;font-size:16px;padding:14px 30px}.back-btn:hover{background:#2e5e8e}.loading{align-items:center;display:flex;font-size:20px;justify-content:center;min-height:100vh}.admin-container{margin:0 auto;max-width:1200px;padding:20px}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.admin-header h1{color:#1b3a5c}.admin-tabs{border-bottom:2px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:2px 4px;margin-bottom:24px;padding-bottom:0}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex-shrink:0;font-size:15px;margin-bottom:-2px;padding:11px 18px;white-space:nowrap}.tab.active{border-bottom-color:#1b3a5c;color:#1b3a5c;font-weight:700}.tab:hover{color:#2e5e8e}.tab-content{padding:10px 0}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px;text-align:center}.stat-number{color:#1b3a5c;font-size:36px;font-weight:700}.stat-label{color:#888;font-size:14px;margin-top:4px}.section-title{border-bottom:2px solid #e0e0e0;color:#1b3a5c;margin:24px 0 12px;padding-bottom:8px}.admin-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px #0000000f;margin-bottom:20px;overflow:hidden;width:100%}.admin-table th{background:#1b3a5c;color:#fff;font-size:13px;padding:12px;text-align:left}.admin-table td{border-bottom:1px solid #eee;font-size:14px;padding:10px 12px}.admin-table tr:hover{background:#f8f9fa}.row-warning{background:#fff8e1!important}.row-danger{background:#ffebee!important}.row-inactive{opacity:.5}.mono{font-family:Courier New,monospace;letter-spacing:1px}.grade{border-radius:12px;color:#fff;display:inline-block;font-size:13px;font-weight:700;padding:2px 10px}.grade-A{background:#2e7d32}.grade-B{background:#1565c0}.grade-C{background:#e65100}.grade-F{background:#c62828}.add-form{background:#fff;border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:16px}.add-form input,.add-form select{border:2px solid #ddd;border-radius:6px;font-size:14px;padding:10px}.add-btn{background:#2e7d32;border-radius:6px}.add-btn:hover{background:#1b5e20}.small-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 12px}.small-btn:hover{background:#f0f0f0}.question-form{background:#fff;border-radius:8px;margin-bottom:20px;padding:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:700;margin-bottom:6px}.form-group input,.form-group textarea{border:2px solid #ddd;border-radius:6px;font-size:14px;padding:10px;width:100%}.choice-input-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.choice-input-row input[type=text]{flex:1 1}.choice-label{color:#888;font-size:12px;min-width:30px}.question-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;margin-bottom:12px;padding:16px}.question-card-header{display:flex;justify-content:space-between;margin-bottom:8px}.question-category{background:#e3f2fd;border-radius:10px;color:#1565c0;font-size:12px;padding:2px 10px}.question-text{font-weight:500;margin-bottom:10px}.question-choices{display:flex;flex-wrap:wrap;gap:8px}.choice-tag{background:#f0f0f0;border-radius:6px;font-size:13px;padding:4px 12px}.choice-tag.correct{background:#c8e6c9;font-weight:700}.delete-btn{background:none;border:none;color:#c62828;cursor:pointer;font-size:13px}.filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.filter-bar input,.filter-bar select{border:2px solid #ddd;border-radius:6px;padding:8px}.admin-link-btn{background:none;border:1px solid #ddd;border-radius:8px;color:#888;cursor:pointer;font-size:14px;margin-top:16px;padding:10px;width:100%}.admin-link-btn:hover{background:#f8f8f8;color:#555}.category-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.category-btn{background:#fff;border:2px solid #ddd;border-radius:20px;cursor:pointer;font-size:14px;padding:8px 18px;transition:all .2s}.category-btn:hover{border-color:#999}.category-btn.active{background:#1b3a5c;border-color:#1b3a5c;color:#fff}.category-section{margin-bottom:30px}.category-title{border-bottom:2px solid #eee;font-size:20px;margin-bottom:12px;padding-bottom:8px}.course-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.course-card-header h3{color:#1b3a5c;font-size:18px}.course-badge{border-radius:12px;color:#fff;font-size:12px;padding:3px 10px;white-space:nowrap}.empty-message{color:#999;font-size:16px;padding:40px;text-align:center}.section-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header-row .section-title{border:none;margin:0}.add-btn{background:#1b3a5c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px}.add-btn:hover{background:#2e5e8e}.admin-form,.course-form{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;margin-bottom:24px;padding:24px}.form-grid-2col{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{color:#555;font-size:13px;font-weight:600;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1b3a5c;box-shadow:0 0 0 2px #1b3a5c26;outline:none}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.submit-btn{background:#1b3a5c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:10px 24px}.submit-btn:hover{background:#2e5e8e}.cancel-btn{background:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;padding:10px 24px}.cancel-btn:hover{background:#d0d0d0}.delete-btn-sm,.edit-btn-sm{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:4px 8px}.edit-btn-sm:hover{background:#e3f2fd}.delete-btn-sm:hover{background:#ffebee}.status-badge{border-radius:12px;font-size:12px;padding:2px 8px;white-space:nowrap}.status-badge.active{background:#e8f5e9}.status-badge.inactive{background:#f5f5f5;color:#999}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;max-height:85vh;max-width:700px;overflow-y:auto;padding:32px;width:90%}.excel-upload-section{background:#f0f7ff;border:2px dashed #1b3a5c;border-radius:12px;margin-bottom:24px;padding:20px}.excel-upload-section .section-title{border:none;margin:0 0 12px}.excel-upload-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.template-btn{background:#fff;border:2px solid #1b3a5c;border-radius:8px;color:#1b3a5c;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px}.template-btn:hover{background:#e3f2fd}.upload-btn{background:#1b3a5c;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:700;padding:10px 20px}.upload-btn:hover{background:#2e5e8e}.upload-btn.uploading{background:#999;cursor:wait}.upload-hint{color:#666;font-size:13px}.upload-result{border-radius:10px;margin-bottom:20px;padding:16px 20px}.upload-result.success{background:#e8f5e9;border:1px solid #4caf50}.upload-result.error{background:#ffebee;border:1px solid #f44336}.upload-result-header{align-items:center;display:flex;font-weight:700;justify-content:space-between}.upload-result-details{font-size:14px;margin-top:8px}.upload-errors{color:#e65100;font-size:13px;margin-top:8px}.upload-error-item{margin:2px 0}.close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:18px}.course-selector{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;display:flex;gap:12px;margin-bottom:20px;padding:16px}.course-select{border:2px solid #1b3a5c;border-radius:8px;font-size:15px;min-width:300px;padding:10px 16px}.study-container{margin:0 auto;max-width:960px;padding:0 20px 100px}.study-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px;padding:16px 0}.study-header-left{align-items:center;display:flex;gap:16px}.study-header-left h2{color:#1b3a5c;font-size:20px;margin:0}.back-btn{background:#e0e0e0;border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 16px}.back-btn:hover{background:#d0d0d0}.study-header-right{align-items:center;display:flex;gap:20px}.study-remain,.study-timer{text-align:center}.remain-label,.timer-label{color:#888;display:block;font-size:11px}.timer-value{color:#1b3a5c}.remain-value,.timer-value{font-family:monospace;font-size:24px;font-weight:700}.remain-value{color:#e65100}.progress-bar-container{background:#e0e0e0;border-radius:10px;height:24px;margin-bottom:20px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#1b3a5c,#2e7d32);border-radius:10px;color:#fff;font-size:12px;font-weight:700;height:100%;justify-content:center;min-width:40px;transition:width 1s ease}.pdf-viewer,.progress-bar{align-items:center;display:flex}.pdf-viewer{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;flex-direction:column;padding:20px}.pdf-nav{align-items:center;border-top:1px solid #eee;display:flex;gap:20px;margin-top:16px;padding-top:16px}.pdf-nav-btn{background:#1b3a5c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 24px}.pdf-nav-btn:disabled{background:#ccc;cursor:not-allowed}.pdf-nav-btn:not(:disabled):hover{background:#2e5e8e}.pdf-page-info{color:#555;min-width:120px}.no-pdf,.pdf-page-info{font-size:16px;text-align:center}.no-pdf{background:#f5f5f5;border-radius:12px;color:#888;padding:60px 20px}.study-footer{background:#fff;bottom:0;box-shadow:0 -2px 12px #0000001a;display:flex;justify-content:center;left:0;padding:16px 20px;position:fixed;right:0;z-index:100}.exam-start-btn{border:none;border-radius:12px;cursor:pointer;font-size:18px;font-weight:700;max-width:500px;padding:14px 40px;width:100%}.exam-start-btn.ready{background:#1b3a5c;color:#fff}.exam-start-btn.ready:hover{background:#2e5e8e}.exam-start-btn.not-ready{background:#e0e0e0;color:#999;cursor:not-allowed}.video-viewer{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;display:flex;flex-direction:column;margin-top:20px;padding:20px}.video-viewer h3{color:#1b3a5c;margin:0 0 16px}.pdf-upload-btn-sm{cursor:pointer;display:inline-block;font-size:16px;padding:4px}.pdf-upload-btn-sm:hover{transform:scale(1.2)}.cert-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.cert-summary-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:20px;text-align:center}.cert-summary-number{color:#1b3a5c;font-size:32px;font-weight:700}.cert-summary-label{color:#888;font-size:14px;margin-top:4px}.cert-list{display:flex;flex-direction:column;gap:16px}.cert-card{background:#fff;border-left:5px solid #ccc;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:20px}.cert-valid{border-left-color:#2e7d32}.cert-expiring_soon{border-left-color:#f57c00}.cert-grace_period{border-left-color:#e65100}.cert-expired{border-left-color:#c62828}.cert-not_started{border-left-color:#ccc}.cert-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.cert-card-title h3{font-size:18px;margin:8px 0 0}.cert-category-badge{border-radius:12px;color:#fff;font-size:12px;padding:2px 10px}.cert-status{font-weight:700;text-align:right}.cert-status-icon{display:block;font-size:24px}.cert-status-label{font-size:13px}.cert-info-row{color:#555;display:flex;flex-wrap:wrap;font-size:14px;gap:20px;margin-bottom:8px}.cert-not-started{color:#999;font-size:14px}.cert-renew-btn,.cert-start-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;margin-top:12px;padding:10px 24px}.cert-start-btn{background:#1b3a5c;color:#fff}.cert-start-btn:hover{background:#2e5e8e}.cert-renew-btn{background:#f57c00;color:#fff}.cert-renew-btn:hover{background:#e65100}.cert-nav{margin-top:24px;text-align:center}.cert-nav-btn{background:#fff;border:2px solid #1b3a5c;border-radius:8px;color:#1b3a5c;cursor:pointer;font-size:15px;font-weight:700;padding:12px 32px}.cert-nav-btn:hover{background:#f0f7ff}.cert-link-btn{background:#1b3a5c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:8px 20px}.cert-link-btn:hover{background:#2e5e8e}.cert-table th{min-width:80px}.cert-legend{background:#f5f5f5;border-radius:8px;display:flex;flex-wrap:wrap;font-size:13px;gap:20px;justify-content:center;margin-top:16px;padding:12px}.req-course-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.req-course-item{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s}.req-course-item:hover{border-color:#1b3a5c}.req-course-item.selected{background:#f0f7ff;border-color:#1b3a5c}.req-course-check{font-size:24px}.req-course-info{display:flex;flex-direction:column;gap:4px}.req-current-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.req-current-badge{background:#1b3a5c;border-radius:20px;color:#fff;font-size:13px;padding:6px 14px}.unified-cert-section{background:linear-gradient(135deg,#fff8e1,#fff3c4);border:2px solid #ffb300;border-radius:16px;margin-top:24px;padding:24px;text-align:center}.unified-cert-section h2{color:#f57f17;margin:0 0 8px}.unified-cert-desc{color:#666;margin-bottom:16px}.unified-cert-code{background:#fff;border:2px dashed #ffb300;border-radius:12px;color:#e65100;display:inline-block;font-family:Courier New,monospace;font-size:36px;font-weight:700;letter-spacing:4px;margin-bottom:12px;padding:16px 32px}.unified-cert-note{color:#888;font-size:13px;margin-top:8px}.unified-cert-card{background:linear-gradient(135deg,#fff8e1,#fff3c4);border:2px solid #ffb300;border-radius:16px;margin-bottom:24px;padding:20px}.unified-cert-header{align-items:center;display:flex;font-size:18px;font-weight:700;justify-content:space-between}.unified-status.valid{color:#2e7d32}.unified-status.invalid{color:#c62828}.unified-cert-code-display{color:#e65100;font-family:Courier New,monospace;font-size:32px;font-weight:700;letter-spacing:4px;margin:16px 0;text-align:center}.unified-cert-dates{color:#666;display:flex;font-size:14px;gap:24px;justify-content:center}.photo-section{background:#fff;border:2px solid #e0e0e0;border-radius:16px;margin-top:24px;padding:24px;text-align:center}.photo-section h2{margin:0 0 4px}.camera-btn{background:#1b3a5c;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:12px;padding:14px 32px}.camera-btn:hover{background:#2e5e8e}.camera-view{align-items:center;display:flex;flex-direction:column;gap:12px;margin-top:12px}.camera-video{background:#000;border:3px solid #1b3a5c;border-radius:12px;height:400px;object-fit:cover;width:300px}.shutter-btn{background:#c62828;border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:14px 48px}.shutter-btn:hover{background:#e53935}.cancel-btn-sm{background:#888;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 20px}.photo-preview,.photo-saved{align-items:center;display:flex;flex-direction:column;gap:12px;margin-top:12px}.preview-img{border:3px solid #2e7d32;border-radius:12px;height:320px;object-fit:cover;width:240px}.photo-actions{display:flex;gap:12px}.photo-saved-msg{color:#2e7d32;font-size:16px;font-weight:700}.id-card{background:#fff;border:2px solid #2563eb;border-radius:4px;box-shadow:0 4px 20px #00000026;box-sizing:border-box;display:flex;flex-direction:column;font-family:Noto Sans KR,Malgun Gothic,sans-serif;height:85.6mm;margin:0 auto;overflow:hidden;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:54mm}.id-card-header{background:#1b3a5c;padding:8px 0 6px;text-align:center}.id-card-company{color:#fff;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase}.id-card-body{align-items:center;display:flex;flex:1 1;flex-direction:column;padding:6px 10px 4px;position:relative}.id-card-watermark{height:28mm;left:50%;opacity:.13;pointer-events:none;position:absolute;top:55%;transform:translate(-50%,-50%);width:28mm}.id-card-photo{border:2px solid #1b3a5c;border-radius:6px;flex-shrink:0;height:84px;overflow:hidden;width:70px}.id-card-photo img{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.id-card-top{align-items:center;display:flex;gap:8px;justify-content:flex-start;width:100%}.id-card-top .id-card-photo{flex-shrink:0;height:100px;width:80px}.id-card-grades{display:flex;flex:1 1;flex-direction:column;gap:6px}.grade-badge{align-items:center;border-radius:5px;display:flex;gap:3px;padding:2px 5px;-webkit-print-color-adjust:exact;print-color-adjust:exact;white-space:nowrap}.grade-badge span{color:#555;font-size:14px;font-weight:700}.grade-badge strong{font-size:14px;font-weight:800}.grade-badge .grade-code{font-size:14px;font-style:normal;font-weight:700;margin-left:6px}.id-card-grades .id-card-name{font-size:15px;margin-top:4px;text-align:center}.grade-A{background:#c8e6c9}.grade-A .grade-code,.grade-A strong{color:#1b5e20}.grade-B{background:#ffe0b2}.grade-B .grade-code,.grade-B strong{color:#bf360c}.grade-C{background:#ffecb3}.grade-C .grade-code,.grade-C strong{color:#7c5e00}.grade-D,.grade-F{background:#ffcdd2}.grade-D strong,.grade-F strong{color:#b71c1c}.grade-none{background:#f3f4f6}.grade-none strong{color:#9ca3af}.id-card-name{color:#1b3a5c;font-size:18px;font-weight:800;margin-top:5px;text-align:center}.id-card-divider{border:none;border-top:1px solid #e5e7eb;margin:8px 0 6px;width:100%}.id-card-info{display:flex;flex-direction:column;gap:5px;width:100%}.id-card-detail{display:flex;font-size:12px;font-weight:500;justify-content:space-between;white-space:nowrap}.id-card-detail span{color:#555;font-weight:700}.id-card-detail strong{color:#1a1a1a;font-weight:800}.id-card-bottom{align-items:center;display:flex;gap:8px;margin-top:auto;padding-top:4px}.id-card-qr{flex-shrink:0}.id-card-qr img,.id-card-qr svg{border-radius:4px;height:46px;width:46px}.id-card-cert-info{display:flex;flex-direction:column}.id-card-cert-label{color:#666;font-size:7px;font-weight:600;letter-spacing:.5px}.id-card-cert-code{color:#1b3a5c;font-family:Courier New,monospace;font-size:11px;font-weight:600;letter-spacing:1px}.id-card-footer{background:#1b3a5c;color:#fff;flex-shrink:0;font-size:6px;font-weight:600;letter-spacing:1px;padding:3px 4px;text-align:center}.id-card-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.print-card-page{margin:0;padding:0}.print-card-item{background:#fff;border:none;border-radius:4px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;font-family:Noto Sans KR,Malgun Gothic,sans-serif;height:85.6mm;margin:10px auto;overflow:hidden;position:relative;width:54mm}.print-overlay{background:#00000080;bottom:0;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:1000}.print-modal{background:#fff;border-radius:16px;margin:20px auto;max-width:900px;padding:24px}.print-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.print-modal-header h2{margin:0}.print-cards-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.print-id-card{background:#fff;border:none;border-radius:4px;display:flex;flex-direction:column;font-family:Noto Sans KR,Malgun Gothic,sans-serif;height:85.6mm;overflow:hidden;position:relative;width:54mm}.print-id-card .id-card-photo-col{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:4px}@media print{@page{size:54mm 85.6mm;margin:0}*{color-adjust:exact!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{margin:0!important;padding:0!important}.no-print{display:none!important}.print-card-page{margin:0;padding:0}.print-card-item{break-after:page;margin:0!important;page-break-after:always}#id-card-print,.print-card-item{border:none!important;border-radius:0!important;box-shadow:none!important;height:85.6mm!important;width:54mm!important}#id-card-print{left:0;margin:0;padding:0;position:absolute;top:0}}@media (max-width:768px){.page-container{padding:12px}.page-header{flex-direction:column;gap:8px;text-align:center}.page-header h1{font-size:1.4rem}.user-info{flex-direction:column;font-size:.85rem;gap:6px}.login-container{margin:12px;padding:16px}.login-container h1{font-size:1.3rem}.login-container input{font-size:16px}.lang-dropdown,.lang-selector{width:100%}.category-filter{flex-wrap:wrap;gap:6px}.category-btn{font-size:.8rem;padding:6px 10px}.course-grid{grid-template-columns:1fr}.course-card{padding:14px}.course-card h3{font-size:1rem}.course-info{flex-wrap:wrap;font-size:.8rem;gap:6px}.start-btn{font-size:1rem;width:100%}.exam-container,.start-btn{padding:12px}.exam-header{flex-direction:column;gap:8px}.exam-header h2{font-size:1.1rem}.question-nav{flex-wrap:wrap;gap:4px}.nav-dot{font-size:.8rem;height:32px;width:32px}.question-box{padding:14px}.question-box h3{font-size:1rem}.choice-btn{font-size:.95rem;min-height:48px;padding:12px}.exam-footer{flex-direction:column;gap:8px}.exam-footer .nav-btn,.exam-footer .submit-btn{padding:12px;width:100%}.result-container{margin:12px;padding:14px}.score-display{font-size:2rem}.camera-video{height:auto;max-width:320px;width:100%}.preview-img{max-width:240px;width:100%}.photo-actions{flex-direction:column;gap:8px}.photo-actions button{width:100%}.cert-card{padding:14px}.cert-summary-cards{grid-template-columns:1fr}.cert-summary-card{padding:14px}.cert-summary-card .summary-number{font-size:1.5rem}.id-card{transform:scale(.85);transform-origin:top center}.id-card-actions{flex-direction:column;gap:8px}.id-card-actions button{width:100%}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;white-space:nowrap}td,th{font-size:.8rem;padding:8px 10px}button{min-height:44px}.camera-btn,.cancel-btn,.cert-nav-btn,.shutter-btn,.submit-btn{font-size:1rem;padding:12px;width:100%}.page-header h1{font-size:1.1rem;white-space:nowrap}.page-header .cert-link-btn,.page-header .logout-btn,.page-header .submit-btn{font-size:.75rem;min-height:36px;padding:6px 10px;white-space:nowrap}.dashboard-cards{gap:8px;grid-template-columns:1fr 1fr}.dashboard-cards .stat-card{padding:10px}.dashboard-cards .stat-card .stat-number{font-size:1.5rem}.dashboard-cards .stat-card .stat-label{font-size:.7rem}.admin-tabs{flex-wrap:wrap;gap:4px}.admin-tabs button{font-size:.7rem;min-height:36px;padding:6px 8px}.table-wrapper,table{-webkit-overflow-scrolling:touch;display:block;max-width:100%;overflow-x:auto;white-space:nowrap}.page-container>div[style] h2{font-size:1rem}}@media (max-width:480px){.page-header h1{font-size:1.2rem}.dashboard-cards{grid-template-columns:1fr}.category-filter{justify-content:center}.id-card{transform:scale(.7)}.exam-header h2{font-size:1rem}.timer{font-size:1.2rem}.dashboard-cards{gap:6px;grid-template-columns:1fr 1fr}.dashboard-cards .stat-card .stat-number{font-size:1.3rem}.page-header{padding:8px}.page-header h1{font-size:1rem}}.emp-layout{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px}.emp-list-col{flex:none;width:300px}.emp-search{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:14px;margin-bottom:8px;padding:8px 12px;width:100%}.emp-list{border:1px solid #e5e7eb;border-radius:8px;max-height:560px;overflow-y:auto}.emp-list-item{background:#fff;border:none;border-bottom:1px solid #f0f0f3;color:#1f2937;cursor:pointer;display:block;padding:9px 12px;text-align:left;width:100%}.emp-list-item:hover{background:#f4f6fb}.emp-list-item.active{background:#0a14e6;color:#fff}.emp-li-name{font-size:13px;font-weight:700}.emp-li-sub{font-size:11px;margin-top:2px;opacity:.82}.emp-list-item.active .emp-li-sub{opacity:.92}.emp-li-nophoto{color:#d97706}.emp-list-item.active .emp-li-nophoto{color:#fde68a}.emp-empty{color:#9aa0aa;font-size:14px;padding:30px;text-align:center}.emp-editor-col{flex:1 1;min-width:360px}.emp-fieldset{background:#f7f8fb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:14px;padding:14px 16px}.emp-fieldset h4{color:#374151;font-size:13px;margin:14px 0 8px}.emp-fieldset h4:first-child{margin-top:0}.emp-fieldset label{align-items:center;display:flex;gap:8px;margin-bottom:8px}.emp-flabel{color:#4b5563;flex:none;font-size:13px;width:76px}.emp-fieldset input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;flex:1 1;font-size:14px;padding:7px 10px}.emp-warn{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;font-size:13px;margin-bottom:12px;padding:8px 12px}.emp-preview{margin:4px 0 16px}.emp-cards{display:flex;flex-wrap:wrap;gap:24px}.emp-card{background:#fff;border-radius:3.18mm;box-shadow:0 10px 30px #0b163842,0 2px 6px #0b163829;color:#0b1638;flex:none;font-family:Pretendard,Pretendard Variable,Malgun Gothic,Apple SD Gothic Neo,sans-serif;height:85.6mm;overflow:hidden;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:53.98mm}.emp-top{background:linear-gradient(135deg,#0a14e6,#060c9c);-webkit-clip-path:polygon(0 0,100% 0,100% 70%,0 88%);clip-path:polygon(0 0,100% 0,100% 70%,0 88%);height:42mm;left:0;position:absolute;right:0;top:0}.emp-slash{background:linear-gradient(58deg,#0000 0 47%,#fff 47% 49%,#0000 49% 60%,#fff 60% 61.4%,#0000 61.4%);inset:0;opacity:.16;position:absolute}.emp-eyebrow{color:#e3e8ff;font-size:6.5pt;font-weight:700;letter-spacing:.22em;top:2.4mm;z-index:4}.emp-brandrow,.emp-eyebrow{position:absolute;right:5mm}.emp-brandrow{align-items:center;display:flex;gap:2mm;left:5mm;top:5mm;z-index:3}.emp-brandrow img{filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));height:7mm;max-width:9mm;object-fit:contain;width:auto}.emp-co{color:#fff;line-height:1.1;min-width:0}.emp-co .emp-kr{font-size:20pt;font-weight:800;letter-spacing:.04em;white-space:nowrap}.emp-photo{align-items:center;background:linear-gradient(160deg,#eef1f8,#dfe4f1);border:.9mm solid #fff;border-radius:1.6mm;box-shadow:0 2.4mm 5mm #0b163847;display:flex;height:31mm;justify-content:center;left:50%;overflow:hidden;position:absolute;top:17mm;transform:translateX(-50%);width:25mm;z-index:5}.emp-photo img{height:100%;object-fit:cover;width:100%}.emp-photo span{color:#8b93ac;font-size:5pt;font-weight:600;letter-spacing:.24em}.emp-info{left:5mm;position:absolute;right:5mm;text-align:center;top:51mm}.emp-name{color:#0b1638;font-size:18pt;font-weight:800;letter-spacing:.06em;line-height:1}.emp-title{color:#5a6480;font-size:8pt;font-weight:600;margin-top:2mm}.emp-divider{background:linear-gradient(90deg,#0000,#0a14e6,#0000);height:.4mm;margin:3mm 2mm}.emp-idno{color:#060c9c;font-family:Consolas,monospace;font-size:10.5pt;font-weight:700;letter-spacing:.08em}.emp-idno small{color:#6e7794;display:block;font-family:Pretendard,Malgun Gothic,sans-serif;font-size:6pt;font-weight:700;letter-spacing:.26em;margin-bottom:.8mm}.emp-footbar{align-items:center;background:#0b1638;bottom:0;display:flex;height:7mm;justify-content:space-between;left:0;padding:0 5mm;position:absolute;right:0}.emp-footbar span{color:#e3e8f6;font-size:7.5pt;font-weight:700;letter-spacing:.06em}.emp-footbar b{color:#fff;font-size:9pt;font-weight:800;letter-spacing:.08em}.emp-bhead{align-items:center;background:linear-gradient(135deg,#0a14e6,#060c9c);display:flex;gap:2mm;height:11mm;left:0;padding:0 5mm;position:absolute;right:0;top:0}.emp-bhead img{height:5mm}.emp-bt{color:#fff;font-size:7.4pt;font-weight:800}.emp-bt small{display:block;font-size:4.4pt;font-weight:600;letter-spacing:.18em;opacity:.85}.emp-fields{left:5mm;position:absolute;right:5mm;top:14mm}.emp-frow{border-bottom:.25mm solid #d3daec;display:flex;padding:1.6mm 0}.emp-k{color:#8b93ac;flex:none;font-size:6.6pt;font-weight:700;letter-spacing:0;padding-top:.5mm;white-space:nowrap;width:12mm}.emp-v{color:#0b1638;flex:1 1;font-size:8.4pt;font-weight:600;line-height:1.3;word-break:break-all}.emp-qr{display:flex;justify-content:center;left:0;position:absolute;right:0;top:48mm}.emp-qr svg{height:15mm;width:15mm}.emp-qrserial{color:#000;font-family:Consolas,monospace;font-size:8pt;font-weight:700;left:0;letter-spacing:.1em;right:0;top:64mm}.emp-notice,.emp-qrserial{position:absolute;text-align:center}.emp-notice{bottom:3.5mm;color:#4a5470;font-size:7pt;left:5mm;line-height:1.5;right:5mm}.emp-notice b{color:#060c9c}.emp-print-portal{display:none}@media print{body.emp-printing #root{display:none!important}body.emp-printing .emp-print-portal{display:block!important}body.emp-printing .emp-print-portal .emp-cards{display:block}body.emp-printing .emp-print-portal .emp-card{box-shadow:none!important;break-after:page;margin:0!important;page-break-after:always}body.emp-printing .emp-print-portal .emp-card:last-child{break-after:auto;page-break-after:auto}}.emp-qual{color:#060c9c;font-size:6.8pt;font-weight:800;left:3mm;letter-spacing:.02em;position:absolute;right:3mm;text-align:center;top:68.5mm;white-space:nowrap}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--total-scale-factor));min-width:calc(180px*var(--total-scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--total-scale-factor));box-shadow:0 calc(2px*var(--total-scale-factor)) calc(5px*var(--total-scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--total-scale-factor));max-width:calc(180px*var(--total-scale-factor));padding:calc(6px*var(--total-scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--total-scale-factor));padding-top:calc(2px*var(--total-scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--total-scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;position:absolute;text-align:left;text-align:initial;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;position:absolute;transform-origin:0 0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{display:none;height:0;left:0;position:absolute;top:0;width:0}
/*# sourceMappingURL=main.32093b90.css.map*/