.homepage{overflow:hidden}.particle-canvas{position:absolute;right:0;top:0;width:24rem;height:24rem;opacity:.7;display:none}@media(min-width:1024px){.particle-canvas{display:block}}.hero-content{margin-bottom:4rem}.fade-in{opacity:1;transition:opacity .8s}.fade-in:not(.fade-in){opacity:0}.auth-page{min-height:100vh;background-color:#fff;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.auth-container{width:100%;max-width:440px}.auth-logo{display:block;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:#000;text-decoration:none;margin-bottom:3rem;transition:opacity .2s}.auth-logo:hover{opacity:.7}.auth-content{width:100%}.auth-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.5rem;letter-spacing:-.02em}.auth-subtitle{font-size:1rem;color:#616161;margin-bottom:2.5rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.auth-field-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.5rem}.auth-label{font-size:.875rem;font-weight:500;color:#000;letter-spacing:-.01em}.auth-input{width:100%;padding:.875rem 1rem;font-size:1rem;color:#000;background-color:#fff;border:1.5px solid #E0E0E0;border-radius:.5rem;transition:all .2s;font-family:inherit}.auth-input::-moz-placeholder{color:#9e9e9e}.auth-input::placeholder{color:#9e9e9e}.auth-input:hover{border-color:#bdbdbd}.auth-input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000000d}.auth-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}select.auth-input{-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='%23000' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.auth-error{padding:1rem;background-color:#fee;border:1px solid #FCC;border-radius:.5rem;color:#c00;font-size:.875rem;line-height:1.5}.auth-button{width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:500;color:#fff;background-color:#000;border:none;border-radius:9999px;cursor:pointer;transition:all .2s;margin-top:.5rem;font-family:inherit}.auth-button:hover:not(:disabled){background-color:#212121;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-footer{text-align:center;font-size:.9375rem;color:#616161;line-height:1.5}.auth-link{color:#000;font-weight:500;text-decoration:none;transition:opacity .2s}.auth-link:hover{opacity:.7;text-decoration:underline}@media(max-width:640px){.auth-field-group{grid-template-columns:1fr}.auth-title{font-size:1.75rem}.auth-container{max-width:100%}}.courses-page{min-height:100vh;background-color:#fff}.courses-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#616161}.loading-spinner{width:2rem;height:2rem;border:2px solid #E0E0E0;border-top-color:#000;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.courses-main{max-width:1200px;margin:0 auto;padding:3rem 2rem}.courses-header{margin-bottom:3rem}.courses-title{font-size:2.5rem;font-weight:700;color:#000;margin-bottom:.5rem;letter-spacing:-.02em}.courses-subtitle{font-size:1rem;color:#616161;line-height:1.5}.courses-error{padding:1rem;background-color:#fee;border:1px solid #FCC;border-radius:.5rem;color:#c00;font-size:.875rem;margin-bottom:2rem}.courses-empty{text-align:center;padding:4rem 2rem;max-width:500px;margin:0 auto}.courses-empty-icon{width:4rem;height:4rem;margin:0 auto 1.5rem;color:#9e9e9e}.courses-empty-icon svg{width:100%;height:100%}.courses-empty-title{font-size:1.5rem;font-weight:600;color:#000;margin-bottom:.75rem;letter-spacing:-.01em}.courses-empty-text{font-size:1rem;color:#616161;margin-bottom:2rem;line-height:1.5}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.course-card{background-color:#fafafa;border-radius:1rem;padding:0;transition:all .2s;border:1.5px solid transparent;position:relative;min-height:160px;display:flex;flex-direction:column;overflow:hidden}.course-card:hover{background-color:#f5f5f5;border-color:#e0e0e0;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.course-card-link{text-decoration:none;color:inherit;display:flex;flex:1;flex-direction:column}.course-card-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1.5rem}.course-card-delete{position:absolute;top:1rem;right:1rem;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;padding:.5rem;cursor:pointer;color:#9e9e9e;transition:all .2s;border-radius:.5rem;display:flex;align-items:center;justify-content:center;opacity:0;width:2rem;height:2rem;box-shadow:0 2px 8px #0000001a}.course-card:hover .course-card-delete{opacity:1}.course-card-delete:hover{color:#c00;background-color:#fee}.course-card-delete:disabled{opacity:1;cursor:not-allowed}.course-card-delete-icon{width:1.25rem;height:1.25rem}.course-card-delete-icon.spinning{animation:spin .8s linear infinite}.course-card-title{font-size:1.25rem;font-weight:600;color:#000;margin-bottom:.5rem;line-height:1.3;letter-spacing:-.02em;text-align:center}.course-card-meta{display:flex;align-items:center;justify-content:center;gap:.5rem}.course-card-code{font-size:.8125rem;font-weight:500;letter-spacing:.08em;color:#616161;text-transform:uppercase}@media(max-width:768px){.courses-main{padding:2rem 1rem}.courses-title{font-size:2rem}.courses-grid{grid-template-columns:1fr}.course-card-delete{opacity:1}}.create-course-page{min-height:100vh;background-color:#fff}.create-course-main{max-width:600px;margin:0 auto;padding:3rem 2rem;display:flex;align-items:center;min-height:calc(100vh - 80px)}.create-course-content{width:100%}.create-course-header{margin-bottom:2.5rem}.create-course-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.5rem;letter-spacing:-.02em}.create-course-subtitle{font-size:1rem;color:#616161;line-height:1.5}.create-course-error{padding:1rem;background-color:#fee;border:1px solid #FCC;border-radius:.5rem;color:#c00;font-size:.875rem;line-height:1.5;margin-bottom:1.5rem}.create-course-form{display:flex;flex-direction:column;gap:2rem}.create-course-field{display:flex;flex-direction:column;gap:.5rem}.create-course-label{font-size:.875rem;font-weight:500;color:#000;letter-spacing:-.01em}.create-course-input{width:100%;padding:.875rem 1rem;font-size:1rem;color:#000;background-color:#fff;border:1.5px solid #E0E0E0;border-radius:.5rem;transition:all .2s;font-family:inherit}.create-course-input::-moz-placeholder{color:#9e9e9e}.create-course-input::placeholder{color:#9e9e9e}.create-course-input:hover{border-color:#bdbdbd}.create-course-input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000000d}.create-course-actions{display:flex;gap:1rem;margin-top:.5rem}@media(max-width:640px){.create-course-main{padding:2rem 1rem;min-height:calc(100vh - 60px)}.create-course-title{font-size:1.75rem}.create-course-actions{flex-direction:column}.create-course-actions .btn{width:100%}}.course-nav{border-bottom:1px solid #E0E0E0}.course-nav-top{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem .75rem}.course-nav-actions{display:flex;align-items:center;gap:.75rem}.course-nav-tabs{display:flex;gap:0;padding:0 2rem}.course-nav-tab{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;color:#757575;text-decoration:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;margin-bottom:-1px}.course-nav-tab:hover{color:#212121}.course-nav-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}@media(max-width:600px){.course-nav-top{padding:1rem 1rem .5rem}.course-nav-tabs{padding:0 1rem;overflow-x:auto}.course-nav-tab{padding:.5rem .875rem;font-size:.875rem;white-space:nowrap}}.course-detail-page{min-height:100vh;background-color:#fff}.course-detail-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#616161}.course-detail-main{max-width:1000px;margin:0 auto;padding:3rem 2rem}.course-detail-header{margin-bottom:3rem}.course-detail-title{font-size:2.5rem;font-weight:700;color:#000;margin-bottom:.5rem;letter-spacing:-.02em;line-height:1.2}.course-detail-code{font-size:1rem;color:#616161;letter-spacing:.05em;text-transform:uppercase}.course-detail-alert{padding:1rem;background-color:#fee;border:1px solid #FCC;border-radius:.5rem;color:#c00;font-size:.875rem;margin-bottom:2rem}.course-detail-error{text-align:center;padding:4rem 2rem}.course-detail-error-text{font-size:1.125rem;color:#616161;margin-bottom:1.5rem}.course-detail-section{margin-top:3rem}.course-detail-section-header{margin-bottom:1.5rem}.course-detail-section-title{font-size:1.5rem;font-weight:600;color:#000;margin-bottom:.25rem;letter-spacing:-.01em}.course-detail-section-subtitle{font-size:.9375rem;color:#616161}.course-detail-upload{margin-bottom:2.5rem}.course-detail-upload-label{display:block;cursor:pointer}.course-detail-upload-input{display:none}.course-detail-upload-area{border:2px dashed #E0E0E0;border-radius:1rem;padding:3rem 2rem;text-align:center;transition:all .2s;background-color:#fafafa}.course-detail-upload-label:hover .course-detail-upload-area{border-color:#bdbdbd;background-color:#f5f5f5}.course-detail-upload-label:has(.course-detail-upload-input:disabled) .course-detail-upload-area{opacity:.6;cursor:not-allowed}.course-detail-upload-icon{width:3rem;height:3rem;color:#9e9e9e;margin:0 auto 1rem;display:block}.course-detail-upload-text{display:block;font-size:1rem;font-weight:500;color:#000;margin-bottom:.5rem}.course-detail-upload-hint{display:block;font-size:.875rem;color:#616161}.course-detail-upload-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#616161}.course-detail-empty{text-align:center;padding:4rem 2rem;border:2px dashed #E0E0E0;border-radius:1rem;background-color:#fafafa}.course-detail-empty-icon{width:4rem;height:4rem;color:#9e9e9e;margin:0 auto 1.5rem;display:block}.course-detail-empty-text{font-size:1.125rem;font-weight:500;color:#000;margin-bottom:.5rem}.course-detail-empty-hint{font-size:.9375rem;color:#616161}.course-detail-materials{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.course-detail-material{background-color:#fafafa;border-radius:.75rem;padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:all .2s;border:1.5px solid transparent;position:relative}.course-detail-material:hover{background-color:#f5f5f5;border-color:#e0e0e0;transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.course-detail-material-icon{width:2.5rem;height:2.5rem;background-color:#000;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.course-detail-material-icon svg{width:1.25rem;height:1.25rem}.course-detail-material-content{flex:1;min-width:0}.course-detail-material-name{font-size:1rem;font-weight:600;color:#000;margin-bottom:.375rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-detail-material-meta{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;color:#616161}.course-detail-material-type{font-weight:500;letter-spacing:.05em}.course-detail-material-status{padding:.125rem .5rem;background-color:#fff;border-radius:.25rem;border:1px solid #E0E0E0;text-transform:capitalize}.course-detail-material-delete{background:none;border:none;padding:.5rem;cursor:pointer;color:#9e9e9e;transition:all .2s;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem}.course-detail-material-delete:hover{color:#c00;background-color:#fee}.course-detail-material-delete svg{width:1.125rem;height:1.125rem}@media(max-width:768px){.course-detail-main{padding:2rem 1rem}.course-detail-title{font-size:2rem}.course-detail-materials{grid-template-columns:1fr}.course-detail-upload-area{padding:2rem 1.5rem}}.quiz-page{min-height:100vh;background-color:#fff}.quiz-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#616161}.quiz-main{max-width:800px;margin:0 auto;padding:3rem 2rem}.quiz-progress{font-size:.875rem;font-weight:500;color:#616161;letter-spacing:.02em}.quiz-error-banner{padding:1rem;background-color:#fee;border:1px solid #FCC;color:#c00;border-radius:.5rem;font-size:.875rem;margin-bottom:2rem}.quiz-feedback{padding:1rem 1.5rem;border-radius:.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:.75rem;font-weight:500;animation:slideDown .3s ease-out}.quiz-feedback.correct{background-color:#f0fdf4;border:1px solid #BBF7D0;color:#166534}.quiz-feedback.incorrect{background-color:#fef2f2;border:1px solid #FECACA;color:#991b1b}.quiz-feedback svg{width:1.25rem;height:1.25rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.quiz-content{display:flex;flex-direction:column;gap:2rem}.quiz-question{margin-bottom:1rem}.quiz-question-text{font-size:1.5rem;font-weight:600;color:#000;line-height:1.5;letter-spacing:-.01em}.quiz-options{display:flex;flex-direction:column;gap:.75rem}.quiz-option{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background-color:#fafafa;border:2px solid transparent;border-radius:.75rem;cursor:pointer;transition:all .2s;text-align:left;width:100%}.quiz-option:hover:not(:disabled){background-color:#f5f5f5;border-color:#e0e0e0}.quiz-option.selected{background-color:#f5f5f5;border-color:#000}.quiz-option:disabled{cursor:not-allowed;opacity:.7}.quiz-option-radio{width:1.25rem;height:1.25rem;border:2px solid #9E9E9E;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.quiz-option.selected .quiz-option-radio{border-color:#000;background-color:#000}.quiz-option-radio-inner{width:.5rem;height:.5rem;background-color:#fff;border-radius:50%}.quiz-option-text{font-size:1rem;color:#000;line-height:1.5;flex:1}.quiz-actions{margin-top:1rem;display:flex;justify-content:center}.quiz-complete{text-align:center;padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;gap:2rem}.quiz-complete-icon{width:5rem;height:5rem;color:#22c55e;margin-bottom:1rem}.quiz-complete-title{font-size:2.5rem;font-weight:700;color:#000;letter-spacing:-.02em}.quiz-score{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;background-color:#fafafa;border-radius:1rem;min-width:200px}.quiz-score-value{font-size:3rem;font-weight:700;color:#000;line-height:1}.quiz-score-label{font-size:1rem;color:#616161;text-transform:uppercase;letter-spacing:.1em;font-weight:500}.quiz-complete-actions{display:flex;gap:1rem;margin-top:1rem}.quiz-action-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1.25rem;border:1px solid #E0E0E0;border-radius:.875rem;background:#fff;color:#424242;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-decoration:none;min-width:130px}.quiz-action-card:hover{border-color:#3b82f6;color:#3b82f6;box-shadow:0 2px 8px #3b82f61a;transform:translateY(-1px)}.quiz-action-card.quiz-action-primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.quiz-action-card.quiz-action-primary:hover{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 4px 12px #3b82f640}.quiz-action-icon{width:1.75rem;height:1.75rem}.quiz-error{text-align:center;padding:4rem 0;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.quiz-error p{color:#616161;font-size:1.125rem}@media(max-width:768px){.quiz-main{padding:2rem 1rem}.quiz-question-text{font-size:1.25rem}.quiz-complete-actions{flex-direction:column;width:100%}.quiz-action-card{flex-direction:row;min-width:0;width:100%;padding:1rem 1.25rem}}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--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 .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-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{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);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 .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input: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 .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{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;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.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 rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@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) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.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:var(--highlight-selected-bg-color)}.textLayer br::-moz-selection{background:transparent}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.content-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.content-viewer-modal{background:#fff;border-radius:12px;width:90vw;max-width:1200px;height:85vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.content-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc;border-radius:12px 12px 0 0}.content-viewer-title{display:flex;align-items:center;gap:12px}.content-viewer-filename{font-weight:600;font-size:1.1rem;color:#1e293b}.content-viewer-type{background:#3b82f6;color:#fff;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600;letter-spacing:.5px}.content-viewer-close{background:none;border:none;font-size:28px;cursor:pointer;color:#64748b;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.content-viewer-close:hover{background:#f1f5f9;color:#1e293b}.content-viewer-body{flex:1;overflow:hidden;padding:20px;display:flex;flex-direction:column}.content-viewer-pdf{display:flex;flex-direction:column;height:100%}.pdf-navigation{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f1f5f9;border-radius:8px;margin-bottom:12px}.pdf-reference-page{color:#3b82f6;font-weight:500;font-size:.9rem}.pdf-page-controls{display:flex;align-items:center;gap:12px}.pdf-page-controls button{padding:8px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.pdf-page-controls button:hover:not(:disabled){background:#3b82f6;color:#fff;border-color:#3b82f6}.pdf-page-controls button:disabled{opacity:.5;cursor:not-allowed}.pdf-goto-reference{background:#3b82f6!important;color:#fff!important;border-color:#3b82f6!important}.pdf-document-container{flex:1;overflow:auto;display:flex;justify-content:center;background:#525659;border-radius:8px;padding:20px}.pdf-page{box-shadow:0 4px 12px #00000026}.pdf-loading{display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;padding:40px}.pdf-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;text-align:center;padding:40px}.pdf-error p{margin:0}.content-viewer-video{display:flex;flex-direction:column;align-items:center;height:100%;gap:12px}.video-player{max-width:100%;max-height:calc(100% - 80px);border-radius:8px;background:#000}.content-viewer-audio{display:flex;flex-direction:column;gap:20px;padding:20px}.audio-info{text-align:center}.audio-filename{font-size:1.2rem;font-weight:600;color:#1e293b;display:block;margin-bottom:8px}.audio-player{width:100%;max-width:600px;margin:0 auto}.media-timestamp-info{background:#dbeafe;color:#1e40af;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;text-align:center}.media-seek-button{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s;align-self:center}.media-seek-button:hover{background:#2563eb}.content-viewer-text{display:flex;flex-direction:column;height:100%;gap:12px}.text-content{flex:1;overflow:hidden}.text-iframe{width:100%;height:100%;border:1px solid #e2e8f0;border-radius:8px;background:#fafafa}.text-position-info{background:#f1f5f9;color:#64748b;padding:8px 16px;border-radius:6px;font-size:.85rem;text-align:center}.content-viewer-text-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-top:16px}.content-viewer-text-preview h4{margin:0 0 8px;font-size:.9rem;color:#64748b;font-weight:500}.content-viewer-text-preview p{margin:0;color:#1e293b;font-style:italic;line-height:1.6}.content-viewer-error{text-align:center;padding:40px}.content-viewer-error>p{color:#ef4444;font-size:1.1rem;margin-bottom:20px}.content-viewer-unsupported{text-align:center;padding:40px}.content-viewer-unsupported>p{color:#64748b;font-size:1.1rem;margin-bottom:20px}.download-link{display:inline-block;padding:12px 24px;background:#3b82f6;color:#fff;text-decoration:none;border-radius:8px;font-weight:500;transition:background .2s}.download-link:hover{background:#2563eb}@media(max-width:768px){.content-viewer-modal{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.content-viewer-header{border-radius:0}.pdf-navigation{flex-direction:column;gap:12px}.pdf-page-controls{flex-wrap:wrap;justify-content:center}}.concept-map-page{min-height:100vh;background-color:#fff}.concept-map-loading,.concept-map-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.concept-map-error-text{color:#64748b;font-size:1rem;text-align:center}.concept-map-main{max-width:1400px;margin:0 auto;padding:2rem}.concept-map-header{margin-bottom:2rem}.concept-map-title{font-size:2rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.concept-map-subtitle{color:#64748b;font-size:1rem;margin:0}.concept-map-view-controls{display:flex;gap:.5rem;margin-bottom:1rem}.view-mode-btn{padding:.5rem 1rem;border:1px solid #e2e8f0;background:#fff;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s}.view-mode-btn:hover{background:#f8fafc;border-color:#cbd5e1}.view-mode-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.concept-map-container{width:100%;min-height:500px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;margin-bottom:2rem;box-shadow:0 2px 8px #00000014;position:relative}.concept-map-tree-view{overflow-y:auto;padding:1.5rem;max-height:800px}.concept-map-graph-view{padding:0;overflow:hidden;height:70vh;min-height:550px;max-height:900px;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d;background:#fafbfc}.concept-tree{width:100%}.concept-tree-node{margin-bottom:.5rem}.concept-tree-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-left:4px solid;border-radius:8px;background:#f8fafc;transition:all .2s}.concept-tree-item:hover{background:#f1f5f9;transform:translate(2px)}.concept-tree-toggle{background:none;border:none;cursor:pointer;font-size:.75rem;color:#64748b;padding:.25rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.concept-tree-toggle:hover{color:#3b82f6}.concept-tree-spacer{width:20px;flex-shrink:0}.concept-tree-content{flex:1;min-width:0}.concept-tree-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.concept-tree-name{font-weight:600;font-size:1rem;color:#0f172a}.concept-tree-badges{display:flex;gap:.5rem;flex-wrap:wrap}.concept-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.concept-badge-mastered{background:#d1fae5;color:#065f46}.concept-badge-stats{background:#e0f2fe;color:#0c4a6e}.concept-badge-multiple-parents{background:#fef3c7;color:#92400e}.concept-tree-reference{opacity:.7;font-style:italic}.concept-tree-meta{display:flex;flex-direction:column;gap:.5rem}.concept-mastery-bar{position:relative;height:24px;background:#e2e8f0;border-radius:12px;overflow:hidden;display:flex;align-items:center}.concept-mastery-fill{position:absolute;left:0;top:0;height:100%;transition:width .3s ease;border-radius:12px}.concept-mastery-text{position:relative;z-index:1;padding:0 .75rem;font-size:.75rem;font-weight:600;color:#0f172a;text-shadow:0 1px 2px rgba(255,255,255,.8)}.concept-tree-description{font-size:.875rem;color:#64748b;margin:0;line-height:1.5}.concept-tree-children{margin-top:.5rem;padding-left:1rem;border-left:2px dashed #e2e8f0}.concept-tree-empty{text-align:center;padding:3rem;color:#64748b}.concept-graph-container{width:100%;height:100%;background:linear-gradient(180deg,#fafbfc,#f1f5f9);border-radius:12px;position:relative;overflow:hidden}.concept-graph-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(#cbd5e1 1px,transparent 1px);background-size:24px 24px;opacity:.4;pointer-events:none;z-index:0}.concept-graph-container canvas{position:relative;z-index:1}.concept-graph-container>div:not(:first-child){z-index:1000!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:6px!important;padding:6px 10px!important;font-size:13px!important;color:#1e293b!important;box-shadow:0 4px 12px #00000026!important;pointer-events:none!important}.concept-map-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;text-align:center}.stat-value{font-size:2rem;font-weight:600;color:#0f172a;margin-bottom:.5rem}.stat-label{font-size:.875rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}@media(max-width:768px){.concept-map-main{padding:1rem}.concept-map-container{height:400px}.concept-map-legend{flex-wrap:wrap;margin-left:0;margin-top:1rem}}.concept-map-view-controls{display:flex;gap:.75rem;margin-bottom:1rem;align-items:center;flex-wrap:wrap}.view-toggle-btn{border:1px solid #e2e8f0;background:#fff;padding:.6rem 1.1rem;border-radius:12px;font-size:.9rem;font-weight:650;color:#334155;cursor:pointer;transition:all .18s ease;box-shadow:0 2px 10px #0f172a0f}.view-toggle-btn:hover{transform:translateY(-1px);border-color:#cbd5e1;box-shadow:0 6px 18px #0f172a1a}.view-toggle-btn:active{transform:translateY(0) scale(.98)}.view-toggle-btn.active{background:linear-gradient(180deg,#111827,#0b1220);border-color:#0f172a;color:#fff;box-shadow:0 0 0 3px #0f172a2e,0 10px 24px #0f172a38;transform:translateY(-1px)}.view-toggle-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #0f172a38,0 6px 18px #0f172a1a}.concept-map-legend{margin-left:auto;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:.6rem 1.25rem;min-width:600px;box-shadow:0 1px 6px #0000000d}.legend-title{font-size:.8rem;font-weight:600;color:#64748b;margin-right:.25rem}.legend-chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.87rem;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:.25rem .55rem;white-space:nowrap}.legend-chip:hover{background:#f1f5f9;border-color:#cbd5e1}.legend-dot{width:12px;height:12px;border-radius:999px;border:1px solid rgba(15,23,42,.12);flex-shrink:0}.legend-range{font-size:.75rem;color:#64748b}.concept-tree-name-clickable{background:none;border:none;padding:0;font:inherit;font-weight:600;color:#1e293b;cursor:pointer;text-align:left;transition:color .15s ease}.concept-tree-name-clickable:hover{color:#3b82f6;text-decoration:underline}.references-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.references-panel{position:fixed;top:0;right:0;width:380px;max-width:90vw;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:101;display:flex;flex-direction:column;animation:slideIn .25s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.references-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.references-panel-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#1e293b}.references-panel-close{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:4px;transition:all .15s ease}.references-panel-close:hover{background:#e2e8f0;color:#1e293b}.references-panel-mastery{padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0}.references-mastery-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.references-mastery-fill{height:100%;border-radius:4px;transition:width .3s ease}.references-mastery-text{font-size:.875rem;color:#64748b}.references-panel-description{padding:0 1.5rem 1rem;margin:0;font-size:.875rem;color:#475569;line-height:1.5;border-bottom:1px solid #e2e8f0}.references-panel-content{flex:1;overflow-y:auto;padding:1rem 1.5rem}.references-panel-content h4{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.025em}.references-loading,.references-empty{padding:2rem 1rem;text-align:center;color:#64748b;font-size:.875rem}.references-list{display:flex;flex-direction:column;gap:.75rem}.reference-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;transition:all .15s ease}.reference-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.reference-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.reference-item-filename{font-weight:500;color:#1e293b;font-size:.875rem}.reference-item-page{font-size:.75rem;color:#64748b;background:#e2e8f0;padding:.125rem .5rem;border-radius:4px}.reference-item-preview{margin:0;font-size:.8125rem;color:#475569;line-height:1.5;font-style:italic;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.reference-item-clickable{cursor:pointer}.reference-item-clickable:hover{border-color:#3b82f6;background:#f0f9ff}.reference-item-type{font-size:.7rem;color:#fff;background:#3b82f6;padding:.125rem .5rem;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.reference-item-time{font-size:.75rem;color:#64748b;background:#e2e8f0;padding:.125rem .5rem;border-radius:4px}.reference-item-view{display:block;margin-top:.5rem;font-size:.75rem;color:#3b82f6;font-weight:500}.reference-item-clickable:hover .reference-item-view{text-decoration:underline}.create-quiz-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.create-quiz-modal{background:#fff;border-radius:1rem;box-shadow:0 8px 32px #0000001f;max-width:480px;width:100%;max-height:90vh;overflow-y:auto}.create-quiz-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #E0E0E0}.create-quiz-modal-title{font-size:1.25rem;font-weight:600;color:#000;margin:0}.create-quiz-modal-close{background:none;border:none;font-size:1.5rem;color:#616161;cursor:pointer;padding:0 .25rem;line-height:1}.create-quiz-modal-close:hover{color:#000}.create-quiz-modal-loading,.create-quiz-modal-error{padding:2rem 1.5rem;text-align:center}.create-quiz-modal-loading p,.create-quiz-modal-error p{margin:.75rem 0 0;color:#616161}.create-quiz-modal-form{padding:1.5rem}.create-quiz-modal-field{margin-bottom:1.5rem}.create-quiz-modal-label{display:block;font-size:.9375rem;font-weight:500;color:#424242;margin-bottom:.5rem}.create-quiz-modal-modes{display:flex;gap:.375rem;flex-wrap:wrap}.create-quiz-modal-mode-btn{padding:.4375rem .875rem;border:1px solid #E0E0E0;border-radius:2rem;background:#fff;font-size:.8125rem;font-weight:500;color:#616161;cursor:pointer;transition:all .15s}.create-quiz-modal-mode-btn:hover{border-color:#3b82f6;color:#3b82f6}.create-quiz-modal-mode-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.create-quiz-modal-question-row{display:flex;align-items:center;gap:1rem}.create-quiz-modal-slider{flex:1;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e0e0e0;border-radius:4px}.create-quiz-modal-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:#3b82f6;border-radius:50%;cursor:pointer}.create-quiz-modal-slider::-moz-range-thumb{width:20px;height:20px;background:#3b82f6;border-radius:50%;cursor:pointer;border:none}.create-quiz-modal-value{font-size:.9375rem;font-weight:500;color:#000;min-width:4rem}.create-quiz-modal-hint{font-size:.8125rem;color:#9e9e9e;margin:.5rem 0 0}.create-quiz-modal-concept-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.create-quiz-modal-concept-actions{display:flex;align-items:center;gap:.5rem}.create-quiz-modal-link{background:none;border:none;font-size:.8125rem;color:#3b82f6;cursor:pointer;padding:0}.create-quiz-modal-link:hover{text-decoration:underline}.create-quiz-modal-sep{color:#bdbdbd;font-size:.8125rem}.create-quiz-modal-concepts{display:flex;flex-wrap:wrap;gap:.5rem}.create-quiz-modal-concept-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f5f5f5;border:1px solid #E0E0E0;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:background .15s,border-color .15s}.create-quiz-modal-concept-chip:hover{background:#eee;border-color:#bdbdbd}.create-quiz-modal-concept-chip input{margin:0}.create-quiz-modal-progress{display:flex;flex-direction:column;gap:.5rem;padding:1rem 0}.create-quiz-modal-progress span{font-size:.9375rem;color:#424242}.create-quiz-modal-progress-bar{height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.create-quiz-modal-progress-fill{height:100%;background:#3b82f6;border-radius:3px;transition:width .2s ease}.create-quiz-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #E0E0E0}.my-quizzes-page{min-height:100vh;background-color:#fff}.my-quizzes-loading{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#616161}.my-quizzes-main{max-width:800px;margin:0 auto;padding:3rem 2rem}.my-quizzes-header{margin-bottom:2rem}.my-quizzes-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.my-quizzes-alert{padding:.75rem 1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#991b1b;font-size:.9375rem}.my-quizzes-title{font-size:2rem;font-weight:700;color:#000;margin-bottom:.5rem;letter-spacing:-.02em}.my-quizzes-subtitle{font-size:1rem;color:#616161}.my-quizzes-error{text-align:center;padding:4rem 2rem}.my-quizzes-error p{font-size:1.125rem;color:#616161;margin-bottom:1.5rem}.my-quizzes-empty{text-align:center;padding:4rem 2rem;border:2px dashed #E0E0E0;border-radius:1rem;background-color:#fafafa}.my-quizzes-empty-icon{width:4rem;height:4rem;color:#9e9e9e;margin:0 auto 1.5rem;display:block}.my-quizzes-empty-text{font-size:1.125rem;font-weight:500;color:#000;margin-bottom:.5rem}.my-quizzes-empty-hint{font-size:.9375rem;color:#616161}.my-quizzes-chart-section{margin-bottom:3rem;padding:1.5rem;background-color:#fafafa;border-radius:1rem;border:1px solid #E0E0E0}.my-quizzes-chart-title{font-size:1.25rem;font-weight:600;color:#000;margin-bottom:.25rem}.my-quizzes-chart-subtitle{font-size:.9375rem;color:#616161;margin-bottom:1.5rem}.my-quizzes-chart-subtitle strong{color:#000}.my-quizzes-chart-container{width:100%;min-height:280px}.my-quizzes-section{margin-top:0}.my-quizzes-history-title{font-size:1.25rem;font-weight:600;color:#000;margin-bottom:1rem}.my-quizzes-history{display:flex;flex-direction:column;gap:.75rem}.my-quizzes-history-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background-color:#fafafa;border-radius:.75rem;border:1.5px solid #E0E0E0;transition:all .2s}.my-quizzes-history-left{display:flex;flex-direction:column;gap:.375rem;min-width:0}.my-quizzes-history-item:hover{background-color:#f5f5f5;border-color:#bdbdbd}.my-quizzes-history-item-link{text-decoration:none;color:inherit;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.my-quizzes-history-time{font-size:.9375rem;color:#424242;font-weight:500}.my-quizzes-history-concepts{font-size:.8125rem;color:#616161;line-height:1.4}.my-quizzes-history-score{font-size:1rem;font-weight:600;color:#000;padding:.25rem .75rem;background-color:#fff;border-radius:.5rem;border:1px solid #E0E0E0;flex-shrink:0}.my-quizzes-quiz-bank{margin-bottom:3rem}.my-quizzes-quiz-bank-subtitle{font-size:.9375rem;color:#616161;margin-bottom:1rem}.my-quizzes-quiz-bank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.my-quizzes-quiz-bank-card{display:block;padding:1rem 1.25rem;border-radius:.75rem;border-left:4px solid #9E9E9E;text-decoration:none;color:inherit;transition:opacity .15s}.my-quizzes-quiz-bank-card:hover{opacity:.9}.my-quizzes-quiz-bank-card-correct{background-color:#f0fdf4;border-left-color:#22c55e}.my-quizzes-quiz-bank-card-incorrect{background-color:#fef2f2;border-left-color:#ef4444}.my-quizzes-quiz-bank-card-stem{font-size:.9375rem;color:#212121;margin:0 0 .5rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.my-quizzes-quiz-bank-card-label{font-size:.75rem;font-weight:600}.my-quizzes-quiz-bank-card-correct .my-quizzes-quiz-bank-card-label{color:#166534}.my-quizzes-quiz-bank-card-incorrect .my-quizzes-quiz-bank-card-label{color:#991b1b}@media(max-width:768px){.my-quizzes-main{padding:2rem 1rem}.my-quizzes-title{font-size:1.5rem}}.metrics-intro{margin-top:.5rem}.metrics-details-top{margin-bottom:1.5rem}.metrics-details-list{margin:.75rem 0 0;padding-left:1.25rem;line-height:1.55}.metrics-details-list li{margin-bottom:.35rem}.metrics-details-list li:last-child{margin-bottom:0}.metrics-refresh{font-size:.9375rem;padding:.45rem 1rem}.metrics-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2.5rem}@media(max-width:640px){.metrics-summary-grid{grid-template-columns:1fr}}.metrics-summary-card{padding:1.5rem}.metrics-summary-label{font-size:.875rem;font-weight:600;color:#616161;margin:0 0 .75rem;letter-spacing:-.01em}.metrics-summary-value{font-size:2.5rem;font-weight:700;color:#000;letter-spacing:-.03em;line-height:1.1;margin:0}.metrics-summary-hint{font-size:.875rem;color:#757575;margin:.75rem 0 0;line-height:1.45}.metrics-chart-section{margin-top:0}.metrics-chart-wrap{padding:1rem 1rem .5rem}.metrics-chart-empty{padding:2.5rem 1.5rem;text-align:center}.metrics-chart-empty-text{font-size:.9375rem;color:#616161;margin:0;line-height:1.5}.metrics-chart-empty-text a{color:#000;font-weight:600;text-decoration:underline}.metrics-chart-empty-text a:hover{text-decoration:none}.metrics-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.metrics-chart-footnote{margin-top:1rem;font-size:.8125rem;color:#757575;line-height:1.5;max-width:40rem}.metrics-details{margin-top:1.25rem;font-size:.8125rem;color:#616161;max-width:40rem}.metrics-details summary{cursor:pointer;font-weight:600;color:#424242}.metrics-details p{margin:.75rem 0 0;line-height:1.5}.metrics-intro a,.metrics-details-list a{color:#000;font-weight:600;text-decoration:underline}.metrics-intro a:hover,.metrics-details-list a:hover{text-decoration:none}.quiz-review-page{min-height:100vh;background-color:#fff}.quiz-review-loading{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#616161}.quiz-review-main{max-width:720px;margin:0 auto;padding:2rem}.quiz-review-error{text-align:center;padding:3rem 2rem}.quiz-review-error p{font-size:1.125rem;color:#616161;margin-bottom:1.5rem}.quiz-review-header{margin-bottom:2.5rem}.quiz-review-title{font-size:1.5rem;font-weight:700;color:#000;margin-bottom:.25rem}.quiz-review-meta{font-size:.9375rem;color:#616161;margin-bottom:1rem}.quiz-review-score-badge{display:inline-flex;flex-direction:column;align-items:flex-start;padding:.75rem 1.25rem;background:#f5f5f5;border:1px solid #E0E0E0;border-radius:.5rem}.quiz-review-score-value{font-size:1.5rem;font-weight:700;color:#000}.quiz-review-score-detail{font-size:.875rem;color:#616161}.quiz-review-questions-title{font-size:1.25rem;font-weight:600;color:#000;margin-bottom:1.25rem}.quiz-review-questions{display:flex;flex-direction:column;gap:1.5rem}.quiz-review-question{padding:1.25rem;background:#fafafa;border:1px solid #E0E0E0;border-radius:.75rem;border-left:4px solid #9E9E9E}.quiz-review-question-correct{border-left-color:#22c55e}.quiz-review-question-incorrect{border-left-color:#ef4444}.quiz-review-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.quiz-review-question-number{font-size:.8125rem;font-weight:500;color:#616161}.quiz-review-question-status{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:.25rem}.quiz-review-status-correct{background:#dcfce7;color:#166534}.quiz-review-status-incorrect{background:#fee2e2;color:#991b1b}.quiz-review-question-stem{font-size:1rem;color:#212121;margin-bottom:1rem;line-height:1.5}.quiz-review-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.quiz-review-option{padding:.75rem 1rem;background:#fff;border:1px solid #E0E0E0;border-radius:.5rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.quiz-review-option-correct{border-color:#22c55e;background:#f0fdf4}.quiz-review-option-chosen-wrong{border-color:#ef4444;background:#fef2f2}.quiz-review-option-chosen-right{border-color:#22c55e;background:#f0fdf4}.quiz-review-option-text{flex:1;font-size:.9375rem;color:#424242}.quiz-review-option-label{font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:.25rem}.quiz-review-option-correct .quiz-review-option-label{background:#22c55e;color:#fff}.quiz-review-option-chosen-wrong .quiz-review-option-label{background:#ef4444;color:#fff}.quiz-review-correct-hint{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed #E0E0E0;font-size:.875rem;color:#616161}.quiz-review-concept{margin-top:1rem;padding-top:1rem;border-top:1px solid #E0E0E0}.quiz-review-concept-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;cursor:pointer;font-size:.875rem;color:#334155;transition:all .2s;text-align:left}.quiz-review-concept-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.quiz-review-concept-btn.expanded{background:#e0f2fe;border-color:#7dd3fc}.quiz-review-concept-btn .concept-icon{font-size:1rem}.quiz-review-concept-btn .expand-icon{margin-left:auto;font-size:.75rem;color:#94a3b8}.quiz-review-materials{margin-top:.75rem;padding:.75rem;background:#f8fafc;border-radius:.5rem}.materials-loading,.materials-empty{font-size:.875rem;color:#64748b;text-align:center;padding:1rem}.materials-list{display:flex;flex-direction:column;gap:.5rem}.material-item{padding:.75rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;cursor:pointer;transition:all .2s}.material-item:hover{border-color:#3b82f6;background:#f0f9ff}.material-item-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.material-filename{font-weight:500;color:#1e293b;font-size:.875rem}.material-type{font-size:.625rem;color:#fff;background:#3b82f6;padding:.125rem .375rem;border-radius:.25rem;text-transform:uppercase;font-weight:600}.material-page,.material-time{font-size:.75rem;color:#64748b;background:#e2e8f0;padding:.125rem .375rem;border-radius:.25rem}.material-preview{margin:0;font-size:.8125rem;color:#475569;font-style:italic;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}*{margin:0;padding:0;box-sizing:border-box}body{background-color:#fff;color:#000;-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}.min-h-screen{min-height:100vh}.bg-ws-white{background-color:#fff}.bg-ws-black{background-color:#000}.bg-ws-gray-50{background-color:#fafafa}.bg-ws-gray-100{background-color:#f5f5f5}.bg-ws-gray-200{background-color:#eee}.bg-ws-gray-300{background-color:#e0e0e0}.bg-ws-gray-900{background-color:#212121}.bg-red-50{background-color:#fee}.text-ws-black{color:#000}.text-ws-white{color:#fff}.text-ws-gray-400{color:#9e9e9e}.text-ws-gray-600{color:#616161}.text-red-700{color:#c00}.justify-center{justify-content:center}.mt-6{margin-top:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.max-w-md{max-width:28rem}.border{border-width:1px}.border-2{border-width:2px}.border-ws-gray-200{border-color:#eee}.border-ws-gray-300{border-color:#e0e0e0}.border-ws-black{border-color:#000}.border-red-200{border-color:#fcc}.border-b{border-bottom-width:1px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.tracking-tight{letter-spacing:-.025em}.leading-none{line-height:1}.space-y-6>*+*{margin-top:1.5rem}.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.8s}.duration-800{transition-duration:.8s}.hover\:underline:hover{text-decoration:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{box-shadow:0 0 0 2px #0000001a}.focus\:ring-ws-black:focus{box-shadow:0 0 0 2px #0000001a}.focus\:border-transparent:focus{border-color:transparent}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}@media(min-width:640px){.sm\:flex-row{flex-direction:row}}@media(min-width:768px){.md\:text-8xl{font-size:7rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:mb-4{margin-bottom:1rem}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.lg\:block{display:block}}#root{min-height:100vh}.page{min-height:100vh;background-color:#fff}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.container-wide{max-width:1400px;margin:0 auto;padding:0 2rem}.nav{padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #EEEEEE}.nav-brand{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;text-decoration:none;color:#000}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-link{color:#616161;text-decoration:none;transition:color .2s}.nav-link:hover{color:#000}.btn{padding:.5rem 1.5rem;border-radius:9999px;font-weight:500;transition:all .2s;border:none;cursor:pointer;text-decoration:none;display:inline-block;font-size:1rem}.btn-primary{background-color:#000;color:#fff}.btn-primary:hover{background-color:#212121}.btn-secondary{background-color:#fff;color:#000;border:2px solid #000000}.btn-secondary:hover{background-color:#fafafa}.btn-large{padding:1rem 2rem;font-size:1.125rem}.btn:disabled{opacity:.5;cursor:not-allowed}.form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.label{font-size:.875rem;font-weight:500}.input{width:100%;padding:.75rem 1rem;border:1px solid #E0E0E0;border-radius:.5rem;font-size:1rem}.input:focus{outline:none;border-color:#000;box-shadow:0 0 0 2px #0000001a}.select{width:100%;padding:.75rem 1rem;border:1px solid #E0E0E0;border-radius:.5rem;font-size:1rem;background-color:#fff}.select:focus{outline:none;border-color:#000;box-shadow:0 0 0 2px #0000001a}.alert{padding:1rem;border-radius:.5rem;font-size:.875rem}.alert-error{background-color:#fee;border:1px solid #FCC;color:#c00}.card{padding:1.5rem;background-color:#fafafa;border-radius:1rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.text-large{font-size:1.25rem}.text-xl{font-size:1.5rem}.text-2xl{font-size:1.875rem}.text-3xl{font-size:2.25rem}.text-4xl{font-size:3rem}.text-7xl{font-size:4.5rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-gray{color:#757575}.text-gray-400{color:#9e9e9e}.text-gray-600{color:#616161}.text-center{text-align:center}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-16{margin-bottom:4rem}.mb-24{margin-bottom:6rem}.mt-8{margin-top:2rem}.mt-32{margin-top:8rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.pt-20{padding-top:5rem}.pb-32{padding-bottom:8rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.grid{display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.gap-6{gap:1.5rem}.relative{position:relative}.absolute{position:absolute}.z-10{z-index:10}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.w-full{width:100%}.w-12{width:3rem}.h-12{height:3rem}.w-96{width:24rem}.h-96{height:24rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-2xl{border-radius:1rem}.opacity-70{opacity:.7}.opacity-100{opacity:1}.opacity-0{opacity:0}.transition-opacity{transition:opacity .8s}.transition-colors{transition:color .2s,background-color .2s,border-color .2s}.transition-all{transition:all .2s}.hover\:bg-ws-gray-900:hover{background-color:#212121}.hover\:bg-ws-gray-50:hover{background-color:#fafafa}.hover\:text-ws-black:hover{color:#000}.hover\:scale-105:hover{transform:scale(1.05)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.hero-title{font-size:4.5rem;font-weight:700;letter-spacing:-.02em;line-height:1;margin-bottom:1rem}.hero-title-line{margin-bottom:.75rem}.hero-subtitle{font-size:1.5rem;color:#616161;max-width:42rem;margin-top:2rem}.hero-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:6rem}@media(min-width:640px){.hero-buttons{flex-direction:row}.text-7xl{font-size:6rem}.text-8xl{font-size:7rem}}.feature-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:8rem}@media(min-width:768px){.feature-grid{grid-template-columns:repeat(3,1fr)}}.feature-icon{width:3rem;height:3rem;background-color:#000;border-radius:9999px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.feature-icon svg{width:1.5rem;height:1.5rem;color:#fff}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#fff;color:#757575}.empty-state{text-align:center;padding:4rem 0}.empty-state p{color:#616161;margin-bottom:1.5rem}
